diff --git a/sdk/trace/tracetest/example_test.go b/sdk/trace/tracetest/example_test.go new file mode 100644 index 000000000..6478abfcf --- /dev/null +++ b/sdk/trace/tracetest/example_test.go @@ -0,0 +1,37 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package tracetest_test + +import ( + "context" + "fmt" + + "go.opentelemetry.io/otel/sdk/trace" + "go.opentelemetry.io/otel/sdk/trace/tracetest" +) + +func ExampleSpanRecorder() { + ctx := context.Background() + + // Set up an in-memory span recorder and tracer provider. + sr := tracetest.NewSpanRecorder() + tp := trace.NewTracerProvider( + trace.WithSpanProcessor(sr), + ) + defer tp.Shutdown(ctx) //nolint:errcheck // Example code, error handling omitted. + + tracer := tp.Tracer("example/simple") + + // Start and end a span. + _, span := tracer.Start(ctx, "test-span") + span.End() + + // Print the recorded span name. + for _, s := range sr.Ended() { + fmt.Println(s.Name()) + } + + // Output: + // test-span +}