This changelog includes only developer-facing changes. If you are looking for user-facing changes, check out CHANGELOG.md.
cmd/opampsupervisor: Remove common package, moving code where it is used instead. (#43885)extension/sumologic: Move api and credentials packages to internal (#43789)pkg/translator/zipkin: Unexport ToTranslator (#43852)receiver/aerospike: Unexport mocks (#43788)receiver/azuremonitor: unexport NewMutexMapImpl and NewSyncMapImpl (#43925)receiver/jmx: unexport InsertDefault (#43965)
exporter/tencentcloud_logservice: Unexport Log_Content, LogTag, Log, LogGroupList, LogGroup (#43138)pkg/datadog: Move feature gates ReceiveResourceSpansV2FeatureGate, OperationAndResourceNameV2FeatureGate, and MetricRemappingDisabledFeatureGate from pkg/datadog to new submodule pkg/datadog/featuregates (#43631)
pkg/datadog: Removelogs::dump_payloadsconfig option frompkg/datadogconfig. (#43427)
-
pkg/ottl: Add support for literal getters (#40222) This enhancement introduces theottl.GetLiteralValuefunction to OTTL, enabling compile-time optimization for getters that contain literal values. When a getter is identified as containing a literal value, OTTL functions can now access that value at build time rather than runtime, improving performance for common use cases like pattern matching with static strings. -
processor/filter: Add profiles support (#42762) -
receiver/hostmetrics: Add metrics, Linux scraper, and tests to hostmetricsreceiver's nfsscraper (#40134)
libhoneyreceiver: Unexport JSONEncoder (#43133)
pkg/datadog, exporter/datadog, extension/datadog: Deprecates StaticAPIKeyCheck, stops doing validation for API key characters in Datadog exporter and extension. (#42677) This was causing issues to users since validation of secrets is challenging
pkg/ottl: Create ctxprofilecommon for common attribute handling in various profiling sub messages (#42107)logicmonitorexporter: Send log level along with log data (#41923)
-
datadogexporter: Deprecate zorkian codepath (#17373) Feature gate exporter.datadogexporter.metricexportnativeclient is now deprecated; the default metrics exporter is now Metrics Export Serializer unless feature gate exporter.datadogexporter.metricexportserializerclient is disabled. See https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.122.0 and #37930 for more info about Metrics Export Serializer. -
pkg/translator/prometheusremotewrite: Function 'OtelMetricsToMetadata' now returns an error if unable to convert a metric to metadata (#42493)
datadog: remove references toDataDog/opentelemetry-mapping-golibrary in favor ofDataDog/datadog-agent/pkg/opentelemetry-mapping-go(#42475) No change to end user behavior.
signaltometricsconnector: Use configoptional for optional metric fields (#41922)azureauthextension: Use configoptional for optional fields in azureauthextension config. (#41926)libhoneyreceiver: Use configoptional for HTTP config in libhoneyreceiver (#41974)sumologicprocessor: Remove unnecessary pointer for types in configuration struct. (#41928)receiver/prometheus: Use configoptional for optional fields (#42140)prometheusremotewriteexporter: Use configoptional for WAL configuration (#41980)jaegerreceiver: Use configoptional for optional protocol sections. (#41982)pulsarreceiver: Use configoptional for optional authentication fields. (#41920)awscloudwatchreceiver: Remove pointer from type of config (#41975)mongodbatlasreceiver: Use configoptional and remove pointer for Config fields (#41939)solacereceiver: Use configoptional for optional types (#41977)spanmetricsconnector: Use configoptional for optional fields (#41941)
opencensusreceiver, opencensusexporter: Deprecate opencensusreceiver and opencensusexporter. (#36791)
filterprocessor: CreateWith*Functionsfactory options to provide custom OTTL functions for logs, metrics or traces to the resulting filter processor. (#40948)oidcauthextension: Add support for accessing custom JWT claims. (#41449) Users can now access JWT claims from OIDC Auth context allowing dynamic processing based on received JWT token.
journaldreceiver: Unexport ReceiverType (#40666)pulsarexporter: Useconfigoptional.Optionalfor authentication fields (#41723)exporter/loadbalancingexporter: Useconfigoptionalfor optional config sections (#41697)
pkg/ottl: Add OTTL support for sample submessage of OTel Profiling signal. (#40161)internal/common: Add a priority queue implementation to the common package. (#41755)
metricstransformprocessor: Unexport Operation, ValueAction, FilterConfig (#40657)oidcauthextension: Unexport ProviderContainer (#41633)pkg/ottl: Remove experimental transform context optionWithCachefrom OTTL Profile context. (#41277)tailsamplingprocessor: Latency config name change fromUpperThresholdmsMstoUpperThresholdMs(#41563)awskinesisexporter: Unexport Exporter (#40645)deltatocumulativeprocessor: Unexport Processor,CountingSink (#40656)datasetexporter: Unexport DatasetExporter, ExporterConfig (#40649)
-
oidcauthextension: Add support for multiple OIDC providers. (#40854) Users can now configure multiple OIDC providers in the OIDC Auth extension. Tokens will be matched to a provider based on theissclaim. -
pkg/ottl: Add support for combiningscopewith other OTTL contexts. (#39308) Previously, OTTL paths could only use theinstrumentation_scopecontext when combined with lower-level contexts likelogormetric. This change allows thescopecontext to be used interchangeably withinstrumentation_scope, improving flexibility and consistency.
splunkhecexporter: Update 'batcher' config to use internal deprecated struct instead of the one removed from the core. (#41224)elasticsearchexporter: Update 'batcher' config to use internal struct instead of the one removed from the core. (#41225)sumologicprocessor: Types that do not contribute to intended API surface will be unexported (#40660) open-telemetry#40641
pkg/ottl: Add aGetOrfunction toottl.Optionalto return a default value when the optional is empty. (#40243)metricstarttimeprocessor: Add the start_time_metric, which sets the start time based on another metric in the batch of metrics. (#38383)
azuremonitorexporter: Unexport MessagingAttributes,ExceptionAttributes,DatabaseAttributes,RPCAttributes,HTTPAttributes,ConnectionVars,NetworkAttributes (#40648)sentryexporter: unexport structs and methods which should be private (#40651)datadogreceiver: UnexportEndpointstruct (#40663)azureeventhubreceiver: Unexport AzureResourceLogsEventUnmarshaler (#40661)kineticaexporter: unexport structs (#40680) | unexport SumScopeAttribute,ExponentialHistogramResourceAttribute,ExponentialHistogramDataPointAttribute, SummaryResourceAttribute,SummaryDataPointAttribute,Summary,HistogramScopeAttribute,HistogramDatapointExplicitBound, Histogram,GaugeScopeAttribute,ExponentialHistogramDataPointExemplarAttribute,ValueTypePair,HistogramDatapointExemplar, GaugeDataPointExemplarAttribute,HistogramDatapointBucketCount,HistogramDataPointAttribute,GaugeDatapointAttribute, ExponentialHistogramDatapoint,ExponentialHistogram,SumResourceAttribute,SumDatapoint,SummaryDatapointQuantileValues, Sum,KiWriter,HistogramResourceAttribute,HistogramDatapoint,GaugeResourceAttribute,GaugeDatapointExemplar, ExponentialHistogramBucketNegativeCount,SumDataPointExemplarAttribute,GaugeDatapoint,Gauge,ExponentialHistogramScopeAttribute, ExponentialHistogramBucketPositiveCount,AttributeValue,SummaryScopeAttribute,SumDatapointExemplar,SumDataPointAttribute, HistogramDataPointExemplarAttribute,ExponentialHistogramDatapointExemplar,SummaryDatapointmysqlreceiver: Unexport TableStats,TableIoWaitsStats,StatementEventStats,ReplicaStatusStats,IoWaitsStats,IndexIoWaitsStats,MySQLTestConfig structs from mysqlreceiver (#40671)sumologicextension: Unexport ErrorAPI (#40655)prometheusremotewritereceiver: Unexport MockConsumer,MetricIdentity structs (#40673)snmpreceiver: Unexport SNMPData (#40543)azuredataexplorerexporter: Unexport Status, Link, AdxTrace, AdxLog, Event, AdxMetric (#40647)bearertokenauthextension: Unexport BearerAuthRoundTripper,PerRPCAuth,BearerTokenAuth (#40652)podmanreceiver: Unexport ContainerScraper (#40672)alibabacloudlogserviceexporter: Unexport KeyValues,KeyValue structs (#40644)libhoneyreceiver: remove unused EnvironmentInfo,AuthInfo,TeamInfo (#40669)
-
hostmetricsreceiver: Skeleton nfsscraper -- adds Linux nfs and nfsd metrics from /proc (#39978) -
sqlserverreceiver: do not export Item struct (#40676) -
transformprocessor: CreateWith*Functionsfactory options to provide custom OTTL functions for logs, metrics or traces to the resulting transform processor. (#39698) -
pkg/datadog: Exposes 'SerializerWithForwarder' interface to allow for direct interaction with the underlying forwarder's lifecycle methods. (#40637) -
pkg/datadog: Createsagentcomponentspackage to be used in Datadog components that rely on external dependencies. (#40532, #40556, #40560) Deprecatesdatadog.Zaploggerin favor ofagentcomponents.ZapLogger. -
pkg/ottl: Add context inference support for OTTL value expressions (#39158) -
pkg/ottl: Add new ContainsValue converter to check whether a value is present in a slice. (#30420) Addottl.PSliceGetter, a typed getter forpcommon.Slice -
postgresqlreceiver: Adopt mdatagen events for postgresqlreceiver. (#40549) -
sqlqueryreceiver: Add SQL connection fieldshost,port,database,username,password, andadditional_params. (#39760) These options can be used instead of the existingdatasourceconfiguration option.
-
prometheusremoteexporter: Delete unused structCreatedMetric(#40266) -
k8slogreceiver: Unexport DockerConfig and CRIConfig (#40274) -
several: Rename fields namedTLSSettingtoTLSfor consistency with the core repository. (#40452) This change affects the following components:- exporter/datadogexporter
- exporter/signalfxexporter
- exporter/syslogexporter
- extension/awsproxy
- extension/oauth2clientauthextension
- extension/opampextension
- processor/resourcedetectionprocessor/internal/openshift
- receiver/awsfirehosereceiver
- receiver/cloudfoundryreceiver
- receiver/prometheusreceiver/targetallocator
-
azureblobexporter: Delete type alias Container (#40268) -
headersetterextension: Unexport Header (#40542) -
intervalprocessor: Unexport Processor (#40273) -
splunkenterprisereceiver: Unexport Info (#40267)
pkg/ottl: Addottl.ValueComparatorAPI to allow comparing values using the OTTL comparison rules (#40370) This change introduces a new API (ottl.NewValueComparator) that allows users to compare raw values using the OTTL comparison rules. It is useful for implementing custom logic in OTTL functions where value comparison and consistency is desired.
pkg/translator/prometheusremotewrite: Fix bug where metric metadata was sent with incorrect metric name if configuration includes 'namespace' (#39826)prometheusexporter: Expose Scope Name, Version, Schema URL, and Attributes as labels. (#40004) This work is done to comply with open-telemetry/opentelemetry-specification#4223.
cloudfoundryreceiver: Unexport EnvelopeStreamFactory and UAATokenProvider (#40270)fluentforwardreceiver: Unexport all structs in fluentforward receiver. (#40108)postgresqlreceiver: Unexport Item (#40265)netflowreceiver: Unexport OtelLogsProducerWrapper (#40269)k8sobserver: Unexport RunningContainer (#40228)receiver/vcenter: unexport struct DatacenterStats (#40109)tcpcheckreceiver: Unexport TCPConnectionState (#40271)wavefrontreceiver: Unexport WavefrontParser struct (#40105)
sqlserverreceiver: Use generated structured event functions in mdatagen (#40041)
pkg/experimentalmetricmetadata: Add missing otel.entity.type field to the delete events (#40279)
fluentforwardreceiver: Unexport AckResponse (#39831)splunkenterprisereceiver: Unexport InfoEntry and InfoContent (#39830)
pkg/winperfcounters: Add methods to scrape raw values from Windows performance counters. (#39835)eventlogreceiver: add raw XML query filtering option (#38517)prometheusremotewriteexporter: Addexporter.prometheusremotewritexporter.enableSendingRW2feature gate and configuration to the exporter to send Prometheus remote write 2.0 version. (#33661) WARNING! PRW 2.0 support for the exporter is still under development and not ready for usage.
-
pkg/ottl: Addottl.WithContextInferenceConditionsoption to allow configuring extra context inferrer OTTL conditions (#39455) -
awss3exporter: add configuration fieldresource_attrs_to_s3/s3_prefixto support mapping s3 bucket prefix to OTel resource attributes (#37858) Ifresource_attrs_to_s3/s3_prefixis configured, s3 prefix will be determined based on the specified resource attribute ands3uploader/s3_prefixwill serve as a fallback. -
pkg/golden: Expose methods to write data to file outside of the scope of a test (#39673) Expose WriteMetricsToFile to write pmetric data to a file outside of the scope of a test. Expose WriteTracesToFile to write ptrace data to a file outside of the scope of a test Expose WriteLogsToFile to write plog data to a file outside of the scope of a test Expose WriteProfilesToFile to write pprofile data to a file outside of the scope of a test -
pkg/ottl: Add PMapGetSetter interface and StandardPMapGetSetter type. (#39657)
resourcedetectionprocessor: change the EKS cluster identifier and check the cluster version instead of the existence of aws-auth configmap (#39479)transformprocessor: Fix the context inferrer to also take into consideration the global OTTL conditions configuration. (#39455)
extension/headerssetter: ChangeDefaultValueto useconfigopaque.Stringtype. (#39127)datadogexporter: Remove deprecated exporter configs. The exporter now uses pkg/datadog/config (#39104) No impact to end userspkg/ottl: Remove experimental transform context optionWithCachefrom all OTTL contexts. (#39338)
pkg/pdatatest: Introduce IgnoreExemplars, IgnoreExemplarSlice and ChangeDatapointAttributeValue to CompareMetricsOption (#39004)
receiver/kubeletstats: support user defined CA path for service account using the configtls optionca_file(#39291)
elasticsearchexporter: Remove deprecated fields [min|max]_size_items from batch config (#38836)kakfaexporter: Disable exposing factory options programmatically on NewFactory. (#38874)kafkareceiver: Disable exposing factory options programmatically on NewFactory. (#38874)stefexporter: Avoid embedding the QueueConfig, avoids potential conflicts (#38887)
prometheusremotewriteexporter: Adds logic to convert from the internal OTEL Metrics unit format to Prometheus unit format and emit unit as part of Prometheus metadata. (#29452)
pkg/ottl: Fix theottl.ParserCollectionto properly infer the OTTL context when using theParseConditionsfunction. (#38755)pkg/pdatatest: Change type of attribute values from string to any. (#39006)telemetrygen: Fixes invalid HistogramDataPoint messages generated by telemetrygen. (#39025) The bucket count and total count are now correct.
-
pkg/ottl: Add support for parsing OTTL conditions to theottl.ParserCollection. (#37904) Theottl.WithParserCollectionContextoption now requires the converters to be configured using theottl.WithStatementConverterandottl.WithConditionConverteroptions. -
datadogconnector: Removedatagodconnector.TracesConfig, usedatadogconfig.TracesConnectorConfiginstead (#38661)
dbstorageextension: Optimize dbstorage.Batch() performance for single-type Operations set call (#38026)bearertokenauthextension: Add the ability to configure multiple bearer tokens for the same endpoint. (#38148)pkg/pdatatest: Add ValidateProfile() function to validate pprofile.Profile. (#38452)receiver/prometheus: Adds the Prometheus API server to more easily debug the Prometheus config, service discovery, and targets. (#32646)pkg/pdatatest: Simplify generating profiles for testing by transforming Go structs to profiles. (#38430)
pkg/stanza: Add methodProcessBatchtoOperatorinterface inpkg/stanza/operatorpackage to support batch processing. (#35455)pkg/stanza: Change signature ofemit.Callbackfunction inpkg/stanza/fileconsumer/emitpackage to emit multiple tokens. (#35455)awscontainerinsightreceiver: Remove high cardinality attributeTimestampfrom metrics generated byawscontainerinsightreceiver(#35861)pkg/ottl: Remove ottl.Option in favor of ottl.Option[ottl.TransformContext] (#38247)
extension/sumologicextension: Sanitize the version before it is used to send data to SumoLogic (#37689)metricstarttimeprocessor: add true_reset_point strategy for setting the start timestamp of cumulative points. (#37186) The implementation is copied from the Prometheus receiver.pkg/datadog: StaticAPIKeyCheck available in pkg/datadog to validate Datadog api is key not empty and no invalid characters (#38223) refactor of existing logic for exportreceiver/statsd: Make all types within the config struct public (#38186) This allows programmatically generating the receiver's config using the module's public types.
testbed: Fix batch interval calculation to avoid possible division by zero (#38084)
s3provider: Delete deprecatedNewfactory function. UseNewFactoryinstead. (#37921)secretsmanagerprovider: Delete deprecatedNewfunction, useNewFactoryinstead (#37923)pkg/stanza: Remove deprecatedflush.WithPeriod. (#37784)pkg/stanza: Remove deprecated func BuildWithSplitFunc from stanza/fileconsumer (#37723)
pkg/stanza: Deprecate all functions in stanza/decode (#37734)
pkg/translator/prometheusremotewrite: add support for metric type sum in FromMetricsV2 (#33661) The public function is partially implemented and not ready for usepkg/datadog: Expose the internal Zaplogger implementation (#37939)dbstorageextension: Add DB Transactions to dbstorage.Batch() method as it is expected by Storage API (#37805)internal/datadog: create new packagegithub.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/hostmetadatawhich exposesGetSourceProviderfromgithub.com/open-telemetry/opentelemetry-collector-contrib/internal/datadog/hostmetadata(#37668)textutil: Remove unnecessary copy while decoding and constructing string (#37734) This PR affects all log receivers, text extension and kafkareceiver.telemetrygen: Exported the API for telemetrygen for test uses. Additionally added new E2E tests and fixed race condition (#36984)tailsamplingprocessor: Add support for external caches when using the Tailsampling Processor in code. (#37035)
metricstarttimeprocessor: Add the initial skeleton for the metricsstarttimeprocessor (#37186) The component is still in development and is not ready for use.
routingconnector: Changematch_onceparameter fromboolto*bool. (#29882) Boolean values should still unmarshal successfully, but direct instantiation in code will fail. The change allows us to check for usage and warn of the upcoming removal in v0.120.0.
pkg/ottl: Enhanced error messages for invalid cache access and introduced options to configure their values within the OTTL contexts. (#29017)pkg/ottl: Add value expression parser that enables components using ottl to retrieve values from the output of an expression (#35621) the expression can be either a literal value, a path value within the context, or the result of a converter and/or a mathematical expression.
pkg/ottl: Change OTTL contexts to properly handleottl.Pathwith context (#29017) The OTTL contexts have a new optionEnablePathContextNamesto enable support for expressing a statement's context via path names in the statement
routingprocessor: Deprecated in favor of the routing connector. (#36616)
pkg/ottl: Add theottl.ParserCollectionutility to help handling parsers for multiple OTTL contexts (#29017) Theottl.ParserCollectiongroups contexts'ottl.Parsers, choosing the suitable one to parse a given statement. It supports context inference using the given statements, and allows prepending the context name to the statements' paths.
pkg/datadog: Refactor the API that provides metrics translator (#36474) This is API change only and does not affect end users
pkg/stanza: Changed signature ofemit.Callbackfunction inpkg/stanza/fileconsumer/emitpackage by introducingemit.Tokenstruct that encapsulates the token's body and attributes. (#36260)
pkg/datadog: Expose an APITranslatorFromConfigthat creates a new metrics translator (#36300) This is only code refactor and has no user-facing impact
testbed:scenarios.createConfigYaml()andutils.CreateConfigYaml()functions now take processor configs as a struct slice argument instead ofmap[string]string. (#33003)- This is to preserve processor order.
ProcessorNameAndConfigBodyis the newly created struct.
- This is to preserve processor order.
receiver/prometheusremotewrite: Implement body unmarshaling for Prometheus Remote Write requests (#35624) Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now.
pkg/translator/jaeger: Remove error from method signature as it always returns nil (#35560)
pkg/status: Refactors the extension/healthcheckv2extension/internal/status into pkg/status (#34692)
pkg/translator/prometheusremotewrite: add FromMetricsV2 (#33661) The public function is partially implemented and not ready for usereceiver/prometheusremotewrite: Add HTTP Server to handler Prometheus Remote Write requests (#35535) Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now.
opampsupervisor: Pass config structure instead of file path when using NewSupervisor function (#34379)
all: TimeoutSettings/QueueSettings fields in various Config structs are no longer embedded (#35158) Structs in which .TimeoutSettings is no longer embedded:- carbonexporter.Config
- googlecloudpubsubreceiver.Config Structs in which .TimeoutSettings and .QueueSettings are no longer embedded:
- alertmanagerexporter.Config
- googlecloudexporter.Config
- googlemanagedprometheusexporter.Config
- otelarrowexporter.Config
datadogexporter: The datadog exporter config has been deprecated in favor of the newdatadog/configpackage. The new package is shared between the Datadog exporter and the Datadog Connector. (#35067) The newdatadog/configpackage is a shared module for Datadog exporter configuration. The module is shared between the Datadog exporter and the Datadog Connector.
-
pkg/datadog: Create a new module for Datadog exporter configuration. (#35067) This change introduces a new module for Datadog exporter configuration. The module is shared between the Datadog exporter and the Datadog Connector. -
kafkaexporter: Add option to supply destination topic through context. (#34503, #34432)
pkg/ottl: Change the OTTL grammar to support expressing statements context via path names (#29017) Theottl.Pathinterface requires a new method:Context() stringprometheusreceiver: Move the TargetAllocator configuration struct to an internal directory (#33146)
pkg/ottl: Add support for localized time parsing into the coreinternal/timeutils (#32977)googlecloudmonitoringreceiver: Enhancing the Google Cloud monitoring receiver to establish a client connection, scrape GCP Cloud Metrics, and transform them into an OpenTelemetry compatible format for pipeline processing. (#33762)- Implements client connection to Google Cloud Monitoring API.
- Scrapes timeseries data based on configured metrics.
- Converts the data into OpenTelemetry format for use in the pipeline.
pkg/stanza/operator/input/windows: Change type name fromEvtRpcLogintoEvtRPCLogin. (#34656)
googlecloudmonitoringreceiver: Adding new component - Google Cloud monitoring receiver to fetch GCP Cloud Metrics and transform to OpenTelemetry compatible format. (#33762)
internal/grpcutil: Add internal/grpcutil package with gRPC-specified timeout parsing (#33688)pmetrictest: Add support for histogram comparison options (#34521)kafkaexporter: add an ability to partition logs based on resource attributes. (#33229)
exporter/clickhouse: Unexport extra configuration methods. (#33647)exporter/clickhouse: Change internal config type forcreate_schemato use aboolinstead of*bool(#33694)pkg/ottl: Changed ScopeContext, InstrumentationResourceContext, TransformContext interfaces to make SchemaURL accessible in resources and scopes on all signals (#30229)
pkg/ottl: Add ByteSliceLikeGetter interface (#31929)
stanza: remove deprecated code (#33519) This change removes:- adapter.LogEmitter, use helper.LogEmitter instead
- adapter.NewLogEmitter, use helper.NewLogEmitter instead
- fileconsumer.Manager's SugaredLogger struct member
- pipeline.DirectedPipeline's SugaredLogger struct member
- testutil.Logger, use zaptest.NewLogger instead
pkg/winperfcounters: It is now possible to force awatcherto re-create the PDH query of a given counter via theReset()function. (#32798)
prometheusreceiver: Allow to configure http client used by target allocator generated scrape targets (#18054)
exp/metrics: fixes staleness.Evict such that it only ever evicts actually stale metrics (#33265)
-
opampextension: Move custom message interfaces to separate package (#32950) MovesCustomCapabilityRegistry,CustomCapabilityHandler, andCustomCapabilityRegisterOptionto a new module. These types can now be found in the newgithub.com/open-telemetry/opentelemetry-collector-contrib/extension/opampcustommessagesmodule. -
pkg/stanza: The internal logger has been changed from zap.SugaredLogger to zap.Logger. (#32177) Functions accepting a SugaredLogger, and fields of type SugaredLogger, have been deprecated.
testbed: Add the use of connectors to the testbed (#30165)
pkg/stanza: Pass TelemetrySettings to the Build method of the Builder interface (#32662, #31256) The reason for this breaking change is to pass in the component.TelemetrySettings so as to use them later in various ways:- be able to report state statistics and telemetry in general
- be able to switch from SugaredLogger to Logger
confmap/provider/s3: Deprecates3provider.Newin favor ofs3provider.NewFactory(#32742)confmap/provider/secretsmanager: Deprecatesecretsmanagerprovider.Newin favor ofsecretsmanagerprovider.NewFactory(#32743)
roundrobinconnector: Add a roundrobin connector, that can help single thread components to scale (#32853)
opampextension: Added support for other components to register custom capabilities and receive custom messages from an opamp extension (#32021)kafkaexporter: add an ability to publish kafka messages with message key based on metric resource attributes - it will allow partitioning metrics in Kafka. (#29433, #30666, #31675)sshcheckreceiver: Add support for running this receiver on Windows (#30650)
prometheusremotewrite: Optimize the prometheusremotewrite.FromMetrics function, based around more performant metric identifier hashing. (#31385)pkg/pdatatest/plogtest: Add an option to ignore log timestamp (#32540)filelogreceiver: Addexclude_older_thanconfiguration setting (#31053)
pkg/sampling: Usability improvements in the sampling API. (#31918)
datadogexporter: Remove config structsLimitedClientConfigandLimitedTLSClientSettings(#31733) This should have no impact to end users as long as they do not import Datadog exporter config structs in their source code.cmd/mdatagen: Delete deprecated cmd/mdatagen from this project. Use go.opentelemetry.io/collector/cmd/mdatagen instead. (#30497)azuremonitorreceiver: Reduce the public API for this receiver. (#24850) This unexports the following types ArmClient, MetricsDefinitionsClientInterface, MetricsValuesClient.general: Update any component usingscraperhelper.ScraperControllerSettingsto usescraperhelper.ControllerConfig(#31816) This changes the config field name fromScraperControllerSettingstoControllerConfigprometheusreceiver: 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. (#30883) See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#configuration-file for details on setting scrape_protocols.
pkg/stanza: Deprecate fileconsumer.BuildWithSplitFunc in favor of Build with options pattern (#31596)
clickhouseexporter: Allow configuringON CLUSTERandENGINEwhen creating database and tables (#24649) Increases table creation flexibility with the ability to add replication for fault toleranceall: Remove explicit checks in all receivers to check if the next consumer is nil (#31793) The nil check is now done by the pipeline builder.
cmd/mdatagen: Use enum for stability levels in the Metadata struct (#31530)httpforwarder: Remove extension named httpforwarder, use httpforwarderextension instead. (#24171)
pkg/stanza: Remove deprecated pkg/stanza/attrs (#30449)httpforwarderextension: Rename the extension httpforwarder to httpforwarderextension (#24171)extension/storage: Thefilestorageanddbstorageextensions are now standalone modules. (#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/filestoragegithub.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/dbstorage
pkg/golden: Added an option to skip the metric timestamp normalization for WriteMetrics. (#30919)healthcheckextension: Remove usage of deprecatedhost.ReportFatalError(#30582)
testbed: Deprecate testbed.GetAvailablePort in favor of testutil.GetAvailablePort (#30811) Move healthcheckextension to use testutil.GetAvailablePort
pkg_sampling: Package of code for parsing OpenTelemetry tracestate probability sampling fields. (#29738)
testbed: Remove unused AWS XRay mock receiver (#30381)docker: Adopt api_version as strings to correct invalid float truncation (#24025)prometheusreceiver: Consolidate Config members and remove the need of placeholders. (#29901)all: Remove obsolete "// +build" directive (#30651)testbed: Expand TestCase capabilities with broken out LoadGenerator interface (#30303)
pkg/stanza: Deprecate pkg/stanza/attrs package in favor of pkg/stanza/fileconsumer/attrs (#30449)
testbed: Adds and adopts new WithEnvVar child process option, moving GOMAXPROCS=2 to initializations (#30491)
carbonexporter: Change Config member names (#29862)carbonreceiver: Hide unnecessary public API (#29895)pkg/ottl: UnexportADD,SUB,MULT,DIV,EQ,NE,LT,LTE,GT, andGTE(#29925)pkg/ottl: ChangePathto be an Interface instead of the grammar struct. (#29897) Affects creators of custom contexts.golden: Use testing.TB for golden.WriteMetrics, golden.WriteTraces and golden.WriteLogs over *testing.T (#30277)
kafkaexporter: add ability to publish kafka messages with message key of TraceID - it will allow partitioning of the kafka Topic. (#12318)kafkaexporter: Adds the ability to configure the Kafka client's Client ID. (#30144)
pkg/ottl: RenameStatementstoStatementSequence. RemoveEvalfunction fromStatementSequence, useConditionSequenceinstead. (#29598)
pkg/ottl: AddConditionSequencefor evaluating lists of conditions (#29339)
clickhouseexporter: ReplaceConfig.QueueSettingsfield withexporterhelper.QueueSettingsand removeQueueSettingsstruct (#27653)kafkareceiver: Do not export the functionWithTracesUnmarshalers,WithMetricsUnmarshalers,WithLogsUnmarshalers(#26304)
datadogreceiver: The datadogreceiver supports the new datadog protocol that is sent by the datadog agent API/v0.2/traces. (#27045)pkg/ottl: Add ability to independently parse OTTL conditions. (#29315)
cassandraexporter: Exist check for keyspace and dynamic timeout (#27633)
carbonreceiver: Do not export function New and pass checkapi. (#26304)collectdreceiver: Move to use confighttp.HTTPServerSettings (#28811)kafkaexporter: Do not export function WithTracesMarshalers, WithMetricsMarshalers, WithLogsMarshalers and pass checkapi (#26304)remoteobserverprocessor: Rename remoteobserverprocessor to remotetapprocessor (#27873)
extension/encoding: Introduce interfaces for encoding extensions. (#28686)exporter/awss3exporter: This feature allows role assumption for s3 exportation. It is especially useful on Kubernetes clusters that are using IAM roles for service accounts (#28674)
pkg/stanza: Deprecate 'flush.WithPeriod'. Use 'flush.WithFunc' instead. (#27843)
exporter/kafka, receiver/kafka, receiver/kafkametrics: Move configuration parts to an internal pkg (#27093)pulsarexporter: Do not export function WithTracesMarshalers, add test for that and pass checkapi (#26304)pulsarreceiver: Do not export the functionsWithLogsUnmarshalers,WithMetricsUnmarshalers,WithTracesUnmarshalers, add tests and pass checkapi. (#26304)
mdatagen: allows adding warning section to resource_attribute configuration (#19174)mdatagen: allow setting empty metric units (#27089)
-
azuremonitorexporter: UnexportAcceptto comply with checkapi (#26304) -
tailsamplingprocessor: UnexportSamplingProcessorMetricViewsto comply with checkapi (#26304) -
awskinesisexporter: Do not export the functionsNewTracesExporter,NewMetricsExporter,NewLogsExporterand pass checkapi. (#26304) -
dynatraceexporter: Rename struct to keep expectedexporter.Factoryand pass checkapi. (#26304) -
ecsobserver: Do not export the functionDefaultConfigand pass checkapi. (#26304) -
f5cloudexporter: Do not export the functionNewFactoryWithTokenSourceGetterand pass checkapi. (#26304) -
fluentforwardreceiver: renameLogsandDetermineNextEventModefunctions and all usage to lowercase to stop exporting method and pass checkapi (#26304) -
groupbyattrsprocessor: Do not export the functionMetricViewsand pass checkapi. (#26304) -
groupbytraceprocessor: Do not export the functionMetricViewsand pass checkapi. (#26304) -
jaegerreceiver: Do not export the functionDefaultServerConfigUDPand pass checkapi. (#26304) -
lokiexporter: Do not export the functionMetricViewsand pass checkapi. (#26304) -
mongodbatlasreceiver: Rename struct to pass checkapi. (#26304) -
mongodbreceiver: Do not export the functionNewClientand pass checkapi. (#26304) -
mysqlreceiver: Do not export the functionQuery(#26304) -
pkg/ottl: Remove support forottlarg. The struct's field order is now the function parameter order. (#25705) -
pkg/stanza: Make trim func composable (#26536)- Adds trim.WithFunc to allow trim funcs to wrap bufio.SplitFuncs.
- Removes trim.Func from split.Config.Func. Use trim.WithFunc instead.
- Removes trim.Func from flush.WithPeriod. Use trim.WithFunc instead.
-
pkg/stanza: Rename syslog and tcp MultilineBuilders (#26631)- Rename syslog.OctetMultiLineBuilder to syslog.OctetSplitFuncBuilder
- Rename tc.MultilineBuilder to tcp.SplitFuncBuilder
-
probabilisticsamplerprocessor: Do not export the functionSamplingProcessorMetricViewsand pass checkapi. (#26304) -
sentryexporter: Do not export the functionsCreateSentryExporterand pass checkapi. (#26304) -
sumologicexporter: Do not export the functionCreateDefaultHTTPClientSettingsand pass checkapi. (#26304)
pkg/ottl: Add support for optional parameters (#20879) The newottl.Optionaltype can now be used in a function'sArgumentsstruct to indicate that a parameter is optional.
-
alibabacloudlogserviceexporter: Do not export the functionNewLogServiceClient(#26304) -
awss3exporter: Do not export the functionNewMarshaler(#26304) -
statsdreceiver: rename and do not export functionNewtonewReceiverto pass checkapi (#26304) -
chronyreceiver: Removes duplicateTimeoutfield. This change has no impact on end users of the component. (#26113) -
dockerstatsreceiver: Removes duplicateTimeoutfield. This change has no impact on end users of the component. (#26114) -
elasticsearchexporter: Do not export the functionDurationAsMicroseconds(#26304) -
jaegerexporter: Do not export the functionMetricViews(#26304) -
k8sobjectsreceiver: Do not export the functionNewTicker(#26304) -
pkg/stanza: Rename 'pkg/stanza/decoder' to 'pkg/stanza/decode' (#26340) -
pkg/stanza: Move tokenize.SplitterConfig.Encoding to fileconsumer.Config.Encoding (#26511) -
pkg/stanza: Remove Flusher from tokenize.SplitterConfig (#26517) Removes the following in favor of flush.WithPeriod - tokenize.DefaultFlushPeriod - tokenize.FlusherConfig - tokenize.NewFlusherConfig -
pkg/stanza: Remove tokenize.SplitterConfig (#26537) -
pkg/stanza: Rename "tokenize" package to "split" (#26540)- Remove 'Multiline' struct
- Remove 'NewMultilineConfig' struct
- Rename 'MultilineConfig' to 'split.Config'
-
pkg/stanza: Extract whitespace trim configuration into trim.Config (#26511)- PreserveLeading and PreserveTrailing removed from tokenize.SplitterConfig.
- PreserveLeadingWhitespaces and PreserveTrailingWhitespaces removed from tcp.BaseConfig and udp.BaseConfig.
oauth2clientauthextension: Enable dynamically reading ClientID and ClientSecret from files (#26117)- Read the client ID and/or secret from a file by specifying the file path to the ClientIDFile (
client_id_file) and ClientSecretFile (client_secret_file) fields respectively. - The file is read every time the client issues a new token. This means that the corresponding value can change dynamically during the execution by modifying the file contents.
- Read the client ID and/or secret from a file by specifying the file path to the ClientIDFile (
-
memcachedreceiver: Removes duplicateTimeoutfield. This change has no impact on end users of the component. (#26084) -
podmanreceiver: Removes duplicateTimeoutfield. This change has no impact on end users of the component. (#26083) -
zookeeperreceiver: Removes duplicateTimeoutfield. This change has no impact on end users of the component. (#26082) -
jaegerreceiver: Deprecate remote_sampling config in the jaeger receiver (#24186) The jaeger receiver will fail to start if remote_sampling config is specified in it. Thereceiver.jaeger.DisableRemoteSamplingfeature gate can be set to let the receiver start and treat remote_sampling config as no-op. In a future version this feature gate will be removed and the receiver will always fail when remote_sampling config is specified. -
pkg/ottl: use IntGetter argument for Substring function (#25852) -
pkg/stanza: Remove deprecated 'helper.Encoding' and 'helper.EncodingConfig.Build' (#25846) -
pkg/stanza: Remove deprecated fileconsumer config structs (#24853) Includes | - MatchingCriteria - OrderingCriteria - NumericSortRule - AlphabeticalSortRule - TimestampSortRule -
googlecloudexporter: remove retry_on_failure from the googlecloud exporter. The exporter itself handles retries, and retrying can cause issues. (#57233)
pkg/stanza: Deprecate 'helper.EncodingConfig' and 'helper.NewEncodingConfig' (#25846)pkg/stanza: Deprecate encoding related elements of helper package, in favor of new decoder package (#26019) Includes the following deprecations | - Decoder - NewDecoder - LookupEncoding - IsNoppkg/stanza: Deprecate tokenization related elements of helper package, in favor of new tokenize package (#25914) Includes the following deprecations | - Flusher - FlusherConfig - NewFlusherConfig - Multiline - MultilineConfig - NewMultilineConfig - NewLineStartSplitFunc - NewLineEndSplitFunc - NewNewlineSplitFunc - Splitter - SplitterConfig - NewSplitterConfig - SplitNone
googlemanagedprometheus: Add aadd_metric_suffixesoption to the googlemanagedprometheus exporter. When set to false, metric suffixes are not added. (#26071)receiver/prometheus: translate units from prometheus to UCUM (#23208)
receiver/influxdb: add allowable inputs to line protocol precision parameter (#24974)
exporter/clickhouse: Change the type ofConfig.Passwordto beconfigopaque.String(#17273)all: Remove go 1.19 support, bump minimum to go 1.20 and add testing for 1.21 (#8207)solacereceiver: Move model package to the internal package (#24890)receiver/statsdreceiver: Move protocol and transport packages to internal (#24892)filterprocessor: UnexportStrictandRegexp(#24845)mdatagen: Rename the mdatagen sum fieldaggregationtoaggregation_temporality(#16374)metricstransformprocessor: Unexport elements of the Go API of the processor (#24846)mezmoexporter: Unexport theMezmoLogLineandMezmoLogBodystructs (#24842)pkg/stanza: Remove deprecated 'fileconsumer.FileAttributes' (#24688)pkg/stanza: Remove deprecated 'fileconsumer.EmitFunc' (#24688)pkg/stanza: Remove deprecatedfileconsumer.Finder(#24688)pkg/stanza: Remove deprecatedfileconsumer.BaseSortRuleandfileconsumer.SortRuleImpl(#24688)pkg/stanza: Remove deprecated 'fileconsumer.Reader' (#24688)
pkg/stanza: Deprecate helper.Encoding and helper.EncodingConfig.Build (#24980)pkg/stanza: Deprecate fileconsumer MatchingCriteria in favor of new matcher package (#24853)
changelog: Generate separate changelogs for end users and package consumers (#24014)splunkhecexporter: Add heartbeat check while startup and new config param, heartbeat/startup (defaults to false). This is different than the healtcheck_startup, as the latter doesn't take token or index into account. (#24411)k8sclusterreceiver: Allows disabling metrics and resource attributes (#24568)cmd/mdatagen: Avoid reusing the same ResourceBuilder instance for multiple ResourceMetrics (#24762)
splunkhecreceiver: aligns success resp body w/ splunk enterprise (#19219) changes resp from plaintext "ok" to json {"text":"success", "code":0}