-
Notifications
You must be signed in to change notification settings - Fork 960
Instrumentation Metadata System #13468
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
Comments
Capturing input from @jackshirazi around scope information:
|
Update on the current state of things:
Work in flight: I am working through each module adding descriptions and configurations manually, while in parallel investigating ways we might be able to do some of this programmatically. I am also still experimenting with using test runs in order to attain emitted span and metric data. |
adding a note that @laurit brought up here about certain modules containing multiple instrumentations:
I think it does probably make sense to consider further breaking down the modules to not just differentiate by file structure, but to also be able to break down further by InstrumentationModule classes and use those to identify each instrumentation. And then the metadata.yaml might need a way to specify attributes that apply to specific instrumentations within a module. Identifying modules that could be merged will need further thought. I will start experimenting |
Capturing some notes from the discussion at todays SIG meeting:
|
Making note that @zeitlinger had a question about the spring starter configuration metadata file:
I am adding an item to this issue to investigate how this system might be able to integrate with managing and/or documenting those configuration options as well. |
Uh oh!
There was an error while loading. Please reload this page.
Is your feature request related to a problem? Please describe.
The java instrumentation project currently includes 250 individual instrumentations. There are 242 javaagent instrumentations - 15 of which currently have readmes, and 59 library instrumentations - 35 of which currently have readmes. These readmes can have varying depth in terms of their contents. Going through one by one and creating and updating documentation for each instrumentation manually would require considerable effort and toil.
Describe the solution you'd like
Having a system to manage and generate meta data about each instrumentation can unlock automated documentation as well as unlock other tooling capabilities. This information will give users much better insight into what they can expect when using the instrumentation, as well as more information around changes between releases.
We will establish a standard set of metadata we want to track for each instrumentation, and design a system that leverages automated gathering of information that is then augmented by some human maintained metadata file per instrumentation to generate an instrumentation list yaml file that can then be used to feed other workflows.
Metadata that would be useful to have available:
library
- instrumentation for particular librariesinternal
- instrumentation used internally within the agentcustom
- instrumentation associated with supporting or generating custom instrumentationmetadata.yaml
fileThere are various ways we can attempt to obtain some of this information, and for other pieces we will create a metadata.yaml file for each instrumentation, similar to the collector
Ideas
Things to explore:
Other notes:
we could potentially find the upperbound via the latestDepTestLibrary declarationAdditional context
If we complete this issue, I believe it will also solve the following:
See latest instrument list output here
The text was updated successfully, but these errors were encountered: