diff --git a/config/doc.go b/config/doc.go new file mode 100644 index 00000000000..293b43abb25 --- /dev/null +++ b/config/doc.go @@ -0,0 +1,7 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Package config can be used to parse a configuration file +// that follows the JSON Schema defined by the OpenTelemetry +// Configuration schema. +package config // import "go.opentelemetry.io/contrib/config" diff --git a/config/example_test.go b/config/example_test.go new file mode 100644 index 00000000000..f7fcb8036a3 --- /dev/null +++ b/config/example_test.go @@ -0,0 +1,34 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package config_test + +import ( + "context" + + "go.opentelemetry.io/contrib/config" + "go.opentelemetry.io/otel" +) + +func ExampleNewSDK() { + // NewSDK returns a configured SDK as configured + // per the options and any error that occurred during + // the initialization process. + configuredSDK, err := config.NewSDK( + config.WithContext(context.Background()), + config.WithOpenTelemetryConfiguration(config.OpenTelemetryConfiguration{ + TracerProvider: &config.TracerProvider{}, + MeterProvider: &config.MeterProvider{}, + }), + ) + + if err != nil { + // Handle error appropriately. + panic(err) + } + + // This SDK can then be used to get a TracerProvider and + // MeterProvider + otel.SetTracerProvider(configuredSDK.TracerProvider()) + otel.SetMeterProvider(configuredSDK.MeterProvider()) +} diff --git a/versions.yaml b/versions.yaml index 353af94b42b..85cf89a24de 100644 --- a/versions.yaml +++ b/versions.yaml @@ -83,8 +83,11 @@ module-sets: - go.opentelemetry.io/contrib/samplers/jaegerremote - go.opentelemetry.io/contrib/samplers/jaegerremote/example - go.opentelemetry.io/contrib/samplers/probability/consistent + experimental-config: + version: v0.1.0 + modules: + - go.opentelemetry.io/contrib/config excluded-modules: - - go.opentelemetry.io/contrib/config - go.opentelemetry.io/contrib/instrgen - go.opentelemetry.io/contrib/instrgen/driver - go.opentelemetry.io/contrib/instrgen/testdata/interface