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

[forward port to master] tracing: allow the Resource to be set externally #4496

Merged
merged 1 commit into from Dec 19, 2023

Commits on Dec 18, 2023

  1. tracing: allow the Resource to be set externally

    This is a workaround for the brittleness when constructing OTel
    `Resource` objects. Internally, the OTel libraries do their own
    detection which can be merged with one created in code. However,
    the `semconv` spec versions must match. (NOT module version! the
    `semconv` package has multiple subpackages for each spec version,
    e.g. `semconv/v1.17`, `semconv/v1.21`, etc.)
    
    This creates a problem when BuildKit is used as a library - the
    importing app might be using a different, otherwise compatible
    version of the OTel libraries, so when it creates a resource, it
    will be merged with one of a different version.
    
    By allowing the `Resource` to be set (like the `Recorder`), the
    calling code can construct a resource using known consistent
    library versions that work, and then allow BuildKit to take over
    the rest of the initialization process for OTel.
    
    Signed-off-by: Milas Bowman <milas.bowman@docker.com>
    (cherry picked from commit 7b3fe03)
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    milas authored and thaJeztah committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    a3a38ac View commit details
    Browse the repository at this point in the history