-
Notifications
You must be signed in to change notification settings - Fork 66
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
feat(axiom): Add message segment functionality #991
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Set segment type enum Create nr_segment_message_t struct Add to the nr_segment_typed_attributes_t union
…hp-agent into feat/message_segment
* Create enums for message attributes attributes * Add MESSAGE enum to nr_span_category_t span category * create nr_span_event_set_message
create `nr_span_event_set_spankind` for generic,http,datastore the logic of nr_span_event_set_category is overloaded because according agent-specs/Span-Events.md, span.kind could only ever be “client” for datastore and http spans and empty for generic spans. I debated extracting all the logic and making nr_span_event_set_spankind calls for those categories in nr_segment.c; however, since the span.kind values are always the same for those span categories, I left it in for now. Message spans however, will call nr_span_event_set_spankind separately and nr_span_event_set_category will only be used to set the category.
add message_type to nr_segment_message_t to inform the spankind since message_type is on nr_segment_message_t, give a default in case the message span is created but the nr_segment_message_t is not accessible added function nr_populate_message_spans added function nr_segment_set_message added message segment handling to nr_segment_to_span_event
Add the message_tracer_segment_parameters_enabled value to opts for use in axiom.
Includes creating metrics and ending the message segment.
* test get/set spankind * test get/set message span members
Sorry clang-format added some unrelated formatting.
Rollups happen in 2 places in nr_txn.c nr_error_to_event And nr_txn_event_intrinsics * fixed externalCallCount was getting set in nr_error_to_event but not in nr_txn_event_intrinsics * Added messageCallCount/messageDuration to both functions
Handle NULL/empty str and provide the `<unknown>` string.
|
zsistla
requested review from
hahuja2,
mfulb,
ZNeumann,
lavarou and
bduranleau-nr
December 10, 2024 03:59
mfulb
reviewed
Jan 8, 2025
mfulb
reviewed
Jan 8, 2025
mfulb
reviewed
Jan 8, 2025
Co-authored-by: Michael Fulbright <[email protected]>
nr_segment_set_message was already checking for null, so moving the strempty check there reduced total overall operations.
lavarou
reviewed
Jan 9, 2025
lavarou
reviewed
Jan 9, 2025
lavarou
reviewed
Jan 9, 2025
lavarou
reviewed
Jan 9, 2025
lavarou
reviewed
Jan 9, 2025
lavarou
reviewed
Jan 9, 2025
lavarou
reviewed
Jan 9, 2025
lavarou
reviewed
Jan 9, 2025
lavarou
reviewed
Jan 9, 2025
lavarou
reviewed
Jan 9, 2025
lavarou
reviewed
Jan 9, 2025
various comments additional tests refactor nr_segment_message_set_attrs to not take options
lavarou
reviewed
Jan 14, 2025
* Returns : void | ||
* | ||
*/ | ||
extern void nr_segment_traces_add_cloud_attributes( |
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.
Why is this function defined in this file? It has nothing to do with segment traces.
lavarou
approved these changes
Jan 14, 2025
mfulb
approved these changes
Jan 14, 2025
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.
Thanks Amber!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added message segment.
Agent will now handle generic, external, datastore, and message segments.
Added unit tests for the changes
New functionality involves adding message specific attributes to segments/spans, generating message specific metrics, and honoring the message_tracer_parameters_enabled INI setting to disable/enable the attributes.
4)Things to keep in mind while reviewing: