Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sample PR for otel contrib #27870 #1

Closed
wants to merge 56 commits into from
Closed

Sample PR for otel contrib #27870 #1

wants to merge 56 commits into from

Conversation

strawgate
Copy link
Owner

@strawgate strawgate commented Oct 23, 2023

Sample for adding isList that allows type checking slices, tests, expression tests, and update readme

open-telemetry#27870

@strawgate strawgate changed the title Samples PR for otel contrib #27870 Sample PR for otel contrib #27870 Oct 23, 2023
value interface{}
expected bool
}{
{
Copy link
Owner Author

Choose a reason for hiding this comment

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

need a test for slice

@strawgate strawgate force-pushed the 27870 branch 2 times, most recently from bfaebbf to 5fec080 Compare December 13, 2023 18:11
strawgate pushed a commit that referenced this pull request Dec 13, 2023
open-telemetry#29116)

**Description:** 

As originally proposed in open-telemetry#26991 before I got distracted

Exposes the duration of generated spans as a command line parameter. It
uses a `DurationVar` flag so units can be easily provided and are
automatically applied.

Example usage:

```bash
telemetrygen traces --traces 100 --otlp-insecure --span-duration 10ns # nanoseconds
telemetrygen traces --traces 100 --otlp-insecure --span-duration 10us # microseconds
telemetrygen traces --traces 100 --otlp-insecure --span-duration 10ms # milliseconds
telemetrygen traces --traces 100 --otlp-insecure --span-duration 10s # seconds
```

**Testing:** 

Ran without the argument provided `telemetrygen traces --traces 1
--otlp-insecure` and seen spans publishing with the default value.

Ran again with the argument provided: `telemetrygen traces --traces 1
--otlp-insecure --span-duration 1s`

And observed the expected output:

```
Resource SchemaURL: https://opentelemetry.io/schemas/1.4.0
Resource attributes:
     -> service.name: Str(telemetrygen)
ScopeSpans #0
ScopeSpans SchemaURL: 
InstrumentationScope telemetrygen 
Span #0
    Trace ID       : 8b441587ffa5820688b87a6b511d634c
    Parent ID      : 39faad428638791b
    ID             : 88f0886894bd4ee2
    Name           : okey-dokey
    Kind           : Server
    Start time     : 2023-11-12 02:05:07.97443 +0000 UTC
    End time       : 2023-11-12 02:05:08.97443 +0000 UTC
    Status code    : Unset
    Status message : 
Attributes:
     -> net.peer.ip: Str(1.2.3.4)
     -> peer.service: Str(telemetrygen-client)
Span #1
    Trace ID       : 8b441587ffa5820688b87a6b511d634c
    Parent ID      : 
    ID             : 39faad428638791b
    Name           : lets-go
    Kind           : Client
    Start time     : 2023-11-12 02:05:07.97443 +0000 UTC
    End time       : 2023-11-12 02:05:08.97443 +0000 UTC
    Status code    : Unset
    Status message : 
Attributes:
     -> net.peer.ip: Str(1.2.3.4)
     -> peer.service: Str(telemetrygen-server)
	{"kind": "exporter", "data_type": "traces", "name": "debug"}
```

**Documentation:** No documentation added.

---------

Co-authored-by: Pablo Baeyens <[email protected]>
@strawgate strawgate force-pushed the 27870 branch 2 times, most recently from 6cb98b8 to 5fec080 Compare December 13, 2023 18:20
strawgate and others added 14 commits December 13, 2023 12:25
Add JMX metrics gatherer version `1.34.0-alpha`.

cc @open-telemetry/java-contrib-approvers
…en-telemetry#31916)

**Description:** 
This PR implements a new matcher criterion in the Stanza fileconsumer
matcher:

```
ExcludeOlderThan time.Duration        `mapstructure:"exclude_older_than"`
```

and the corresponding setting in the `filelog` receiver configuration:

| Field | Default | Description |

|-------------------------------------|--------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `exclude_older_than` | | Exclude files whose modification time is
older than the specified age. |


When specified, the matcher will exclude files whose modification times
are older than the specified time.

**Link to tracking Issue:** open-telemetry#31053

**Testing:** Added unit tests.

**Documentation:** Documented `exclude_older_than` configuration setting
in the `filelogreceiver`'s README.

---------

Co-authored-by: Daniel Jaglowski <[email protected]>
…y#31514)

**Description:**
Support local namespace in X-Ray subsegment. The subsegment with local
namespace will be translated into Internal span kind.

**Testing:**
Added unit test case with local namespace.
…pen-telemetry#32029)

**Description:**
Follow up to boilerplate PR
open-telemetry#31518
This adds the functions calls to actually implement the extension using
our downstream libraries.

It also enables the shutdown tests for this extension (lifecycle tests
do not seem possible for us currently)

**Link to tracking Issue:** n/a

**Testing:** downstream unit and integration tests, shutdown tests here

**Documentation:** Here and downstream READMEs
…try#32333)

Updates the individual matrix jobs to keep running even if another has a
failure. This will reduce the number of rerun jobs when there is a
failure and show all the possible matrix failures instead of quitting at
the first.

Example:
https://github.com/open-telemetry/opentelemetry-collector-contrib/actions/runs/8653658675?pr=32333

---------

Co-authored-by: Alex Boten <[email protected]>
**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
Correct some errors and add more details.

No functional change, no changelog needed.

---------

Co-authored-by: Curtis Robert <[email protected]>
Co-authored-by: Alex Boten <[email protected]>
…#32415)

**Description:** 

Wraps the `AssumeRoleProvider` in a `CachedCredentials` provider, in the
case the AWS role is explicitly specified in the configuration. This
prevents a role assumption from happening every API call.

This was causing us to get rate limited by AWS STS since it was not
caching credentials.

The previous configuration basically fulfills the scenario described in
the AWS [Go SDK V2
docs](https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/#specify-credentials-programmatically):
> All credential providers passed to or returned by LoadDefaultConfig
are wrapped in a
[CredentialsCache](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws#CredentialsCache)
automatically. This enables caching and concurrency safe credential
access. If you explicitly configure a provider on aws.Config directly
you must explicitly wrap the provider with this type using
[NewCredentialsCache](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws#NewCredentialsCache).

**Link to tracking Issue:** N/A

**Testing:** N/A
…stograms` functions (open-telemetry#32316)

**Description:**

Adds files from Sumo Logic Distribution for OpenTelemetry which are new
in order to simplify review and make simpler to move the whole
component.

This PR is made to simplify open-telemetry#32315

**Link to tracking Issue:**

open-telemetry#31479

**Testing:**

Unit Tests, also this code is use by our customers and internally. It is
not used by now by the component, but will be when migration will be
finished

**Documentation:** N/A

Signed-off-by: Dominik Rosiek <[email protected]>
srikanthccv and others added 23 commits April 16, 2024 10:10
…pectedly (open-telemetry#32150)

**Description:**

Reset should called only on stopped or expired timers with drained
channels. If the timer already expired (and the channel was not cleared)
it reads from the timer's channel to clear it.



**Link to tracking Issue:** Fixes
open-telemetry#27891

**Testing:** <Describe what testing was performed and which tests were
added.>

**Documentation:** <Describe the documentation added.>

---------

Co-authored-by: Evan Bradley <[email protected]>
… in bootstrapping (open-telemetry#31944)

**Description:**
* Fix early exits not shutting down client/server in bootstrapping

**Link to tracking Issue:** Closes open-telemetry#31943

**Testing:**
I tested manually adding errors into the code. There isn't a good,
consistent way to add e.g. the timeout error as-is.

---------

Co-authored-by: Daniel Jaglowski <[email protected]>
**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
Update test structure to fix flaky behavior, originally seemed to fail
every 1-2k runs from my local testing.

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

resolves open-telemetry#32396

**Testing:** <Describe what testing was performed and which tests were
added.>
Added test method to directly trigger retry for testing, Rerun 10k+
times

**Documentation:** <Describe the documentation added.>

---------

Co-authored-by: Daniel Jaglowski <[email protected]>
**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
Add `goleak` check to the namedpipe receiver to help ensure no
goroutines are being leaked.

**Link to tracking Issue:** <Issue number if applicable>
open-telemetry#30438

**Testing:** <Describe what testing was performed and which tests were
added.>
None yet, I'm running on macOS and this is a Linux-only receiver.
Relying on GitHub CI/CD to show results. I'll convert this to ready to
review if it passes.
…32401)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
As explained
[here](open-telemetry#30438 (comment)),
components need to cancel all their work and background tasks before
returning from `Shutdown`. My original [change for this
component](open-telemetry#32364)
to add `goleak` testing worked around the proper behavior. This PR fully
addresses the `Shutdown` functionality to ensure the component behaves
the way the spec requires.

**Link to tracking Issue:** <Issue number if applicable>
open-telemetry#30438

**Testing:** <Describe what testing was performed and which tests were
added.>
Tests are passing.
…n-telemetry#32176)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
This adds config options for direct connection to a SQL server instance.
For the sake of PR size, this adds no functionality, it's simply config
options and validation.

**Link to tracking Issue:** <Issue number if applicable>
This was originally part of
open-telemetry#31915,
but I'm breaking this out to make the original PR a more manageable
size.


open-telemetry#30297

**Testing:** <Describe what testing was performed and which tests were
added.>
Existing tests and added tests are all passing.

**Documentation:** <Describe the documentation added.>
No documentation on purpose. The added config options currently have no
impact on functionality, so users shouldn't be aware of this, and
shouldn't try to use them yet.
…emetry#32175)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
This is part of
open-telemetry#31915,
to try to make it more manageable in size. This variable will be used by
the SQL Server receiver.
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [Wandalen/wretry.action](https://togithub.com/Wandalen/wretry.action)
| action | minor | `v3.2.0` -> `v3.4.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>Wandalen/wretry.action (Wandalen/wretry.action)</summary>

###
[`v3.4.0`](https://togithub.com/Wandalen/wretry.action/compare/v3.3.0...v3.4.0)

[Compare
Source](https://togithub.com/Wandalen/wretry.action/compare/v3.3.0...v3.4.0)

###
[`v3.3.0`](https://togithub.com/Wandalen/wretry.action/compare/v3.2.0...v3.3.0)

[Compare
Source](https://togithub.com/Wandalen/wretry.action/compare/v3.2.0...v3.3.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/daixiang0/gci](https://togithub.com/daixiang0/gci) |
`v0.13.3` -> `v0.13.4` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fdaixiang0%2fgci/v0.13.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fdaixiang0%2fgci/v0.13.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fdaixiang0%2fgci/v0.13.3/v0.13.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fdaixiang0%2fgci/v0.13.3/v0.13.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>daixiang0/gci (github.com/daixiang0/gci)</summary>

### [`v0.13.4`](https://togithub.com/daixiang0/gci/releases/tag/v0.13.4)

[Compare
Source](https://togithub.com/daixiang0/gci/compare/v0.13.3...v0.13.4)

#### What's Changed

- fix some typos and style in code and documentation by
[@&open-telemetry#8203;ccoVeille](https://togithub.com/ccoVeille) in
[https://github.com/daixiang0/gci/pull/201](https://togithub.com/daixiang0/gci/pull/201)
- Add boringcrypto experiment pkg by
[@&open-telemetry#8203;phamvinhdat](https://togithub.com/phamvinhdat) in
[https://github.com/daixiang0/gci/pull/194](https://togithub.com/daixiang0/gci/pull/194)
- fix: local module path matching by
[@&open-telemetry#8203;ldez](https://togithub.com/ldez) in
[https://github.com/daixiang0/gci/pull/202](https://togithub.com/daixiang0/gci/pull/202)
- bump up to v0.13.4 by
[@&open-telemetry#8203;daixiang0](https://togithub.com/daixiang0) in
[https://github.com/daixiang0/gci/pull/204](https://togithub.com/daixiang0/gci/pull/204)

#### New Contributors

- [@&open-telemetry#8203;phamvinhdat](https://togithub.com/phamvinhdat) made their
first contribution in
[https://github.com/daixiang0/gci/pull/194](https://togithub.com/daixiang0/gci/pull/194)

**Full Changelog**:
daixiang0/gci@v0.13.3...v0.13.4

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <[email protected]>
…ib/testbed to v0.98.0 (open-telemetry#32431)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/open-telemetry/opentelemetry-collector-contrib/testbed](https://togithub.com/open-telemetry/opentelemetry-collector-contrib)
| `v0.0.0-00010101000000-000000000000` -> `v0.98.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2ftestbed/v0.98.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2ftestbed/v0.98.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2ftestbed/v0.0.0-00010101000000-000000000000/v0.98.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2ftestbed/v0.0.0-00010101000000-000000000000/v0.98.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-collector-contrib
(github.com/open-telemetry/opentelemetry-collector-contrib/testbed)</summary>

###
[`v0.98.0`](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v0980)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.97.0...v0.98.0)

##### 🛑 Breaking changes 🛑

- `podmanreceiver`: Adds metrics and resources metadata and sets seconds
precision for cpu metrics
([#&#8203;28640](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/28640))

- `clickhouseexporter`: Add ServiceName as `column` into Clickhouse
metrics tables
([#&#8203;31670](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31670))
It's a breaking change. users who upgrade to the latest version need to
alter the Clickhouse table:
    ```sql
ALTER TABLE otel_metrics_exponential_histogram ADD COLUMN ServiceName
LowCardinality(String) CODEC(ZSTD(1));
ALTER TABLE otel_metrics_gauge ADD COLUMN ServiceName
LowCardinality(String) CODEC(ZSTD(1));
ALTER TABLE otel_metrics_histogram ADD COLUMN ServiceName
LowCardinality(String) CODEC(ZSTD(1));
ALTER TABLE otel_metrics_sum ADD COLUMN ServiceName
LowCardinality(String) CODEC(ZSTD(1));
ALTER TABLE otel_metrics_summary ADD COLUMN ServiceName
LowCardinality(String) CODEC(ZSTD(1));
    ```

- `elasticsearchexporter`: Initial pass in implementing the `ecs`
mapping mode
([#&#8203;31553](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31553))
Breaking change if mapping `mode` is set to `ecs`, use `none` to
maintain existing format

- `pkg/stanza`: Revert recombine operator's 'overwrite_with' default
value.
([#&#8203;30783](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30783))
Restores the previous the default value of `oldest`, meaning that the
recombine operator will emit the
first entry from each batch (with the recombined field). This fixes the
bug introduced by 30783 and restores
the default setting so as to effectively cancel out the bug for users
who were not using this setting.
For users who were explicitly setting `overwrite_with`, this corrects
the intended behavior.

- `processor/attributes, processor/resource`: Remove stable
coreinternal.attraction.hash.sha256 feature gate.
([#&#8203;31997](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31997))

- `receiver/dockerstats`: Remove stable
receiver.dockerstats.useScraperV2 feature gate.
([#&#8203;31999](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31999))

- `awsxrayexporter`: change x-ray exporter's translator to make "."
split annotation pass as-is
([#&#8203;31732](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31732))
In the past, X-Ray doesn’t support “.”. So we have a translator in x-ray
export to translates it to “\_” before sending traces to X-Ray Service.
| To match otel naming style, x-ray service team decide to change their
service to support both "." type and "" type of naming. In this case the
translator that translate "." to "" is no-longer needed. This PR change
the way this translator work | X-Ray PMs agree on rolling out this
change by using feature-gate

##### 🚩 Deprecations 🚩

- `postgresqlreceiver`: Minimal supported PostgreSQL version will be
updated from 9.6 to 12.0 in a future release.
([#&#8203;30923](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30923))
Aligning on the supported versions as can be seen [in the PostgreSQL
releases section](https://www.postgresql.org/support/versioning)

##### 🚀 New components 🚀

- `avrologencodingextension`: Add new encoding extension to support
mapping of AVRO messages to logs.
([#&#8203;21067](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/21067))

##### 💡 Enhancements 💡

- `ottl`: Add new Unix function to convert from epoch timestamp to
time.Time
([#&#8203;27868](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27868))

- `filelogreceiver`: When reading a file on filelogreceiver not on
windows, if include_file_owner_name is true, it will add the file owner
name as the attribute `log.file.owner.name` and if
include_file_owner_group_name is true, it will add the file owner group
name as the attribute `log.file.owner.group.name`.
([#&#8203;30775](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30775))

- `awsproxyextension`: Make awsproxy extension more resilient by
initiating the AWS client during Start.
([#&#8203;27849](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27849))

- `deltatocumulativeprocessor`: self-instrumentation to observe key
metrics of the stream accumulation
([#&#8203;30705](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30705))

- `datadog/connector`: Enable connector to use any attribute from the
resource as Container Tag
([#&#8203;32224](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/32224))
This change allows the connector to use any attribute from the resource
as a container tag. This is useful when you want to use a custom
attribute from the resource as a container tag. For example, you can use
the `namespace` attribute from the resource as a container tag.

- `exceptionsconnector`: change stability of exceptionsconnector from
development to alpha
([#&#8203;31820](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31820))

- `exceptionsconnector`: Copy span attributes to the generated log from
exception.
([#&#8203;24410](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/24410))

- `prometheusreceiver`: Allows receiving prometheus native histograms
([#&#8203;26555](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26555))
- Native histograms are compatible with OTEL exponential histograms.
- The feature can be enabled via the feature gate
`receiver.prometheusreceiver.EnableNativeHistograms`.
Run the collector with the command line option
`--feature-gates=receiver.prometheusreceiver.EnableNativeHistograms`.
- Currently the feature also requires that targets are scraped via the
ProtoBuf format.
        To start scraping native histograms, set
`config.global.scrape_protocols` to `[ PrometheusProto,
OpenMetricsText1.0.0, OpenMetricsText0.0.1, PrometheusText0.0.4 ]` in
the
receiver configuration. This requirement will be lifted once Prometheus
can scrape native histograms over text formats.
- For more up to date information see the README.md file of the receiver
at

https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/prometheusreceiver/README.md#prometheus-native-histograms.

- `all`: Add support for ARM build
([#&#8203;12920](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/12920))

- `failoverconnector`: Support ignoring `max_retries` setting in
failover connector
([#&#8203;9868](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/9868))

- `spanmetricsconnector`: Change default value of metrics_flush_interval
from 15s to 60s
([#&#8203;31776](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31776))

- `pkg/ottl`: Adding a string converter into pkg/ottl
([#&#8203;27867](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27867))

- `cmd/opampsupervisor`: Handle OpAMP connection settings.
([#&#8203;21043](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/21043))

- `loadbalancingexporter`: Support the timeout period of k8s resolver
list watch can be configured.
([#&#8203;31757](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31757))

- `cmd/telemetrygen`: Add Support for specifying Log Severity
([#&#8203;26498](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26498))

##### 🧰 Bug fixes 🧰

- `datadog/connector`: Fix data race in datadog metrics client
([#&#8203;31964](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31964))
    The PR ensures mutex protects gauges map in every code path.
- `exporter/awskinesisexporter`: Fixed issue with compression what was
causing EOF exceptions when attempting to decompress the payload
([#&#8203;32081](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/32081))
- `filelogreceiver`: Fix missing scope name and group logs based on
scope
([#&#8203;23387](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/23387))
- `jaegerremotesamplingextension`: Fix leaking goroutine on shutdown
([#&#8203;31157](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31157))
- `jmxreceiver`: Fix memory leak during component shutdown
([#&#8203;32289](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/32289))
- `k8sobjectsreceiver`: Fix memory leak caused by the pull mode's
interval ticker
([#&#8203;31919](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31919))
- `kafkareceiver`: fix kafka receiver panic on shutdown
([#&#8203;31926](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31926))
- `oracledbreceiver`: Fix incorrect values being set for
oracledb.tablespace_size.limit and oracledb.tablespace_size.usage
([#&#8203;31451](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31451))
- `prometheusreceiver`: Fix a bug where a new prometheus receiver with
the same name cannot be created after the previous receiver is Shutdown
([#&#8203;32123](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/32123))
- `resourcedetectionprocessor`: Only attempt to detect Kubernetes node
resource attributes when they're enabled.
([#&#8203;31941](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31941))
- `syslogreceiver`: Fix issue where static resource and attributes were
ignored
([#&#8203;31849](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31849))

###
[`v0.97.0`](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v0970)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.96.0...v0.97.0)

##### 🛑 Breaking changes 🛑

- `datadogconnector`: Remove feature gate
`connector.datadogconnector.performance`
([#&#8203;31638](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31638))
- `cmd/mdatagen`: Delete deprecated cmd/mdatagen from this project. Use
go.opentelemetry.io/collector/cmd/mdatagen instead.
([#&#8203;30497](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30497))
- `receiver/postgresql`: Bump postgresqlreceiver.preciselagmetrics gate
to beta
([#&#8203;31220](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31220))
- `receiver/vcenter`: Bump receiver.vcenter.emitPerfMetricsWithObjects
feature gate to stable
([#&#8203;31215](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31215))
- `prometheusreceiver`: Remove enable_protobuf_negotiation option on the
prometheus receiver. Use config.global.scrape_protocols = \[
PrometheusProto, OpenMetricsText1.0.0, OpenMetricsText0.0.1,
PrometheusText0.0.4 ] instead.
([#&#8203;30883](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30883))
See
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#configuration-file
for details on setting scrape_protocols.
- `vcenterreceiver`: Fixed the resource attribute model to more
accurately support multi-cluster deployments
([#&#8203;30879](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30879))
For more information on impacts please
re[https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/31113](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/pull/31113)1113.
The main impacts are that
the `vcenter.resource_pool.name`,
`vcenter.resource_pool.inventory_path`, and `vcenter.cluster.name` are
reported with more accuracy on VM metrics.

##### 🚩 Deprecations 🚩

- `instanaexporter`: Mark the Instana Exporter as deprecated.
([#&#8203;31765](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31765))

##### 🚀 New components 🚀

- `awss3receiver`: introduce the AWS S3 receiver
([#&#8203;30750](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30750))
- `sumologicextension`: promote to `alpha` stability
([#&#8203;29601](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29601))
- `googleclientauthextension`: Add boilerplate for Google Client Auth
Extension
([#&#8203;31412](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31412))
- `grafanacloudconnector`: Adds a connector to generate metrics for
Grafana Cloud.
([#&#8203;31647](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31647))
- `rabbitmqexporter`: Add new exporter for sending telemetry to RabbitMQ
brokers using the AMQP 0.9.1 protocol
([#&#8203;28891](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/28891))

##### 💡 Enhancements 💡

- `exporter/loadbalancingexporter`: Adding AWS Cloud Map for service
discovery of Collectors backend.
([#&#8203;27241](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27241))

- `ottl`: Add new function to decode a base64 encoded string and output
the original string
([#&#8203;31543](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31543))

- `ackextension`: adding the in-memory implementation of the
ackextension
([#&#8203;26376](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26376))

- `awss3exporter`: add `compression` option to enable file compression
on S3
([#&#8203;27872](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27872))
Add `compression` option to compress files using `compress/gzip` library
before uploading to S3.

- `servicegraphprocessor`: Added a new configuration option
`database_name_attribute` to allow users to specify a custom attribute
name for identifying the database name in span attributes.
([#&#8203;30726](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30726))

- `awss3exporter`: Add support for encoding extension to awss3exporter
([#&#8203;30554](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30554))

- `processor/k8sattributes`: Add support for `k8s.node.uid` metadata
([#&#8203;31637](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31637))

- `awss3exporter`: Add support for specifying the file extension for
files uploaded to S3 when using an encoding extension.
([#&#8203;31818](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31818))

- `datadogexporter`: Datadog exporter uses the same default HTTP
settings as Datadog Agent HTTP transport
([#&#8203;31733](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31733))

- `datadogexporter`: Datadog exporter respects a subset of settings in
confighttp client configs
([#&#8203;31733](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31733))
Currently the following configs are respected: `read_buffer_size`,
`write_buffer_size`, `timeout`, `max_idle_conns`,
`max_idle_conns_per_host`, `max_conns_per_host`, `idle_conn_timeout`,
`disable_keep_alives` and `tls.insecure_skip_verify`.

- `deltatocumulativeprocessor`: introduce configurable stream limit
([#&#8203;31488](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31488))
Adds `max_streams` option that allows to set upper bound (default =
unlimited)
to the number of tracked streams. Any additional streams exceeding the
limit
    are dropped.

- `deltatocumulativeprocessor`: expire stale series
([#&#8203;30705](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30705),
[#&#8203;31016](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31016))
Adds `max_stale` option that allows to set an interval (default =
`5min`)
after which a series that no longer receives new samples is removed from
    tracking.

- `datadogconnector`: Add a new option to the Datadog connector to
enable container tags on stats Payloads.
([#&#8203;31642](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31642))
This change adds a new option to the Datadog connector to enable
container tags on stats Payloads. This is useful for users who want to
use container tags as second primary tag for Datadog APM.

- `dockerstatsreceiver`: add metrics for online CPU count and memory
fails count
([#&#8203;31366](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31366))

- `fileexporter`: Adopt the encoding extension with the file exporter.
([#&#8203;31774](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31774))

- `pkg/ottl`: Add `ParseXML` function for parsing XML from a target
string.
([#&#8203;31133](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31133))

- `fileexporter`: Added the option to write telemetry data into multiple
files, where the file path is based on a resource attribute.
([#&#8203;24654](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/24654))

- `fileexporter`: File write mode is configurable now (truncate or
append)
([#&#8203;31364](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31364))

- `elasticsearchexporter`: When timestamp is not set, use
observedTimestamp
([#&#8203;11752](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/11752))

- `k8sclusterreceiver`: add optional status_last_terminated_reason
resource attribute
([#&#8203;31282](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31282))

- `awsproxyextension`: Expose service_name as configurable option.
Previously, it was hardcoded as xray.
([#&#8203;29550](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29550))

- `datadogexporter`: Add new telemetry metric,
`otelcol_datadog_otlp_translator_resources_missing_source` that counts
OTLP resources missing a hostname-identifying attribute.
([#&#8203;31805](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31805))
- Enable Collector metrics
https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/troubleshooting.md#metrics
to check for this metric.

- `extension/opamp`: Promote the OpAMP extension to alpha stability
([#&#8203;31616](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31616))

- `prometheusremotewriteexporter`: Publish telemetry about translation
of metrics from Otel to Prometheus. Don't drop all data points if some
fail translation.
([#&#8203;29729](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29729))

- `prometheusreceiver`: Use confighttp for target allocator client
([#&#8203;31449](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31449))

- `spanmetricsconnector`: Add `metrics_expiration` option to enable
expiration of metrics if spans are not received within a certain time
frame.
([#&#8203;30559](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30559))
The feature can be configured by specifiying the desired duration in the
`metrics_expiration` option. By default, the expiration is disabled (set
to 0).

- `splunkentreceiver`: Updated the config.go and propogated these
changes to other receiver components. Change was necessary to
differentiate different configurable endpoints.
([#&#8203;30254](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30254))

- `exporter/datadogexporter`: Do not drop traces when payload channel is
full.
([#&#8203;31893](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31893))

- `connector/datadogconnector`: Do not resolve container tags if payload
already has tags associated with it.
([#&#8203;31893](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31893))

##### 🧰 Bug fixes 🧰

- `bigipreceiver`: Fix potential nil pointer usage in GetPoolMembers
([#&#8203;31899](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31899))

- `carbonreceiver`: Do not report fatal error when closed normally
([#&#8203;31913](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31913))

- `datadogexporter`: Fix data race in metrics exporter shutdown
([#&#8203;31663](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31663))

- `deltatocumulativeprocessor`: timer-based expiry
([#&#8203;31615](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31615))
converts expiry to 1m timer, eliminating a race condition and failing
test

- `telemetrygen`: Do not use WithBlock when forming grpc connections for
metrics/traces in telemetrygen to avoid infinite retry after failure
([#&#8203;31401](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31401))

- `filestatsreceiver`: Fix file.path to return the proper absolute path
of the file
([#&#8203;31738](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31738))

- `internal/docker`: Updated docker dependency and fixed zap.String
incompatibility
([#&#8203;31087](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31087))

- `exporter/loadbalancing`: Fix panic when a sub-exporter is shut down
while still handling requests.
([#&#8203;31410](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31410))

- `cmd/telemetrygen`: Fixed key mapping for logs telemetry attributes.
([#&#8203;31309](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31309))

- `exporter/awskinesisexporter`: Fix the capacity of records slices in
the initialized batch
([#&#8203;20914](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/20914))

- `hostmetricsreceiver`: Adds the
receiver.hostmetrics.normalizeProcessCPUUtilization feature gate to
optionally normalize process.cpu.utilization values.
([#&#8203;31368](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31368))
When enabled, the receiver.hostmetrics.normalizeProcessCPUUtilization
feature gate will cause process.cpu.utilization values to be divided by
the number of logical cores on the system. This is necessary to produce
a value on the interval of \[0-1], as the description of
process.cpu.utilization the metric says.

- `transformprocessor`: Change metric unit for metrics extracted with
`extract_count_metric()` to be the default unit (`1`)
([#&#8203;31575](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31575))
The original metric `unit` does not apply to extracted `count` metrics
the same way it does to `sum`, `min` or `max`.
Metrics extracted using `extract_count_metric()` now use the more
appropriate default unit (`1`) instead.

- `dockerstatsreceiver`: Add shutdown method to fix leaking goroutines
([#&#8203;30438](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30438))

- `loadbalancingexporter`: Fix memory leaks on shutdown
([#&#8203;31050](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31050))

- `signalfxexporter`: Fix memory leak in shutdown
([#&#8203;30864](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30864),
[#&#8203;30438](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30438))

- `servicegraphprocessor`: Fix 'failed to find dimensions for key' error
from race condition in metrics cleanup.
([#&#8203;31701](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31701))

- `processor/k8sattributes`: Allows k8sattributes processor to work with
k8s role/rolebindings when filter::namespace is set.
([#&#8203;14742](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/14742))

- `exporter/datadog`: Demote noisy gohai logs to debug level
([#&#8203;29741](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29741))
These logs would be present at the info level when using the official
Docker images but were not useful to end-users.

- `opencensusreceiver`: Refactor the opencensusreceiver to pass
lifecycle tests and avoid leaking gRPC connections.
([#&#8203;31643](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31643))

- `sqlqueryreceiver`: Fix memory leak on shutdown for log telemetry
([#&#8203;31782](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31782))

###
[`v0.96.0`](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v0960)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.95.0...v0.96.0)

##### 🛑 Breaking changes 🛑

- `f5cloudexporter`: Remove deprecated module
([#&#8203;31531](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31531))
- `datadogconnector`: Move feature gate
`connector.datadogconnector.performance` to stable stage.
([#&#8203;31414](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31414))
`connector.datadogconnector.performance` will be removed in the next
release
- `spanmetricsprocessor`: Remove spanmetrics processor
([#&#8203;29567](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29567))
    -   You can use the spanmetrics connector as a replacement
- `httpforwarder`: Remove extension named httpforwarder, use
httpforwarderextension instead.
([#&#8203;24171](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/24171))
- `k8sclusterreceiver`: Remove deprecated k8s.kubeproxy.version resource
attribute
([#&#8203;29748](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29748))

##### 🚀 New components 🚀

- `ackextension`: Adding an interface for Acknowledgement extension
([#&#8203;26376](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26376))
- `sumologicextension`: add implementation of Sumo Logic Extension
([#&#8203;29601](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29601))

##### 💡 Enhancements 💡

- `datadogexporter`: Attach the collector version to stats payloads to
improve the debugging experience.
([#&#8203;31454](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31454))

- `awsxrayexporter`: support both deprecated and stable http attributes
translation for backward compatibility.
([#&#8203;30935](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30935))

- `azuremonitorexporter`: Added support for configuring the Azure
Monitor Exporter connection string via the
`APPLICATIONINSIGHTS_CONNECTION_STRING` environment variable.
([#&#8203;31523](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31523))

- `datadogconnector`: datadogconnector no longer mutates the input
traces in trace-to-trace pipelines.
([#&#8203;31414](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31414))

- `statsdreceiver`: Add support for the latest version of DogStatsD
protocol (v1.3)
([#&#8203;31295](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31295))

- `fileexporter`: Scope the behavior of the fileexporter to its
lifecycle, so it is safe to shut it down or restart it.
([#&#8203;27489](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27489))

- `processor/resourcedetection`: Add
`processor.resourcedetection.hostCPUSteppingAsString` feature gate to
change the type of `host.cpu.stepping` from `int` to `string`.
([#&#8203;31136](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31136))
    This feature gate will graduate to beta in the next release.

- `routingconnector`: a warning is logged if there are two or more
routing items with the same routing statement
([#&#8203;30663](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30663))

- `pkg/ottl`: Add new IsInt function to facilitate type checking.
([#&#8203;27894](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27894))

- `cmd/mdatagen`: Make lifecycle tests generated by default
([#&#8203;31532](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31532))

- `opampextension`: enables creating and using an http client
([#&#8203;31389](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31389))

- `pkg/stanza`: Improve timestamp parsing documentation
([#&#8203;31490](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31490))

- `postgresqlreceiver`: Add `receiver.postgresql.connectionPool` feature
gate to reuse database connections
([#&#8203;30831](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30831))
The default implementation recreates and closes connections on each
scrape per database configured/discovered.
This change offers a feature gated alternative to keep connections open.
Also, it exposes connection configuration to control the behavior of the
pool.

- `datadogconnector`: Add `source:datadogconnector` tag to trace agent
telemetry metrics generated by the datadogconnector.
([#&#8203;31528](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31528))

- `datadogexporter`: Add `source:datadogexporter` tag to trace agent
telemetry metrics generated by the datadogexporter.
([#&#8203;31528](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31528))

- `datadogexporter`: Automatically map `cloud.region`,
`cloud.availability_zone` and `cloud.provider` to the `region`, `zone`
and `cloud_provider` host tags.
([#&#8203;31372](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31372))

##### 🧰 Bug fixes 🧰

- `carbonreceiver`: Accept carbon metrics with float timestamps
([#&#8203;31312](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31312))
- `chronyreceiver`: move initialization of the chrony client to the
start function
([#&#8203;27849](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27849))
- `deltatocumulativeprocessor`: permits advancing delta start
timestamps, as required by spec.
([#&#8203;31365](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31365))
- `deltatocumulativeprocessor`: due to an oversight, only the first
sample of each stream was processed. now all samples are.
([#&#8203;31350](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31350))
- `cmd/telemetrygen`: Inherit root CAs from the host environment if not
supplied on the command line.
([#&#8203;31191](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31191))
- `syslogexporter`: fix setting network connection, do not load TLS
configuration for UDP
([#&#8203;31130](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31130))
- `journaldreceiver`: Fix bug where failed startup could bury error
message due to panic during shutdown
([#&#8203;31476](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31476))
- `loadbalancingexporter`: Fixes a bug where the endpoint become
required, despite not being used by the load balancing exporter.
([#&#8203;31371](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31371))
- `oracledbreceiver`: Use metadata.Type for the scraper id to avoid
invalid scraper IDs.
([#&#8203;31457](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31457))
- `filelogreceiver`: Fix bug where delete_after_read would cause panic
([#&#8203;31383](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31383))
- `receiver/filelog`: Fix issue where file fingerprint could be
corrupted while reading.
([#&#8203;22936](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/22936))
- `cmd/telemetrygen`: Fix incorrect error logged in traces batch span
processor shutdown
([#&#8203;31362](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31362))

###
[`v0.95.0`](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v0950)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.94.0...v0.95.0)

##### 🛑 Breaking changes 🛑

- `all`: Bump minimum version to go 1.21
([#&#8203;31105](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31105))
- `receiver/elasticsearch`: Remove
receiver.elasticsearch.emitNodeVersionAttr feature gate
([#&#8203;31221](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31221))
- `receiver/mongodb`: Bump receiver.mongodb.removeDatabaseAttr feature
gate to beta
([#&#8203;31212](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31212))
- `splunkenterprisereceiver`: adds additional metrics specific to
indexers
([#&#8203;30704](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30704))
- `exporter/datadogexporter`: Disable APM stats computation in Datadog
Exporter by default, `exporter.datadogexporter.DisableAPMStats` is
changed to beta
([#&#8203;31219](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31219))
- `extension/storage`: The `filestorage` and `dbstorage` extensions are
now standalone modules.
([#&#8203;31040](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31040))
If using the OpenTelemetry Collector Builder, you will need to update
your import paths to use the new module(s).
-
`github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage`
-
`github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/dbstorage`

##### 🚩 Deprecations 🚩

- `f5cloudexporter`: deprecating component that is no longer maintained
([#&#8203;31186](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31186))

##### 🚀 New components 🚀

- `confmap/secretsmanagerprovider`: Initial implementation of secrets
manager provider. Allows fetch variables from AWS Secrets Manager
([#&#8203;19368](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/19368))
- `deltatocumulative`: adds processor to convert sums (initially) from
delta to cumulative temporality
([#&#8203;30705](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30705))

##### 💡 Enhancements 💡

- `hostmetricsreceiver`: Add a new optional resource attribute
`process.cgroup` to the `process` scraper of the `hostmetrics` receiver.
([#&#8203;29282](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29282))
- `datadogexporter`: Adds support for stable JVM metrics introduced in
opentelemetry-java-instrumentation v2.0.0
([#&#8203;31194](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31194))

[https://github.com/DataDog/opentelemetry-mapping-go/pull/265](https://togithub.com/DataDog/opentelemetry-mapping-go/pull/265)/265
for details.
- `datasetexporter`: Release resources if they haven't been used for
some time.
([#&#8203;31292](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31292))
- `datadogconnector`: Add a trace config `peer_tags` on supplementary
peer tags on APM stats.
([#&#8203;31158](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31158))
- `datadogexporter`: Add a trace config `peer_tags` on supplementary
peer tags on APM stats.
([#&#8203;31158](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31158))
- `awss3exporter`: Add a marshaler that stores the body of log records
in s3.
([#&#8203;30318](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30318))
- `pkg/ottl`: Adds a new ParseCSV converter that can be used to parse
CSV strings.
([#&#8203;30921](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30921))
- `loadbalancingexporter`: Add benchmarks for Metrics and Traces
([#&#8203;30915](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30915))
- `pkg/ottl`: Add support to specify the format for a replacement string
([#&#8203;27820](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27820))
- `pkg/ottl`: Add `ParseKeyValue` function for parsing key value pairs
from a target string
([#&#8203;30998](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30998))
- `receivercreator`: Remove use of `ReportFatalError`
([#&#8203;30596](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30596))
- `processor/tail_sampling`: Add metrics that measure the number of
sampled spans and the number of spans that are dropped due to sampling
decisions.
([#&#8203;30482](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30482))
- `exporter/signalfx`: Send histograms in otlp format with new config
`send_otlp_histograms` option
([#&#8203;26298](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26298))
- `receiver/signalfx`: Accept otlp protobuf requests when content-type
is "application/x-protobuf;format=otlp"
([#&#8203;26298](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26298))
- `signalfxreceiver`: Remove deprecated use of `host.ReportFatalError`
([#&#8203;30598](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30598))
- `syslogexporter`: Adding support for sending rfc6587 octet counts in
syslog messages
([#&#8203;31013](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31013))
- `connector/datadogconnector`: Internal telemetry metrics for the
Datadog traces exporter are now reported through the Collector's
self-telemetry
([#&#8203;31179](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31179))
- These internal metrics may be dropped or change name without prior
notice
- `exporter/datadogexporter`: Internal telemetry metrics for the Datadog
traces exporter are now reported through the Collector's self-telemetry
([#&#8203;31179](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31179))
- These internal metrics may be dropped or change name without prior
notice

##### 🧰 Bug fixes 🧰

- `pkg/stanza`: Add 'allow_skip_pri_header' flag to syslog setting.
([#&#8203;30397](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30397))
Allow parsing syslog records without PRI header. Currently pri header is
beng enforced although it's not mandatory by the RFC standard. Since
influxdata/go-syslog is not maintained we had to switch to
haimrubinstein/go-syslog.

- `datadogexporter`: Fix bug where multiple resources would cause
datadogexporter to send extraneous additional stats buckets.
([#&#8203;31173](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31173))

- `extension/storage`: Ensure fsync is turned on after compaction
([#&#8203;20266](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/20266))

- `logstransformprocessor`: Fix potential panic on shutdown due to
incorrect shutdown order
([#&#8203;31139](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31139))

- `logicmonitorexporter`: Fix memory leak on shutdown
([#&#8203;31150](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31150))

- `opencensusreceiver`: Fix memory leak on shutdown
([#&#8203;31152](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31152))

- `receiver/prometheusreceiver`: prometheusreceiver fix translation of
metrics with \_created suffix
([#&#8203;30309](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30309))

- `pkg/stanza`: Fixed a bug in the keyvalue_parser where quoted values
could be split if they contained a delimited.
([#&#8203;31034](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31034))

###
[`v0.94.0`](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v0940)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.93.0...v0.94.0)

##### 🛑 Breaking changes 🛑

- `servicegraphprocessor`: removed deprecated component, use the
servicegraph connector instead.
([#&#8203;26091](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26091))

- `datadogconnector`: Enable feature gate
`connector.datadogconnector.performance` by default.
([#&#8203;30829](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30829))
See
https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/connector/datadogconnector#feature-gate-for-performance
for caveats of this feature gate.

- `datadogprocessor`: Delete datadogprocessor which has been deprecated
since v0.84.0
([#&#8203;31026](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31026))
    Use datadogconnector instead.

- `kafkareceiver`: standardizes the default topic name for metrics and
logs receivers to the same topic name as the metrics and logs exporters
of the kafkaexporter
([#&#8203;27292](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27292))
If you are using the Kafka receiver in a logs and/or a metrics pipeline
and you are not customizing the name of the topic to read from with the
`topic` property,
the receiver will now read from `otlp_logs` or `otlp_metrics` topic
instead of `otlp_spans` topic.
To maintain previous behavior, set the `topic` property to `otlp_spans`.

- `pkg/stanza`: Entries are no longer logged during error conditions.
([#&#8203;26670](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26670))
This change is being made to ensure sensitive information contained in
logs are never logged inadvertently.
This change is a breaking change because it may change user
expectations. However, it should require
no action on the part of the user unless they are relying on logs from a
few specific error cases.

- `pkg/stanza`: Invert recombine operator's 'overwrite_with' default
value.
([#&#8203;30783](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30783))
Previously, the default value was `oldest`, meaning that the recombine
operator *should* emit the
first entry from each batch (with the recombined field). However, the
actual behavior was inverted.
This fixes the bug but also inverts the default setting so as to
effectively cancel out the bug fix
for users who were not using this setting. For users who were explicitly
setting `overwrite_with`,
    this corrects the intended behavior.

##### 🚩 Deprecations 🚩

- `skywalkingexporter`: Mark the component as unmaintained. If we don't
find new maintainers, it will be deprecated and removed.
([#&#8203;23796](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/23796))

##### 🚀 New components 🚀

- `sumologicextension`: add configuration and readme
([#&#8203;29601](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29601))
- `failoverconnector`: Refactor of connector to seperate concerns
between managing indexes and core failover component
([#&#8203;20766](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/20766))
- `otelarrow`: Skeleton of new OpenTelemetry Protocol with Apache Arrow
Receiver
([#&#8203;26491](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26491))
- `processor/interval`: Adds the initial structure for a new processor
that aggregates metrics and periodically forwards the latest values to
the next component in the pipeline.
([#&#8203;29461](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29461))
As per the CONTRIBUTING.md recommendations, this PR only creates the
basic structure of the processor. The concrete implementation will come
as a separate followup PR

##### 💡 Enhancements 💡

- `receiver/journald`: add a new config option "all" that turns on full
output from journalctl, including lines that are too long.
([#&#8203;30920](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30920))

- `pkg/stanza`: Add support in a header configuration for json array
parser.
([#&#8203;30321](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30321))

- `awss3exporter`: Add the ability to export trace/log/metrics in OTLP
ProtoBuf format.
([#&#8203;30682](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30682))

- `dockerobserver`: Upgrading Docker API version default from 1.22 to
1.24
([#&#8203;30900](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30900))

- `filterprocessor`: move metrics from OpenCensus to OpenTelemetry
([#&#8203;30736](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30736))

- `groupbyattrsprocessor`: move metrics from OpenCensus to OpenTelemetry
([#&#8203;30763](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30763))

- `datadogconnector`: Add trace configs that mirror datadog exporter
([#&#8203;30787](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30787))
ignore_resources: disable certain traces based on their resource name
span_name_remappings: map of datadog span names and preferred name to
map to
span_name_as_resource_name: use OTLP span name as datadog operation name
compute_stats_by_span_kind: enables an additional stats computation
check based on span kind
    peer_tags_aggregation: enables aggregation of peer related tags
    trace_buffer: specifies the buffer size for datadog trace payloads

- `elasticsearchexporter`: Add `mapping.mode: raw` configuration option
([#&#8203;26647](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26647))
Setting `mapping.mode: raw` in the Elasticsearch exporter's
configuration
will result logs and traces being indexed into Elasticsearch with their
attribute fields directly at the root level of the document instead
inside an
`Attributes` object. Similarly, this setting will also result in traces
being
indexed into Elasticsearch with their event fields directly at the root
level
    of the document instead of inside an `Events` object.

- `loadbalancingexporter`: Optimize metrics and traces export
([#&#8203;30141](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30141))

- `gitproviderreceiver`: Add pull request metrics
([#&#8203;22028](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/22028))
    -   git.repository.pull_request.open.count
    -   git.repository.pull_request.open.time
    -   git.repository.pull_request.merged.count
    -   git.repository.pull_request.merged.time
    -   git.repository.pull_request.approved.time

- `all`: Add `component.UseLocalHostAsDefaultHost` feature gate that
changes default endpoints from 0.0.0.0 to localhost
([#&#8203;30702](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30702))
    This change affects the following components:
    -   extension/awsproxy
    -   extension/health_check
    -   extension/jaegerremotesampling
    -   internal/aws/proxy
    -   processor/remotetap
    -   receiver/awsfirehose
    -   receiver/awsxray
    -   receiver/influxdb
    -   receiver/jaeger
    -   receiver/loki
    -   receiver/opencensus
    -   receiver/sapm
    -   receiver/signalfx
    -   receiver/skywalking
    -   receiver/splunk_hec
    -   receiver/zipkin
    -   receiver/zookeeper

- `googlepubsubreceiver`: Add support for GoogleCloud logging encoding
([#&#8203;29299](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29299))

- `processor/resourcedetectionprocessor`: Detect Azure cluster name from
IMDS metadata
([#&#8203;26794](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26794))

- `processor/transform`: Add `copy_metric` function to allow duplicating
a metric
([#&#8203;30846](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30846))

##### 🧰 Bug fixes 🧰

- `basicauthextension`: Accept empty usernames.
([#&#8203;30470](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30470))
Per https://datatracker.ietf.org/doc/html/rfc2617#section-2, username
and password may be empty strings ("").
    The validation used to enforce that usernames cannot be empty.

- `servicegraphconnector`: update prefix to match the component type
([#&#8203;31023](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31023))

- `datadog/connector`: Create a separate connector in the Datadog
connector for the trace-to-metrics and trace-to-trace pipelines. It
should reduce the number of conversions we do and help with Datadog
connector performance.
([#&#8203;30828](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30828))
Simplify datadog/connector with two separate connectors in
trace-to-metrics pipeline and trace-to-trace pipeline.

- `datadogreceiver`: Set AppVersion to allow Datadog version property to
transform properly to service.version resource attribute
([#&#8203;30225](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30225))

- `cmd/opampsupervisor`: Fix memory leak on shutdown
([#&#8203;30438](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30438))

- `exporter/datadog`: Fixes a bug where empty histograms were not being
sent to the backend in the distributions mode.
([#&#8203;31019](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31019))

- `pkg/ottl`: Fix parsing of string escapes in OTTL
([#&#8203;23238](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/23238))

- `pkg/stanza`: Recombine operator should always recombine partial logs
([#&#8203;30797](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30797))
Previously, certain circumstances could result in partial logs being
emitted without any
recombiniation. This could occur when using `is_first_entry`, if the
first partial log from
a source was emitted before a matching "start of log" indicator was
found. This could also
    occur when the collector was shutting down.

- `pkg/stanza`: Fix bug where recombine operator's 'overwrite_with'
condition was inverted.
([#&#8203;30783](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30783))

- `exporter/signalfx`: Use "unknown" value for the environment
correlation calls as fallback.
([#&#8203;31052](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31052))
This fixed the APM/IM correlation in the Splunk Observability UI for the
users that send traces with no "deployment.environment" resource
attribute value set.

- `namedpipereceiver`: Fix SIGSEGV when named pipe creation fails
([#&#8203;31088](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31088))

###
[`v0.93.0`](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v0930)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.92.0...v0.93.0)

##### 🛑 Breaking changes 🛑

- `azuremonitorexporter`: Fixed an issue where span attributes with
double and int values were incorrectly added to the `measurements` field
in the Application Insights schema. These attributes are now correctly
placed in the `properties` field.
([#&#8203;29683](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29683))

- `vcenterreceiver`: Bump "receiver.vcenter.emitPerfMetricsWithObjects"
feature gate
([#&#8203;30615](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30615))

- `docker`: Adopt api_version as strings to correct invalid float
truncation
([#&#8203;24025](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/24025))

- `extension/filestorage`: Replace path-unsafe characters in component
names
([#&#8203;3148](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/3148))
The feature gate `extension.filestorage.replaceUnsafeCharacters` is now
enabled by default.
    See the File Storage extension's README for details.

- `postgresqlreceiver`: add schema attribute to postgresqlreceiver
([#&#8203;29559](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29559))
Adds a new resource attribute to the PSQL receiver to store the schema
of the table or index
Existing table attributes are adjusted to not include the schema, which
was inconsistently used

##### 🚩 Deprecations 🚩

- `mdatagen`: Deprecate mdatagen in preparation for its move to
opentelemetry-collector
([#&#8203;30497](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30497))

##### 🚀 New components 🚀

- `solarwindsapmsettingsextension`: added configuration and readme
([#&#8203;27668](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27668))
- `alertmanagerexporter`: Add Alertmanager exporter to builder config
([#&#8203;23569](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/23569))
- `otelarrow`: Skeleton of new OpenTelemetry Protocol with Apache Arrow
Exporter.
([#&#8203;26491](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26491))
- `osqueryreceiver`: Adds osquery receiver skeleton
([#&#8203;30375](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30375))

##### 💡 Enhancements 💡

- `pkg/stanza`: Add a json array parser operator and an assign keys
transformer.
([#&#8203;30321](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30321))
Json array parser opreator can be used to parse a json array string
input into a list of objects. |
Assign keys transformer can be used to assigns keys from the
configuration to an input list

- `splunkhecexporter`: Batch data according to access token and index,
if present.
([#&#8203;30404](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30404))

- `awscloudwatchlogsexporter`: Add instrumentation scope in log records
exported to CloudWatch logs
([#&#8203;30316](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30316),
[#&#8203;29884](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29884))

- `cassandraexporter`: added authorization by username and password
([#&#8203;27827](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27827))

- `lokiexporter`: migrate metrics to use OpenTelemetry
([#&#8203;30170](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30170))

- `cmd/telemetrygen`: This updates telemetrygen to create multiple child
spans per trace and enhances the tool's functionality for load testing
the remote tracing backend.
([#&#8203;30687](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30687))

- `cmd/telemetrygen`: This updates telemetrygen with TLS/mTLS options to
test the security of telemetry ingestion services and infrastructure for
secure communication. To illustrate the usage, a new example,
secure-tracing is added to examples collection.
([#&#8203;29681](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29681))

- `k8sattributesprocessor`: Apply lifecycle tests to k8sprocessor,
change its behavior to report fatal error
([#&#8203;30387](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30387))

- `k8sclusterreceiver`: add new disabled os.description,
k8s.container_runtime.version resource attributes
([#&#8203;30342](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30342))

-   `k8sclu

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…lemetry#32425)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[cloud.google.com/go/compute/metadata](https://togithub.com/googleapis/google-cloud-go)
| `v0.2.3` -> `v0.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fcompute%2fmetadata/v0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/cloud.google.com%2fgo%2fcompute%2fmetadata/v0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/cloud.google.com%2fgo%2fcompute%2fmetadata/v0.2.3/v0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fcompute%2fmetadata/v0.2.3/v0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>googleapis/google-cloud-go
(cloud.google.com/go/compute/metadata)</summary>

###
[`v0.3.0`](https://togithub.com/googleapis/google-cloud-go/blob/HEAD/CHANGES.md#v030)

-   storage:
    -   AdminClient replaced by methods on Client.
        Replace
        ```go
        adminClient.CreateBucket(ctx, bucketName, attrs)
        ```
        with
        ```go
        client.Bucket(bucketName).Create(ctx, projectID, attrs)
        ```

    -   BucketHandle.List replaced by BucketHandle.Objects.
        Replace

        ```go
        for query != nil {
            objs, err := bucket.List(d.ctx, query)
            if err != nil { ... }
            query = objs.Next
            for _, obj := range objs.Results {
                fmt.Println(obj)
            }
        }
        ```

        with

        ```go
        iter := bucket.Objects(d.ctx, query)
        for {
            obj, err := iter.Next()
            if err == iterator.Done {
                break
            }
            if err != nil { ... }
            fmt.Println(obj)
        }
        ```

        (The `iterator` package is at `google.golang.org/api/iterator`.)

        Replace `Query.Cursor` with `ObjectIterator.PageInfo().Token`.

Replace `Query.MaxResults` with `ObjectIterator.PageInfo().MaxSize`.

    -   ObjectHandle.CopyTo replaced by ObjectHandle.CopierFrom.
        Replace

        ```go
        attrs, err := src.CopyTo(ctx, dst, nil)
        ```

        with

        ```go
        attrs, err := dst.CopierFrom(src).Run(ctx)
        ```

        Replace

        ```go
attrs, err := src.CopyTo(ctx, dst, &storage.ObjectAttrs{ContextType:
"text/html"})
        ```

        with

        ```go
        c := dst.CopierFrom(src)
        c.ContextType = "text/html"
        attrs, err := c.Run(ctx)
        ```

    -   ObjectHandle.ComposeFrom replaced by ObjectHandle.ComposerFrom.
        Replace
        ```go
attrs, err := dst.ComposeFrom(ctx, []*storage.ObjectHandle{src1, src2},
nil)
        ```
        with
        ```go
        attrs, err := dst.ComposerFrom(src1, src2).Run(ctx)
        ```

- ObjectHandle.Update's ObjectAttrs argument replaced by
ObjectAttrsToUpdate.
        Replace
        ```go
attrs, err := obj.Update(ctx, &storage.ObjectAttrs{ContextType:
"text/html"})
        ```
        with
        ```go
attrs, err := obj.Update(ctx, storage.ObjectAttrsToUpdate{ContextType:
"text/html"})
        ```

    -   ObjectHandle.WithConditions replaced by ObjectHandle.If.
        Replace

        ```go
obj.WithConditions(storage.Generation(gen),
storage.IfMetaGenerationMatch(mgen))
        ```

        with

        ```go
obj.Generation(gen).If(storage.Conditions{MetagenerationMatch: mgen})
        ```

        Replace

        ```go
        obj.WithConditions(storage.IfGenerationMatch(0))
        ```

        with

        ```go
        obj.If(storage.Conditions{DoesNotExist: true})
        ```

- `storage.Done` replaced by `iterator.Done` (from package
`google.golang.org/api/iterator`).

-   Package preview/logging deleted. Use logging instead.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <[email protected]>
Enable `goleak` checks in the `internal/udppoller` package of the AWS
X-Ray receiver to help ensure no goroutines are being leaked. This is a
test only change, simply adding a few missing `Close` calls.

**Link to tracking Issue:** open-telemetry#30438

All existing tests as well as added `goleak` checks are passing.
… the `file_storage` extension (open-telemetry#32180)

**Description:** 

This PR adds documentation explaining how to read the contents of files
created by the `file_storage` extension.

**Link to tracking Issue:**
* Related to open-telemetry#30970
* Follow up to
open-telemetry#31886 (comment)

---------

Co-authored-by: Tiffany Hrabusa <[email protected]>
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[otel/opentelemetry-collector](https://togithub.com/open-telemetry/opentelemetry-collector-releases)
| minor | `0.97.0` -> `0.98.0` |
|
[otel/opentelemetry-collector-contrib](https://togithub.com/open-telemetry/opentelemetry-collector-releases)
| minor | `0.97.0` -> `0.98.0` |
| prom/prometheus | patch | `v2.51.1` -> `v2.51.2` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-collector-releases
(otel/opentelemetry-collector)</summary>

###
[`v0.98.0`](https://togithub.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.98.0)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-releases/compare/v0.97.0...v0.98.0)

Check the [v0.98.0 contrib
changelog](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.98.0)
and the [v0.98.0 core
changelog](https://togithub.com/open-telemetry/opentelemetry-collector/releases/tag/v0.98.0)
for changelogs on specific components.

#### Changelog

-
[`9e20bf5`](https://togithub.com/open-telemetry/opentelemetry-collector-releases/commit/9e20bf5)
Release v0.98.0
([#&open-telemetry#8203;523](https://togithub.com/open-telemetry/opentelemetry-collector-releases/issues/523))
-
[`cc6bd2d`](https://togithub.com/open-telemetry/opentelemetry-collector-releases/commit/cc6bd2d)
Add a Kubernetes Distribution
([#&open-telemetry#8203;507](https://togithub.com/open-telemetry/opentelemetry-collector-releases/issues/507))
-
[`82f01d1`](https://togithub.com/open-telemetry/opentelemetry-collector-releases/commit/82f01d1)
Bump github.com/goreleaser/goreleaser from 1.24.0 to 1.25.1
([#&open-telemetry#8203;520](https://togithub.com/open-telemetry/opentelemetry-collector-releases/issues/520))
-
[`f56c036`](https://togithub.com/open-telemetry/opentelemetry-collector-releases/commit/f56c036)
Add nop components to core and contrib
([#&open-telemetry#8203;519](https://togithub.com/open-telemetry/opentelemetry-collector-releases/issues/519))
-
[`8444beb`](https://togithub.com/open-telemetry/opentelemetry-collector-releases/commit/8444beb)
\[chore] Fix Makefile
([#&open-telemetry#8203;517](https://togithub.com/open-telemetry/opentelemetry-collector-releases/issues/517))
-
[`11d21b5`](https://togithub.com/open-telemetry/opentelemetry-collector-releases/commit/11d21b5)
add grafanacloud connector to contrib release
([#&open-telemetry#8203;516](https://togithub.com/open-telemetry/opentelemetry-collector-releases/issues/516))
-
[`17d222d`](https://togithub.com/open-telemetry/opentelemetry-collector-releases/commit/17d222d)
Add exceptionsconnector
([#&open-telemetry#8203;515](https://togithub.com/open-telemetry/opentelemetry-collector-releases/issues/515))
-
[`2688cb3`](https://togithub.com/open-telemetry/opentelemetry-collector-releases/commit/2688cb3)
Bump anchore/sbom-action from 0.15.9 to 0.15.10
([#&open-telemetry#8203;514](https://togithub.com/open-telemetry/opentelemetry-collector-releases/issues/514))
-
[`bfc3c29`](https://togithub.com/open-telemetry/opentelemetry-collector-releases/commit/bfc3c29)
\[chore] bump alpine version to 3.19
([#&open-telemetry#8203;513](https://togithub.com/open-telemetry/opentelemetry-collector-releases/issues/513))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…32437)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[go.mongodb.org/mongo-driver](https://togithub.com/mongodb/mongo-go-driver)
| `v1.14.0` -> `v1.15.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.mongodb.org%2fmongo-driver/v1.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.mongodb.org%2fmongo-driver/v1.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.mongodb.org%2fmongo-driver/v1.14.0/v1.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.mongodb.org%2fmongo-driver/v1.14.0/v1.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>mongodb/mongo-go-driver (go.mongodb.org/mongo-driver)</summary>

###
[`v1.15.0`](https://togithub.com/mongodb/mongo-go-driver/compare/v1.14.0...v1.15.0)

[Compare
Source](https://togithub.com/mongodb/mongo-go-driver/compare/v1.14.0...v1.15.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <[email protected]>
**Description:**
 Exclude running tests on Go 1.21 with ARM CI.

**Link to tracking Issue:**
open-telemetry#32447
this it to unblock the go mod update for otel-go

---------

Signed-off-by: Alex Boten <[email protected]>
…esource Pool attributes (open-telemetry#32448)

**Description:** <Describe what has changed.>
Minor change. VMs (not templates) typically have Resource Pool
attributes associated with them, and the mockserver responses were not
reflecting this for the unit tests. Updated the tests to reflect this.

**Link to tracking Issue:** <Issue number if applicable>
N/A

**Testing:** <Describe what testing was performed and which tests were
added.>
Unit tests updated and still working

**Documentation:** <Describe the documentation added.>
N/A

---------

Co-authored-by: Daniel Jaglowski <[email protected]>
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[go.opentelemetry.io/otel](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.24.0` -> `v1.25.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.24.0` -> `v1.25.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetricgrpc/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetricgrpc/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetricgrpc/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetricgrpc/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.24.0` -> `v1.25.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetrichttp/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/exporters/otlp/otlptrace](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.24.0` -> `v1.25.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.24.0` -> `v1.25.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracegrpc/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracegrpc/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracegrpc/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracegrpc/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.24.0` -> `v1.25.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/exporters/prometheus](https://togithub.com/open-telemetry/opentelemetry-go)
| `v0.46.0` -> `v0.47.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fprometheus/v0.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fprometheus/v0.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fprometheus/v0.46.0/v0.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fprometheus/v0.46.0/v0.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/metric](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.24.0` -> `v1.25.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fmetric/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fmetric/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fmetric/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fmetric/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/schema](https://togithub.com/open-telemetry/opentelemetry-go)
| `v0.0.7` -> `v0.0.8` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fschema/v0.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fschema/v0.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fschema/v0.0.7/v0.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fschema/v0.0.7/v0.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/sdk](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.24.0` -> `v1.25.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fsdk/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fsdk/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fsdk/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fsdk/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/sdk/metric](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.24.0` -> `v1.25.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/trace](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.24.0` -> `v1.25.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2ftrace/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2ftrace/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2ftrace/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2ftrace/v1.24.0/v1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-go
(go.opentelemetry.io/otel)</summary>

###
[`v1.25.0`](https://togithub.com/open-telemetry/opentelemetry-go/releases/tag/v1.25.0):
/v0.47.0/v0.0.8/v0.1.0-alpha

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-go/compare/v1.24.0...v1.25.0)

##### Added

- Add `WithProxy` option in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
([#&open-telemetry#8203;4906](https://togithub.com/open-telemetry/opentelemetry-go/issues/4906))
- Add `WithProxy` option in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracehttp`.
([#&open-telemetry#8203;4906](https://togithub.com/open-telemetry/opentelemetry-go/issues/4906))
- Add `AddLink` method to the `Span` interface in
`go.opentelemetry.io/otel/trace`.
([#&open-telemetry#8203;5032](https://togithub.com/open-telemetry/opentelemetry-go/issues/5032))
- The `Enabled` method is added to the `Logger` interface in
`go.opentelemetry.io/otel/log`.
This method is used to notify users if a log record will be emitted or
not.
([#&open-telemetry#8203;5071](https://togithub.com/open-telemetry/opentelemetry-go/issues/5071))
-   Add `SeverityUndefined` `const` to `go.opentelemetry.io/otel/log`.
This value represents an unset severity level.
([#&open-telemetry#8203;5072](https://togithub.com/open-telemetry/opentelemetry-go/issues/5072))
- Add `Empty` function in `go.opentelemetry.io/otel/log` to return a
`KeyValue` for an empty value.
([#&open-telemetry#8203;5076](https://togithub.com/open-telemetry/opentelemetry-go/issues/5076))
- Add `go.opentelemetry.io/otel/log/global` to manage the global
`LoggerProvider`.
This package is provided with the anticipation that all functionality
will be migrate to `go.opentelemetry.io/otel` when
`go.opentelemetry.io/otel/log` stabilizes.
At which point, users will be required to migrage their code, and this
package will be deprecated then removed.
([#&open-telemetry#8203;5085](https://togithub.com/open-telemetry/opentelemetry-go/issues/5085))
- Add support for `Summary` metrics in the
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` and
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`
exporters.
([#&open-telemetry#8203;5100](https://togithub.com/open-telemetry/opentelemetry-go/issues/5100))
- Add `otel.scope.name` and `otel.scope.version` tags to spans exported
by `go.opentelemetry.io/otel/exporters/zipkin`.
([#&open-telemetry#8203;5108](https://togithub.com/open-telemetry/opentelemetry-go/issues/5108))
- Add support for `AddLink` to
`go.opentelemetry.io/otel/bridge/opencensus`.
([#&open-telemetry#8203;5116](https://togithub.com/open-telemetry/opentelemetry-go/issues/5116))
- Add `String` method to `Value` and `KeyValue` in
`go.opentelemetry.io/otel/log`.
([#&open-telemetry#8203;5117](https://togithub.com/open-telemetry/opentelemetry-go/issues/5117))
- Add Exemplar support to
`go.opentelemetry.io/otel/exporters/prometheus`.
([#&open-telemetry#8203;5111](https://togithub.com/open-telemetry/opentelemetry-go/issues/5111))
- Add metric semantic conventions to
`go.opentelemetry.io/otel/semconv/v1.24.0`. Future `semconv` packages
will include metric semantic conventions as well.
([#&open-telemetry#8203;4528](https://togithub.com/open-telemetry/opentelemetry-go/issues/4528))

##### Changed

- `SpanFromContext` and `SpanContextFromContext` in
`go.opentelemetry.io/otel/trace` no longer make a heap allocation when
the passed context has no span.
([#&open-telemetry#8203;5049](https://togithub.com/open-telemetry/opentelemetry-go/issues/5049))
- `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc` and
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc` now
create a gRPC client in idle mode and with "dns" as the default resolver
using
[`grpc.NewClient`](https://pkg.go.dev/google.golang.org/grpc#NewClient).
([#&open-telemetry#8203;5151](https://togithub.com/open-telemetry/opentelemetry-go/issues/5151))
Because of that `WithDialOption` ignores
[`grpc.WithBlock`](https://pkg.go.dev/google.golang.org/grpc#WithBlock),
[`grpc.WithTimeout`](https://pkg.go.dev/google.golang.org/grpc#WithTimeout),
and
[`grpc.WithReturnConnectionError`](https://pkg.go.dev/google.golang.org/grpc#WithReturnConnectionError).
Notice that
[`grpc.DialContext`](https://pkg.go.dev/google.golang.org/grpc#DialContext)
which was used before is now deprecated.

##### Fixed

- Clarify the documentation about equivalence guarantees for the `Set`
and `Distinct` types in `go.opentelemetry.io/otel/attribute`.
([#&open-telemetry#8203;5027](https://togithub.com/open-telemetry/opentelemetry-go/issues/5027))
- Prevent default `ErrorHandler` self-delegation.
([#&open-telemetry#8203;5137](https://togithub.com/open-telemetry/opentelemetry-go/issues/5137))
- Update all dependencies to address [GO-2024-2687].
([#&open-telemetry#8203;5139](https://togithub.com/open-telemetry/opentelemetry-go/issues/5139))

##### Removed

- Drop support for [Go 1.20].
([#&open-telemetry#8203;4967](https://togithub.com/open-telemetry/opentelemetry-go/issues/4967))

##### Deprecated

- Deprecate `go.opentelemetry.io/otel/attribute.Sortable` type.
([#&open-telemetry#8203;4734](https://togithub.com/open-telemetry/opentelemetry-go/issues/4734))
- Deprecate `go.opentelemetry.io/otel/attribute.NewSetWithSortable`
function.
([#&open-telemetry#8203;4734](https://togithub.com/open-telemetry/opentelemetry-go/issues/4734))
- Deprecate
`go.opentelemetry.io/otel/attribute.NewSetWithSortableFiltered`
function.
([#&open-telemetry#8203;4734](https://togithub.com/open-telemetry/opentelemetry-go/issues/4734))

[Go 1.20]: https://go.dev/doc/go1.20

[GO-2024-2687]: https://pkg.go.dev/vuln/GO-2024-2687

#### New Contributors

- [@&open-telemetry#8203;tgolang](https://togithub.com/tgolang) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-go/pull/5048](https://togithub.com/open-telemetry/opentelemetry-go/pull/5048)
- [@&open-telemetry#8203;MickaelAlliel](https://togithub.com/MickaelAlliel) made their
first contribution in
[https://github.com/open-telemetry/opentelemetry-go/pull/4906](https://togithub.com/open-telemetry/opentelemetry-go/pull/4906)
- [@&open-telemetry#8203;s4s7](https://togithub.com/s4s7) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-go/pull/5096](https://togithub.com/open-telemetry/opentelemetry-go/pull/5096)
- [@&open-telemetry#8203;Kielek](https://togithub.com/Kielek) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-go/pull/5108](https://togithub.com/open-telemetry/opentelemetry-go/pull/5108)
- [@&open-telemetry#8203;q-cheng](https://togithub.com/q-cheng) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-go/pull/5032](https://togithub.com/open-telemetry/opentelemetry-go/pull/5032)
- [@&open-telemetry#8203;carrbs](https://togithub.com/carrbs) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-go/pull/4880](https://togithub.com/open-telemetry/opentelemetry-go/pull/4880)

**Full Changelog**:
open-telemetry/opentelemetry-go@v1.24.0...v1.25.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjMwMS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <[email protected]>
This is a first attempt at not triggering all CI jobs for README file
changes.

Signed-off-by: Alex Boten <[email protected]>
Copy link

github-actions bot commented May 1, 2024

This PR was marked stale due to lack of activity. It will be closed in 14 days.

@github-actions github-actions bot added the Stale label May 1, 2024
Copy link

Closed as inactive. Feel free to reopen if this PR is still being worked on.

@github-actions github-actions bot closed this May 15, 2024
MovieStoreGuy pushed a commit that referenced this pull request May 19, 2024
**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
This PR implements the new container logs parser as it was proposed at
open-telemetry#31959.

**Link to tracking Issue:** <Issue number if applicable>
open-telemetry#31959

**Testing:** <Describe what testing was performed and which tests were
added.>

Added unit tests. Providing manual testing steps as well:

### How to test this manually

1. Using the following config file:
```yaml
receivers:
  filelog:
    start_at: end
    include_file_name: false
    include_file_path: true
    include:
    - /var/log/pods/*/*/*.log
    operators:
      - id: container-parser
        type: container
        output: m1
      - type: move
        id: m1
        from: attributes.k8s.pod.name
        to: attributes.val
      - id: some
        type: add
        field: attributes.key2.key_in
        value: val2

exporters:
  debug:
    verbosity: detailed

service:
  pipelines:
    logs:
      receivers: [filelog]
      exporters: [debug]
      processors: []
```
2. Start the collector:
`./bin/otelcontribcol_linux_amd64 --config
~/otelcol/container_parser/config.yaml`
3. Use the following bash script to create some logs:
```bash
#! /bin/bash

echo '2024-04-13T07:59:37.505201169-05:00 stdout P This is a very very long crio line th' >> /var/log/pods/kube-scheduler-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d3/kube-scheduler43/1.log
echo '{"log":"INFO: log line here","stream":"stdout","time":"2029-03-30T08:31:20.545192187Z"}' >> /var/log/pods/kube-controller-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d6/kube-controller/1.log
echo '2024-04-13T07:59:37.505201169-05:00 stdout F at is awesome! crio is awesome!' >> /var/log/pods/kube-scheduler-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d3/kube-scheduler43/1.log
echo '2021-06-22T10:27:25.813799277Z stdout P some containerd log th' >> /var/log/pods/kube-scheduler-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d3/kube-scheduler44/1.log
echo '{"log":"INFO: another log line here","stream":"stdout","time":"2029-03-30T08:31:20.545192187Z"}' >> /var/log/pods/kube-controller-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d6/kube-controller/1.log
echo '2021-06-22T10:27:25.813799277Z stdout F at is super awesome! Containerd is awesome' >> /var/log/pods/kube-scheduler-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d3/kube-scheduler44/1.log



echo '2024-04-13T07:59:37.505201169-05:00 stdout F standalone crio line which is awesome!' >> /var/log/pods/kube-scheduler-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d3/kube-scheduler43/1.log
echo '2021-06-22T10:27:25.813799277Z stdout F standalone containerd line that is super awesome!' >> /var/log/pods/kube-scheduler-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d3/kube-scheduler44/1.log
```
4. Run the above as a bash script to verify any parallel processing.
Verify that the output is correct.


### Test manually on k8s

1. `make docker-otelcontribcol && docker tag otelcontribcol
otelcontribcol-dev:0.0.1 && kind load docker-image
otelcontribcol-dev:0.0.1`
2. Install using the following helm values file:
```yaml
mode: daemonset
presets:
  logsCollection:
    enabled: true

image:
  repository: otelcontribcol-dev
  tag: "0.0.1"
  pullPolicy: IfNotPresent

command:
  name: otelcontribcol

config:
  exporters:
    debug:
      verbosity: detailed
  receivers:
    filelog:
      start_at: end
      include_file_name: false
      include_file_path: true
      exclude:
        - /var/log/pods/default_daemonset-opentelemetry-collector*_*/opentelemetry-collector/*.log
      include:
        - /var/log/pods/*/*/*.log
      operators:
        - id: container-parser
          type: container
          output: some
        - id: some
          type: add
          field: attributes.key2.key_in
          value: val2


  service:
    pipelines:
      logs:
        receivers: [filelog]
        processors: [batch]
        exporters: [debug]
```
3. Check collector's output to verify the logs are parsed properly:
```console
2024-05-10T07:52:02.307Z	info	LogsExporter	{"kind": "exporter", "data_type": "logs", "name": "debug", "resource logs": 1, "log records": 2}
2024-05-10T07:52:02.307Z	info	ResourceLog #0
Resource SchemaURL: 
ScopeLogs #0
ScopeLogs SchemaURL: 
InstrumentationScope  
LogRecord #0
ObservedTimestamp: 2024-05-10 07:52:02.046236071 +0000 UTC
Timestamp: 2024-05-10 07:52:01.92533954 +0000 UTC
SeverityText: 
SeverityNumber: Unspecified(0)
Body: Str(otel logs at 07:52:01)
Attributes:
     -> log: Map({"iostream":"stdout"})
     -> time: Str(2024-05-10T07:52:01.92533954Z)
     -> k8s: Map({"container":{"name":"busybox","restart_count":"0"},"namespace":{"name":"default"},"pod":{"name":"daemonset-logs-6f6mn","uid":"1069e46b-03b2-4532-a71f-aaec06c0197b"}})
     -> logtag: Str(F)
     -> key2: Map({"key_in":"val2"})
     -> log.file.path: Str(/var/log/pods/default_daemonset-logs-6f6mn_1069e46b-03b2-4532-a71f-aaec06c0197b/busybox/0.log)
Trace ID: 
Span ID: 
Flags: 0
LogRecord #1
ObservedTimestamp: 2024-05-10 07:52:02.046411602 +0000 UTC
Timestamp: 2024-05-10 07:52:02.027386192 +0000 UTC
SeverityText: 
SeverityNumber: Unspecified(0)
Body: Str(otel logs at 07:52:02)
Attributes:
     -> log.file.path: Str(/var/log/pods/default_daemonset-logs-6f6mn_1069e46b-03b2-4532-a71f-aaec06c0197b/busybox/0.log)
     -> time: Str(2024-05-10T07:52:02.027386192Z)
     -> log: Map({"iostream":"stdout"})
     -> logtag: Str(F)
     -> k8s: Map({"container":{"name":"busybox","restart_count":"0"},"namespace":{"name":"default"},"pod":{"name":"daemonset-logs-6f6mn","uid":"1069e46b-03b2-4532-a71f-aaec06c0197b"}})
     -> key2: Map({"key_in":"val2"})
Trace ID: 
Span ID: 
Flags: 0
...
```


**Documentation:** <Describe the documentation added.>  Added

Signed-off-by: ChrsMark <[email protected]>
strawgate pushed a commit that referenced this pull request Jun 17, 2024
…try#33225)

**Description:** <Describe what has changed.>
Using the DB span example below, X-Ray exporter failed to generate the
expected DB call subsegment names because it could not parse JDBC
connection strings that start with the `jdbc:` prefix.
```
Span #1
    Trace ID       : 663a0b68a5e3849c09c07f914b3df738
    Parent ID      : 1052e2a4a2516884
    ID             : 374de78b552e23c2
    Name           : orders@no-appsignals-mysql-1.cnkqok6c8mo1.eu-west-1.rds.amazonaws.com
    Kind           : Client
    Start time     : 2024-05-07 11:07:20.62 +0000 UTC
    End time       : 2024-05-07 11:07:20.624 +0000 UTC
    Status code    : Unset
    Status message :
Attributes:
     -> db.connection_string: Str(jdbc:mysql://no-appsignals-mysql-1.cnkqok6c8mo1.eu-west-1.rds.amazonaws.com:3306)
     -> db.name: Str(orders)
     -> db.system: Str(MySQL)
     -> db.user: Str([email protected])
```

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

**Testing:** <Describe what testing was performed and which tests were
added.>
local tests
strawgate pushed a commit that referenced this pull request Jun 17, 2024
…pen-telemetry#33353)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
Container parser should add k8s metadata as resource attributes and not
as log record attributes.

**Link to tracking Issue:** <Issue number if applicable> Fixes
open-telemetry#33341

**Testing:** <Describe what testing was performed and which tests were
added.>
Manual testing on local k8s cluster:

```console
2024-06-04T06:40:08.219Z	info	ResourceLog #0
Resource SchemaURL: 
Resource attributes:
     -> k8s.pod.uid: Str(d5ecc924-e255-4525-b5be-6437939b1e4d)
     -> k8s.container.name: Str(busybox)
     -> k8s.namespace.name: Str(default)
     -> k8s.pod.name: Str(daemonset-logs-dhzcq)
     -> k8s.container.restart_count: Str(0)
ScopeLogs #0
ScopeLogs SchemaURL: 
InstrumentationScope  
LogRecord #0
ObservedTimestamp: 2024-06-04 06:40:08.007370503 +0000 UTC
Timestamp: 2024-06-04 06:40:07.855932421 +0000 UTC
SeverityText: 
SeverityNumber: Unspecified(0)
Body: Str(otel logs at 06:40:07)
Attributes:
     -> logtag: Str(F)
     -> key2: Map({"key_in":"val2"})
     -> log.file.path: Str(/var/log/pods/default_daemonset-logs-dhzcq_d5ecc924-e255-4525-b5be-6437939b1e4d/busybox/0.log)
     -> time: Str(2024-06-04T06:40:07.855932421Z)
     -> log.iostream: Str(stdout)
Trace ID: 
Span ID: 
Flags: 0
LogRecord #1
ObservedTimestamp: 2024-06-04 06:40:08.007451031 +0000 UTC
Timestamp: 2024-06-04 06:40:07.957875321 +0000 UTC
SeverityText: 
SeverityNumber: Unspecified(0)
Body: Str(otel logs at 06:40:07)
Attributes:
     -> log.file.path: Str(/var/log/pods/default_daemonset-logs-dhzcq_d5ecc924-e255-4525-b5be-6437939b1e4d/busybox/0.log)
     -> log.iostream: Str(stdout)
     -> time: Str(2024-06-04T06:40:07.957875321Z)
     -> key2: Map({"key_in":"val2"})
     -> logtag: Str(F)
Trace ID: 
Span ID: 
Flags: 0
```

**Documentation:** <Describe the documentation added.> ~

---------

Signed-off-by: ChrsMark <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.