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)
- Consider moving traffic shaping plugins earlier in the request lifecycle
- base64::decode is too strict HOT 2
- Router responds with different error message for 400 subgraph responses than gateway HOT 3
- Client headers can no longer be mutated for GraphOS reporting HOT 2
- Keep router span name consistent and do not use operation name HOT 6
- Configure http header size and limit
- Warn only mode for max http request bytes and parser tokens
- Include `request` span in spec_compliant mode HOT 14
- Support encryption for the entity redis cache
- External Coprocessor: Support for connections to be made with h2c (http2 cleartext/prior knowledge) and/or Unix Domain Sockets
- Extremely slow parse times can cause the router to stop serving requests
- http.server.response.body.size metric is not working properly
- Warm up query plan cache at boot using persisted queries
- rhai: `status_code` is not accessible for router, supergraph and execution services
- Error message for invalid 'content-type' in subgraph response doesn't provide enough information
- response formatting: add nullification in the errors field in case of invalid value
- MockSupergraph is not called during test HOT 2
- Consistent trace id HOT 2
- New propagation configuration
- Propagate errors from subgraph without hiding HOT 1
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.