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

[exporter/datadogexporter] Add support for custom log source #35051

Merged
merged 7 commits into from
Sep 9, 2024

Conversation

mackjmr
Copy link
Member

@mackjmr mackjmr commented Sep 6, 2024

Description:
This PR updates github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter to include commit: DataDog/datadog-agent@09b07eb. This adds support for setting a custom log source from resource attribute or log attribute datadog.log.source.

Link to tracking Issue:

Testing: Tested this locally by sending logs with attribute datadog.log.source and ensuring this was used as the source.

Documentation: Updated datadog exporter README.

This PR updates `github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter` to include commit: DataDog/datadog-agent@09b07eb. This adds support for setting a custom log source from resource attribute or log attribute `datadog.log.source`.
Copy link
Member

@songy23 songy23 left a comment

Choose a reason for hiding this comment

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

Generated code is out of date, please run "make genotelcontribcol" and commit the changes in this PR.

.chloggen/mackjmr_custom-log-src-support.yaml Outdated Show resolved Hide resolved

### How to add custom log source

In order to add a custom source to your OTLP logs, set log attribute or resource attribute `datadog.log.source`.
Copy link
Member

Choose a reason for hiding this comment

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

It's unusual to support an attribute both as a log attribute and a resource attribute (I don't know of any examples from semantic conventions at least). Why are we doing it like this?

Copy link
Member Author

Choose a reason for hiding this comment

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

I agree with you, and ideally this would be read only from resource attributes. It's currently done this way due to how the logs code is structured. The origin is accessible here, and this is where we need to set the source.

At this point, the attributes and resource attributes have been merged and are not distinguishable within AdditionalProperties. See Attributes/ resource attributes.

We have the same issue with status. This is fixable, but requires a refactor of the logs code to allow this.

Copy link
Member Author

Choose a reason for hiding this comment

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

As discussed offline, will create a card to refactor logs path, and in the meantime will remove support for log attributes from docs.

@mx-psi mx-psi merged commit b3e952f into open-telemetry:main Sep 9, 2024
155 of 156 checks passed
@github-actions github-actions bot added this to the next release milestone Sep 9, 2024
f7o pushed a commit to f7o/opentelemetry-collector-contrib that referenced this pull request Sep 12, 2024
…lemetry#35051)

**Description:**
This PR updates
`github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter`
to include commit:
DataDog/datadog-agent@09b07eb.
This adds support for setting a custom log source from resource
attribute or log attribute `datadog.log.source`.


**Link to tracking Issue:** <Issue number if applicable>

**Testing:** Tested this locally by sending logs with attribute
`datadog.log.source` and ensuring this was used as the source.

**Documentation:** Updated datadog exporter README.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cmd/otelcontribcol otelcontribcol command connector/datadog exporter/datadog Datadog components
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants