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
