You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 instrumenation 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:
Some description of what an instrumentation provides
A breakdown of the library versions that are supported, broken down by javaagent vs library support
Minimum Java version supported (if not 8+)
Whether the instrumentation is enabled or disabled by default
The key to use to disable/enable
The configuration options and defaults
Scope information
name
schemaUrl
attributes
Semantic conventions
Span attributes
Metrics
There 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:
Regex parsing gradle files for dependency information
Capturing input from @jackshirazi around scope information:
Having all of the fields from the InstrumentationScopeInfo object available to be able to re-construct it is useful because it is used as the key in a map to the tracer, and if you want to let users dynamically adjust the scope, that's how they would access it.
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 instrumenation 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:
There 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: