All Projects β†’ lightstep β†’ otel-launcher-java

lightstep / otel-launcher-java

Licence: Apache-2.0 license
Launcher, a Lightstep Distro for OpenTelemetry Java πŸš€

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to otel-launcher-java

Discovery
β˜€οΈ Nepxion Discovery is a solution for Spring Cloud with blue green, gray, route, limitation, circuit breaker, degrade, isolation, tracing, dye, failover θ“η»Ώγ€η°εΊ¦γ€θ·―η”±γ€ι™ζ΅γ€η†”ζ–­γ€ι™ηΊ§γ€ιš”η¦»γ€θΏ½θΈͺγ€ζ΅ι‡ζŸ“θ‰²γ€ζ•…ιšœθ½¬η§»
Stars: ✭ 4,658 (+33171.43%)
Mutual labels:  opentelemetry
orb
Orb is a dynamic network observability platform
Stars: ✭ 437 (+3021.43%)
Mutual labels:  opentelemetry
otel-launcher-go
Launcher, a Lightstep Distro for OpenTelemetry Go πŸš€
Stars: ✭ 82 (+485.71%)
Mutual labels:  opentelemetry
Opentelemetry Specification
Specifications for OpenTelemetry
Stars: ✭ 2,242 (+15914.29%)
Mutual labels:  opentelemetry
opentelemetry-erlang-api
Erlang/Elixir OpenTelemetry API
Stars: ✭ 61 (+335.71%)
Mutual labels:  opentelemetry
loggie
A lightweight, cloud-native data transfer agent and aggregator
Stars: ✭ 844 (+5928.57%)
Mutual labels:  opentelemetry
pulsar-tracing
Tracing instrumentation for Apache Pulsar clients.
Stars: ✭ 13 (-7.14%)
Mutual labels:  opentelemetry
opentelemetry-operations-python
OpenTelemetry Python exporters for Google Cloud Monitoring and Trace
Stars: ✭ 34 (+142.86%)
Mutual labels:  opentelemetry
FastAPI-template
Feature rich robust FastAPI template.
Stars: ✭ 660 (+4614.29%)
Mutual labels:  opentelemetry
opentelemetry-tide
πŸ”­πŸŒŠ OpenTelemetry integration for Tide
Stars: ✭ 18 (+28.57%)
Mutual labels:  opentelemetry
Datav
πŸ“Šhttps://datav.io is a modern APM, provide observability for your business, application and infrastructure. It's also a lightweight alternative to Grafana.
Stars: ✭ 2,757 (+19592.86%)
Mutual labels:  opentelemetry
aws-o11y-recipes
recipes for observability solutions at AWS
Stars: ✭ 110 (+685.71%)
Mutual labels:  opentelemetry
opentelemetry-prometheus-sidecar
The OpenTelemetry Prometheus sidecar runs alongside the Prometheus Server and exports your metrics data to an OpenTelemetry Protocol endpoint.
Stars: ✭ 13 (-7.14%)
Mutual labels:  opentelemetry
Gf
GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang.
Stars: ✭ 6,501 (+46335.71%)
Mutual labels:  opentelemetry
opentelemetry-lambda
Create your own Lambda Layer in each OTel language using this starter code. Add the Lambda Layer to your Lamdba Function to get tracing with OpenTelemetry.
Stars: ✭ 117 (+735.71%)
Mutual labels:  opentelemetry
opentelemetry-swift
OpenTelemetry Tracer built for Swift Distributed Tracing
Stars: ✭ 22 (+57.14%)
Mutual labels:  opentelemetry
opentelemetry-tracing-demo
Example about how to use OpenTelemetry for tracing when we have a series of distributed applications communicating between them
Stars: ✭ 27 (+92.86%)
Mutual labels:  opentelemetry
javaagent
Hypertrace OpenTelemetry Java agent with payload/body and headers data capture.
Stars: ✭ 13 (-7.14%)
Mutual labels:  opentelemetry
uptrace
Open source APM: OpenTelemetry traces, metrics, and logs
Stars: ✭ 1,187 (+8378.57%)
Mutual labels:  opentelemetry
aws-otel-java-instrumentation
AWS Distro for OpenTelemetry Java Instrumentation Library
Stars: ✭ 41 (+192.86%)
Mutual labels:  opentelemetry

