Skip to content

Releases: open-telemetry/opentelemetry-collector

v1.46.0/v0.140.0

17 Nov 15:41
v0.140.0
97fdd8b

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.140.0

End User Changelog

💡 Enhancements 💡

  • cmd/mdatagen: metadata.yaml now supports an optional entities section to organize resource attributes into logical entities with identity and description attributes (#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 (#13920)

  • connector/forward: Add support for Profiles to Profiles (#14092)

  • exporter/debug: Disable sending queue by default (#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 (#14021)

  • pkg/otelcol: This feature has been improved and tested; secure-by-default redacts configopaque values (#12369)

🧰 Bug fixes 🧰

  • all: Ensure service service.instance.id is the same for all the signals when it is autogenerated. (#14140)

API Changelog

🛑 Breaking changes 🛑

  • pdata/pprofile: Upgrade the OTLP protobuf definitions to version 1.9.0 (#14128)

    • Drop field CommentStrindices in Profile.
    • Rename Sample to Samples in Profile.
    • Rename Line to Lines in Location.
    • Remove AggregationTemporality field in ValueType.

    See https://github.com/open-telemetry/opentelemetry-proto/releases/tag/v1.9.0

  • pkg/otelcol: The otelcol.Factories.Telemetry field is now required (#14003)
    Previously if this field was not set, then it would default to an otelconftelemetry factory.
    Callers of the otelcol package must now set the field explicitly.

💡 Enhancements 💡

  • pkg/pdata: Upgrade the OTLP protobuf definitions to version 1.9.0 (#14128)

v1.45.0/v0.139.0

03 Nov 20:42
v0.139.0
f2bced2

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.139.0

End User Changelog

🛑 Breaking changes 🛑

  • cmd/mdatagen: Make stability.level a required field for metrics (#14070)

  • cmd/mdatagen: Replace optional field with requirement_level field for attributes in metadata schema (#13913)
    The optional boolean field for attributes has been replaced with a requirement_level field that accepts enum values: required, conditionally_required, recommended, or opt_in.

    • required: attribute is always included and cannot be excluded
    • conditionally_required: attribute is included by default when certain conditions are met (replaces optional: true)
    • recommended: attribute is included by default but can be disabled via configuration (replaces optional: false)
    • opt_in: attribute is not included unless explicitly enabled in user config
      When requirement_level is not specified, it defaults to recommended.
  • pdata/pprofile: Remove deprecated PutAttribute helper method (#14082)

  • pdata/pprofile: Remove deprecated PutLocation helper method (#14082)

💡 Enhancements 💡

  • all: Add FIPS and non-FIPS implementations for allowed TLS curves (#13990)
  • cmd/builder: Set CGO_ENABLED=0 by default, add the cgo_enabled configuration to enable it. (#10028)
  • pkg/config/configgrpc: Errors of type status.Status returned from an Authenticator extension are being propagated as is to the upstream client. (#14005)
  • pkg/config/configoptional: Adds new configoptional.AddEnabledField feature gate that allows users to explicitly disable a configoptional.Optional through a new enabled field. (#14021)
  • pkg/exporterhelper: Replace usage of gogo proto for persistent queue metadata (#14079)
  • pkg/pdata: Remove usage of gogo proto and generate the structs with pdatagen (#14078)

🧰 Bug fixes 🧰

  • exporter/debug: add queue configuration (#14101)

API Changelog

🛑 Breaking changes 🛑

  • all: Change type of configgrpc.ClientConfig.Headers, confighttp.ClientConfig.Headers, and confighttp.ServerConfig.ResponseHeaders (#13930)
    configopaque.MapList is a new alternative to map[string]configopaque.String which can unmarshal
    both maps and lists of name/value pairs.

    For example, if headers is a field of type configopaque.MapList,
    then the following YAML configs will unmarshal to the same thing:

    headers:
      "foo": "bar"
    
    headers:
    - name: "foo"
      value: "bar"
  • pdata/pprofile: Update SetFunction to return the function's ID rather than update the Line (#14016, #14032)

  • pdata/pprofile: Update SetLink to return the link's ID rather than update the Sample (#14016, #14031)

  • pdata/pprofile: Update SetMapping to return the mapping's ID rather than update the Location (#14016, #14030)

  • pkg/otelcol: Require a telemetry factory to be injected through otelcol.Factories (#4970)
    otelcol.Factories now has a required Telemetry field,
    which contains the telemetry factory to be used by the service.
    Set it to otelconftelemetry.NewFactory() for the existing behavior.

  • pkg/pdata: Remove unused generated code from pprofile (#14073)
    Experimental package, ok to break since not used.

💡 Enhancements 💡

  • pdata/pprofile: Introduce SetStack method (#14007)
  • pdata/xpdata: Add high-level Entity API for managing entities attached to resources (#14042)
    Introduces Entity, EntitySlice, and EntityAttributeMap types that provide a user-friendly interface
    for working with resource entities. The new API ensures consistency between entity and resource attributes
    by sharing the underlying attribute map, and prevents attribute conflicts between entities. This API may
    eventually replace the generated protobuf-based API for better usability.

🧰 Bug fixes 🧰

  • cmd/mdatagen: Fix mdatagen generated_metrics for connectors (#12402)

v1.44.0/v0.138.0

20 Oct 17:01
v0.138.0
8b09905

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.138.0

End User Changelog

🛑 Breaking changes 🛑

  • all: Remove deprecated type TracesConfig (#14036)

  • pkg/exporterhelper: Add default values for sending_queue::batch configuration. (#13766)
    Setting sending_queue::batch to an empty value now results in the same setup as the default batch processor configuration.

  • all: Add unified print-config command with mode support (redacted, unredacted), json support (unstable), and validation support. (#11775)
    This replaces the print-initial-config command. See the service package README for more details. The original command name print-initial-config remains an alias, to be retired with the feature flag.

💡 Enhancements 💡

  • all: Add keep_alives_enabled option to ServerConfig to control HTTP keep-alives for all components that create an HTTP server. (#13783)
  • pkg/otelcol: Avoid unnecessary mutex in collector logs, replace by atomic pointer (#14008)
  • cmd/mdatagen: Add lint/ordering validation for metadata.yaml (#13781)
  • pdata/xpdata: Refactor JSON marshaling and unmarshaling to use pcommon.Value instead of AnyValue. (#13837)
  • pkg/exporterhelper: Expose MergeCtx in exporterhelper's queue batch settings` (#13742)

🧰 Bug fixes 🧰

  • all: Fix zstd decoder data corruption due to decoder pooling for all components that create an HTTP server. (#13954)
  • pkg/otelcol: Remove UB when taking internal logs and move them to the final zapcore.Core (#14009)
    This can happen because of a race on accessing logsTaken.
  • pkg/confmap: Fix a potential race condition in confmap by closing the providers first. (#14018)

API Changelog

🛑 Breaking changes 🛑

  • pkg/xexporterhelper: Remove definition of Sizer from public API and ability to configure. (#14001)
    Now that Request has both Items/Bytes sizes no need to allow custom sizers.

  • pkg/service: The service.Settings type now requires a telemetry.Factory to be provided (#4970)

🚩 Deprecations 🚩

  • pdata/pprofile: Deprecated PutAttribute helper method (#14016, #14041)
  • pdata/pprofile: Deprecated PutLocation helper method (#14019)

💡 Enhancements 💡

  • all: Add keep_alives_enabled option to ServerConfig to control HTTP keep-alives for all components that create an HTTP server. (#13783)
  • pkg/pdata: Add pcommon.Map helper to add a key to the map if does not exists (#14023)
  • pdata/pprofile: Introduce Equal method on the KeyValueAndUnit type (#14041)
  • pkg/pdata: Add RemoveIf method to primitive slice types (StringSlice, Int64Slice, UInt64Slice, Float64Slice, Int32Slice, ByteSlice) (#14027)
  • pdata/pprofile: Introduce SetAttribute helper method (#14016, #14041)
  • pdata/pprofile: Introduce SetLocation helper method (#14019)
  • pdata/pprofile: Introduce Equal method on the Stack type (#13952)

v1.43.0/v0.137.0

06 Oct 20:22
v0.137.0
3b55554

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.137.0

End User Changelog

💡 Enhancements 💡

  • cmd/mdatagen: Improve validation for resource attribute enabled field in metadata files (#12722)
    Resource attributes now require an explicit enabled field in metadata.yaml files, while regular attributes
    are prohibited from having this field. This improves validation and prevents configuration errors.

  • all: Changelog entries will now have their component field checked against a list of valid components. (#13924)
    This will ensure a more standardized changelog format which makes it easier to parse.

  • pkg/pdata: Mark featuregate pdata.useCustomProtoEncoding as stable (#13883)

API Changelog

🛑 Breaking changes 🛑

  • pkg/exporterhelper: Remove all experimental symbols in exporterhelper (#11143)
    They have all been moved to xexporterhelper

🚩 Deprecations 🚩

  • all: service/telemetry.TracesConfig is deprecated (#13904)
    This type alias has been added to otelconftelemetry.TracesConfig,
    where the otelconf-based telemetry implementation now lives.

💡 Enhancements 💡

  • all: Mark configoptional as stable (#13403)
  • all: Mark configauth module as 1.0 (#9476)
  • pkg/pdata: Mark featuregate pdata.useCustomProtoEncoding as stable (#13883)

v1.42.0/v0.136.0

22 Sep 20:08
v0.136.0
a2b837e

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.136.0

End User Changelog

💡 Enhancements 💡

  • xpdata: Add Serialization and Deserialization of AnyValue (#12826)
  • debugexporter: add support for batching (#13791)
    The default queue size is 1
  • configtls: Add early validation for TLS server configurations to fail fast when certificates are missing instead of failing at runtime. (#13130, #13245)
  • mdatagen: Expose stability level in generated metric documentation (#13748)
  • internal/tools: Add support for modernize in Makefile (#13796)

🧰 Bug fixes 🧰

  • otelcol: Fix a potential deadlock during collector shutdown. (#13740)
  • otlpexporter: fix the validation of unix socket endpoints (#13826)

API Changelog

🛑 Breaking changes 🛑

  • exporterhelper: Remove deprecated function NewRequestsSizer (#13803)
  • pdata/pprofile: Upgrade the OTLP protobuf definitions to version 1.8.0 (#13758, #13825, #13839)
  • pdata/pprofile: Remove deprecated ProfilesDictionary method (#13858)

🚩 Deprecations 🚩

  • exporterhelper: Deprecate all experimental symbols in exporterhelper and move them to xexporterhelper (#11143)

💡 Enhancements 💡

  • configoptional: Add GetOrInsertDefault method to configoptional.Optional (#13856)
    This method inserts a default or zero value into a None/Default Optional before Getting its inner value.

  • exporter: Stabilize exporter module. (#12978)
    This does not stabilize the exporterhelper module or configuration

  • pdata: Upgrade the OTLP protobuf definitions to version 1.8.0 (#13758)

v1.41.0/v0.135.0

08 Sep 18:04
a56655d

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.135.0

End User Changelog

💡 Enhancements 💡

  • exporterhelper: Add new exporter_queue_batch_send_size and exporter_queue_batch_send_size_bytes metrics, showing the size of telemetry batches from the exporter. (#12894)

API Changelog

🛑 Breaking changes 🛑

  • pdata/pprofile: Remove deprecated AddAttribute method (#13764)

💡 Enhancements 💡

  • configmiddleware: Stabilize configmiddleware module (#13422)
    This only stabilizes the configuration interface but does not stabilize the middlewares themselves or the way of implementing them.
  • xpdata: Add experimental MapBuilder struct to optimize pcommon.Map construction (#13617)

v1.40.0/v0.134.0

29 Aug 23:29
v0.134.0
76862b8

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.134.0

End User Changelog

💡 Enhancements 💡

  • pdata: Add custom grpc/encoding that replaces proto and calls into the custom marshal/unmarshal logic in pdata. (#13631)
    This change should not affect other gRPC calls since it fallbacks to the default grpc/proto encoding if requests are not pdata/otlp requests.
  • pdata: Avoid copying the pcommon.Map when same origin (#13731)
    This is a very large improvement if using OTTL with map functions since it will avoid a map copy.
  • exporterhelper: Respect num_consumers when batching and partitioning are enabled. (#13607)

🧰 Bug fixes 🧰

  • pdata: Correctly parse OTLP payloads containing non-packed repeated primitive fields (#13727, #13730)
    This bug prevented the Collector from ingesting most Histogram, ExponentialHistogram,
    and Profile payloads.

API Changelog

💡 Enhancements 💡

  • exporterhelper: Split exporterhelper into a separate module (#12985)

v1.39.0/v0.133.0

25 Aug 19:20
v0.133.0
a52db91

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.133.0

End User Changelog

🛑 Breaking changes 🛑

  • all: Increase minimum Go version to 1.24 (#13627)

💡 Enhancements 💡

  • otlphttpexporter: Add profiles_endpoint configuration option to allow custom endpoint for profiles data export (#13504)
    The profiles_endpoint configuration follows the same pattern as traces_endpoint, metrics_endpoint, and logs_endpoint.
    When specified, profiles data will be sent to the custom URL instead of the default {endpoint}/v1development/profiles.

  • pdata: Add support for local memory pooling for data objects. (#13678)
    This is still an early experimental (alpha) feature. Do not recommended to be used production. To enable use "--featuregate=+pdata.useProtoPooling"

  • pdata: Optimize CopyTo messages to avoid any copy when same source and destination (#13680)

  • receiverhelper: New feature flag to make receiverhelper distinguish internal vs. downstream errors using new otelcol_receiver_failed_x and otelcol_receiver_requests metrics (#12207, #12802)
    This is a breaking change for the semantics of the otelcol_receiver_refused_metric_points, otelcol_receiver_refused_log_records and otelcol_receiver_refused_spans metrics.
    These new metrics and semantics are enabled through the receiverhelper.newReceiverMetrics feature gate.

  • debugexporter: Add support for entity references in debug exporter output (#13324)

  • pdata: Fix unnecessary allocation of a new state when adding new values to pcommon.Map (#13634)

  • service: Implement refcounting for pipeline data owned memory. (#13631)
    This feature is protected by --featuregate=+pdata.useProtoPooling.

  • service: Add a debug-level log message when a consumer returns an error. (#13357)

  • xpdata: Optimize xpdata/context for persistent queue when only one value for key (#13636)

  • otlpreceiver: Log the listening addresses of the receiver, rather than the configured endpoints. (#13654)

  • pdata: Use the newly added proto marshaler/unmarshaler for the official proto Marshaler/Unmarshaler (#13637)
    If any problems observed with this consider to disable the featuregate --feature-gates=-pdata.useCustomProtoEncoding

  • configtls: Enable X25519MLKEM768 as per draft-ietf-tls-ecdhe-mlkem (#13670)

🧰 Bug fixes 🧰

  • exporterhelper: Prevent uncontrolled goroutines in batcher due to a incorrect worker pool behaviour. (#13689)
  • service: Ensure the insecure configuration is accounted for when normalizing the endpoint. (#13691)
  • configoptional: Allow validating nested types (#13579)
    configoptional.Optional now implements xconfmap.Validator
  • batchprocessor: Fix UB in batch processor when trying to read bytes size after adding request to pipeline (#13698)
    This bug only happens id detailed metrics are enabled and also an async (sending queue enabled) exporter that mutates data is configure.

API Changelog

🛑 Breaking changes 🛑

  • configgrpc: Set tcp as the default transport type (#13657)
    gRPC is generally used with HTTP/2, so this will simplify usage for most components.

🚩 Deprecations 🚩

  • pdata/pprofile: Deprecate Profiles.ProfilesDictionary in favor of Profiles.Dictionary. (#13644)

💡 Enhancements 💡

  • pdata: Add support for local memory pooling for data objects. (#13678)
    This is still an early experimental (alpha) feature. Do not recommended to be used production. To enable use "--featuregate=+pdata.useProtoPooling"

🧰 Bug fixes 🧰

  • configoptional: Allow validating nested types (#13579)
    configoptional.Optional now implements xconfmap.Validator

v1.38.0/v0.132.0

12 Aug 05:41
eaa1a6e

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.132.0

End User Changelog

🛑 Breaking changes 🛑

  • componentstatus: Change the signature of the componentstatus.NewEvent to accept multiple options. (#13210)
    Changes the signature of the component.NewEvent to accept multiple EventBuilderOption,
    like the new WithAttributes constructor.

🚩 Deprecations 🚩

  • service: move service.noopTraceProvider feature gate to deprecated stage (#13492)
    The functionality of the feature gate is available via configuration with the following telemetry settings:

    service:
      telemetry:
        traces:
          level: none
    
  • mdatagen: Remove the deletion of generated_component_telemetry_test.go. (#12067)
    This file used to be generated by mdatagen. Starting with 0.122.0, the code deletes that file.
    It is no longer necessary to delete the file, as code has had time to upgrade to mdatagen and delete the file.

  • service: The telemetry.disableHighCardinalityMetrics feature gate is deprecated (#13537)
    The feature gate is now deprecated since metric views can be configured.
    The feature gate will be removed in v0.134.0.

    The metric attributes removed by this feature gate are no longer emitted
    by the Collector by default, but if needed, you can achieve the same
    functionality by configuring the following metric views:

    service:
      telemetry:
        metrics:
          level: detailed
          views:
            - selector:
                meter_name: "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
              stream:
                attribute_keys:
                  excluded: ["net.sock.peer.addr", "net.sock.peer.port", "net.sock.peer.name"]
            - selector:
                meter_name: "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
              stream:
                attribute_keys:
                  excluded: ["net.host.name", "net.host.port"]

    Note that this requires setting service::telemetry::metrics::level: detailed.
    If you have a strong use case for using views in combination with a different
    level, please show your interest in
    #10769.

💡 Enhancements 💡

  • pdata: Generate Logs/Traces/Metrics/Profiles and p[log|trace|metric|profile]ExportResponse with pdatagen. (#13597)
    This change brings consistency on how these structs are written and remove JSON marshaling/unmarshaling hand written logic.
  • confighttp: Add option to configure ForceAttemptHTTP2 to support HTTP/1 specific transport settings. (#13426)
  • pdata: Avoid unnecessary buffer copy when JSON marshal fails. (#13598)
  • cmd/mdatagen: Use a custom host implementation for lifecycle tests (#13589)
    Use a custom noop host implementation that implements all non-deprecated, publicly-accessible interfaces implemented by the Collector service.
  • processorhelper: Add processor internal duration metric. (#13231)
  • pdata: Improve RemoveIf for slices to not reference anymore the removed memory (#13522)

🧰 Bug fixes 🧰

  • pdata: Fix null pointer access when copying into a slice with larger cap but smaller len. (#13523)

  • confighttp: Fix middleware configuration field name from "middleware" to "middlewares" for consistency with configgrpc (#13444)

  • memorylimiterextension, memorylimiterprocessor: Memory limiter extension and processor shutdown don't throw an error if the component was not started first. (#9687)
    The components would throw an error if they were shut down before being started.
    With this change, they will no longer return an error, conforming to the lifecycle of components expected.

  • confighttp: Reuse zstd Reader objects (#11824)

API Changelog

🛑 Breaking changes 🛑

  • componenttest: Remove GetFactory from the host returned by NewNopHost (#13577)
    This method is no longer part of the component.Host interface.

💡 Enhancements 💡

  • exporterhelper: Provide an interface queue_batch.Setting.MergeCtx so users can control how context values are preserved or combined (#13320)
    By supplying a custom mergeCtx function, users can control how context values are preserved or combined.
    The default behavior is to preserve no context values.

  • pdata: Generate Logs/Traces/Metrics/Profiles and p[log|trace|metric|profile]ExportResponse with pdatagen. (#13597)
    This change brings consistency on how these structs are written and remove JSON marshaling/unmarshaling hand written logic.

  • pdata: Avoid unnecessary buffer copy when JSON marshal fails. (#13598)

  • pipeline: Mark module as stable (#12831)

v1.37.0/v0.131.0

29 Jul 15:42
v0.131.0
96f9a35

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.131.0

End User Changelog

🛑 Breaking changes 🛑

  • confighttp: Move confighttp.framedSnappy feature gate to beta. (#10584)

💡 Enhancements 💡

  • exporter/debug: Move to alpha stability except profiles (#13487)

  • exporterhelper: Enable exporter.PersistRequestContext feature gate by default. (#13437)
    Request context is now preserved by default when using persistent queues.
    Note that Auth extensions context is not propagated through the persistent queue.

  • pdata: Use pdatagen to generate marshalJSON without using gogo proto jsonpb. (#13450)

  • otlpreceiver: Remove usage of gogo proto which uses reflect.Value.MethodByName. Removes one source of disabling DCE. (#12747)

  • exporterhelper: Fix metrics split logic to consider metrics description into the size. (#13418)

  • service: New pipeline instrumentation now differentiates internal failures from downstream errors (#13234)
    With the telemetry.newPipelineTelemetry feature gate enabled, the "received" and "produced"
    metrics related to a component now distinguish between two types of errors:

    • "outcome = failure" indicates that the component returned an internal error;
    • "outcome = refused" indicates that the component successfully emitted data, but returned an
      error coming from a downstream component processing that data.
  • pdata: Remove usage of text/template from pdata, improves DCE. (#12747)

  • architecture: New Tier 3 platform riscv64 allowing the collector to be built and distributed for this platform. (#13462)

🧰 Bug fixes 🧰

  • exporterhelper: Prevents the exporter for being stuck when telemetry data is bigger than batch.max_size (#12893)
  • mdatagen: Fix import paths for mdatagen component (#13069)
  • otlpreceiver: Error handler correctly fallbacks to content type (#13414)
  • pdata/pprofiles: Fix profiles JSON unmarshal logic for originalPayload. The bytes have to be base64 encoded. (#13483)
  • xpdata: Fix unmarshaling JSON for entities, add e2e tests to avoid this in the future. (#13480)
  • service: Downgrade dependency of prometheus exporter in OTel Go SDK (#13429)
    This fixes the bug where collector's internal metrics are emitted with an unexpected suffix in their names when users configure the service::telemetry::metrics::readers with Prometheus
  • service: Revert Default internal metrics config now enables otel_scope_ labels (#12939, #13344)
    Reverting change temporarily due to prometheus exporter downgrade. This unfortunately re-introduces the bug that instrumentation scope attributes cause errors in Prometheus exporter. See http://github.com/open-telemetry/opentelemetry-collector/issues/12939 for details.
  • builder: Remove undocumented handling of DIST_* environment variables replacements (#13335)

API Changelog

🛑 Breaking changes 🛑

  • configgrpc: Update optional fields to use configoptional.Optional field for optional values. (#13252, #13364)
    Specifically, the following fields have been updated to configoptional:

    • KeepaliveServerConfig.ServerParameters (KeepaliveServerParameters type)
    • KeepaliveServerConfig.EnforcementPolicy (KeepaliveEnforcementPolicy type)
  • xexporterhelper: Remove deprecated NewProfilesExporter function from xexporterhelper package (#13391)

💡 Enhancements 💡

  • consumererror: Add new "Downstream" error marker (#13234)
    This new error wrapper type indicates that the error returned by a component's
    Consume method is not an internal failure of the component, but instead
    was passed through from another component further downstream.
    This is used internally by the new pipeline instrumentation feature to
    determine the outcome of a component call. This wrapper is not intended to
    be used by components directly.

  • pdata/pprofile: Introduce Equal method on the Function type (#13222)

  • pdata/pprofile: Introduce Equal method on the Link type (#13223)

  • pdata/pprofile: Add new helper method SetFunction to set a new function on a line. (#13222)

  • pdata/pprofile: Add new helper method SetLink to set a new link on a sample. (#13223)

  • pdata/pprofile: Add new helper method SetString to set or retrieve the index of a value in the StringTable. (#13225)