Skip to content

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

Conversation

jpkrohling
Copy link
Member

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

@jpkrohling jpkrohling requested a review from a team October 9, 2020 14:04
@bogdandrutu bogdandrutu changed the title Added section on how to build an otelcol dist Add section on how to build an otelcol dist Oct 12, 2020
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
@jpkrohling jpkrohling force-pushed the jpkrohling/add-link-to-blog-post-on-building-custom-otelcol branch from 73f9801 to acf4d51 Compare October 12, 2020 15:31
## 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)
Copy link
Contributor

@owais owais Oct 12, 2020

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

Copy link
Contributor

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.

Copy link
Member Author

@jpkrohling jpkrohling Oct 12, 2020

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.

@bogdandrutu bogdandrutu merged commit a987792 into open-telemetry:master Oct 14, 2020
kisieland referenced this pull request in kisieland/opentelemetry-collector-contrib Mar 16, 2021
Updates #1234

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
ljmsc referenced this pull request in ljmsc/opentelemetry-collector-contrib Feb 21, 2022
codeboten pushed a commit that referenced this pull request Nov 23, 2022
… 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
mx-psi added a commit that referenced this pull request Oct 4, 2024
<!--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
jriguera pushed a commit to springernature/opentelemetry-collector-contrib that referenced this pull request Oct 4, 2024
)

<!--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
ghost pushed a commit to sematext/opentelemetry-collector-contrib that referenced this pull request Oct 9, 2024
)

<!--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
evan-bradley pushed a commit that referenced this pull request Oct 10, 2024
…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>
andrzej-stencel pushed a commit that referenced this pull request Oct 15, 2024
<!--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.-->
andrzej-stencel pushed a commit that referenced this pull request Oct 15, 2024
…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.-->
andrzej-stencel pushed a commit that referenced this pull request Oct 16, 2024
<!--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>
andrzej-stencel pushed a commit that referenced this pull request Oct 16, 2024
<!--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>
djaglowski pushed a commit that referenced this pull request Oct 16, 2024
#### 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
MovieStoreGuy pushed a commit that referenced this pull request Oct 17, 2024
#### Description
Add a new receiver to handle systemd service state reporting as metrics.

<!-- Issue number (e.g. #1234) or full URL to issue, if applicable. -->
#### Link to tracking issue

#33532
andrzej-stencel pushed a commit that referenced this pull request Oct 17, 2024
… 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.-->
djaglowski pushed a commit that referenced this pull request Oct 17, 2024
<!--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.-->
MovieStoreGuy pushed a commit that referenced this pull request Oct 18, 2024
#### Description
Adds initial implementation of ntpreceiver.

<!-- Issue number (e.g. #1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
#34375
andrzej-stencel pushed a commit that referenced this pull request Oct 18, 2024
…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.-->
andrzej-stencel pushed a commit that referenced this pull request Oct 21, 2024
<!--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.-->
djaglowski pushed a commit that referenced this pull request Oct 22, 2024
<!--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.
songy23 pushed a commit that referenced this pull request Jul 25, 2025
<!--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.-->
bogdandrutu added a commit that referenced this pull request Jul 25, 2025
<!--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>
atoulme added a commit that referenced this pull request Jul 26, 2025
<!--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>
mx-psi pushed a commit that referenced this pull request Jul 28, 2025
…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>
MovieStoreGuy pushed a commit that referenced this pull request Jul 29, 2025
#### 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.-->
songy23 pushed a commit that referenced this pull request Jul 30, 2025
#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.-->
songy23 pushed a commit that referenced this pull request Jul 30, 2025
… 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.-->
atoulme added a commit that referenced this pull request Jul 30, 2025
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Unexport ReceiverType

<!-- Issue number (e.g. #1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes #40666
dmitryax pushed a commit that referenced this pull request Jul 30, 2025
…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.
atoulme pushed a commit that referenced this pull request Jul 30, 2025
…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.
atoulme pushed a commit that referenced this pull request Jul 30, 2025
<!--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.-->
atoulme pushed a commit that referenced this pull request Jul 30, 2025
…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>
atoulme pushed a commit that referenced this pull request Jul 30, 2025
<!--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>
atoulme added a commit that referenced this pull request Jul 30, 2025
<!--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>
songy23 pushed a commit that referenced this pull request Jul 31, 2025
<!--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
mx-psi added a commit that referenced this pull request Jul 31, 2025
…41695)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Adds noop gohai implementation

<!-- Issue number (e.g. #1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Updates #40247
MovieStoreGuy pushed a commit that referenced this pull request Aug 1, 2025
<!--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"
/>
mx-psi added a commit that referenced this pull request Aug 1, 2025
<!--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
mx-psi added a commit that referenced this pull request Aug 1, 2025
<!--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
songy23 pushed a commit that referenced this pull request Aug 1, 2025
<!-- Issue number (e.g. #1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes #41506

<!--Describe the documentation added.-->
#### Documentation
Readme update to clarify `timeout` setting description
Also small formatting cleanup
songy23 pushed a commit that referenced this pull request Aug 1, 2025
<!--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>
songy23 pushed a commit that referenced this pull request Aug 1, 2025
…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.-->
songy23 pushed a commit that referenced this pull request Aug 1, 2025
<!--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.-->
dmitryax pushed a commit that referenced this pull request Aug 1, 2025
<!--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>
atoulme pushed a commit that referenced this pull request Aug 2, 2025
<!--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.-->
atoulme pushed a commit that referenced this pull request Aug 2, 2025
<!--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>
atoulme pushed a commit that referenced this pull request Aug 3, 2025
<!--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.-->
MovieStoreGuy pushed a commit that referenced this pull request Aug 4, 2025
…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>
MovieStoreGuy pushed a commit that referenced this pull request Aug 4, 2025
<!--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.-->
atoulme pushed a commit that referenced this pull request Aug 4, 2025
…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.-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants