Comments (6)
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.
Related Issues (20)
- telemetry: add router_response selector to dump the router_response as a string
- [Bug] AUTH_ERROR does not include content-type header
- Do not aggregate custom event attributes if the level is lower than what's allowed
- Change default service name from unknown_service to apollo-router HOT 2
- Caching hook with Rhai or Coprocessor
- Allow coprocessors to modify path in RouterService
- Configurability of log attributes HOT 3
- Provide Helm chart JSON schema
- Better error message for regex validation in header logging
- Document deprecated metrics
- Serialize trace to response extensions
- Update docs for conditions on events
- Custom Router release builds are failing on Rust 1.78
- Refactor new telemetry module
- Add a conditional static selector to be able to conditionally set an attribute on instruments
- GRAPHQL_VALIDATION_FAILED returned when a field with variables is filtered out due to authN/Z directives
- Helm chart: Support custom path for health check
- Add custom header option to opentelemetry jaeger propagator
- Helm chart: Support custom key name used for secret key lookup for APOLLO_KEY
- Helm chart: Support providing RollingUpdate maxSurge and maxUnavailable values
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.