Comments (7)
related to this too. #5056
from router.
Hey @abernix. Thanks for sharing. I had a quick look but from my understanding, if it is stripping the dashes, how does that provide continuity using the same trace_id on the request, or am I missing something?
from router.
Do you think this is ultimately the same as #4892? If so, it should/could be fixed by #5071? (It was recently opened).
Can you take a look?
from router.
@BrynCooke You're pretty connected to the work here - Can you advise? (Look carefully they're both different nuances of dashes in trace IDs)
from router.
@juancarlosjr97 Trace ID in opentelemetry is represented as a 128 bit number. This is usually represented as a hex string without dashes and is based on w3c trace id format.
The UUID that is supplied by kong is a 128 but UUID. This has dashes in but is still 128 bits and so can be coerced into the Otel 128 bit number by removing the dashes and parsing as hex.
When sending to your APM, depending on protocol it will send the trace ID in different formats, but the APM should understand this and decode them to the same value. At least that's the theory.
I haven't used kong, but the docs seem to indicate that the otel plugin allows propagation of various formats:
https://docs.konghq.com/hub/kong-inc/opentelemetry/#propagation. Is this something you have configured?
from router.
Hey @BrynCooke, if that is the case, then brilliant! Nothing else to do here, just wait until #5071 is merged and I will report back this issue.
Regarding our kong setup, we have trace id enabled in traces. The format is something I will have to check when the MR gets in and I can test it on a live environment.
from router.
I can confirm it is working after #5071 got merged :)
Thank you!
from router.
Related Issues (20)
- telemetry: `exists` condition is not triggered with some custom events
- OTLP exporter port default does not match tonic vs http HOT 1
- Send cost complexity to coprocessor/rhai for custom enforcement
- External Coprocessor: Support for connections to be made with Unix Domain Sockets
- ease of use: debug mode HOT 3
- Add top level log attributes HOT 1
- Router Fails to Recognize content-type Header in Federated Service Responses Without Payloads HOT 1
- Proxy Support for uplink and subgraphs HOT 1
- Coprocessor docs mismatch implementation about `id` property in a few ways
- Add log and warn-only mode for parser_max_recursion
- Returns null for interface entity when it is resolved before a nested entity HOT 1
- document different formats for `display_trace_id`
- Provide a config to supress the 'Did you mean' message for GRAPHQL_VALIDATION_FAILED HOT 3
- Add ability to alias the name of a standard attribute in custom telemetry
- At least the metric `apollo_router_session_count_total` is violating Prometheus naming best-practices HOT 2
- Issue resolving interface implementations fields with inputs from another subgraphs
- Provide parity with Apollo Server for configurable options available for the embedded sandbox
- Request for information: FIPS-compliance
- Issue in dowloading the router
- Bug: Query Planner Fails for Nested Entity Fields Decorated With `@requires`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from router.