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

tracing: allow the Resource to be set externally #4472

Merged
merged 1 commit into from Dec 8, 2023

Commits on Dec 8, 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>
    milas committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    7b3fe03 View commit details
    Browse the repository at this point in the history