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

feat(opentelemetry): support variable resource attributes #13839

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

SuzyWangIBMer
Copy link

@SuzyWangIBMer SuzyWangIBMer commented Nov 6, 2024

Summary

This change allows render resource attributes as lua code.
For example,

  config:
    traces_endpoint: "https://otlp-red-saas.instana.io:4318/v1/traces"
    resource_attributes:
      host.id: "$(headers.host)"

host.id is 0.0.0.0:9000 or depends on headers.host value.

Checklist

Issue reference

Fix #12538

@github-actions github-actions bot added plugins/opentelemetry schema-change-noteworthy cherry-pick kong-ee schedule this PR for cherry-picking to kong/kong-ee labels Nov 6, 2024
@team-eng-enablement team-eng-enablement added the author/community PRs from the open-source community (not Kong Inc) label Nov 6, 2024
@samugi samugi self-assigned this Nov 15, 2024
@samugi
Copy link
Member

samugi commented Nov 15, 2024

failing test is expected, let's rebase after #13877 is merged

@samugi samugi force-pushed the feat/otel_variable_resource_attributes branch from 6dc12b9 to eaf8f25 Compare November 15, 2024 13:31
@samugi samugi self-requested a review November 15, 2024 17:07
Copy link
Member

@samugi samugi left a comment

Choose a reason for hiding this comment

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

Thank you so much for your contribution, this is great! I left a few comments for things that I feel could be improved a bit. There's some code duplication with request-transformer that we may want to take care of, but that refactor can be done later.

kong/plugins/opentelemetry/utils.lua Outdated Show resolved Hide resolved
kong/plugins/opentelemetry/utils.lua Outdated Show resolved Hide resolved
kong/plugins/opentelemetry/traces.lua Outdated Show resolved Hide resolved
kong/plugins/opentelemetry/logs.lua Outdated Show resolved Hide resolved
kong/plugins/opentelemetry/handler.lua Outdated Show resolved Hide resolved
kong/plugins/opentelemetry/utils.lua Outdated Show resolved Hide resolved
kong/plugins/opentelemetry/utils.lua Outdated Show resolved Hide resolved
@SuzyWangIBMer SuzyWangIBMer force-pushed the feat/otel_variable_resource_attributes branch from eaf8f25 to 8a185af Compare November 18, 2024 22:21
kong/plugins/opentelemetry/handler.lua Outdated Show resolved Hide resolved
kong/plugins/opentelemetry/utils.lua Outdated Show resolved Hide resolved
@SuzyWangIBMer SuzyWangIBMer force-pushed the feat/otel_variable_resource_attributes branch 2 times, most recently from 0581567 to 4cfc804 Compare November 21, 2024 19:49
Copy link
Member

@samugi samugi left a comment

Choose a reason for hiding this comment

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

thanks for the quick action! I left a couple more suggestions, then I think it's good to go.

kong/plugins/opentelemetry/handler.lua Outdated Show resolved Hide resolved
kong/plugins/opentelemetry/logs.lua Show resolved Hide resolved
kong/plugins/opentelemetry/traces.lua Show resolved Hide resolved
kong/plugins/opentelemetry/utils.lua Outdated Show resolved Hide resolved
kong/plugins/opentelemetry/handler.lua Show resolved Hide resolved
@SuzyWangIBMer SuzyWangIBMer force-pushed the feat/otel_variable_resource_attributes branch from 4cfc804 to aba7105 Compare November 22, 2024 15:31
@SuzyWangIBMer SuzyWangIBMer force-pushed the feat/otel_variable_resource_attributes branch from aba7105 to 48c4be0 Compare November 25, 2024 18:36
Copy link
Member

@samugi samugi left a comment

Choose a reason for hiding this comment

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

Looks good to me, thank you!!

Could you just update the documentation line for this configuration field in the plugin's schema? This is used to auto-generate docs.

@SuzyWangIBMer SuzyWangIBMer force-pushed the feat/otel_variable_resource_attributes branch 2 times, most recently from f9e3afb to 4e2c7ab Compare November 28, 2024 17:11
Copy link
Member

@samugi samugi left a comment

Choose a reason for hiding this comment

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

great job and thanks again!

Edit: sorry about the failing CI, it's because the new schema description exceeded the length limit, if you undo that change I'll take care of updating the plugin's docs as required.

@SuzyWangIBMer SuzyWangIBMer force-pushed the feat/otel_variable_resource_attributes branch from 4e2c7ab to d5a0c23 Compare November 28, 2024 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
author/community PRs from the open-source community (not Kong Inc) cherry-pick kong-ee schedule this PR for cherry-picking to kong/kong-ee plugins/opentelemetry schema-change-noteworthy size/L
Projects
None yet
Development

Successfully merging this pull request may close these issues.

OTEL plugin: No way to set variable values to resource attributes
3 participants