Download Circle CI Coverage Status Apache-2.0 license

Lightstep Distro for OpenTelemetry Java

This is the Lightstep package for configuring OpenTelemetry

Agent

The Lightstep OpenTelemetry Agent is a configuration layer over OpenTelemetry Instrumentation Agent. Download the latest version of lightstep-opentelemetry-javaagent.jar.

Run

The instrumentation agent is enabled using the -javaagent flag to the JVM. Configuration parameters are passed as Java system properties (-D flags) or as environment variables. Full list of supported parameters.

Configuration via Java system properties

export LS_ACCESS_TOKEN=your-token

java -javaagent:path/to/lightstep-opentelemetry-javaagent.jar \
     -Dotel.service.name=your-service-name
     -Dotel.exporter.otlp.traces.endpoint=https://ingest.lightstep.com:443 \
     -jar myapp.jar

Configuration via environment variables

export LS_ACCESS_TOKEN=your-token
export OTEL_SERVICE_NAME=your-service-name
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://ingest.lightstep.com:443

java -javaagent:path/to/lightstep-opentelemetry-javaagent.jar \
     -jar myapp.jar

Observe that system properties have higher priority than environment variables.

Launcher

The Lightstep OpenTelemetry Launcher is a configuration layer over OpenTelemetry OTLP trace exporter.

Installation

pom.xml

<dependency>
    <groupId>com.lightstep.opentelemetry</groupId>
    <artifactId>opentelemetry-launcher</artifactId>
    <version>VERSION</version>
</dependency>

Usage

Easy initialization

// Installs exporter into tracer SDK default provider with batching span processor.
OpenTelemetryConfiguration.newBuilder()
                      .setServiceName("{service_name}")
                      .setAccessToken("{your_access_token}")
                      .setTracesEndpoint("{lightstep_host}")
                      .install();

// Get tracer
Tracer tracer = GlobalOpenTelemetry.getTracer("instrumentation-library-name", "1.0.0");

Manual configuration

// Create builder
Builder builder = OpenTelemetryConfiguration.newBuilder()
                      .setServiceName("{service_name}")
                      .setAccessToken("{your_access_token}")
                      .setTracesEndpoint("{lightstep_host}");

// Instantiate openTelemetry
OpenTelemetry openTelemetry = builder.buildOpenTelemetry().getOpenTelemetrySdk();

// Get tracer
Tracer tracer = openTelemetry.get("instrumentation-library-name", "1.0.0");

Logging

It uses java.util.logging therefore logging properties file can be specified via system property java.util.logging.config.file. E.g. -Djava.util.logging.config.file=path/to/logging.properties

System properties and environmental variables

Supported system properties and environmental variables:

System property Environment variable Purpose Default
otel.service.name OTEL_SERVICE_NAME Service name
ls.service.version LS_SERVICE_VERSION Service version
ls.access.token LS_ACCESS_TOKEN Token for Lightstep access
otel.exporter.otlp.traces.endpoint OTEL_EXPORTER_OTLP_TRACES_ENDPOINT Satellite URL, should start with http:// or https:// https://ingest.lightstep.com:443
otel.exporter.otlp.metrics.endpoint OTEL_EXPORTER_OTLP_METRICS_ENDPOINT Satellite URL, should start with http:// or https:// https://ingest.lightstep.com:443
otel.propagators OTEL_PROPAGATORS Propagator b3multi
otel.log.level OTEL_LOG_LEVEL Log level for agent, to see more messages set to debug, to disable set to off info
otel.resource.attributes OTEL_RESOURCE_ATTRIBUTES Comma separated key-value pairs
otel.exporter.otlp.metrics.temporality.preference OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE Metrics aggregation temporality cumulative
ls.metrics.enabled LS_METRICS_ENABLED Enable or disable metrics false

Deprecated properties and environmental variables

System property Environment variable
otel.exporter.otlp.span.insecure OTEL_EXPORTER_OTLP_SPAN_INSECURE
otel.exporter.otlp.span.endpoint OTEL_EXPORTER_OTLP_SPAN_ENDPOINT
ls.service.name LS_SERVICE_NAME

OpenTelemetry Metrics support

Metrics support is currently experimental and it is disabled by default. It can be enabled via LS_METRICS_ENABLED=true. Breaking changes may still occur. Use at your own risk.

License

Apache 2.0 License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].