Comments (3)
Are you sure referring to this as "TCP Header" is accurate? Afaik TCP Header structure is predefined by the TCP spec. What PROXY protocol seems to be doing is sending a specialized payload upon establishing a connection - a mechanism that is not fully transparent to the receiver, i.e. the receiver needs to actually support that or be confused by the incoming data stream. Please correct me if I am wrong, as I only briefly skimmed the PROXY spec.
Another issue is that tracing headers need to be sent on per-request basis, not just upon establishing the TCP connection.
from specification.
Are you sure referring to this as "TCP Header" is accurate?
probably not, that's just my attempt at using a familiar nomenclature. in the above link it's described as
"header" or "PROXY protocol header" is the block of connection information
the connection initiator prepends at the beginning of a connection, which
makes it the sender from the protocol point of view.
I'm not sure what term would work better but hopefully this conveys the concept accurately. happy to edit the description to something that's more technically accurate if there's a suggestion available.
i.e. the receiver needs to actually support that or be confused by the incoming data stream
this is correct. the receiver of the tcp stream needs to be aware of how to parse this.
Another issue is that tracing headers need to be sent on per-request basis, not just upon establishing the TCP connection.
yeah, I raised this as a question in the original post too. for our company this is an acceptable tradeoff. using http connect tunnels as an example, we could establish the tcp trace id as the parent trace id for the tunnel and then the requests within that tunnel could be treated separately or as children.
I definitely understand there's some issues to solve or trade offs to accept to make it work, do you know of any other strategies for achieving this? We deal mostly with encrypted data and a lot of non-http payloads so parsing the payload and injecting a header isn't always an option.
from specification.
You can try it, but I don't think the mechanism is generic enough, especially given one-per-connection limitation that's not going to work for many users.
from specification.
Related Issues (20)
- Add structured message support to Semantic Conventions HOT 17
- Inject tracid and spanid HOT 5
- Finish time of child Span (ChildOf reference) HOT 4
- Event-driven and reactive systems HOT 2
- Proposal: Add more semantics for message HOT 1
- How to record casual relationships / sequencing between sibling spans HOT 15
- Trace time message spent in Kafka HOT 5
- Mark the specification as obsolete since the effort moved to OpenTelemetry HOT 1
- Add discrete events HOT 1
- Script to generate a PDF doc from Markdown HOT 1
- How to meet criteria of log structured timestamp? HOT 1
- The Carrier Formats are not in sync
- How to add baggage items to Mongo DB operations using jaeger-cloud-starter in java HOT 2
- Opentracing information in a message HOT 2
- windows HOT 1
- Clarify if null values are considered valid tag values? HOT 1
- me HOT 2
- Invalid link to data_conventions.md HOT 1
- 🛑 Deprecating OpenTracing HOT 6
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 specification.