-
Notifications
You must be signed in to change notification settings - Fork 303
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
HPCC-32967 Avoid Otel GetGlobalProp spinlock #19282
HPCC-32967 Avoid Otel GetGlobalProp spinlock #19282
Conversation
Jira Issue: https://hpccsystems.atlassian.net//browse/HPCC-32967 Jirabot Action Result: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. One trivial suggestion, but will merge as is.
Will only merge to 9.6.x and later though, not 9.4.x.
system/jlib/jtrace.cpp
Outdated
// Can be used to injects Context into or extract it from carriers that travel in-band | ||
// across process boundaries. Encoding is expected to conform to the HTTP Header Field semantics. | ||
// Reference this propagator rather than fetching globalpropagator | ||
nostd::shared_ptr<TextMapPropagator> thePropagator = nostd::shared_ptr<TextMapPropagator>(new opentelemetry::trace::propagation::HttpTraceContext()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
trivial: could be static to avoid exporting outside this module.
Jira Issue: https://hpccsystems.atlassian.net//browse/HPCC-32967 Jirabot Action Result: |
9b3f29e
to
ac7dd63
Compare
Jira Issue: https://hpccsystems.atlassian.net//browse/HPCC-32967 Jirabot Action Result: |
a2f79f7
to
6932ce5
Compare
- Avoids frequent call to GetGlobalProp - Adds static filescope-wide propegator - Does not set globalprop Signed-off-by: Rodrigo Pastrana <rodrigo.pastrana@lexisnexisrisk.com>
6932ce5
to
ac174d1
Compare
@ghalliday made the variable static, and cleaned up the comment. |
Minimizing the impact of the change. This is not strictly speaking fixing a bug, it is an optimization. In some ways I don't really like it being included in 9.6.x, but it needs to be because of the systems that need the change, and it should be relatively safe. |
Fair enough. If load tests using this change show significant performance improvement, would we then consider targeting 9.4 as well? |
I don't think we have any production systems using 9.4.x, and there are many other performance reasons not to be using 9.4.x |
Jirabot Action Result: |
ok... if that's the case we should note (somewhere) tracing should only be enabled in 9.6.x+ |
Type of change:
Checklist:
Smoketest:
Testing: