This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.105.0 and the opentelemetry-collector-contrib v0.105.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) Don't expand environment variables starting with $$ in configuration files. This behavior was introduced
in v0.42.0 to support a bug causing double expansion. $$ is treated as an escape sequence representing a literal
$ character (#5134) - (Core)
service
: addservice.disableOpenCensusBridge
feature gate which is enabled by default to remove the dependency on OpenCensus (#10414) - (Core)
confmap
: Promoteconfmap.strictlyTypedInput
feature gate to beta. (#10552)
This feature gate changes the following:- Configurations relying on the implicit type casting behaviors listed on #9532 will start to fail.
- Configurations using URI expansion (i.e.
field: ${env:ENV}
) for string-typed fields will use the value passed inENV
verbatim without intermediate type casting.
- (Contrib)
stanza
: errors from Operator.Process are returned instead of silently ignored. (#33783)
This public function is affected: https://pkg.go.dev/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza@v0.104.0/operator/helper#WriterOperator.Write - (Contrib)
vcenterreceiver
: Enables various vCenter metrics that were disabled by default until v0.105 (#34022)
The following metrics will be enabled by default "vcenter.host.network.packet.drop.rate",
"vcenter.vm.cpu.readiness", "vcenter.host.cpu.capacity", and "vcenter.host.cpu.reserved".
🚩Deprecations 🚩
- (Splunk) Deprecate usage of bare environment variables and config sources in configuration files (#5153)
- Use
${env:VAR}
or${VAR}
instead of$VAR
. - Use
${uri:selector}
instead of$uri:selector
, e.g.${file:/path/to/file}
instead of$file:/path/to/file
.
- Use
💡 Enhancements 💡
- (Splunk) Auto Discovery for Linux:
- (Splunk) Update bundled OpenJDK to 11.0.24_8 (#5113, #5119)
- (Splunk) Upgrade github.com/hashicorp/vault to v1.17.2 (#5089)
- (Splunk) Upgrade github.com/go-zookeeper/zk to 1.0.4 (#5146)
- (Core)
configtls
: Mark module as stable. (#9377) - (Core)
confmap
: Remove extra closing parenthesis in sub-config error (#10480) - (Core)
configgrpc
: Update the default load balancer strategy to round_robin (#10319)
To restore the behavior that was previously the default, setbalancer_name
topick_first
. - (Core)
otelcol
: Add go module to components subcommand. (#10570) - (Core)
confmap
: Add explanation to errors related toconfmap.strictlyTypedInput
feature gate. (#9532) - (Core)
confmap
: Allow usingmap[string]any
values in string interpolation (#10605) - (Contrib)
pkg/ottl
: Added Hex() converter function (#31929) - (Contrib)
pkg/ottl
: Add IsRootSpan() converter function. (#32918)
ConverterIsRootSpan()
returnstrue
if the span in the corresponding context is root, that means itsparent_span_id
equals to hexadecimal representation of zero. In all other scenarios function returnsfalse
. - (Contrib)
vcenterreceiver
: Adds additional vCenter resource pool metrics and a memory_usage_type attribute for vcenter.resource_pool.memory.usage metric to use. (#33607)
Added "vcenter.resource_pool.memory.swapped", "vcenter.resource_pool.memory.ballooned", and "vcenter.resource_pool.memory.granted"
metrics. Also added an additional attribute, "memory_usage_type" for "vcenter.resource_pool.memory.usage" metric, which is currently under a feature gate. - (Contrib)
kubeletstatsreceiver
: Addk8s.pod.memory.node.utilization
andk8s.container.memory.node.utilization
metrics (#33591) - (Contrib)
vcenterreceiver
: Adds vCenter metrics at the datacenter level. (#33607)
Introduces various datacenter metrics which work by aggregating stats from datastores, clusters, hosts, and VM's. - (Contrib)
processor/resource, processor/attributes
: Add an option to extract value from a client address by specifyingclient.address
value in thefrom_context
field. (#34051) (#33607) - (Contrib)
receiver/azuremonitorreceiver
: Add support for Managed Identity and Default Credential auth (#31268, #33584) - (Contrib)
azuremonitorreceiver
: Addmaximum_number_of_records_per_resource
config parameter in order to overwrite default (#32165) - (Contrib)
cloudfoundryreceiver
: Add support to receive CloudFoundry Logs (#32671) - (Contrib)
cmd/opampsupervisor
: Adds support for forwarding custom messages to/from the agent (#33575) - (Contrib)
splunkhecexporter
: Increase the performance of JSON marshaling (#34011) - (Contrib)
loadbalancingexporter
: Adds a new streamID routingKey, which will route based on the datapoint ID. See updated README for details (#32513) - (Contrib)
dockerobserver
: Add hint to error when using float forapi_version
field (#34043) - (Contrib)
pkg/ottl
: Emit traces for statement sequence executions to troubleshoot OTTL statements/conditions (#33433) - (Contrib)
pkg/stanza
: Bump 'logs.jsonParserArray' and 'logs.assignKeys' feature gates to beta. (#33948)- This enables the feature gates by default to allow use of the
json_array_parser
andassign_keys
operations.
- This enables the feature gates by default to allow use of the
- (Contrib)
receiver/filelog
: Add filelog.container.removeOriginalTimeField feature-flag for removing original time field (#33946) - (Contrib)
statsdreceiver
: Allow configuring summary percentiles (#33701) - (Contrib)
pkg/stanza
: Switch to faster json parser lib for container operator (#33929) - (Contrib)
telemetrygen
: telemetrygen--rate
flag changed from Int64 to Float64 (#33984) - (Contrib)
windowsperfcountersreceiver
:windowsperfcountersreceiver
now appends an index number to additional instance names that share a name. An example of this is when scrapingrocess(*)
counters with multiple running instances of the same executable. (#32319)
NOTES- This change can expose cardinality issues where the counters were previously collapsed under the non-indexed instance name.
- The change mimics Windows Performance Monitor behavior: The first instance name remains unchanged, additional instances are suffixed with
#<N>
whereN=1
and is increased for each duplicate.- e.g. Given 3 powershell instances, this will return
powershell
,powershell#1
andpowershell#2
.
- e.g. Given 3 powershell instances, this will return
🧰 Bug fixes 🧰
- (Splunk) Auto Discovery for Linux:
- (Core)
confmap
: Fixes issue where confmap could not escape$$
whenconfmap.unifyEnvVarExpansion
is enabled. (#10560) - (Core)
otlpreceiver
: Fixes a bug where the otlp receiver's http response was not properly translating grpc error codes to http status codes. (#10574) - (Core)
exporterhelper
: Fix incorrect deduplication of otelcol_exporter_queue_size and otelcol_exporter_queue_capacity metrics if multiple exporters are used. (#10444) - (Core)
service/telemetry
: Add ability to set service.name for spans emitted by the Collector (#10489) - (Core)
internal/localhostgate
: Correctly log info message whencomponent.UseLocalHostAsDefaultHost
is enabled (#8510) - (Contrib)
countconnector
: Updating the stability to reflect that the component is shipped as part of contrib. (#33903) - (Contrib)
httpcheckreceiver
: Updating the stability to reflect that the component is shipped as part of contrib. (#33897) - (Contrib)
probabilisticsamplerprocessor
: Fix bug where log sampling was being reported by the counterotelcol_processor_probabilistic_sampler_count_traces_sampled
(#33874) - (Contrib)
processor/groupbyattrsprocessor
: Fix dropping of metadata fields when processing metrics. (#33419) - (Contrib)
prometheusreceiver
: Fix hash computation to include non exported fields like regex in scrape configuration for TargetAllocator (#29313) - (Contrib)
kafkametricsreceiver
: Fix issue with incorrect consumer offset (#33309) - (Contrib)
sqlserverreceiver
: Enable default metrics to properly trigger SQL Server scrape (#34065) - (Contrib)
syslogreceiver
: Allow to definemax_octets
for octet counting RFC5424 syslog parser (#33182) - (Contrib)
windowsperfcountersreceiver
: Metric definitions with no matching performance counter are no longer included as metrics with zero datapoints in the scrape output. (#4972)