Add support for traces in Cloud Foundry receiver #33914
Labels
enhancement
New feature or request
never stale
Issues marked with this label will be never staled and automatically removed
receiver/cloudfoundry
Component(s)
receiver/cloudfoundry
Is your feature request related to a problem? Please describe.
Applications running in Cloud Foundry can sent traces directly to an OTLP endpoint, but the trace ID for the root span is generated (if not present) in the Gorouters (the reverse proxy on top of the applications HTTP routes). When an user query Spans or Traces in the backed (Grafana Tempo in our case) they get a message
<root span not yet received>
because there is no way to ingest those in the backend as root spans.Following the PR #33044 we would like to continue adding support for traces in Cloud Foundry.
Describe the solution you'd like
Implement parsing of CF Gorouter access logs (source_id RTR) to convert them to Spans if possible.
The Gorouter access log is text based format separated by spaces, optionally extra headers are present with the format
key:"value"
The idea is parse each logline, look for W3C standard tracing headers and if not present try Zipkin headers and convert all information to a Span.
Moreover, logs can get the traceID and SpanID fiels filled with the same implementation.
Describe alternatives you've considered
Currently there is no alternative to get CF root spans in OTEL
Additional context
Enabling tracing in CF: https://docs.cloudfoundry.org/adminguide/w3c_tracing.html
CF loggregator architecture: https://docs.cloudfoundry.org/loggregator/architecture.html
The text was updated successfully, but these errors were encountered: