open-telemetry / open-telemetry/weaver
Support user-provided JQ modules
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 486
- Forks
- 108
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 40
Description
Is your feature request related to a problem? Please describe.
I frequently have to replicate filters between numerous Weaver configurations in order to support providing our customers with a consistent SDK across languages. It would be great to consolidate the filtering logic alongside my registry definitions and templates.
Describe the solution you'd like
Forge currently loads a default module while provides the helper functions authors would typically use for their template generation. It would be great if we could supply additional modules to load via the weaver generate command.
Describe alternatives you've considered
Many warts encountered when dealing with deprecated elements could be worked around by adding a exclude_attribute and exclude_metric option on the relevant functions, however, user-defined JQ modules would provide better composition long-term under the multi-registry support model.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the weaver generate command and the default module at defaults/jq/semconv.jq; trace how that module is loaded during template generation. Review the multi-registry context described in the issue and determine the supported way to provide additional user modules. Done means user-provided JQ modules can be loaded alongside the default helpers for generation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100