Skip to main content

Lightstep

If you want to use Lightstep as the trace data store, you'll configure the OpenTelemetry Collector to receive traces from your system and then send them to both Tracetest and Lightstep. And, you don't have to change your existing pipelines to do so.

tip

Examples of configuring Tracetest with Lightstep can be found in the examples folder of the Tracetest GitHub repo.

Configuring OpenTelemetry Collector to Send Traces to both Lightstep and Tracetest​

In your OpenTelemetry Collector config file:

  • Set the exporter to otlp/tracetest
  • Set the endpoint to your Tracetest instance on port 4317
tip

If you are running Tracetest with Docker, and Tracetest's service name is tracetest, then the endpoint might look like this http://tracetest:4317

Additionally, add another config:

  • Set the exporter to otlp/lightstep
  • Set the endpoint pointing to your Lightstep account and the Lightstep ingest API
  • Set your Lightstep access token as a header
# collector.config.yaml

# If you already have receivers declared, you can just ignore
# this one and still use yours instead.
receivers:
otlp:
protocols:
grpc:
http:

processors:
batch:
timeout: 100ms

exporters:
logging:
logLevel: debug
# OTLP for Tracetest
otlp/tracetest:
endpoint: tracetest:4317 # Send traces to Tracetest. Read more in docs here: https://docs.tracetest.io/configuration/connecting-to-data-stores/opentelemetry-collector
tls:
insecure: true
# OTLP for Lightstep
otlp/lightstep:
endpoint: ingest.lightstep.com:443
headers:
"lightstep-access-token": "<lightstep_access_token>" # Send traces to Lightstep. Read more in docs here: https://docs.lightstep.com/otel/otel-quick-start

service:
pipelines:
# Your probably already have a traces pipeline, you don't have to change it.
# Add these two to your configuration. Just make sure to not have two
# pipelines with the same name
traces/tracetest:
receivers: [otlp] # your receiver
processors: [batch]
exporters: [otlp/tracetest] # your exporter pointing to your tracetest instance
traces/lightstep:
receivers: [otlp] # your receiver
processors: [batch]
exporters: [logging, otlp/lightstep] # your exporter pointing to your lighstep account

Configure Tracetest to Use Lightstep as a Trace Data Store​

Configure your Tracetest instance to expose an otlp endpoint to make it aware it will receive traces from the OpenTelemetry Collector. This will expose Tracetest's trace receiver on port 4317.

Connect Tracetest to Lightstep with the Web UI​

In the Web UI, (1) open Settings, and, on the (2) Trace Ingestion tab, select (3) Lightstep.

Trace Ingestion Settings

Connect Tracetest to Lightstep with the CLI​

Or, if you prefer using the CLI, you can use this file config.

type: DataStore
spec:
name: Lightstep pipeline
type: lightstep
default: true

Proceed to run this command in the terminal and specify the file above.

tracetest apply datastore -f my/data-store/file/location.yaml