Renovate Bot 8c658435bc chore(deps): update devdependencies (non-major) (#25)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [go.opentelemetry.io/collector/component](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v1.45.0` → `v1.50.0` | `v1.51.0` |
| [go.opentelemetry.io/collector/component/componenttest](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v0.139.0` → `v0.144.0` | `v0.145.0` |
| [go.opentelemetry.io/collector/confmap](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v1.45.0` → `v1.50.0` | `v1.51.0` |
| [go.opentelemetry.io/collector/consumer](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v1.45.0` → `v1.50.0` | `v1.51.0` |
| [go.opentelemetry.io/collector/consumer/consumertest](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v0.139.0` → `v0.144.0` | `v0.145.0` |
| [go.opentelemetry.io/collector/pdata](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v1.45.0` → `v1.50.0` | `v1.51.0` |
| [go.opentelemetry.io/collector/processor](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v1.45.0` → `v1.50.0` | `v1.51.0` |
| [go.opentelemetry.io/collector/processor/processortest](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v0.139.0` → `v0.144.0` | `v0.145.0` |
| [go.uber.org/zap](https://github.com/uber-go/zap) | require | patch | `v1.27.0` → `v1.27.1` |  |

---

### Release Notes

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

### [`v1.50.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1500v01440)

##### 🛑 Breaking changes 🛑

- `pkg/exporterhelper`: Change verbosity level for otelcol\_exporter\_queue\_batch\_send\_size metric to detailed. ([#&#8203;14278](https://github.com/open-telemetry/opentelemetry-collector/issues/14278))
- `pkg/service`: Remove deprecated `telemetry.disableHighCardinalityMetrics` feature gate. ([#&#8203;14373](https://github.com/open-telemetry/opentelemetry-collector/issues/14373))
- `pkg/service`: Remove deprecated `service.noopTracerProvider` feature gate. ([#&#8203;14374](https://github.com/open-telemetry/opentelemetry-collector/issues/14374))

##### 🚩 Deprecations 🚩

- `exporter/otlp_grpc`: Rename `otlp` exporter to `otlp_grpc` exporter and add deprecated alias `otlp`. ([#&#8203;14403](https://github.com/open-telemetry/opentelemetry-collector/issues/14403))
- `exporter/otlp_http`: Rename `otlphttp` exporter to `otlp_http` exporter and add deprecated alias `otlphttp`. ([#&#8203;14396](https://github.com/open-telemetry/opentelemetry-collector/issues/14396))

##### 💡 Enhancements 💡

- `cmd/builder`: Avoid duplicate CLI error logging in generated collector binaries by relying on cobra's error handling. ([#&#8203;14317](https://github.com/open-telemetry/opentelemetry-collector/issues/14317))

- `cmd/mdatagen`: Add the ability to disable attributes at the metric level and re-aggregate data points based off of these new dimensions ([#&#8203;10726](https://github.com/open-telemetry/opentelemetry-collector/issues/10726))

- `cmd/mdatagen`: Add optional `display_name` and `description` fields to metadata.yaml for human-readable component names ([#&#8203;14114](https://github.com/open-telemetry/opentelemetry-collector/issues/14114))
  The `display_name` field allows components to specify a human-readable name in metadata.yaml.
  When provided, this name is used as the title in generated README files.
  The `description` field allows components to include a brief description in generated README files.

- `cmd/mdatagen`: Validate stability level for entities ([#&#8203;14425](https://github.com/open-telemetry/opentelemetry-collector/issues/14425))

- `pkg/xexporterhelper`: Reenable batching for profiles ([#&#8203;14313](https://github.com/open-telemetry/opentelemetry-collector/issues/14313))

- `receiver/nop`: add profiles signal support ([#&#8203;14253](https://github.com/open-telemetry/opentelemetry-collector/issues/14253))

##### 🧰 Bug fixes 🧰

- `pkg/exporterhelper`: Fix reference count bug in partition batcher ([#&#8203;14444](https://github.com/open-telemetry/opentelemetry-collector/issues/14444))

<!-- previous-version -->

### [`v1.49.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1490v01430)

##### 💡 Enhancements 💡

- `all`: Update semconv import to 1.38.0 ([#&#8203;14305](https://github.com/open-telemetry/opentelemetry-collector/issues/14305))
- `exporter/nop`: Add profiles support to nop exporter ([#&#8203;14331](https://github.com/open-telemetry/opentelemetry-collector/issues/14331))
- `pkg/pdata`: Optimize the size and pointer bytes for pdata structs ([#&#8203;14339](https://github.com/open-telemetry/opentelemetry-collector/issues/14339))
- `pkg/pdata`: Avoid using interfaces/oneof like style for optional fields ([#&#8203;14333](https://github.com/open-telemetry/opentelemetry-collector/issues/14333))

<!-- previous-version -->

### [`v1.48.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1480v01420)

##### 💡 Enhancements 💡

- `exporter/debug`: Add logging of dropped attributes, events, and links counts in detailed verbosity ([#&#8203;14202](https://github.com/open-telemetry/opentelemetry-collector/issues/14202))

- `extension/memory_limiter`: The memorylimiter extension can be used as an HTTP/GRPC middleware. ([#&#8203;14081](https://github.com/open-telemetry/opentelemetry-collector/issues/14081))

- `pkg/config/configgrpc`: Statically validate gRPC endpoint ([#&#8203;10451](https://github.com/open-telemetry/opentelemetry-collector/issues/10451))
  This validation was already done in the OTLP exporter. It will now be applied to any gRPC client.

- `pkg/service`: Add support to disabling adding resource attributes as zap fields in internal logging ([#&#8203;13869](https://github.com/open-telemetry/opentelemetry-collector/issues/13869))
  Note that this does not affect logs exported through OTLP.

<!-- previous-version -->

### [`v1.47.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1470v01410)

##### 🛑 Breaking changes 🛑

- `pkg/config/confighttp`: Use configoptional.Optional for confighttp.ClientConfig.Cookies field ([#&#8203;14021](https://github.com/open-telemetry/opentelemetry-collector/issues/14021))

##### 💡 Enhancements 💡

- `pkg/config/confighttp`: Setting `compression_algorithms` to an empty list now disables automatic decompression, ignoring Content-Encoding ([#&#8203;14131](https://github.com/open-telemetry/opentelemetry-collector/issues/14131))
- `pkg/service`: Update semantic conventions from internal telemetry to v1.37.0 ([#&#8203;14232](https://github.com/open-telemetry/opentelemetry-collector/issues/14232))
- `pkg/xscraper`: Implement xscraper for Profiles. ([#&#8203;13915](https://github.com/open-telemetry/opentelemetry-collector/issues/13915))

##### 🧰 Bug fixes 🧰

- `pkg/config/configoptional`: Ensure that configoptional.None values resulting from unmarshaling are equivalent to configoptional.Optional zero value. ([#&#8203;14218](https://github.com/open-telemetry/opentelemetry-collector/issues/14218))

<!-- previous-version -->

### [`v1.46.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1460v01400)

##### 💡 Enhancements 💡

- `cmd/mdatagen`: `metadata.yaml` now supports an optional `entities` section to organize resource attributes into logical entities with identity and description attributes ([#&#8203;14051](https://github.com/open-telemetry/opentelemetry-collector/issues/14051))
  When entities are defined, mdatagen generates `AssociateWith{EntityType}()` methods on ResourceBuilder
  that associate resources with entity types using the entity refs API. The entities section is backward
  compatible - existing metadata.yaml files without entities continue to work as before.

- `cmd/mdatagen`: Add semconv reference for metrics ([#&#8203;13920](https://github.com/open-telemetry/opentelemetry-collector/issues/13920))

- `connector/forward`: Add support for Profiles to Profiles ([#&#8203;14092](https://github.com/open-telemetry/opentelemetry-collector/issues/14092))

- `exporter/debug`: Disable sending queue by default ([#&#8203;14138](https://github.com/open-telemetry/opentelemetry-collector/issues/14138))
  The recently added sending queue configuration in Debug exporter was enabled by default and had a problematic default size of 1.
  This change disables the sending queue by default.
  Users can enable and configure the sending queue if needed.

- `pkg/config/configoptional`: Mark `configoptional.AddEnabledField` as beta ([#&#8203;14021](https://github.com/open-telemetry/opentelemetry-collector/issues/14021))

- `pkg/otelcol`: This feature has been improved and tested; secure-by-default redacts configopaque values ([#&#8203;12369](https://github.com/open-telemetry/opentelemetry-collector/issues/12369))

##### 🧰 Bug fixes 🧰

- `all`: Ensure service service.instance.id is the same for all the signals when it is autogenerated. ([#&#8203;14140](https://github.com/open-telemetry/opentelemetry-collector/issues/14140))

<!-- previous-version -->

</details>

<details>
<summary>uber-go/zap (go.uber.org/zap)</summary>

### [`v1.27.1`](https://github.com/uber-go/zap/releases/tag/v1.27.1)

[Compare Source](https://github.com/uber-go/zap/compare/v1.27.0...v1.27.1)

Enhancements:

- [#&#8203;1501][]: prevent `Object` from panicking on nils
- [#&#8203;1511][]: Fix a race condition in `WithLazy`.

Thanks to [@&#8203;rabbbit](https://github.com/rabbbit), [@&#8203;alshopov](https://github.com/alshopov), [@&#8203;jquirke](https://github.com/jquirke), [@&#8203;arukiidou](https://github.com/arukiidou) for their contributions to this release.

[#&#8203;1501]: https://github.com/uber-go/zap/pull/1501

[#&#8203;1511]: https://github.com/uber-go/zap/pull/1511

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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://github.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 [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xMC41IiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://gitea.t000-n.de/t.behrendt/tracebasedlogsampler/pulls/25
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-02-09 17:07:21 +01:00
2025-04-29 18:15:33 +02:00
2025-04-29 18:15:33 +02:00
2025-04-29 18:15:33 +02:00
2025-04-29 18:15:33 +02:00
2025-04-29 18:15:33 +02:00
2025-05-02 18:25:39 +02:00
2025-04-29 18:15:33 +02:00
2025-05-06 20:59:07 +02:00
2025-05-06 20:59:07 +02:00
2025-04-30 21:12:41 +02:00
2025-04-29 18:15:33 +02:00

Trace-based Log Sampler

This processor is used to sample logs based on the sampling decision of the trace they correlate to.

How It Works

When a trace is sampled, the processor caches its traceId. Logs are then filtered:

  • If a log references a known sampled traceId, it is beimg forwarded.
  • If a log references an unknown or unsampled traceId, it is buffered for a certain amount of time. After the buffer time expires, the traceId is checked again. If it exists, the log is forwarded. If not, it is discarded.

Configuration

Field Type Default Description
buffer_duration_traces duration 180s The duration for which traceIds are being remembered. The timer starts when the first trace or span of one traceId is received.
buffer_duration_logs duration 90s The duration for which logs are being buffered for, before being re-evaluated. If your pipeline includes e.g. a tailbasedsampler processor, set this to above it's collection time. This ensures that logs "wait" until the traces have been processed

Example Configuration

The followinh config is an example configuration for the processor. It is configured to buffer traceIds for 180 seconds and logs for 90 seconds.

Note that both a traces and logs pipeline is required and both have to use the same instance of the processor.

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317

exporters:
  otlp:
    endpoint: 0.0.0.0:4317

processors:
  logtracesampler:
    buffer_duration_traces: 180s
    buffer_duration_logs: 90s

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [logtracesampler]
      exporters: [otlp]

    logs:
      receivers: [otlp]
      processors: [logtracesampler]
      exporters: [otlp]

Building

When building a custom collector you can add this processor to the mainfest like the following (refer to Building a custom collector for more information):

processors:
  - gomod: gitea.t000-n.de/t.behrendt/tracebasedlogsampler v0.0.0
Description
Trace based log sampler for OpenTelemetry Collector
Readme MIT 563 KiB
Languages
Go 99.7%
Makefile 0.3%