The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End users facing changes
🛑 Breaking changes 🛑
jaegerexporter, jaegerthrifthttpexporter
: Removing deprecated jaeger and jaegerthrifthttp exporters (#26546)
This follows the deprecation plan to remove the component. The original removal date was July 2023, it is now past that.receiver/nginx
: Bump 'nginx.connections_current' gate to stable (#27024)
💡 Enhancements 💡
-
processor/tailsampling
: Allow sub-second decision wait time (#26354) -
processor/resourcedetection
: Added support for host's cpuinfo attributes. (#26532)
In Linux and Darwin all fields are populated. In Windows only family, vendor.id and model.name are populated. -
pkg/stanza
: Add 'omit_pattern' setting tosplit.Config
. (#26381)
This can be used omit the start or end pattern from a log entry. -
skywaklingreceiver
: implement receiver for JVM metrics in Skywalking and adapted it to the OpenTelemetry protocol. (#20315) -
statsdreceiver
: Add TCP support to statsdreceiver (#23327) -
azuredataexplorerexporter
: Added an optional column in the exported trace data to store the status code and message as a dynamic field. (#26496) -
statsdreceiver
: Allow for empty tag sets (#27011) -
pkg/ottl
: Update contexts to set and get time.Time (#22010) -
pkg/ottl
: Add a Now() function to ottl that returns the current system time (#27038, #26507) -
filelogreceiver
: Log the globbing IO errors (#23768) -
exporter/loadbalancing
: Allow metrics routing (#25858) -
pkg/ottl
: Allow named arguments in function invocations (#20879)
Arguments can now be specified by a snake-cased version of their name in the function's
Arguments
struct. Named arguments can be specified in any order, but must be specified
after arguments without a name. -
pkg/ottl
: Add newTruncateTime
function to help with manipulation of timestamps (#26696) -
pkg/stanza
: Add 'overwrite_text' option to severity parser. (#26671)
Allows the user to overwrite the text of the severity parser with the official string representation of the severity level. -
prometheusreceiver
: add a new flag, enable_protobuf_negotiation, which enables protobuf negotiation when scraping prometheus clients (#27027) -
redisreceiver
: Addedredis.cmd.latency
metric. (#6942) -
processor/resourcedetectionprocessor
: add k8snode detector to provide node metadata; currently the detector providesk8d.node.uid
(#26538) -
routingconnector
: Change routingconnector stability to alpha (#26495) -
supported platforms
: Addlinux/s390x
architecture to cross build tests in CI (#25138) -
telemetrygen
: Move the telemetrygen tool to use gRPC logging at warn level, in line with otlpgrpc. (#26659) -
splunkentreceiver
: adding component logic to splunkenterprise receiver (#12667) -
splunkhecreceiver
: Update splunk hec receiver to extract time query parameter if it is provided (#27006) -
cmd/telemetrygen
: Add CLI option for selecting different metric types (#26667) -
cloudflarereceiver
: Make TLS config optional for cloudflarereceiver (#26562) -
receiver/awscontainerinsightsreceiver
: Remove the need to set an env var in the receiver to get CPU and memory info (#24777) -
awsxrayexporter
: Changeexporter.awsxray.skiptimestampvalidation
feature gate from Alpha to Beta (#26553) -
processor/k8sattributes
: allow metadata extractions to be set to empty list (#14452)
🧰 Bug fixes 🧰
processor/tailsampling
: Prevent the tail-sampling processor from accepting duplicate policy names (#27016)awsemfexporter
: AWS EMF Exporter will not drop any metrics that contain NaN values to avoid JSON marshal errors. (#26267)k8sclusterreceiver
: Change k8s.deployment.available and k8s.deployment.desired metric units to {pod} (#10553)awsxrayexporter
: Restore the AWS X-Ray metadata structure when exporting. (#23610)telemetrygen
: remove need for JSON unmarshalling of trace status codes and unsupport mixed case input (#25906)haproxyreceiver
: Remove unused resource attributes. (#24920)k8sclusterreceiver
: Change k8scluster receiver metric units to follow otel semantic conventions (#10553)pkg/stanza
: Fix bug where force_flush_period not applied (#26691)filelogreceiver
: Fix issue where truncated file could be read incorrectly. (#27037)receiver/hostmetricsreceiver
: Make sure the process scraper uses the gopsutil context, respecting theroot_path
configuration. (#24777)
This regression was introduced by #24777k8sclusterreceiver
: change k8s.container.restarts unit from 1 to {restart} (#10553)
API changes
🛑 Breaking changes 🛑
-
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)
💡 Enhancements 💡
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.