-
Notifications
You must be signed in to change notification settings - Fork 318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Service Naming API #3161
Service Naming API #3161
Conversation
Overall package sizeSelf size: 4.15 MB Dependency sizes
🤖 This report was automatically generated by heaviest-objects-in-the-universe |
Codecov Report
@@ Coverage Diff @@
## master #3161 +/- ##
==========================================
- Coverage 86.95% 86.68% -0.27%
==========================================
Files 322 327 +5
Lines 11763 11842 +79
Branches 33 33
==========================================
+ Hits 10228 10265 +37
- Misses 1535 1577 +42
... and 2 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
7a93311
to
80ca3a6
Compare
BenchmarksComparing candidate commit 026023c in PR branch Found 0 performance improvements and 9 performance regressions! Performance is the same for 438 metrics, 25 unstable metrics. scenario:log-without-log-16
scenario:log-with-error-16
scenario:log-with-debug-16
scenario:startup-with-tracer-16
scenario:log-with-error-18
scenario:log-skip-log-18
scenario:startup-with-tracer-18
|
In some benches the numbers are higher than what we got in #3099 - not sure if it's good enough, but it's still just logs and startup. |
* naming resolution wrt version in the test object uses the Nomenclature, instead of being resolved by the test fixture * we no longer use the test fixture for _all_ existing tests, rather let the default resolution do the work * the testing fixture accepts a callback which is a minimal viable trace retrieval, on which we examine _only_ service and name
* add v0 to all messaging plugins * add v1 to all messaging plugins * test naming schema for all messaging integrations * add naming schema tests for other versions * bake messaging data into producer/consumer plugins * persist kind in plugins and infer naming subtype from kind+type
80ca3a6
to
026023c
Compare
* introduce DD_TRACE_SPAN_ATTRIBUTE_SCHEMA env var * add attribute schema v0 for rhea * add attribute schema v1 for rhea * add test harness for service/operation naming * grab config object from pluginManager init * provide schema autoresolution in consumer/producer plugins * bind service to schema manager at configure time * rename plugins to match inbound/outbound service naming terminology * minimize test dependencies * naming resolution wrt version in the test object uses the Nomenclature, instead of being resolved by the test fixture * we no longer use the test fixture for _all_ existing tests, rather let the default resolution do the work * the testing fixture accepts a callback which is a minimal viable trace retrieval, on which we examine _only_ service and name * split test naming schema from test code * Apply service naming flow to messaging integrations (#2961) * add v0 to all messaging plugins * add v1 to all messaging plugins * test naming schema for all messaging integrations * add naming schema tests for other versions * bake messaging data into producer/consumer plugins * persist kind in plugins and infer naming subtype from kind+type * no logs on empty DD_SPAN_TRACE_ATTRIBUTE_SCHEMA * don't compute service name unless necessary
* introduce DD_TRACE_SPAN_ATTRIBUTE_SCHEMA env var * add attribute schema v0 for rhea * add attribute schema v1 for rhea * add test harness for service/operation naming * grab config object from pluginManager init * provide schema autoresolution in consumer/producer plugins * bind service to schema manager at configure time * rename plugins to match inbound/outbound service naming terminology * minimize test dependencies * naming resolution wrt version in the test object uses the Nomenclature, instead of being resolved by the test fixture * we no longer use the test fixture for _all_ existing tests, rather let the default resolution do the work * the testing fixture accepts a callback which is a minimal viable trace retrieval, on which we examine _only_ service and name * split test naming schema from test code * Apply service naming flow to messaging integrations (#2961) * add v0 to all messaging plugins * add v1 to all messaging plugins * test naming schema for all messaging integrations * add naming schema tests for other versions * bake messaging data into producer/consumer plugins * persist kind in plugins and infer naming subtype from kind+type * no logs on empty DD_SPAN_TRACE_ATTRIBUTE_SCHEMA * don't compute service name unless necessary
* introduce DD_TRACE_SPAN_ATTRIBUTE_SCHEMA env var * add attribute schema v0 for rhea * add attribute schema v1 for rhea * add test harness for service/operation naming * grab config object from pluginManager init * provide schema autoresolution in consumer/producer plugins * bind service to schema manager at configure time * rename plugins to match inbound/outbound service naming terminology * minimize test dependencies * naming resolution wrt version in the test object uses the Nomenclature, instead of being resolved by the test fixture * we no longer use the test fixture for _all_ existing tests, rather let the default resolution do the work * the testing fixture accepts a callback which is a minimal viable trace retrieval, on which we examine _only_ service and name * split test naming schema from test code * Apply service naming flow to messaging integrations (#2961) * add v0 to all messaging plugins * add v1 to all messaging plugins * test naming schema for all messaging integrations * add naming schema tests for other versions * bake messaging data into producer/consumer plugins * persist kind in plugins and infer naming subtype from kind+type * no logs on empty DD_SPAN_TRACE_ATTRIBUTE_SCHEMA * don't compute service name unless necessary
* introduce DD_TRACE_SPAN_ATTRIBUTE_SCHEMA env var * add attribute schema v0 for rhea * add attribute schema v1 for rhea * add test harness for service/operation naming * grab config object from pluginManager init * provide schema autoresolution in consumer/producer plugins * bind service to schema manager at configure time * rename plugins to match inbound/outbound service naming terminology * minimize test dependencies * naming resolution wrt version in the test object uses the Nomenclature, instead of being resolved by the test fixture * we no longer use the test fixture for _all_ existing tests, rather let the default resolution do the work * the testing fixture accepts a callback which is a minimal viable trace retrieval, on which we examine _only_ service and name * split test naming schema from test code * Apply service naming flow to messaging integrations (#2961) * add v0 to all messaging plugins * add v1 to all messaging plugins * test naming schema for all messaging integrations * add naming schema tests for other versions * bake messaging data into producer/consumer plugins * persist kind in plugins and infer naming subtype from kind+type * no logs on empty DD_SPAN_TRACE_ATTRIBUTE_SCHEMA * don't compute service name unless necessary
* introduce DD_TRACE_SPAN_ATTRIBUTE_SCHEMA env var * add attribute schema v0 for rhea * add attribute schema v1 for rhea * add test harness for service/operation naming * grab config object from pluginManager init * provide schema autoresolution in consumer/producer plugins * bind service to schema manager at configure time * rename plugins to match inbound/outbound service naming terminology * minimize test dependencies * naming resolution wrt version in the test object uses the Nomenclature, instead of being resolved by the test fixture * we no longer use the test fixture for _all_ existing tests, rather let the default resolution do the work * the testing fixture accepts a callback which is a minimal viable trace retrieval, on which we examine _only_ service and name * split test naming schema from test code * Apply service naming flow to messaging integrations (#2961) * add v0 to all messaging plugins * add v1 to all messaging plugins * test naming schema for all messaging integrations * add naming schema tests for other versions * bake messaging data into producer/consumer plugins * persist kind in plugins and infer naming subtype from kind+type * no logs on empty DD_SPAN_TRACE_ATTRIBUTE_SCHEMA * don't compute service name unless necessary
* introduce DD_TRACE_SPAN_ATTRIBUTE_SCHEMA env var * add attribute schema v0 for rhea * add attribute schema v1 for rhea * add test harness for service/operation naming * grab config object from pluginManager init * provide schema autoresolution in consumer/producer plugins * bind service to schema manager at configure time * rename plugins to match inbound/outbound service naming terminology * minimize test dependencies * naming resolution wrt version in the test object uses the Nomenclature, instead of being resolved by the test fixture * we no longer use the test fixture for _all_ existing tests, rather let the default resolution do the work * the testing fixture accepts a callback which is a minimal viable trace retrieval, on which we examine _only_ service and name * split test naming schema from test code * Apply service naming flow to messaging integrations (#2961) * add v0 to all messaging plugins * add v1 to all messaging plugins * test naming schema for all messaging integrations * add naming schema tests for other versions * bake messaging data into producer/consumer plugins * persist kind in plugins and infer naming subtype from kind+type * no logs on empty DD_SPAN_TRACE_ATTRIBUTE_SCHEMA * don't compute service name unless necessary
* introduce DD_TRACE_SPAN_ATTRIBUTE_SCHEMA env var * add attribute schema v0 for rhea * add attribute schema v1 for rhea * add test harness for service/operation naming * grab config object from pluginManager init * provide schema autoresolution in consumer/producer plugins * bind service to schema manager at configure time * rename plugins to match inbound/outbound service naming terminology * minimize test dependencies * naming resolution wrt version in the test object uses the Nomenclature, instead of being resolved by the test fixture * we no longer use the test fixture for _all_ existing tests, rather let the default resolution do the work * the testing fixture accepts a callback which is a minimal viable trace retrieval, on which we examine _only_ service and name * split test naming schema from test code * Apply service naming flow to messaging integrations (#2961) * add v0 to all messaging plugins * add v1 to all messaging plugins * test naming schema for all messaging integrations * add naming schema tests for other versions * bake messaging data into producer/consumer plugins * persist kind in plugins and infer naming subtype from kind+type * no logs on empty DD_SPAN_TRACE_ATTRIBUTE_SCHEMA * don't compute service name unless necessary
What does this PR do?
Reintroduce service naming API.
We came to the conclusion that the benchmark issues were not in fact due to the PR, but rather the benchmark tests for startup and logs are not representative.
This contains #2941, #2961 and 2 subsequent optimization commits.