NOTE: This is in beta.
Launcher is a configuration layer that chooses default values for configuration options that many OpenTelemetry users want. It provides a single function in each language to simplify discovery of the options and components available to users. The goal of Launcher is to help users that aren't familiar with OpenTelemetry quickly ramp up on what they need to get going and instrument.
go get github.com/lightstep/otel-launcher-go/launcher
Minimal setup
import "github.com/lightstep/otel-launcher-go/launcher"
func main() {
otel := launcher.ConfigureOpentelemetry(
launcher.WithServiceName("service-name"),
launcher.WithAccessToken("access-token"),
)
defer otel.Shutdown()
}
Additional options
Config Option | Env Variable | Required | Default |
---|---|---|---|
WithServiceName | LS_SERVICE_NAME | y | - |
WithServiceVersion | LS_SERVICE_VERSION | n | unknown |
WithSpanExporterEndpoint | OTEL_EXPORTER_OTLP_SPAN_ENDPOINT | n | ingest.lightstep.com:443 |
WithSpanExporterInsecure | OTEL_EXPORTER_OTLP_SPAN_INSECURE | n | false |
WithMetricExporterEndpoint | OTEL_EXPORTER_OTLP_METRIC_ENDPOINT | n | ingest.lightstep.com:443 |
WithMetricExporterInsecure | OTEL_EXPORTER_OTLP_METRIC_INSECURE | n | false |
WithAccessToken | LS_ACCESS_TOKEN | n | - |
WithLogLevel | OTEL_LOG_LEVEL | n | info |
WithPropagators | OTEL_PROPAGATORS | n | b3 |
WithResourceAttributes | OTEL_RESOURCE_ATTRIBUTES | n | - |
WithMetricReportingPeriod | OTEL_EXPORTER_OTLP_METRIC_PERIOD | n | 30s |
WithMetricsEnabled | LS_METRICS_ENABLED | n | True |
One of the key principles behind putting together Launcher is to make lives of OpenTelemetry users easier, this means that there is no special configuration that requires users to install Launcher in order to use OpenTelemetry. It also means that any users of Launcher can leverage the flexibility of configuring OpenTelemetry as they need.
Another decision we made with launcher is to provide end users with a layer of validation of their configuration. This provides us the ability to give feedback to our users faster, so they can start collecting telemetry sooner.
Start using it today in Go, Java, Javascript and Python and let us know what you think!
Made with @ Lightstep