This changelog includes only developer-facing changes. If you are looking for user-facing changes, check out CHANGELOG.md.
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.Callback
function inpkg/stanza/fileconsumer/emit
package by introducingemit.Token
struct that encapsulates the token's body and attributes. (#36260)
pkg/datadog
: Expose an APITranslatorFromConfig
that 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.
ProcessorNameAndConfigBody
is 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/config
package. The new package is shared between the Datadog exporter and the Datadog Connector. (#35067) The newdatadog/config
package 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.Path
interface requires a new method:Context() string
prometheusreceiver
: 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 fromEvtRpcLogin
toEvtRPCLogin
. (#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_schema
to use abool
instead 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 awatcher
to 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
, andCustomCapabilityRegisterOption
to a new module. These types can now be found in the newgithub.com/open-telemetry/opentelemetry-collector-contrib/extension/opampcustommessages
module. -
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.New
in favor ofs3provider.NewFactory
(#32742)confmap/provider/secretsmanager
: Deprecatesecretsmanagerprovider.New
in 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_than
configuration setting (#31053)
pkg/sampling
: Usability improvements in the sampling API. (#31918)
datadogexporter
: Remove config structsLimitedClientConfig
andLimitedTLSClientSettings
(#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.ScraperControllerSettings
to usescraperhelper.ControllerConfig
(#31816) This changes the config field name fromScraperControllerSettings
toControllerConfig
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. (#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 CLUSTER
andENGINE
when 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
: Thefilestorage
anddbstorage
extensions 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/filestorage
github.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
: ChangePath
to 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
: RenameStatements
toStatementSequence
. RemoveEval
function fromStatementSequence
, useConditionSequence
instead. (#29598)
pkg/ottl
: AddConditionSequence
for evaluating lists of conditions (#29339)
clickhouseexporter
: ReplaceConfig.QueueSettings
field withexporterhelper.QueueSettings
and removeQueueSettings
struct (#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
: UnexportAccept
to comply with checkapi (#26304) -
tailsamplingprocessor
: UnexportSamplingProcessorMetricViews
to comply with checkapi (#26304) -
awskinesisexporter
: Do not export the functionsNewTracesExporter
,NewMetricsExporter
,NewLogsExporter
and pass checkapi. (#26304) -
dynatraceexporter
: Rename struct to keep expectedexporter.Factory
and pass checkapi. (#26304) -
ecsobserver
: Do not export the functionDefaultConfig
and pass checkapi. (#26304) -
f5cloudexporter
: Do not export the functionNewFactoryWithTokenSourceGetter
and pass checkapi. (#26304) -
fluentforwardreceiver
: renameLogs
andDetermineNextEventMode
functions and all usage to lowercase to stop exporting method and pass checkapi (#26304) -
groupbyattrsprocessor
: Do not export the functionMetricViews
and pass checkapi. (#26304) -
groupbytraceprocessor
: Do not export the functionMetricViews
and pass checkapi. (#26304) -
jaegerreceiver
: Do not export the functionDefaultServerConfigUDP
and pass checkapi. (#26304) -
lokiexporter
: Do not export the functionMetricViews
and pass checkapi. (#26304) -
mongodbatlasreceiver
: Rename struct to pass checkapi. (#26304) -
mongodbreceiver
: Do not export the functionNewClient
and 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 functionSamplingProcessorMetricViews
and pass checkapi. (#26304) -
sentryexporter
: Do not export the functionsCreateSentryExporter
and pass checkapi. (#26304) -
sumologicexporter
: Do not export the functionCreateDefaultHTTPClientSettings
and pass checkapi. (#26304)
pkg/ottl
: Add support for optional parameters (#20879) The newottl.Optional
type can now be used in a function'sArguments
struct 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 functionNew
tonewReceiver
to pass checkapi (#26304) -
chronyreceiver
: Removes duplicateTimeout
field. This change has no impact on end users of the component. (#26113) -
dockerstatsreceiver
: Removes duplicateTimeout
field. 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 duplicateTimeout
field. This change has no impact on end users of the component. (#26084) -
podmanreceiver
: Removes duplicateTimeout
field. This change has no impact on end users of the component. (#26083) -
zookeeperreceiver
: Removes duplicateTimeout
field. 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.DisableRemoteSampling
feature 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 pacakge, in favor of new decoder package (#26019) Includes the following deprecations | - Decoder - NewDecoder - LookupEncoding - IsNoppkg/stanza
: Deprecate tokenization related elements of helper pacakge, 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_suffixes
option 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.Password
to 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
: UnexportStrict
andRegexp
(#24845)mdatagen
: Rename the mdatagen sum fieldaggregation
toaggregation_temporality
(#16374)metricstransformprocessor
: Unexport elements of the Go API of the processor (#24846)mezmoexporter
: Unexport theMezmoLogLine
andMezmoLogBody
structs (#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.BaseSortRule
andfileconsumer.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}