From c2b787ddbfdcb65605944da96414288319b9defd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Paj=C4=85k?= Date: Thu, 21 Sep 2023 17:02:00 +0200 Subject: [PATCH 1/2] sdk/metric: Update package example --- sdk/metric/example_test.go | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/sdk/metric/example_test.go b/sdk/metric/example_test.go index bd6d759ee28..409a05e72f7 100644 --- a/sdk/metric/example_test.go +++ b/sdk/metric/example_test.go @@ -34,8 +34,7 @@ import ( // // Here's how you might initialize a metrics provider. func Example() { - // See [go.opentelemetry.io/otel/sdk/resource] for more - // information about how to create and use resources. + // Create resource. res, err := resource.Merge(resource.Default(), resource.NewWithAttributes(semconv.SchemaURL, semconv.ServiceName("my-service"), @@ -46,8 +45,8 @@ func Example() { } // This reader is used as a stand-in for a reader that will actually export - // data. See [go.opentelemetry.io/otel/exporters] for exporters - // that can be used as or with readers. + // data. See https://pkg.go.dev/go.opentelemetry.io/otel/exporters for + // exporters that can be used as or with readers. reader := metric.NewManualReader() // Create a meter provider. @@ -58,14 +57,6 @@ func Example() { metric.WithReader(reader), ) - // Register as global meter provider so that it can - // that can used via [go.opentelemetry.io/otel.Meter] - // and accessed using [go.opentelemetry.io/otel.GetMeterProvider]. - // Most instrumentation libraries use the global meter provider as default. - // If the global meter provider is not set then a no-op implementation - // is used and which fails to generate data. - otel.SetMeterProvider(meterProvider) - // Handle shutdown properly so that nothing leaks. defer func() { err := meterProvider.Shutdown(context.Background()) @@ -73,6 +64,13 @@ func Example() { log.Fatalln(err) } }() + + // Register as global meter provider so that it can + // that can used via otel.Meter and accessed using otel.GetMeterProvider. + // Most instrumentation libraries use the global meter provider as default. + // If the global meter provider is not set then a no-op implementation + // is used and which fails to generate data. + otel.SetMeterProvider(meterProvider) } func ExampleView() { From 714dc911e4b96f98fe7b7d61fa16a531c2748541 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Paj=C4=85k?= Date: Thu, 21 Sep 2023 17:16:52 +0200 Subject: [PATCH 2/2] Address comments --- sdk/metric/example_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk/metric/example_test.go b/sdk/metric/example_test.go index 409a05e72f7..81a59343bea 100644 --- a/sdk/metric/example_test.go +++ b/sdk/metric/example_test.go @@ -65,11 +65,11 @@ func Example() { } }() - // Register as global meter provider so that it can - // that can used via otel.Meter and accessed using otel.GetMeterProvider. + // Register as global meter provider so that it can be used via otel.Meter + // and accessed using otel.GetMeterProvider. // Most instrumentation libraries use the global meter provider as default. // If the global meter provider is not set then a no-op implementation - // is used and which fails to generate data. + // is used, which fails to generate data. otel.SetMeterProvider(meterProvider) }