-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Add section on how to build an otelcol dist #1234
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
Add section on how to build an otelcol dist #1234
Conversation
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
73f9801
to
acf4d51
Compare
## Creating your own OpenTelemetry Collector distribution | ||
|
||
A guide on how to create your own distribution is available in this blog post: | ||
["Building your own OpenTelemetry Collector distribution"](https://medium.com/p/42337e994b63) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I may be wrong but isn't medium content sometimes locked behind a paywall now? Not sure if a freely available project both as in beer and speech should rely on extended documentation that might not be accessible to everyone.
Nothing against medium or content they host. Just not sure if OpenTelemetry as a product should direct users to content/documentation/guides that they might not be able to read.
Great article BTW @jpkrohling
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I see this is the official OpenTelemetry blog on medium. I suppose this decision has already been taken then by the maintainers and we are fine with publishin there? Please disregard if that's the case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sometimes locked behind a paywall now
Each author/publication can choose to make money on Medium and have a paywall in front of individual posts, or to allow all users to have free access to the content, without any paywalls. I always publish articles without opting-in for the paywall, and I believe the OpenTelemetry publication also doesn't.
Updates #1234 Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
… add 'messaging.url' span attribute (#1234) * boto3sqs: Fix various issues * do not use 'otel' prefix for propagation keys to make propagation compatible with other SQS instrumentations like Node.Js Inject propergator.fields keys into the MessageAttributeNames argument for 'receive_message' calls to retreive the corresponding message attributes * add 'messaging.url' span attribute to SQS spans * add boto3sqs instrumentation to tox.ini to run tests in CI * add some basic unit tests * changelog * fix linting issues * unset instrumented flag on uninstrument
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Removes `cmd/oteltestbedcol` from list since it has no Makefile <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #35606
) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Removes `cmd/oteltestbedcol` from list since it has no Makefile <!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes open-telemetry#35606
) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Removes `cmd/oteltestbedcol` from list since it has no Makefile <!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes open-telemetry#35606
…atus (#35648) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Refactors the `extension/healthcheckv2extension/internal/status` into `pkg/status`. This exposes the aggregator to be used by other extensions to gather component status information using the `extension.StatusWatcher`. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Closes #34692 <!--Describe what testing was performed and which tests were added.--> #### Testing Being it was a refactor and all the same tests provided coverage, no additional testing was added. <!--Describe the documentation added.--> #### Documentation Added a `README.md` to the `pkg/status` to provide information on where this package can be used. --------- Co-authored-by: Matthew Wear <matthew.wear@gmail.com>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Update OTel mode to implementation to serialize log body into body.* fields <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue <!--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.-->
…rning error to avoid upstream retries (#35740) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Log metrics validation error instead of returning to avoid upstream retries <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue <!--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.-->
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue #35741 Fixes Wrong comparison func implement in translator/prometheusremotewrite. <!--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.--> Signed-off-by: Juraj Michalek <juraj.michalek132@gmail.com>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Follow up from #35703. Draft starting the work on adding support for remote write 2.0 in the translation package. Adding support for translating gauges. This is first iteration and to keep the PR small * we don't handle duplicate metrics * only support gauges * don't handle other labels than metric name * don't handle exemplars * don't handle metadata <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue #33661 Fixes <!--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.--> --------- Signed-off-by: Juraj Michalek <juraj.michalek132@gmail.com> Co-authored-by: Arthur Silva Sens <arthursens2005@gmail.com> Co-authored-by: David Ashpole <dashpole@google.com>
#### Description Follow [the contract](https://github.com/open-telemetry/opentelemetry-collector/blob/df3c9e38a80ccc3b14705462be2e2e51c628a3b3/receiver/doc.go#L10) for cloudflare receiver <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Related #5909 <!--Describe what testing was performed and which tests were added.--> #### Testing Added
… prefix conflict in OTel mapping mode (#35651) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Metric names should be flattened and exported as is, even when one metric name is a prefix of another. Same for attributes for all logs, metrics and traces. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue <!--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.-->
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Version of MySQL older than 8.0.22 use the `show slave status` vs `show replica status` view to retrieve replication metrics. This allows for both the newer & older views to work and retrieve data for the two actual replica metrics available (`mysql.replica.time_behind_source` & `mysql.replica.sql_delay`). <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #35217 <!--Describe what testing was performed and which tests were added.--> #### Testing Manual testing against MySQL versions 8.0, 8.0.37, & MariaDB Ver 15.1 Distrib 10.5.26-MariaDB <!--Describe the documentation added.--> #### Documentation None needed <!--Please delete paragraphs that you did not use before submitting.-->
…only (#35839) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Make OTel mapping mode use RequireDataStream in docappender, which means it will only send to data streams. This prevents auto creating regular indices in OTel mapping mode due to a race condition in Elasticsearch where otel-data index templates are not ready. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue <!--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.-->
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Enable gzip compression by default, at hardcoded level BestSpeed. To disable compression, set `compression` to `none`. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue <!--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.-->
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Fixes an issue where the Kafka receiver would block on shutdown. There was an earlier fix for this issue [here](#32720). This does solve the issue, but it was only applied to the traces receiver, not the logs or metrics receiver. The issue is this go routine in the `Start()` functions for logs and metrics: ```go go func() { if err := c.consumeLoop(ctx, metricsConsumerGroup); err != nil { componentstatus.ReportStatus(host, componentstatus.NewFatalErrorEvent(err)) } }() ``` The `consumeLoop()` function returns a `context.Canceled` error when `Shutdown()` is called, which is expected. However `componentstatus.ReportStatus()` blocks while attempting to report this error. The reason/bug for this can be found [here](open-telemetry/opentelemetry-collector#9824). The previously mentioned PR fixed this for the traces receiver by checking if the error returned by `consumeLoop()` is `context.Canceled`: ```go go func() { if err := c.consumeLoop(ctx, consumerGroup); !errors.Is(err, context.Canceled) { componentstatus.ReportStatus(host, componentstatus.NewFatalErrorEvent(err)) } }() ``` Additionally, this is `consumeLoop()` for the traces receiver, with the logs and metrics versions being identical: ```go func (c *kafkaTracesConsumer) consumeLoop(ctx context.Context, handler sarama.ConsumerGroupHandler) error { for { // `Consume` should be called inside an infinite loop, when a // server-side rebalance happens, the consumer session will need to be // recreated to get the new claims if err := c.consumerGroup.Consume(ctx, c.topics, handler); err != nil { c.settings.Logger.Error("Error from consumer", zap.Error(err)) } // check if context was cancelled, signaling that the consumer should stop if ctx.Err() != nil { c.settings.Logger.Info("Consumer stopped", zap.Error(ctx.Err())) return ctx.Err() } } } ``` This does fix the issue, however the only error that can be returned by `consumeLoop()` is a canceled context. When we create the context and cancel function, we use `context.Background()`: ```go ctx, cancel := context.WithCancel(context.Background()) ``` This context is only used by `consumeLoop()` and the cancel function is only called in `Shutdown()`. Because `consumeLoop()` can only return a `context.Canceled` error, this PR removes this unused code for the logs, metrics, and traces receivers. Instead, `consumeLoop()` still logs the `context.Canceled` error but it does not return any error and the go routine simply just calls `consumeLoop()`. Additional motivation for removing the call to `componentstatus.ReportStatus()` is the underlying function called by it, `componentstatus.Report()` says it does not need to be called during `Shutdown()` or `Start()` as the service already does so for the given component, [comment here](https://github.com/open-telemetry/opentelemetry-collector/blob/main/component/componentstatus/status.go#L21-L25). Even if there wasn't a bug causing this call to block, the component still shouldn't call it since it would only be called during `Shutdown()`. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #30789 <!--Describe what testing was performed and which tests were added.--> #### Testing Tested in a build of the collector with these changes scraping logs from a Kafka instance. When the collector is stopped and `Shutdown()` gets called, the receiver did not block and the collector stopped gracefully as expected.
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This PR adds support for multiple log attributes value types: string, integer, double, boolean. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes <!--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.-->
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes <!--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.--> Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description move @StefanKurek to emeritus. Thank you for all your contributions! <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #41493 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…age (#41545) #### Description Add trace ID to partial success log message. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #41544 <!--Describe what testing was performed and which tests were added.--> #### Testing - Added some unit tests - Manual test: start an OTEL Collector with the exporter and send some data using `telemetrygen`. After that, verified the data is in the Coralogix backend. Signed-off-by: Israel Blancas <iblancasa@gmail.com>
#### Description Update docs <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes <!--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.-->
#41609) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #41587 <!--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.-->
… contrib (#41608) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #41593 <!--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.-->
…plan data (#41684) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Including "options" and "child_address" into the oracle plan data to enhance the details <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes 37478 <!--Describe what testing was performed and which tests were added.--> #### Testing Unit tests updated.
…ormance (#41467) #### Description This PR uses a JSON struct now instead of `map[string]any`, as we know what to expect from a GCP log entry. This causes significant performance improvement: ``` goos: linux goarch: amd64 pkg: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/googlecloudlogentryencodingextension cpu: 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz │ old.txt │ new.txt │ │ sec/op │ sec/op vs base │ Test-16 19.907µ ± 3% 6.583µ ± 4% -66.93% (p=0.000 n=10) │ old.txt │ new.txt │ │ B/op │ B/op vs base │ Test-16 13.310Ki ± 0% 5.326Ki ± 0% -59.98% (p=0.000 n=10) │ old.txt │ new.txt │ │ allocs/op │ allocs/op vs base │ Test-16 340.00 ± 0% 90.00 ± 0% -73.53% (p=0.000 n=10) ``` The main goal of using a JSON struct is so that we can use semantic conventions, like mentioned in issue #41087. There are also two breaking changes, since the code implemented before was not working correctly for these cases: - Logs also have now observedTimeUnixNano and flags - If there is an error handling the log, just return the error and empty logs for ALL cases. Before this behavior was inconsistent: either the error was ignored ([here](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/5943f5a933843e6f81bed28a05e2f33d8c1fc485/extension/encoding/googlecloudlogentryencodingextension/extension.go#L86)), or it would stop the logs from being received ([here](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/5943f5a933843e6f81bed28a05e2f33d8c1fc485/extension/encoding/googlecloudlogentryencodingextension/extension.go#L94)) <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Relates to #41087 (comment). <!--Describe what testing was performed and which tests were added.--> #### Testing Unit tests fixed. <!--Describe the documentation added.--> #### Documentation N/A.
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description If the `s3_partition_format` is empty, the resulting S3 path includes double slashes. Eg: `<prefix>//<output_file>` This PR uses `Path.join` instead of manual concatenation to avoid double slashes. I should note that in this PR, I changed the `empty values` test so the expected value _does not_ have a `/` prefix. I feel like this is the more accurate/intended behavior as we wouldn't want to prepend a slash to to the key. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue (unfiled) <!--Describe what testing was performed and which tests were added.--> #### Testing - Added new tests - Local testing with localstack/sample configs <!--Describe the documentation added.--> #### Documentation n/a <!--Please delete paragraphs that you did not use before submitting.-->
…1362) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Changing the metrics that statsdreceiver need to record from LocalAddress to RemoteAddress <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #41361 --------- Signed-off-by: clavinjune <24659468+clavinjune@users.noreply.github.com>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Add a `UUIDv7()` ottl function. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue implement [41268](#41268) <!--Describe what testing was performed and which tests were added.--> #### Testing Unit test <!--Describe the documentation added.--> #### Documentation Added to OTTL README <!--Please delete paragraphs that you did not use before submitting.--> --------- Co-authored-by: Edmo Vamerlatti Costa <11836452+edmocosta@users.noreply.github.com>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Build a docker image for the golden binary, available as snapshot and release artifact, needed for or after open-telemetry/opentelemetry-java-contrib#1960 is merged <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #40538 --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description I believe that this should be the only nullable field improperly accessed within this file. ```go // The ConfigInfo data object type encapsulates the configuration settings and // virtual hardware for a virtual machine. // // This type holds all the information // that is present in the .vmx configuration file for the virtual machine. type VirtualMachineConfigInfo struct { ``` I'm thinking users may have created a machine and attached the vmdk to it and thats may be the potential cause? Either way this should resolve the NPE and shouldn't crash the collector when we encounter these. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #41018 <!--Describe what testing was performed and which tests were added.--> #### Testing <!--Describe the documentation added.--> #### Documentation Changelog
<!--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 support for `.percent` and `.rate` metric derivations in the `bmchelixexporter`. The changes enhance the functionality of the metrics producer by adding percentage variants for ratio metrics and rate metrics for counters, along with corresponding unit adjustments. Comprehensive test cases have been added to ensure the correctness of these new features. ### Enhancements to Metric Derivations: * **Support for Percentage Variants**: - Added the `addPercentageVariants` function to generate `.percent` metrics for ratio metrics (unit "1"). These variants are useful for visualization and analysis. (`exporter/bmchelixexporter/internal/operationsmanagement/metrics_producer.go`: [exporter/bmchelixexporter/internal/operationsmanagement/metrics_producer.goR430-R535](diffhunk://#diff-5c9d35d9692f79277d9122bf02f6425f12f066b0f1304356242b0715bfdacf9fR430-R535)) - Introduced the `toPercentMetricName` helper function to handle metric name transformations for percentage variants. (`exporter/bmchelixexporter/internal/operationsmanagement/metrics_producer.go`: [exporter/bmchelixexporter/internal/operationsmanagement/metrics_producer.goR430-R535](diffhunk://#diff-5c9d35d9692f79277d9122bf02f6425f12f066b0f1304356242b0715bfdacf9fR430-R535)) * **Support for Rate Metrics**: - Added the `addRateVariants` function to compute `.rate` metrics for counters. This calculates the rate of change per second and appends the new metrics to the payload. (`exporter/bmchelixexporter/internal/operationsmanagement/metrics_producer.go`: [exporter/bmchelixexporter/internal/operationsmanagement/metrics_producer.goR185-R216](diffhunk://#diff-5c9d35d9692f79277d9122bf02f6425f12f066b0f1304356242b0715bfdacf9fR185-R216)) - Implemented the `computeRateMetricFromCounter` function to calculate rate metrics based on counter deltas and timestamps. (`exporter/bmchelixexporter/internal/operationsmanagement/metrics_producer.go`: [exporter/bmchelixexporter/internal/operationsmanagement/metrics_producer.goR430-R535](diffhunk://#diff-5c9d35d9692f79277d9122bf02f6425f12f066b0f1304356242b0715bfdacf9fR430-R535)) - Introduced a `previousCounters` map in the `MetricsProducer` struct to store the last seen values for counters, enabling rate calculations. (`exporter/bmchelixexporter/internal/operationsmanagement/metrics_producer.go`: [exporter/bmchelixexporter/internal/operationsmanagement/metrics_producer.goR33-R40](diffhunk://#diff-5c9d35d9692f79277d9122bf02f6425f12f066b0f1304356242b0715bfdacf9fR33-R40)) ### Test Coverage: * **New Test Cases**: - Added tests for `computeRateMetricFromCounter`, `toPercentMetricName`, `addPercentageVariants`, and `addRateVariants` to validate the new functionality. (`exporter/bmchelixexporter/internal/operationsmanagement/metrics_producer_test.go`: [exporter/bmchelixexporter/internal/operationsmanagement/metrics_producer_test.goR286-R459](diffhunk://#diff-e207bd2633bf323b83e6523cd0ba51f542e8f7008d33a654cd4b06d8d4943418R286-R459)) ### Documentation: * **Changelog Entry**: - Added a changelog entry to document the enhancement, specifying support for `.percent` and `.rate` metric derivations. (`.chloggen/bmchelixexporter_support_percent_and_rate_metric_derivation.yaml`: [.chloggen/bmchelixexporter_support_percent_and_rate_metric_derivation.yamlR1-R27](diffhunk://#diff-5583179d25288230b843c5a25c221895f951dcccd93bacb7f47407738fe4a847R1-R27)) <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #41611 <!--Describe what testing was performed and which tests were added.--> #### Testing <img width="2550" height="948" alt="image" src="https://github.com/user-attachments/assets/f6f23c08-596a-42ad-8e9f-a1ab8132b82f" />
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> Uses `configoptional.Optional` for all fields. #### Link to tracking issue Fixes #41723
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Updates `pkg/util/winutil` to DataDog/datadog-agent@9300d3e. The update was done by running the following commands: ``` rg pkg/util/winutil --glob '*.mod' -l | xargs dirname | xargs -I '{}' bash -c "pushd {} && go get github.com/DataDog/datadog-agent/pkg/util/winutil@9300d3e37608f24781efbb99082b82703d37a537 && popd" make gotidy ``` <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Updates #40247
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Deprecates the `batcher` config in favour of `sending_queue#batch` and introduces a partitioner based on the configured `metadata_keys`. Note that with batcher enabled, the values in the context will not be forwarded to the exporter's callback functions due to open-telemetry/opentelemetry-collector#13320 <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #41338 <!--Describe what testing was performed and which tests were added.--> #### Testing Unit tests added <!--Describe the documentation added.--> #### Documentation Documentation updated <!--Please delete paragraphs that you did not use before submitting.--> --------- Co-authored-by: Carson Ip <carsonip@users.noreply.github.com> Co-authored-by: Edmo Vamerlatti Costa <11836452+edmocosta@users.noreply.github.com>
…ace (#41736) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Fix flaky integration test caused by available port race. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #41616 <!--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.-->
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description fixes regression in datadog exporter that causes host metadata to not be sent if exporter only enabled in logs pipeline <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #41516 <!--Describe what testing was performed and which tests were added.--> #### Testing manually tested that metadata was sent via debug logs <!--Describe the documentation added.--> #### Documentation none, minor bugfix <!--Please delete paragraphs that you did not use before submitting.-->
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Do not log invalid HEC events as they can flood logs if too long. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #41575 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description currently we have two `enabled` fields and one is not used, update to remove the currently using one to align with mdatagen <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes <!--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.-->
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This PR adds detailed timing metrics to the HTTP Check receiver. They are disabled by default. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #41379 <!--Describe what testing was performed and which tests were added.--> #### Testing The scraper tests were enhanced with unit tests to cover the new metrics. <!--Describe the documentation added.--> #### Documentation Readme shows how to enable the new metrics. <!--Please delete paragraphs that you did not use before submitting.--> --------- Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description n/a <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #41732 <!--Describe what testing was performed and which tests were added.--> #### Testing n/a <!--Describe the documentation added.--> #### Documentation n/a <!--Please delete paragraphs that you did not use before submitting.-->
…e latency in seconds (#41219) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description In #40846 additional metrics were introduced to add internal telemetry emitted by the receiver. All the duration and latency metrics were recorded in milliseconds which is inconsistent with other components which record it in seconds instead. This PR deprecates the metrics that measure the latency in milliseconds in favor of new set metrics that use seconds instead. Additionally the changes were made to use more consistent naming for `messages` -> `records`. Finally, a new new metric `kafka_receiver_records_delay` was added to capture the time between producing and receiving a batch of records, this aids with visualizing backlog as time delay. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #41109 <!--Describe what testing was performed and which tests were added.--> #### Testing The unit tests were updated to reflect the changes. <!--Describe the documentation added.--> #### Documentation The documentation was regenerated with `mdatagen`. <!--Please delete paragraphs that you did not use before submitting.--> --------- Co-authored-by: Andrew Wilkins <axwalk@gmail.com>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Reuse existing `Metadata.RefreshInterval` configuration for setting `franz-go` `MetadataMaxAge` config option. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue closes #41088 <!--Describe what testing was performed and which tests were added.--> #### Testing The PR adds unit tests <!--Describe the documentation added.--> #### Documentation kafkareceiver and kafkaexporter README files are updated to contain the config option. <!--Please delete paragraphs that you did not use before submitting.-->
…ure Resource tags (#41117) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Updated `append_tags_as_attributes` configuration type from boolean to array. It controls which Azure resource tags are added as resource attributes to the metrics. The values can be a list of specific tag names or `["*"]` to include all tags. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes #40988 <!--Describe what testing was performed and which tests were added.--> #### Testing Comprehensive unit tests have been added/updated to validate the changes introduced in this PR. All newly added code is covered with 100% unit test coverage to ensure correctness. Please note that I do not currently have access to an Azure account, so I have not been able to perform end-to-end testing against live Azure resources. All changes have been validated through unit tests. If verification with an actual Azure environment is required, please let me know, and I will coordinate accordingly. <!--Describe the documentation added.--> #### Documentation The `azuremonitorreceiver` README has been updated to reflect the configuration changes introduced in this PR <!--Please delete paragraphs that you did not use before submitting.-->
Signed-off-by: Juraci Paixão Kröhling juraci@kroehling.de
Description: Added readme section with links to resources on how to create custom OpenTelemetry Collector distributions.
Link to tracking Issue: open-telemetry/opentelemetry-collector#213
Testing: n/a
Documentation: n/a