Skip to content

Conversation

@jaydeluca
Copy link
Member

Part of #13468
Closes #14247

As discussed in a SIG meeting a while back, instrumentations can fall under multiple "classifications" (I imagine this terminology may evolve more in the future). This PR adds the ability to support multiple classifications in a module's metadata.yaml file, and then outputs the new classifications into the instrumentation-list.yaml file.

We currently structure the instrumentation-list.yaml file with 3 top level classifications that the instrumentations are grouped under: library, custom and internal, so I did not include those 3 in each module's resulting classification list. I plan to revisit this file's overall hierarchy in a followup PR where we flatten it and just include all categories in the list, removing the 3 top level ones.

There are a lot of changed files in this PR, but most of them are the metadata files. All modules that I updated with the new categories were instrumentations that I had already documented and had previously created the metadata.yaml files for. I can break all those out into a separate PR for easier reviewing if we want.

@jaydeluca jaydeluca requested a review from a team as a code owner August 23, 2025 17:15
@github-actions github-actions bot added the test native This label can be applied to PRs to trigger them to run native tests label Aug 23, 2025
automatically configures the instrumentation provided by the Couchbase library.
classification:
- library
- configuration
Copy link
Member

Choose a reason for hiding this comment

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

I think it does more than configuration, more like it automatically injects couchbase's instrumentation?

Copy link
Member Author

Choose a reason for hiding this comment

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

I was bucketing all instrumentations that the agent just sets up and bootstraps in some way as "configuration", but I think you are right that it's not a very good description for these.

Brainstorming some other ideas we could use for instrumentations where we shade the upstreams and register them with the agent:

  • bridge (maybe a little too general, but could work)
  • native-bridge (I worry the word "native" might be ambiguous)
  • injecter (feels ambiguous since most of our instrumentations use byte code injection)
  • wrapper
  • adapter
  • upstream-adapter

I think my personal preference is "upstream-adapter" or just "adapter". I like the former since it highlights that the upstream is involved. I am open to more ideas though!

Comment on lines 1 to +4
description: This instrumentation enables context propagation for the Azure Core library, it does not emit any telemetry on its own.
classification:
- library
- propagator
Copy link
Member

Choose a reason for hiding this comment

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

this is similar to couchbase, where it injects Azure Core's OpenTelemetry instrumentation

@jaydeluca jaydeluca marked this pull request as draft September 4, 2025 18:05
@jaydeluca
Copy link
Member Author

decided to go in a different direction for this

@jaydeluca jaydeluca closed this Sep 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test native This label can be applied to PRs to trigger them to run native tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add new "functions" metadata attribute

2 participants