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

[processor/transform] Replace ParserCollection and add initial support for context inference #37272

Conversation

edmocosta
Copy link
Contributor

Description

This PR is part of #29017, and a split from #36888. It changes the transformprocessor, adding the initial support for expressing statement's context via path names.

Change log:

  • Replaced the custom ParserCollection implementation with the new ottl.ParserCollection.
  • When the context configuration key is set (current mode), it relies on the parser collection and statements rewrite utility to prepend the configured context value on the statements paths, making it backward compatible and not requiring users to change their existing configurations.
  • If the context configuration key is empty, it requires all statements's paths to have a valid context prefix, and relies on the context inferrer utility to choose the right parser.
  • Added initial support for passing the cache value to parser's TransformContext.
  • collector/consumer interfaces are not implemented anymore.

Examples:

log_statements:
  # Expressing contexts via path names (no context key value)
  - statements:
     - set(log.attributes["name"], "replaced")

   # Existing format
  - context: log
    statements:
      - set(attributes["name"], "replaced")

Link to tracking issue

#29017,

Testing

Unit tests

Copy link
Member

@TylerHelmuth TylerHelmuth left a comment

Choose a reason for hiding this comment

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

Needs a changelog and if we can make it so that the existing user's use of cache is unaffected that I believe it can be an enhancement instead of breaking.

@mx-psi mx-psi assigned TylerHelmuth and unassigned mx-psi Jan 17, 2025
@TylerHelmuth
Copy link
Member

TylerHelmuth commented Jan 21, 2025

@evan-bradley please review. I'll merge on Friday unless there are objections or you merge it first.

@evan-bradley evan-bradley merged commit 4ebb7af into open-telemetry:main Jan 22, 2025
164 checks passed
@github-actions github-actions bot added this to the next release milestone Jan 22, 2025
@edmocosta edmocosta deleted the replace-pc-and-add-intial-contextinference-support branch January 22, 2025 16:52
chengchuanpeng pushed a commit to chengchuanpeng/opentelemetry-collector-contrib that referenced this pull request Jan 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
processor/transform Transform processor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants