Skip to content

Commit 99891aa

Browse files
authored
Reduce OpenTelemetry metric volume (#1603)
Attempt to reduce GCP cost of metrics exported by: - Removing per-endpoint gRPC metrics - Increasing period reader interval (not sure this will have the desired effect but will verify in autopush) Also, re-generate proto using the same protoc version as the rest of the repo.
1 parent 1ac46e8 commit 99891aa

File tree

3 files changed

+3
-5
lines changed

3 files changed

+3
-5
lines changed

cmd/main.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ import (
5252
"google.golang.org/grpc/health/grpc_health_v1"
5353

5454
cbt "cloud.google.com/go/bigtable"
55-
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
5655
)
5756

5857
var (
@@ -165,8 +164,6 @@ func main() {
165164

166165
// Create grpc server.
167166
srv := grpc.NewServer(
168-
// Set up gRPC middleware for per-method gRPC metrics
169-
grpc.StatsHandler(otelgrpc.NewServerHandler()),
170167
grpc.ChainUnaryInterceptor(
171168
metrics.InjectMethodNameUnaryInterceptor,
172169
),

internal/metrics/metrics.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,8 @@ func ExportOtlpOverGrpc(ctx context.Context) error {
237237
return err
238238
}
239239

240-
mp := sdk.NewMeterProvider(sdk.WithReader(sdk.NewPeriodicReader(exporter)))
240+
reader := sdk.NewPeriodicReader(exporter, sdk.WithInterval(10*time.Minute))
241+
mp := sdk.NewMeterProvider(sdk.WithReader(reader))
241242
otel.SetMeterProvider(mp)
242243
return nil
243244
}

internal/proto/stat.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)