Conversation
|
I'm playing with my own branch, making suggestions for this PR. In looking at
What is meant by "separate" here? My guess is that each The notion of "tracer ID" is suspect in my mind. How does it all fit together? |
I asked RC people, here are there answer:
From my understanding it is a combination
My main objective in incorporating the TracerID data structure was to enhance code simplicity and improve expressiveness. |
Currently, each @cgilmour and I decided that it would be better if these workers shared the same I'm concerned that now each worker will have the same "tracer ID," (same runtime, env, service) but that the workers' What I'm trying to get at, asking these questions, is what is a tracer? Worst case scenario, there is no clear definition. Here's my opinion: Workers within a proxy are the "same tracer." They're part of the same runtime and share the same configuration. So, I figure each of these workers should appear identical to the remote config backend. Will that be a problem? I think it will be a problem. Alternatively, workers can share a runtime ID, env, and service, but have different client IDs. What is meant by "client"? What is the relationship between "client" and "tracer"? Let's iron out these definitions before committing the code. At the very least, it will allow us to write good documentation for the |
- update fuzz documentation - revise the base64 decoder - move ConfigManager into its own .cpp - remove namespace httputil::header - more specific error code - RuntimeID rc_id_ --> std::string client_id_ - TracerId --> TracerID - remove disambiguating "template" keyword - document k_apm_capabilities - missed a spot when removing namespace httputil::header - no need to optimize target file lookup - slightly safer product parsing
- Update base64 implementation to not rely on little endian. - Move ConfigUpdate in its own heade file
58166f5 to
f105c8f
Compare
BenchmarksBenchmark execution time: 2024-01-09 15:58:19 Comparing candidate commit 99c1c65 in PR branch Found 1 performance improvements and 0 performance regressions! Performance is the same for 0 metrics, 0 unstable metrics. scenario:BM_TraceTinyCCSource
|
|
@dgoffredo I added your changes in 8a9d59b and 3444245 |
dgoffredo
left a comment
There was a problem hiding this comment.
Very nice! This feature came out well.
Once this is merged, I'll see whether it breaks Envoy's unit tests. We can keep the two concerns decoupled.
Description
Remote Configuration allows to remotely configure the library. For now, it is only possible to update the trace sampling rate remotely.
How to test
An API Key with Remote Configuration enabled is required.
hasherexample.dd-trace-cpp-exampleservice.