Skip to main content

Launcher, Configuration Layer for OpenTelemetry

Project description

build status PyPI version

Launcher, an OpenTelemetry Configuration Layer 🚀

NOTE: the code in this repo is currently in alpha and will likely change

What is Launcher?

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.

Getting started

pip install opentelemetry-launcher

Configure

Minimal setup

from opentelemetry.launcher import configure_opentelemetry

configure_opentelemetry(
    service_name="service-123",
    access_token="my-token",  # optional
)

tracer = trace.get_tracer(__name__)

with tracer.start_as_current_span("foo") as span:
    span.set_attribute("attr1", "valu1")
    with tracer.start_as_current_span("bar"):
        with tracer.start_as_current_span("baz"):
            print("Hello world from OpenTelemetry Python!")

Additional tracer options

configure_opentelemetry(
    service_name="service-123",
    service_version="1.2.3",
    access_token="my-token",
    span_exporter_endpoint="ingest.lightstep.com:443",
    metric_exporter_endpoint="ingest.lightstep.com:443/metrics",
    log_level=debug,
    span_exporter_insecure=False,
    metric_exporter_insecure=False,
)

Configuration Options

Config Env Variable Required Default
service_name LS_SERVICE_NAME y -
service_version LS_SERVICE_VERSION n unknown
access_token LS_ACCESS_TOKEN n -
span_exporter_endpoint OTEL_EXPORTER_OTLP_SPAN_ENDPOINT n ingest.lightstep.com:443
span_exporter_insecure OTEL_EXPORTER_OTLP_SPAN_INSECURE n False
metric_exporter_endpoint OTEL_EXPORTER_OTLP_METRIC_ENDPOINT n ingest.lightstep.com:443/metrics
metric_exporter_insecure OTEL_EXPORTER_OTLP_METRIC_INSECURE n False
propagator OTEL_PROPAGATORS n b3
resource_labels OTEL_RESOURCE_LABELS n -
log_level OTEL_LOG_LEVEL n error

Principles behind Launcher

100% interoperability with OpenTelemetry

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.

Opinionated configuration

Although we understand that not all languages use the same format for configuration, we find this annoying. We decided that Launcher would allow users to use the same configuration file across all languages. In this case, we settled for YAML as the format, which was inspired by the OpenTelemetry Collector.

Validation

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 :heart: @ Lightstep

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opentelemetry-launcher-0.1b2.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

opentelemetry_launcher-0.1b2-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file opentelemetry-launcher-0.1b2.tar.gz.

File metadata

  • Download URL: opentelemetry-launcher-0.1b2.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.5

File hashes

Hashes for opentelemetry-launcher-0.1b2.tar.gz
Algorithm Hash digest
SHA256 0afc6bed7d963749ad71d30256bf52099b0b59a8ce7ccb24517326886b24bd8b
MD5 19f3abab7198667442d6088ff7c919d4
BLAKE2b-256 be5e091cfda332895e0bb9ee6f584fec3d1453a4a2d5e1b60f5d1f1f6cbbc67c

See more details on using hashes here.

File details

Details for the file opentelemetry_launcher-0.1b2-py3-none-any.whl.

File metadata

  • Download URL: opentelemetry_launcher-0.1b2-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.5

File hashes

Hashes for opentelemetry_launcher-0.1b2-py3-none-any.whl
Algorithm Hash digest
SHA256 5ac1107ead243fe16c0eed9dfcc9299e00a2810e73f6f47e272cd1c77b4ed3c7
MD5 76cedc5bbc3c0a992bd87989f7ee5b06
BLAKE2b-256 f317b0982cc268480c41231f0f2041e709f135a7420218b39700b3ed931a6b6a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page