[exporter/datadog] Add configurable reporter_period for host metadata#36451
Merged
Conversation
- Introduced a `reporter_period` field in `HostMetadataConfig` to allow customization of the metadata reporting interval. - Default value set to 30 minutes for backward compatibility. - Updated `pkg/datadog/config/host.go` to support the new `reporter_period` field. - Validated `reporter_period` in `pkg/datadog/config/config.go` to ensure positive durations. - Passed `reporter_period` to the metadata pusher in `exporter/datadogexporter/internal/hostmetadata/config.go`. - Modified `exporter/datadogexporter/hostmetadata.go` and `factory.go` to integrate `reporter_period` into the reporter logic. - Removed hardcoded constant for metadata reporting interval in favor of the configurable value. Fixes open-telemetry#36450
- Added a changelog entry
…igurable-reporter-period-for-host-metadata
- Fixed formatting
…atadogexporter-add-configurable-reporter-period-for-host-metadata
…igurable-reporter-period-for-host-metadata
songy23
reviewed
Nov 20, 2024
…igurable-reporter-period-for-host-metadata
jade-guiton-dd
suggested changes
Dec 2, 2024
Contributor
jade-guiton-dd
left a comment
There was a problem hiding this comment.
Everything looks good to me, just one small change. I'll probably take care of following up with #36522 once this is merged.
Comment on lines
+136
to
+137
| if c.HostMetadata.ReporterPeriod <= 0 { | ||
| return errors.New("reporter_period must be a positive duration") |
Contributor
There was a problem hiding this comment.
We would like to prevent users from accidentally spamming the backend by setting the reporter period too low. The Agent currently has a minimum of 5 minutes, so unless you believe there to be strong use cases for even lower values, I think we should do the same here.
Suggested change
| if c.HostMetadata.ReporterPeriod <= 0 { | |
| return errors.New("reporter_period must be a positive duration") | |
| if c.HostMetadata.ReporterPeriod < 5 * time.Minute { | |
| return errors.New("reporter_period must be 5 minutes or higher") |
Contributor
Author
There was a problem hiding this comment.
Yes, that makes sense, we can go with minimum 5 minutes. It's already very good like this. Thank you!
* Minimum reporter_period 5-minutes as suggested by @jade-guiton-dd
mx-psi
approved these changes
Dec 3, 2024
shivanthzen
pushed a commit
to shivanthzen/opentelemetry-collector-contrib
that referenced
this pull request
Dec 5, 2024
…open-telemetry#36451) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This pull request introduces a new configurable parameter `reporter_period` for the Datadog exporter’s host metadata configuration. This enhancement allows users to specify the frequency at which host metadata is sent to Datadog. The changes span multiple files and include updates to configuration, factory methods, and test cases. Enhancements to Datadog exporter: * [`.chloggen/add-configurable-reporter-period-for-host-metadata.yaml`](diffhunk://#diff-e3e3c57c49d2a921abc8470bccafabf4d632b0dc142eb3e95b3b6fac57107a11R1-R27): Added a changelog entry for the new `reporter_period` parameter. * [`exporter/datadogexporter/examples/collector.yaml`](diffhunk://#diff-766be9823b8ec8b8de17e2c6c785d9f93e13b5a7e84ff441040077ab5e726a79R452-R456): Added documentation for the new `reporter_period` parameter in the example configuration file. * [`exporter/datadogexporter/factory.go`](diffhunk://#diff-c9e9f39ffda08a2af74c0d54d37f21e14cdb95c4136cdbe238de6be2bfe31389L127-R125): Updated the factory to use the `reporter_period` from the configuration instead of a hardcoded value. Configuration updates: * [`exporter/datadogexporter/internal/hostmetadata/config.go`](diffhunk://#diff-0c9f0862d61390add366aca3e30834a1e01f16a3865ef9aca61831cad3459f53R31-R32): Added `ReporterPeriod` to the `PusherConfig` struct. * [`pkg/datadog/config/config.go`](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R136-R139): Added validation for the `reporter_period` to ensure it is a positive duration and set a default value. [[1]](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R136-R139) [[2]](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R347) Test case updates: * `exporter/datadogexporter/factory_test.go`, `exporter/datadogexporter/logs_exporter_test.go`, `exporter/datadogexporter/metrics_exporter_test.go`, `exporter/datadogexporter/traces_exporter_test.go`: Updated test cases to include the new `reporter_period` parameter. [[1]](diffhunk://#diff-c50b6d1f06d62a58b6422f3218526437c16554faa2b7fc8eee1d32c021f00ca4R311) [[2]](diffhunk://#diff-94f5b0119d06dbcfee20cd9b99a104ef208e027c166c463321670a5197e83714R233-R235) [[3]](diffhunk://#diff-005adb1774d2a402bdd7adf3b6aa150117bf6b3c0bb634bf2c68c6b33f0ce1b5L61-R63) [[4]](diffhunk://#diff-c19daad040b7310787c0012e5c660dc18a07ba16036d0eaa31a0e18c551d0ef3R148-R150) * [`pkg/datadog/config/config_test.go`](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R97-R105): Added test cases to validate the `reporter_period` configuration. [[1]](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R97-R105) [[2]](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R186-R197) <!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes open-telemetry#36450 <!--Describe what testing was performed and which tests were added.--> #### Testing <!--Describe the documentation added.--> #### Documentation <!--Please delete paragraphs that you did not use before submitting.-->
ZenoCC-Peng
pushed a commit
to ZenoCC-Peng/opentelemetry-collector-contrib
that referenced
this pull request
Dec 6, 2024
…open-telemetry#36451) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This pull request introduces a new configurable parameter `reporter_period` for the Datadog exporter’s host metadata configuration. This enhancement allows users to specify the frequency at which host metadata is sent to Datadog. The changes span multiple files and include updates to configuration, factory methods, and test cases. Enhancements to Datadog exporter: * [`.chloggen/add-configurable-reporter-period-for-host-metadata.yaml`](diffhunk://#diff-e3e3c57c49d2a921abc8470bccafabf4d632b0dc142eb3e95b3b6fac57107a11R1-R27): Added a changelog entry for the new `reporter_period` parameter. * [`exporter/datadogexporter/examples/collector.yaml`](diffhunk://#diff-766be9823b8ec8b8de17e2c6c785d9f93e13b5a7e84ff441040077ab5e726a79R452-R456): Added documentation for the new `reporter_period` parameter in the example configuration file. * [`exporter/datadogexporter/factory.go`](diffhunk://#diff-c9e9f39ffda08a2af74c0d54d37f21e14cdb95c4136cdbe238de6be2bfe31389L127-R125): Updated the factory to use the `reporter_period` from the configuration instead of a hardcoded value. Configuration updates: * [`exporter/datadogexporter/internal/hostmetadata/config.go`](diffhunk://#diff-0c9f0862d61390add366aca3e30834a1e01f16a3865ef9aca61831cad3459f53R31-R32): Added `ReporterPeriod` to the `PusherConfig` struct. * [`pkg/datadog/config/config.go`](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R136-R139): Added validation for the `reporter_period` to ensure it is a positive duration and set a default value. [[1]](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R136-R139) [[2]](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R347) Test case updates: * `exporter/datadogexporter/factory_test.go`, `exporter/datadogexporter/logs_exporter_test.go`, `exporter/datadogexporter/metrics_exporter_test.go`, `exporter/datadogexporter/traces_exporter_test.go`: Updated test cases to include the new `reporter_period` parameter. [[1]](diffhunk://#diff-c50b6d1f06d62a58b6422f3218526437c16554faa2b7fc8eee1d32c021f00ca4R311) [[2]](diffhunk://#diff-94f5b0119d06dbcfee20cd9b99a104ef208e027c166c463321670a5197e83714R233-R235) [[3]](diffhunk://#diff-005adb1774d2a402bdd7adf3b6aa150117bf6b3c0bb634bf2c68c6b33f0ce1b5L61-R63) [[4]](diffhunk://#diff-c19daad040b7310787c0012e5c660dc18a07ba16036d0eaa31a0e18c551d0ef3R148-R150) * [`pkg/datadog/config/config_test.go`](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R97-R105): Added test cases to validate the `reporter_period` configuration. [[1]](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R97-R105) [[2]](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R186-R197) <!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes open-telemetry#36450 <!--Describe what testing was performed and which tests were added.--> #### Testing <!--Describe the documentation added.--> #### Documentation <!--Please delete paragraphs that you did not use before submitting.-->
sbylica-splunk
pushed a commit
to sbylica-splunk/opentelemetry-collector-contrib
that referenced
this pull request
Dec 17, 2024
…open-telemetry#36451) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This pull request introduces a new configurable parameter `reporter_period` for the Datadog exporter’s host metadata configuration. This enhancement allows users to specify the frequency at which host metadata is sent to Datadog. The changes span multiple files and include updates to configuration, factory methods, and test cases. Enhancements to Datadog exporter: * [`.chloggen/add-configurable-reporter-period-for-host-metadata.yaml`](diffhunk://#diff-e3e3c57c49d2a921abc8470bccafabf4d632b0dc142eb3e95b3b6fac57107a11R1-R27): Added a changelog entry for the new `reporter_period` parameter. * [`exporter/datadogexporter/examples/collector.yaml`](diffhunk://#diff-766be9823b8ec8b8de17e2c6c785d9f93e13b5a7e84ff441040077ab5e726a79R452-R456): Added documentation for the new `reporter_period` parameter in the example configuration file. * [`exporter/datadogexporter/factory.go`](diffhunk://#diff-c9e9f39ffda08a2af74c0d54d37f21e14cdb95c4136cdbe238de6be2bfe31389L127-R125): Updated the factory to use the `reporter_period` from the configuration instead of a hardcoded value. Configuration updates: * [`exporter/datadogexporter/internal/hostmetadata/config.go`](diffhunk://#diff-0c9f0862d61390add366aca3e30834a1e01f16a3865ef9aca61831cad3459f53R31-R32): Added `ReporterPeriod` to the `PusherConfig` struct. * [`pkg/datadog/config/config.go`](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R136-R139): Added validation for the `reporter_period` to ensure it is a positive duration and set a default value. [[1]](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R136-R139) [[2]](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R347) Test case updates: * `exporter/datadogexporter/factory_test.go`, `exporter/datadogexporter/logs_exporter_test.go`, `exporter/datadogexporter/metrics_exporter_test.go`, `exporter/datadogexporter/traces_exporter_test.go`: Updated test cases to include the new `reporter_period` parameter. [[1]](diffhunk://#diff-c50b6d1f06d62a58b6422f3218526437c16554faa2b7fc8eee1d32c021f00ca4R311) [[2]](diffhunk://#diff-94f5b0119d06dbcfee20cd9b99a104ef208e027c166c463321670a5197e83714R233-R235) [[3]](diffhunk://#diff-005adb1774d2a402bdd7adf3b6aa150117bf6b3c0bb634bf2c68c6b33f0ce1b5L61-R63) [[4]](diffhunk://#diff-c19daad040b7310787c0012e5c660dc18a07ba16036d0eaa31a0e18c551d0ef3R148-R150) * [`pkg/datadog/config/config_test.go`](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R97-R105): Added test cases to validate the `reporter_period` configuration. [[1]](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R97-R105) [[2]](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R186-R197) <!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes open-telemetry#36450 <!--Describe what testing was performed and which tests were added.--> #### Testing <!--Describe the documentation added.--> #### Documentation <!--Please delete paragraphs that you did not use before submitting.-->
6 tasks
AkhigbeEromo
pushed a commit
to sematext/opentelemetry-collector-contrib
that referenced
this pull request
Jan 13, 2025
…open-telemetry#36451) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This pull request introduces a new configurable parameter `reporter_period` for the Datadog exporter’s host metadata configuration. This enhancement allows users to specify the frequency at which host metadata is sent to Datadog. The changes span multiple files and include updates to configuration, factory methods, and test cases. Enhancements to Datadog exporter: * [`.chloggen/add-configurable-reporter-period-for-host-metadata.yaml`](diffhunk://#diff-e3e3c57c49d2a921abc8470bccafabf4d632b0dc142eb3e95b3b6fac57107a11R1-R27): Added a changelog entry for the new `reporter_period` parameter. * [`exporter/datadogexporter/examples/collector.yaml`](diffhunk://#diff-766be9823b8ec8b8de17e2c6c785d9f93e13b5a7e84ff441040077ab5e726a79R452-R456): Added documentation for the new `reporter_period` parameter in the example configuration file. * [`exporter/datadogexporter/factory.go`](diffhunk://#diff-c9e9f39ffda08a2af74c0d54d37f21e14cdb95c4136cdbe238de6be2bfe31389L127-R125): Updated the factory to use the `reporter_period` from the configuration instead of a hardcoded value. Configuration updates: * [`exporter/datadogexporter/internal/hostmetadata/config.go`](diffhunk://#diff-0c9f0862d61390add366aca3e30834a1e01f16a3865ef9aca61831cad3459f53R31-R32): Added `ReporterPeriod` to the `PusherConfig` struct. * [`pkg/datadog/config/config.go`](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R136-R139): Added validation for the `reporter_period` to ensure it is a positive duration and set a default value. [[1]](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R136-R139) [[2]](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R347) Test case updates: * `exporter/datadogexporter/factory_test.go`, `exporter/datadogexporter/logs_exporter_test.go`, `exporter/datadogexporter/metrics_exporter_test.go`, `exporter/datadogexporter/traces_exporter_test.go`: Updated test cases to include the new `reporter_period` parameter. [[1]](diffhunk://#diff-c50b6d1f06d62a58b6422f3218526437c16554faa2b7fc8eee1d32c021f00ca4R311) [[2]](diffhunk://#diff-94f5b0119d06dbcfee20cd9b99a104ef208e027c166c463321670a5197e83714R233-R235) [[3]](diffhunk://#diff-005adb1774d2a402bdd7adf3b6aa150117bf6b3c0bb634bf2c68c6b33f0ce1b5L61-R63) [[4]](diffhunk://#diff-c19daad040b7310787c0012e5c660dc18a07ba16036d0eaa31a0e18c551d0ef3R148-R150) * [`pkg/datadog/config/config_test.go`](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R97-R105): Added test cases to validate the `reporter_period` configuration. [[1]](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R97-R105) [[2]](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R186-R197) <!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes open-telemetry#36450 <!--Describe what testing was performed and which tests were added.--> #### Testing <!--Describe the documentation added.--> #### Documentation <!--Please delete paragraphs that you did not use before submitting.-->
chengchuanpeng
pushed a commit
to chengchuanpeng/opentelemetry-collector-contrib
that referenced
this pull request
Jan 26, 2025
…open-telemetry#36451) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This pull request introduces a new configurable parameter `reporter_period` for the Datadog exporter’s host metadata configuration. This enhancement allows users to specify the frequency at which host metadata is sent to Datadog. The changes span multiple files and include updates to configuration, factory methods, and test cases. Enhancements to Datadog exporter: * [`.chloggen/add-configurable-reporter-period-for-host-metadata.yaml`](diffhunk://#diff-e3e3c57c49d2a921abc8470bccafabf4d632b0dc142eb3e95b3b6fac57107a11R1-R27): Added a changelog entry for the new `reporter_period` parameter. * [`exporter/datadogexporter/examples/collector.yaml`](diffhunk://#diff-766be9823b8ec8b8de17e2c6c785d9f93e13b5a7e84ff441040077ab5e726a79R452-R456): Added documentation for the new `reporter_period` parameter in the example configuration file. * [`exporter/datadogexporter/factory.go`](diffhunk://#diff-c9e9f39ffda08a2af74c0d54d37f21e14cdb95c4136cdbe238de6be2bfe31389L127-R125): Updated the factory to use the `reporter_period` from the configuration instead of a hardcoded value. Configuration updates: * [`exporter/datadogexporter/internal/hostmetadata/config.go`](diffhunk://#diff-0c9f0862d61390add366aca3e30834a1e01f16a3865ef9aca61831cad3459f53R31-R32): Added `ReporterPeriod` to the `PusherConfig` struct. * [`pkg/datadog/config/config.go`](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R136-R139): Added validation for the `reporter_period` to ensure it is a positive duration and set a default value. [[1]](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R136-R139) [[2]](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R347) Test case updates: * `exporter/datadogexporter/factory_test.go`, `exporter/datadogexporter/logs_exporter_test.go`, `exporter/datadogexporter/metrics_exporter_test.go`, `exporter/datadogexporter/traces_exporter_test.go`: Updated test cases to include the new `reporter_period` parameter. [[1]](diffhunk://#diff-c50b6d1f06d62a58b6422f3218526437c16554faa2b7fc8eee1d32c021f00ca4R311) [[2]](diffhunk://#diff-94f5b0119d06dbcfee20cd9b99a104ef208e027c166c463321670a5197e83714R233-R235) [[3]](diffhunk://#diff-005adb1774d2a402bdd7adf3b6aa150117bf6b3c0bb634bf2c68c6b33f0ce1b5L61-R63) [[4]](diffhunk://#diff-c19daad040b7310787c0012e5c660dc18a07ba16036d0eaa31a0e18c551d0ef3R148-R150) * [`pkg/datadog/config/config_test.go`](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R97-R105): Added test cases to validate the `reporter_period` configuration. [[1]](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R97-R105) [[2]](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R186-R197) <!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes open-telemetry#36450 <!--Describe what testing was performed and which tests were added.--> #### Testing <!--Describe the documentation added.--> #### Documentation <!--Please delete paragraphs that you did not use before submitting.-->
chengchuanpeng
pushed a commit
to chengchuanpeng/opentelemetry-collector-contrib
that referenced
this pull request
Jan 28, 2025
…open-telemetry#36451) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This pull request introduces a new configurable parameter `reporter_period` for the Datadog exporter’s host metadata configuration. This enhancement allows users to specify the frequency at which host metadata is sent to Datadog. The changes span multiple files and include updates to configuration, factory methods, and test cases. Enhancements to Datadog exporter: * [`.chloggen/add-configurable-reporter-period-for-host-metadata.yaml`](diffhunk://#diff-e3e3c57c49d2a921abc8470bccafabf4d632b0dc142eb3e95b3b6fac57107a11R1-R27): Added a changelog entry for the new `reporter_period` parameter. * [`exporter/datadogexporter/examples/collector.yaml`](diffhunk://#diff-766be9823b8ec8b8de17e2c6c785d9f93e13b5a7e84ff441040077ab5e726a79R452-R456): Added documentation for the new `reporter_period` parameter in the example configuration file. * [`exporter/datadogexporter/factory.go`](diffhunk://#diff-c9e9f39ffda08a2af74c0d54d37f21e14cdb95c4136cdbe238de6be2bfe31389L127-R125): Updated the factory to use the `reporter_period` from the configuration instead of a hardcoded value. Configuration updates: * [`exporter/datadogexporter/internal/hostmetadata/config.go`](diffhunk://#diff-0c9f0862d61390add366aca3e30834a1e01f16a3865ef9aca61831cad3459f53R31-R32): Added `ReporterPeriod` to the `PusherConfig` struct. * [`pkg/datadog/config/config.go`](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R136-R139): Added validation for the `reporter_period` to ensure it is a positive duration and set a default value. [[1]](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R136-R139) [[2]](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R347) Test case updates: * `exporter/datadogexporter/factory_test.go`, `exporter/datadogexporter/logs_exporter_test.go`, `exporter/datadogexporter/metrics_exporter_test.go`, `exporter/datadogexporter/traces_exporter_test.go`: Updated test cases to include the new `reporter_period` parameter. [[1]](diffhunk://#diff-c50b6d1f06d62a58b6422f3218526437c16554faa2b7fc8eee1d32c021f00ca4R311) [[2]](diffhunk://#diff-94f5b0119d06dbcfee20cd9b99a104ef208e027c166c463321670a5197e83714R233-R235) [[3]](diffhunk://#diff-005adb1774d2a402bdd7adf3b6aa150117bf6b3c0bb634bf2c68c6b33f0ce1b5L61-R63) [[4]](diffhunk://#diff-c19daad040b7310787c0012e5c660dc18a07ba16036d0eaa31a0e18c551d0ef3R148-R150) * [`pkg/datadog/config/config_test.go`](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R97-R105): Added test cases to validate the `reporter_period` configuration. [[1]](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R97-R105) [[2]](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R186-R197) <!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes open-telemetry#36450 <!--Describe what testing was performed and which tests were added.--> #### Testing <!--Describe the documentation added.--> #### Documentation <!--Please delete paragraphs that you did not use before submitting.-->
zeck-ops
pushed a commit
to zeck-ops/opentelemetry-collector-contrib
that referenced
this pull request
Apr 23, 2025
…open-telemetry#36451) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This pull request introduces a new configurable parameter `reporter_period` for the Datadog exporter’s host metadata configuration. This enhancement allows users to specify the frequency at which host metadata is sent to Datadog. The changes span multiple files and include updates to configuration, factory methods, and test cases. Enhancements to Datadog exporter: * [`.chloggen/add-configurable-reporter-period-for-host-metadata.yaml`](diffhunk://#diff-e3e3c57c49d2a921abc8470bccafabf4d632b0dc142eb3e95b3b6fac57107a11R1-R27): Added a changelog entry for the new `reporter_period` parameter. * [`exporter/datadogexporter/examples/collector.yaml`](diffhunk://#diff-766be9823b8ec8b8de17e2c6c785d9f93e13b5a7e84ff441040077ab5e726a79R452-R456): Added documentation for the new `reporter_period` parameter in the example configuration file. * [`exporter/datadogexporter/factory.go`](diffhunk://#diff-c9e9f39ffda08a2af74c0d54d37f21e14cdb95c4136cdbe238de6be2bfe31389L127-R125): Updated the factory to use the `reporter_period` from the configuration instead of a hardcoded value. Configuration updates: * [`exporter/datadogexporter/internal/hostmetadata/config.go`](diffhunk://#diff-0c9f0862d61390add366aca3e30834a1e01f16a3865ef9aca61831cad3459f53R31-R32): Added `ReporterPeriod` to the `PusherConfig` struct. * [`pkg/datadog/config/config.go`](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R136-R139): Added validation for the `reporter_period` to ensure it is a positive duration and set a default value. [[1]](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R136-R139) [[2]](diffhunk://#diff-747858d4c8fea28a92227df09f17ebee01df63dad04812ac5d30a392c9970b73R347) Test case updates: * `exporter/datadogexporter/factory_test.go`, `exporter/datadogexporter/logs_exporter_test.go`, `exporter/datadogexporter/metrics_exporter_test.go`, `exporter/datadogexporter/traces_exporter_test.go`: Updated test cases to include the new `reporter_period` parameter. [[1]](diffhunk://#diff-c50b6d1f06d62a58b6422f3218526437c16554faa2b7fc8eee1d32c021f00ca4R311) [[2]](diffhunk://#diff-94f5b0119d06dbcfee20cd9b99a104ef208e027c166c463321670a5197e83714R233-R235) [[3]](diffhunk://#diff-005adb1774d2a402bdd7adf3b6aa150117bf6b3c0bb634bf2c68c6b33f0ce1b5L61-R63) [[4]](diffhunk://#diff-c19daad040b7310787c0012e5c660dc18a07ba16036d0eaa31a0e18c551d0ef3R148-R150) * [`pkg/datadog/config/config_test.go`](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R97-R105): Added test cases to validate the `reporter_period` configuration. [[1]](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R97-R105) [[2]](diffhunk://#diff-d3a3c19e78bbac07597c6210b4d051f4678df2752e06c82d0f040c52207c5970R186-R197) <!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes open-telemetry#36450 <!--Describe what testing was performed and which tests were added.--> #### Testing <!--Describe the documentation added.--> #### Documentation <!--Please delete paragraphs that you did not use before submitting.-->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This pull request introduces a new configurable parameter
reporter_periodfor the Datadog exporter’s host metadata configuration. This enhancement allows users to specify the frequency at which host metadata is sent to Datadog. The changes span multiple files and include updates to configuration, factory methods, and test cases.Enhancements to Datadog exporter:
.chloggen/add-configurable-reporter-period-for-host-metadata.yaml: Added a changelog entry for the newreporter_periodparameter.exporter/datadogexporter/examples/collector.yaml: Added documentation for the newreporter_periodparameter in the example configuration file.exporter/datadogexporter/factory.go: Updated the factory to use thereporter_periodfrom the configuration instead of a hardcoded value.Configuration updates:
exporter/datadogexporter/internal/hostmetadata/config.go: AddedReporterPeriodto thePusherConfigstruct.pkg/datadog/config/config.go: Added validation for thereporter_periodto ensure it is a positive duration and set a default value. [1] [2]Test case updates:
exporter/datadogexporter/factory_test.go,exporter/datadogexporter/logs_exporter_test.go,exporter/datadogexporter/metrics_exporter_test.go,exporter/datadogexporter/traces_exporter_test.go: Updated test cases to include the newreporter_periodparameter. [1] [2] [3] [4]pkg/datadog/config/config_test.go: Added test cases to validate thereporter_periodconfiguration. [1] [2]Link to tracking issue
Fixes #36450
Testing
Documentation