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

feat(otel): add opentelemety utility functions #272

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Commits on Jun 28, 2024

  1. feat(otel): add opentelemety utility functions

    This PR extracts opentelemetry utility functions from my private project
    and adds them to this project without calling them. It resolves rabbitmq#43
    
    I'd like a broader discussion about whether these should be
    automatically called by the library where possible, or if they should
    simply be provided to clients to use if they so wish.
    
    I did my best to follow OpenTelemetry semantic conventions as described
    here
    https://opentelemetry.io/docs/specs/semconv/messaging/messaging-spans/,
    but they are at times ambiguous for rabbitmq-- e.g. is the destination
    for a message the Queue or the Consumer Tag the message was delivered to.
    
    Given the channel based approaches of this library, it is impossible for
    the library to know the full execution of a consumer. Unless
    autoack=false, we cannot actually know when to end the span associated
    with a delivery, so at least in the consumer case, it's probably best to
    allow the client to manage spans for themselves.
    
    We *can* manage spans on the producer side, and at the very least
    extract span identifiers to include on published headers automatically,
    and provide utilities for pulling them back out again.
    
    My intention with putting this PR up is to move the conversation
    forward. Because the PR *only* provides private methods (if I left
    members public please call them out), it can be safely merged while
    these questions are worked out.
    AndrewWinterman committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    d537aee View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d292598 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. Configuration menu
    Copy the full SHA
    75a6aeb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ccf814a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    13a1894 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e0fa7c6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1aeb2d0 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2024

  1. a smidge of polish

    AndrewWinterman committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    47aa58b View commit details
    Browse the repository at this point in the history