The lightstepreceiver
receives OpenTracing traces from Lightstep tracers in various supported formats converting them into OpenTelemetry'a ptrace.Traces
propagating it further in pipelines
/_rpc/v1/reports/binary
- Thrift binary over http, reported by lightstep-tracer-python/api/v0/reports
- Thrift JSON over http, reported by lightstep-tracer-javascript/api/v2/reports
- Protobuf over http, reported by lightstep-tracer-python/lightstep.collector.CollectorService/Report
- Protobuf over grpc, reported by lightstep-tracer-go
Lightstep access token is extracted from the payload and propagated further by context item lightstep-access-token
, for further using by a headersetter
extension
Lighstep tracer reports various client side metrics as client-drop-spans
via traces payload, these metrics are extracted and reported by collector standard metrics reporting pipeline and available for scraping as lightstep_receiver_client_spans_dropped
All that is required to enable the Lightstep receiver is to include it in the receiver definitions. A protocol can be disabled by simply not specifying it in the list of protocols.
lightstepreceiver:
protocols:
pbgrpc:
pbhttp:
thrift:
Several helper files are leveraged to provide additional capabilities automatically:
- gRPC settings including CORS
- HTTP settings
- TLS and mTLS settings
- Auth settings
- Set a breakpoint where needed
- Run collector in debug mode with (note that it will be compiled with debug symbols already)
make debug
- Connect with remote debugger from your beloved IDE
- Generate some traces with your application