Skip to content
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

[RabbitMQ] bytecode instrumentation for versions 6.*.* - initial #3533

Conversation

lachmatt
Copy link
Contributor

@lachmatt lachmatt commented Jul 24, 2024

Why

Towards: #3392

What

Bytecode instrumentation for RabbitMQ client versions >=6.0.0 &< 7.0.0

Instrumentation creates following spans:

  • receive when BasicGet is used to retrieve messages (polling)
  • process when AsyncEventingBasicConsumer and EventingBasicConsumer are used
  • publish when messages are published using BasicPublish

Span names, attributes set and their values are based on recently added instrumentation in RabbitMQ client (to be released with version 7.0.0) and messaging semantic conventions.

Targeted types are similar to types targeted by datadog's RabbitMq client instrumentation. @zacharycmontoya please review and approve if you accept it from datadog's side.

Note:
Followup PRs required to address:

  • handling baggage for process spans
  • setting network-related attributes
  • for more complete support, integrations of kind Derived and Interface should be created for consumer types

Tests

Included in PR.

Checklist

  • CHANGELOG.md is updated.
  • Documentation is updated.
  • New features are covered by tests.

@lachmatt lachmatt requested a review from a team July 24, 2024 09:43
@lachmatt lachmatt marked this pull request as draft July 24, 2024 09:44
@lachmatt lachmatt marked this pull request as ready for review July 24, 2024 11:32
@Kielek Kielek requested a review from zacharycmontoya July 31, 2024 16:52
Copy link
Contributor

@zacharycmontoya zacharycmontoya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LTGM, thanks for contributing this instrumentation!

@zacharycmontoya zacharycmontoya enabled auto-merge (squash) August 6, 2024 00:26
@zacharycmontoya zacharycmontoya merged commit 90c86c5 into open-telemetry:main Aug 6, 2024
41 of 42 checks passed
@lachmatt lachmatt deleted the rabbitmq6-bytecode-instrumentation branch August 6, 2024 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants