Releases: signalfx/splunk-otel-collector
v0.96.1
v0.96.1
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.96.0 and the opentelemetry-collector-contrib v0.96.0 releases where appropriate.
🚀 New components 🚀
- (Splunk) Add the
cumulativetodelta
processor (#4401)
🛑 Breaking changes 🛑
- (Splunk)
databricksreceiver
: Removedatabricks
receiver, as it will be rebuilt upstream (#4415) - (Core)
configgrpc
: Remove deprecatedGRPCClientSettings
,GRPCServerSettings
, andServerConfig.ToListenerContext
. (#9616) - (Core)
confighttp
: Remove deprecatedHTTPClientSettings
,NewDefaultHTTPClientSettings
, andCORSSettings
. (#9625) - (Core)
confignet
: Removes deprecatedNetAddr
andTCPAddr
(#9614) - (Contrib)
spanmetricsprocessor
: Remove spanmetrics processor (#29567)- You can use the spanmetrics connector as a replacement
- (Contrib)
httpforwarder
: Remove extension named httpforwarder, use httpforwarderextension instead. (#24171) - (Contrib)
k8sclusterreceiver
: Remove deprecated k8s.kubeproxy.version resource attribute (#29748)
💡 Enhancements 💡
- (Splunk) Bump github.com/prometheus/common from 0.46.0 to 0.49.0 (#4353)
- (Splunk) Bumps aquasecurity/trivy-action from 0.17.0 to 0.18.0 (#4382)
- (Splunk) Update splunk-otel-javaagent to latest (#4402)
- (Splunk) Add X-SF-Token header to the configuration masked keys (#4403)
- (Splunk) Bump setuptools in /internal/signalfx-agent/bundle/script(#4330)
- (Splunk) Rocky Linux installation support (#4398)
- (Splunk) Add a test to check what we choose to redact (#4406)
- (Splunk) Fixed high alert vulnerabity (#4407)
- (Splunk) Update pgproto to 2.3.3 (#4409)
- (Core)
configtls
: Addinclude_system_ca_certs_pool
to configtls, allowing to load system certs and additional custom certs. (#7774) - (Core)
otelcol
: AddConfigProviderSettings
toCollectorSettings
(#4759)
This allows passing a custom list ofconfmap.Provider
s tootelcol.NewCommand
. - (Core)
pdata
: Update to OTLP v1.1.0 (#9587)
Introduces Span and SpanLink flags. - (Core)
confmap
: Update mapstructure to use a maintained fork, github.com/go-viper/mapstructure/v2. (#9634)
See mitchellh/mapstructure#349 for context. - (Contrib)
statsdreceiver
: Add support for the latest version of DogStatsD protocol (v1.3) (#31295) - (Contrib)
fileexporter
: Scope the behavior of the fileexporter to its lifecycle, so it is safe to shut it down or restart it. (#27489) - (Contrib)
processor/resourcedetection
: Addprocessor.resourcedetection.hostCPUSteppingAsString
feature gate to change the type ofhost.cpu.stepping
fromint
tostring
. (#31136)
This feature gate will graduate to beta in the next release. - (Contrib)
routingconnector
: a warning is logged if there are two or more routing items with the same routing statement (#30663) - (Contrib)
pkg/ottl
: Add new IsInt function to facilitate type checking. (#27894) - (Contrib)
cmd/mdatagen
: Make lifecycle tests generated by default (#31532) - (Contrib)
pkg/stanza
: Improve timestamp parsing documentation (#31490) - (Contrib)
postgresqlreceiver
: Addreceiver.postgresql.connectionPool
feature gate to reuse database connections (#30831)
The default implementation recreates and closes connections on each scrape per database configured/discovered.
This change offers a feature gated alternative to keep connections open. Also, it exposes connection configuration to control the behavior of the pool. - (Core)
configretry
: Allow max_elapsed_time to be set to 0 for indefinite retries (#9641) - (Core)
client
: MakeMetadata.Get
thread safe (#9595) - (Contrib)
carbonreceiver
: Accept carbon metrics with float timestamps (#31312) - (Contrib)
journaldreceiver
: Fix bug where failed startup could bury error message due to panic during shutdown (#31476) - (Contrib)
loadbalancingexporter
: Fixes a bug where the endpoint become required, despite not being used by the load balancing exporter. (#31371) - (Contrib)
oracledbreceiver
: Use metadata.Type for the scraper id to avoid invalid scraper IDs. (#31457) - (Contrib)
filelogreceiver
: Fix bug where delete_after_read would cause panic (#31383) - (Contrib)
receiver/filelog
: Fix issue where file fingerprint could be corrupted while reading. (#22936)
New Contributors
- @dmitrykruglov made their first contribution in #4401
- @yaleman made their first contribution in #4357
Full Changelog: v0.95.0...v0.96.1
v0.96.0
Please use v0.96.1.
v0.95.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.95.0 and the opentelemetry-collector-contrib v0.95.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk/Core/Contrib) Bump minimum version to go 1.21 (#4390)
- (Core)
all
: scope name for all generated Meter/Tracer funcs now includes full package name (#9494) - (Contrib)
receiver/mongodb
: Bump receiver.mongodb.removeDatabaseAttr feature gate to beta (#31212) - (Contrib)
extension/filestorage
: Thefilestorage
extension is now a standalone module. (#31040)
💡 Enhancements 💡
- (Splunk) MSI defaults to per machine install to avoid issues when different administrators install and update the collector on the same Windows machine (#4352)
- (Core)
confighttp
: Adds support for Snappy decompression of HTTP requests. (#7632) - (Core)
configretry
: Validatemax_elapsed_time
, ensure it is larger thanmax_interval
andinitial_interval
respectively. (#9489) - (Core)
configopaque
: Mark module as stable (#9167) - (Core)
otlphttpexporter
: Add support for json content encoding when exporting telemetry (#6945) - (Core)
confmap/converter/expandconverter, confmap/provider/envprovider, confmap/provider/fileprovider, confmap/provider/httprovider, confmap/provider/httpsprovider, confmap/provider/yamlprovider
: Split confmap.Converter and confmap.Provider implementation packages out of confmap. (#4759, #9460) - (Contrib)
hostmetricsreceiver
: Add a new optional resource attributeprocess.cgroup
to theprocess
scraper of thehostmetrics
receiver. (#29282) - (Contrib)
awss3exporter
: Add a marshaler that stores the body of log records in s3. (#30318) - (Contrib)
pkg/ottl
: Adds a new ParseCSV converter that can be used to parse CSV strings. (#30921) - (Contrib)
loadbalancingexporter
: Add benchmarks for Metrics and Traces (#30915) - (Contrib)
pkg/ottl
: Add support to specify the format for a replacement string (#27820) - (Contrib)
pkg/ottl
: AddParseKeyValue
function for parsing key value pairs from a target string (#30998) - (Contrib)
receivercreator
: Remove use ofReportFatalError
(#30596) - (Contrib)
processor/tail_sampling
: Add metrics that measure the number of sampled spans and the number of spans that are dropped due to sampling decisions. (#30482) - (Contrib)
exporter/signalfx
: Send histograms in otlp format with new configsend_otlp_histograms
option (#26298) - (Contrib)
receiver/signalfx
: Accept otlp protobuf requests when content-type is "application/x-protobuf;format=otlp" (#26298) - (Contrib)
signalfxreceiver
: Remove deprecated use ofhost.ReportFatalError
(#30598)
🧰 Bug fixes 🧰
- (Contrib)
pkg/stanza
: Add 'allow_skip_pri_header' flag to syslog setting. (#30397)
Allow parsing syslog records without PRI header. Currently pri header is beng enforced although it's not mandatory by the RFC standard. Since influxdata/go-syslog is not maintained we had to switch to haimrubinstein/go-syslog. - (Contrib)
extension/storage
: Ensure fsync is turned on after compaction (#20266) - (Contrib)
logstransformprocessor
: Fix potential panic on shutdown due to incorrect shutdown order (#31139) - (Contrib)
receiver/prometheusreceiver
: prometheusreceiver fix translation of metrics with _created suffix (#30309) - (Contrib)
pkg/stanza
: Fixed a bug in the keyvalue_parser where quoted values could be split if they contained a delimited. (#31034)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.95.0-amd64
(digest:sha256:f465f4c173a5f4c684429a0c3118ce5765d1f2271ba5d37eb9a25c10be7f0f6f
)quay.io/signalfx/splunk-otel-collector:0.95.0-arm64
(digest:sha256:9d6389327f2209b362b40f165d6ded6bdf6a517245bb17b22d984cc5b81e1cb7
)quay.io/signalfx/splunk-otel-collector:0.95.0-ppc64le
(digest:sha256:03f52ed265158b3e4c250f474f59bbcd4c9c17e1393f4c4dcb0877a32a8709a1
)quay.io/signalfx/splunk-otel-collector-windows:0.95.0
(digest:sha256:40f49888280c1ff8536f5eba4c34cc05546563400776b13235db73f27fc50dc5
)quay.io/signalfx/splunk-otel-collector-windows:0.95.0-2019
(digest:sha256:364cd18a62bd6ab090bd6eb4748d24b1172e7bdfd0b8e1d21f9b06a9f054860d
)quay.io/signalfx/splunk-otel-collector-windows:0.95.0-2022
(digest:sha256:47cfb6a2ece9de5db4e6df9f09721c9b9a1bb05ebe28b50253bad15b2c046f7a
)
v0.94.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.94.1 and the opentelemetry-collector-contrib v0.94.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) The Splunk OpenTelemetry Collector Windows install script
now installs the Splunk Distribution of OpenTelemetry .NET
instead of the SignalFx Instrumentation for .NET
when the parameter-with_dotnet_instrumentation
is set to$true
(#4343) - (Core)
receiver/otlp
: Update gRPC code fromcodes.InvalidArgument
tocodes.Internal
when a permanent error doesn't contain a gRPC status (#9415) - (Contrib)
kafkareceiver
: standardizes the default topic name for metrics and logs receivers to the same topic name as the metrics and logs exporters of the kafkaexporter (#27292)
If you are using the Kafka receiver in a logs and/or a metrics pipeline
and you are not customizing the name of the topic to read from with thetopic
property,
the receiver will now read fromotlp_logs
orotlp_metrics
topic instead ofotlp_spans
topic.
To maintain previous behavior, set thetopic
property tootlp_spans
. - (Contrib)
pkg/stanza
: Entries are no longer logged during error conditions. (#26670)
This change is being made to ensure sensitive information contained in logs are never logged inadvertently.
This change is a breaking change because it may change user expectations. However, it should require
no action on the part of the user unless they are relying on logs from a few specific error cases. - (Contrib)
pkg/stanza
: Invert recombine operator's 'overwrite_with' default value. (#30783)
Previously, the default value wasoldest
, meaning that the recombine operator should emit the
first entry from each batch (with the recombined field). However, the actual behavior was inverted.
This fixes the bug but also inverts the default setting so as to effectively cancel out the bug fix
for users who were not using this setting. For users who were explicitly settingoverwrite_with
,
this corrects the intended behavior.
🚩 Deprecations 🚩
- (Core)
configgrpc
: Deprecate GRPCClientSettings, use ClientConfig instead (#6767)
💡 Enhancements 💡
- (Splunk) Add a resource attribute to internal metrics to track discovery usage (#4323)
- (Splunk) Create a multi-architecture Windows docker image for the collector (#4296)
- (Splunk) Bump
splunk-otel-javaagent
tov1.30.2
(#4300) - (Core)
mdatagen
: Add a generated test that checks the config struct usingcomponenttest.CheckConfigStruct
(#9438) - (Core)
component
: Addcomponent.UseLocalHostAsDefaultHost
feature gate that changes default endpoints from 0.0.0.0 to localhost (#8510)
The only component in this repository affected by this is the OTLP receiver. - (Core)
confighttp
: Add support of Host header (#9395) - (Core)
mdatagen
: Remove use of ReportFatalError in generated tests (#9439) - (Contrib)
receiver/journald
: add a new config option "all" that turns on full output from journalctl, including lines that are too long. (#30920) - (Contrib)
pkg/stanza
: Add support in a header configuration for json array parser. (#30321) - (Contrib)
awss3exporter
: Add the ability to export trace/log/metrics in OTLP ProtoBuf format. (#30682) - (Contrib)
dockerobserver
: Upgrading Docker API version default from 1.22 to 1.24 (#30900) - (Contrib)
filterprocessor
: move metrics from OpenCensus to OpenTelemetry (#30736) - (Contrib)
groupbyattrsprocessor
: move metrics from OpenCensus to OpenTelemetry (#30763) - (Contrib)
loadbalancingexporter
: Optimize metrics and traces export (#30141) - (Contrib)
all
: Addcomponent.UseLocalHostAsDefaultHost
feature gate that changes default endpoints from 0.0.0.0 to localhost (#30702)
This change affects the following components:- extension/health_check
- receiver/jaeger
- receiver/sapm
- receiver/signalfx
- receiver/splunk_hec
- receiver/zipkin
- (Contrib)
processor/resourcedetectionprocessor
: Detect Azure cluster name from IMDS metadata (#26794) - (Contrib)
processor/transform
: Addcopy_metric
function to allow duplicating a metric (#30846)
🧰 Bug fixes 🧰
- (Splunk) Fixes the value of a default environment variable used by Windows msi. (#4361)
- (Core)
service
: fix opencensus bridge configuration in periodic readers (#9361) - (Core)
otlpreceiver
: Fix goroutine leak when GRPC server is started but HTTP server is unsuccessful (#9165) - (Core)
otlpexporter
: PartialSuccess is treated as success, logged as warning. (#9243) - (Contrib)
basicauthextension
: Accept empty usernames. (#30470)
Per https://datatracker.ietf.org/doc/html/rfc2617#section-2, username and password may be empty strings ("").
The validation used to enforce that usernames cannot be empty. - (Contrib)
pkg/ottl
: Fix parsing of string escapes in OTTL (#23238) - (Contrib)
pkg/stanza
: Recombine operator should always recombine partial logs (#30797)
Previously, certain circumstances could result in partial logs being emitted without any
recombiniation. This could occur when usingis_first_entry
, if the first partial log from
a source was emitted before a matching "start of log" indicator was found. This could also
occur when the collector was shutting down. - (Contrib)
pkg/stanza
: Fix bug where recombine operator's 'overwrite_with' condition was inverted. (#30783) - (Contrib)
exporter/signalfx
: Use "unknown" value for the environment correlation calls as fallback. (#31052)
This fixed the APM/IM correlation in the Splunk Observability UI for the users that send traces with no "deployment.environment" resource attribute value set.
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.94.0-amd64
(digest:sha256:6d89f4d866af70e3d83880b355c8c3a3cac0c9bdabaf3ea9312250cf7c917649
)quay.io/signalfx/splunk-otel-collector:0.94.0-arm64
(digest:sha256:15a090e07e61ec752471088e6db65f74540870c2942d162ecb866619fd7f9170
)quay.io/signalfx/splunk-otel-collector:0.94.0-ppc64le
(digest:sha256:2e640ccd1e46b9e707de7e991073baf1376ea8b2b869ec75bec0045a08018dab
)quay.io/signalfx/splunk-otel-collector-windows:0.94.0
(digest:sha256:fd2683b996d6a0a79378576a705b0edc0a326df32c12cad87615307adf128a31
)quay.io/signalfx/splunk-otel-collector-windows:0.94.0-2019
(digest:sha256:dec27aad01f6991e0535c37555682ae697827af2461fd14c09bd5e3cc7184efd
)quay.io/signalfx/splunk-otel-collector-windows:0.94.0-2022
(digest:sha256:9b8cee1d6ba55bcbec2b280d1f23d6a69b556298d945618e62bca7e2fea6d22f
)
v0.93.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.93.0 and the opentelemetry-collector-contrib v0.93.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) On Windows the
SPLUNK_*
environment variables were moved from the machine scope to the collector service scope This avoids collisions with other agents and instrumentation. If any of these environment variables are required by your apps, please adopt them directly. (#3930) - (Splunk)
mysql
discovery now uses the OpenTelemetry Collector Contrib receiver by default instead of the smartagent receiver. (#4231) - (Splunk) Stop sending internal Collector metrics from the batch processor. Drop them at the prometheus receiver level. (#4273)
- (Core) exporterhelper: remove deprecated exporterhelper.RetrySettings and exporterhelper.NewDefaultRetrySettings (#9256)
- (Contrib)
vcenterreceiver
: "receiver.vcenter.emitPerfMetricsWithObjects" feature gate is beta and enabled by default (#30615) - (Contrib)
docker
: Adopt api_version as strings to correct invalid float truncation (#24025) - (Contrib)
extension/filestorage
: Replace path-unsafe characters in component names (#3148)
The feature gateextension.filestorage.replaceUnsafeCharacters
is now enabled by default.
See the File Storage extension's README for details. - (Contrib)
postgresqlreceiver
: add feature gatereceiver.postgresql.separateSchemaAttr
to include schema as separate attribute (#29559)
Enabling the featuregate adds a new resource attribute to store the schema of the table or index
Existing table attributes are adjusted to not include the schema, which was inconsistently used
💡 Enhancements 💡
- (Splunk) Update opentelemetry-jmx-metrics version to 1.32.0 (#4201)
- (Core)
configtls
: addcipher_suites
to configtls. (#8105)
Users can specify a list of cipher suites to pick from. If left blank, a safe default list is used. - (Core)
service
: marktelemetry.useOtelForInternalMetrics
as stable (#816)
(Splunk) Remove disabledtelemetry.useOtelForInternalMetrics
feature gate from our distribution. Some new internal metrics are now dropped at scrape time. - (Core)
exporters
: Cleanup log messages for export failures (#9219)- Ensure an error message is logged every time and only once when data is dropped/rejected due to export failure.
- Update the wording. Specifically, don't use "dropped" term when an error is reported back to the pipeline.
Keep the "dropped" wording for failures happened after the enabled queue. - Properly report any error reported by a queue. For example, a persistent storage error must be reported as a storage error, not as "queue overflow".
- (Contrib)
pkg/stanza
: Add a json array parser operator and an assign keys transformer. (#30321)
Json array parser opreator can be used to parse a json array string input into a list of objects. |
Assign keys transformer can be used to assigns keys from the configuration to an input list - (Contrib)
splunkhecexporter
: Batch data according to access token and index, if present. (#30404) - (Contrib)
k8sattributesprocessor
: Apply lifecycle tests to k8sprocessor, change its behavior to report fatal error (#30387) - (Contrib)
k8sclusterreceiver
: add new disabled os.description, k8s.container_runtime.version resource attributes (#30342) - (Contrib)
k8sclusterreceiver
: add os.type resource attribute (#30342) - (Contrib)
kubeletstatsreceiver
: Add new*.cpu.usage
metrics. (#25901) - (Contrib)
pkg/ottl
: Addflatten
function for flattening maps (#30455) - (Contrib)
redisreciever
: adds metric for slave_repl_offset (#6942)
also adds a shell script to set up docker-compose integration test - (Contrib)
receiver/sqlquery
: Add debug log when running SQL query (#29672)
🧰 Bug fixes 🧰
- (Core)
otlpreceiver
: Ensure OTLP receiver handles consume errors correctly (#4335)
Make sure OTLP receiver returns correct status code and follows the receiver contract (gRPC) - (Core)
zpagesextension
: Remove mention of rpcz page from zpages extension (#9328) - (Contrib)
kafkareceiver
: The Kafka receiver now exports some partition-specific metrics per-partition, with apartition
tag (#30177)
The following metrics now render per partition:- kafka_receiver_messages
- kafka_receiver_current_offset
- kafka_receiver_offset_lag
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.93.0-amd64
(digest:sha256:c2237acb476ce38263b4709326d9f9f3859d0f32de9ef8c5fde5bf6017ef8b39
)quay.io/signalfx/splunk-otel-collector:0.93.0-arm64
(digest:sha256:52edfef95657a1058487456d8e5fe3fe9298fd65806b2c89b80ee1375c406f75
)quay.io/signalfx/splunk-otel-collector:0.93.0-ppc64le
(digest:sha256:8ee5a2979c84792aab5c9ea484e188f1614d9dd89fd0b3baa6c410200be72917
)quay.io/signalfx/splunk-otel-collector-windows:0.93.0
(digest:sha256:77f91c139ca080d61253816e5929c4b88fe0ade88d51567481473cba56414900
)quay.io/signalfx/splunk-otel-collector-windows:0.93.0-2022
(digest:sha256:c0e5c0870c199ec5f1c4b71aee61507abd67f9acd5defe3dad2511e78404ffa8
)
v0.92.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.92.0 and the opentelemetry-collector-contrib v0.92.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Contrib)
httpforwarder
: Use confighttp.HTTPDefaultClientSettings when configuring the HTTPClientSettings for the httpforwarder extension. (#6641)
By default, the HTTP forwarder extension will now use the defaults set in the extension:- The idle connection timeout is set to 90s.
- The max idle connection count is set to 100.
- (Contrib)
pkg/ottl
: Now validates against extraneous path segments that a context does not know how to use. (#30042) - (Contrib)
pkg/ottl
: Throw an error if keys are used on a path that does not allow them. (#30162) - (Core)
exporters/sending_queue
: Do not re-enqueue failed batches, rely on the retry_on_failure strategy instead. (#8382)
The current re-enqueuing behavior is not obvious and cannot be configured. It takes place only for persistent queue
and only ifretry_on_failure::enabled=true
even ifretry_on_failure
is a setting for a different backoff retry
strategy. This change removes the re-enqueuing behavior. Consider increasingretry_on_failure::max_elapsed_time
to reduce chances of data loss or set it to 0 to keep retrying until requests succeed. - (Core)
confmap
: Make the optionWithErrorUnused
enabled by default when unmarshaling configuration (#7102)
The optionWithErrorUnused
is now enabled by default, and a new optionWithIgnoreUnused
is introduced to ignore
errors about unused fields.
🚩 Deprecations 🚩
- (Contrib)
k8sclusterreceiver
: deprecate optional k8s.kubeproxy.version resource attribute (#29748) - (Core)
exporterhelper
: Deprecate exporterhelper.RetrySettings in favor of configretry.BackOffConfig (#9091) - (Core)
extension/ballast
: Deprecatememory_ballast
extension. (#8343)
UseGOMEMLIMIT
environment variable instead.
💡 Enhancements 💡
- (Splunk) support core service validate command (#4175)
- (Splunk) Add routing connector to Splunk distribution (#4167)
- (Contrib) adopt splunkhec batch by token and index updates (#4151)
- (Contrib)
vcenterreceiver
: Add explicit statement of support for version 8 of ESXi and vCenter (#30274) - (Contrib)
routingconnector
: routingconnector supports matching the statement only once (#26353) - (Contrib)
filterprocessor
: Add telemetry for metrics, logs, and spans that were intentionally dropped via filterprocessor. (#13169) - (Contrib)
pkg/ottl
: Add Hour OTTL Converter (#29468) - (Contrib)
kafkaexporter
: add ability to publish kafka messages with message key of TraceID - it will allow partitioning of the kafka Topic. (#12318) - (Contrib)
kafkareceiver
: Add three new metrics to record unmarshal errors. (#29302) - (Contrib)
hostmetricsreceiver
: Addsystem.memory.limit
metric reporting the total memory available. (#30306)
This metric is opt-in. To enable it, setscrapers::memory::metrics::system.memory.limit::enabled
totrue
in the hostmetrics config. - (Contrib)
kafkaexporter
: Adds the ability to configure the Kafka client's Client ID. (#30144) - (Contrib)
pkg/stanza
: Remove sampling policy from logger (#23801) - (Contrib)
resourcedetectionprocessor
: Add "aws.ecs.task.id" attribute (#8274)
Resourcedetectionprocessor now exports "aws.ecs.task.id" attribute, in addition to "aws.ecs.task.arn".
This allows exporters like "awsemfexporter" to automatically pick up that attribute and make it available
in templating (e.g. to use in CloudWatch log stream name). - (Contrib)
spanmetricsconnector
: Fix OOM issue for spanmetrics by limiting the number of exemplars that can be added to a unique dimension set (#27451) - (Contrib)
connector/spanmetrics
: Configurable resource metrics key attributes, filter the resource attributes used to create the resource metrics key. (#29711)
This enhancement can be used to fix broken spanmetrics counters after a span producing service restart, when resource attributes contain dynamic/ephemeral values (e.g. process id). - (Contrib)
splunkhecreceiver
: Returns json response in raw endpoint when it is successful (#29875) - (Contrib)
sqlqueryreceiver
: Swap MS SQL Server driver from legacy 'denisenkom' to official Microsoft fork (#27200) - (Core)
exporterhelper
: Add RetrySettings validation function (#9089)
Validate that time.Duration, multiplier values in configretry are non-negative, and randomization_factor is between 0 and 1 - (Core)
service
: Enabletelemetry.useOtelForInternalMetrics
by updating the flag to beta (#7454)
The metrics generated should be consistent with the metrics generated
previously with OpenCensus. Splunk note: this option is disabled in our distribution. Users can enable the behaviour
by setting--feature-gates +telemetry.useOtelForInternalMetrics
at collector start if the new histograms are desired. - (Core)
confignet
: Adddialer_timeout
config option. (#9066) - (Core)
processor/memory_limiter
: Update config validation errors (#9059)- Fix names of the config fields that are validated in the error messages
- Move the validation from start to the initialization phrase
- (Core)
exporterhelper
: Add config Validate for TimeoutSettings (#9104)
🧰 Bug fixes 🧰
- (Contrib)
filterset
: Fix concurrency issue when enabling caching. (#11829) - (Contrib)
pkg/ottl
: Fix issue with the hash value of a match subgroup in replace_pattern functions. (#29409) - (Contrib)
prometheusreceiver
: Fix configuration validation to allow specification of Target Allocator configuration without providing scrape configurations (#30135) - (Contrib)
wavefrontreceiver
: Return error if partially quoted (#30315) - (Contrib)
hosmetricsreceiver
: change cpu.load.average metrics from 1 to {thread} (#29914) - (Contrib)
pkg/ottl
: Fix bug where the ConverterIsBool
was not usable (#30151) - (Contrib)
time
: The%z
strptime format now correctly parsesZ
as a valid timezone (#29929)
strptime(3)
says that%z
is "an RFC-822/ISO 8601 standard
timezone specification", but the previous code did not allow the
string "Z" to signify UTC time, as required by ISO 8601. Now, both
+0000
andZ
are recognized as UTC times in all components that
handlestrptime
format strings. - (Core)
memorylimiterprocessor
: Fixed leaking goroutines from memorylimiterprocessor (#9099) - (Core)
cmd/otelcorecol
: Fix the code detecting if the collector is running as a service on Windows. (#7350)
Removed theNO_WINDOWS_SERVICE
environment variable given it is not needed anymore. - (Core)
otlpexporter
: remove dependency of otlphttpreceiver on otlpexporter (#6454)
Docker Images:
- `quay.io/signalfx/splunk...
v0.91.3
🛑 Breaking changes 🛑
- (Splunk) -
ecs-metadata
sync theknown_status
property on thecontainer_id
dimension instead of lower cardinalitycontainer_name
. This can be prevented by configuringdimensionToUpdate
tocontainer_name
(#4091) - (Splunk) Removes
collectd/disk
monitor (#3998)
This monitor has been deprecated in favor of thedisk-io
monitor.
Note that thedisk-io
monitor has a different dimension (disk
instead ofplugin_instance
) to specify the disk. - (Splunk) Removes
collectd/df
monitor (#3996)
The monitor is deprecated and the filesystems monitor should be used instead. - (Splunk) Removes
netinterface
monitor (#3991)
This monitor is deprecated in favor of thenet-io
monitor. - (Splunk) Removes
collectd/vmem
monitor (#3993)
This monitor is deprecated in favor of thevmem
monitor. The metrics should be fully compatible with this monitor. - (Splunk) Removes
collectd/load
monitor (#3995)
This monitor has been deprecated in favor of theload
monitor. That monitor emits the same metrics and is fully compatible. - (Splunk) Removes
collectd/postgresql
monitor (#3994)
This monitor is deprecated in favor of the postgresql monitor.
💡 Enhancements 💡
- (Splunk) Adopt
vcenter
receiver (#4291) - (Splunk) Adopt
sshcheck
receiver (#4099) - (Splunk) Adopt
awss3
exporter (#4117) - (Splunk) Convert loglevel to verbosity on logging exporter (#4097)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.91.3-amd64
(digest:sha256:d469e3372384604b36a6180525c9aacdd49fcbd082c618cfeede49fec7f35ada
)quay.io/signalfx/splunk-otel-collector:0.91.3-arm64
(digest:sha256:2201612e13501157616eb2399d4474cbc91fcea5b36e2b0d4864b635f5c07c3a
)quay.io/signalfx/splunk-otel-collector:0.91.3-ppc64le
(digest:sha256:c967f7023d8bb8f260b63c8ec6de90c7ec4d3b87c010e743376fdfe5d6f5b92b
)quay.io/signalfx/splunk-otel-collector-windows:0.91.3
(digest:sha256:05a736f642207dbfcc1f2c3ead2ff771b6ee8b746eec7925c4af62ee2c452a83
)quay.io/signalfx/splunk-otel-collector-windows:0.91.3-2022
(digest:sha256:703f38c4431edefa43ed9b52ffcbbefe9463b9afb44443c5e845c6ec109d5d70
)
v0.91.1
💡 Enhancements 💡
- (Splunk) Remove the project beta label (#4070)
- (Splunk) Source SPLUNK_LISTEN_INTERFACE on all host endpoints(#4065)
- (Splunk) Add support for start timestamps when using the light prometheus receiver (#4037)
- (Splunk) Node.js Auto Instrumentation:
🛑 Breaking changes 🛑
postgresql
Discovery now uses the OpenTelemetry Collector Contrib receiver by default instead of the smartagent receiver (#3957)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.91.1-amd64
(digest:sha256:86f99bf2224cbaa9ed5ebf7346e31619dc6d1ac16393dd089b635dc0606a55b0
)quay.io/signalfx/splunk-otel-collector:0.91.1-arm64
(digest:sha256:0b15a2f8f0431f1b3e37060fed5d49a0aa661215c197f881aa22e992a1a255f7
)quay.io/signalfx/splunk-otel-collector:0.91.1-ppc64le
(digest:sha256:ee2898ba48c5ae41db268340388a12bfd12ad92a61f116fd62af6cad1d2a9097
)quay.io/signalfx/splunk-otel-collector-windows:0.91.1
(digest:sha256:ca400b1cf29738d4cf4ce8012189b3e0b81072a875c239902c0ec0f503fa9237
)quay.io/signalfx/splunk-otel-collector-windows:0.91.1-2022
(digest:sha256:ef6f41051f553b2766658d1f6a0cfbd69955fe342c21d2d4426089d9a27eeced
)
v0.91.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.91.0 and the opentelemetry-collector-contrib v0.91.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) Node.js Auto Instrumentation:
- The
NODE_OPTIONS
environment variable in the default config file has been updated to load the Node.js SDK from an absolute path (/usr/lib/splunk-instrumentation/splunk-otel-js/node_modules/@splunk/otel/instrument
). - The Linux installer script now installs the Node.js SDK to
/usr/lib/splunk-instrumentation/splunk-otel-js
instead of globally. - The
--npm-command
Linux installer script option is no longer supported. To specify a custom path tonpm
, use the--npm-path <path>
option.
- The
- (Splunk)
translatesfx
: Removetranslatesfx
(#4028) - (Splunk)
collectd/elasticsearch
: Removecollectd/elasticsearch
monitor (#3997)
🚩 Deprecations 🚩
- (Splunk)
collectd/cpu
: Deprecatecollectd/cpu
explicitly. Please migrate to thecpu
monitor (#4036)
💡 Enhancements 💡
- (Contrib)
spanmetricsconnector
: Add exemplars to sum metric (#27451) - (Contrib)
jaegerreceiver
: mark featuregates to replace Thrift-gen with Proto-gen types for sampling strategies as stable (#27636)
The following featuregate is stable:
receiver.jaegerreceiver.replaceThriftWithProto
- (Contrib)
kafkareceiver
: Add the ability to consume logs from Azure Diagnostic Settings streamed through Event Hubs using the Kafka API. (#18210) - (Contrib)
resourcedetectionprocessor
: Add detection of host.ip to system detector. (#24450) - (Contrib)
resourcedetectionprocessor
: Add detection of host.mac to system detector. (#29587) - (Contrib)
pkg/ottl
: Add silent ErrorMode to allow disabling logging of errors that are ignored. (#29710) - (Contrib)
postgresqlreceiver
: Add config property for excluding specific databases from scraping (#29605) - (Contrib)
redisreceiver
: Upgrade the redis library dependency to resolve security vulns in v7 (#29600) - (Contrib)
signalfxexporter
: Enable HTTP/2 health check by default (#29716) - (Contrib)
splunkhecexporter
: Enable HTTP/2 health check by default (#29717) - (Contrib)
statsdreceiver
: Add support for 'simple' tags that do not have a defined value, to accommodate DogStatsD metrics that may utilize these. (#29012)
This functionality is gated behind a newenable_simple_tags
config boolean, as it is not part of the StatsD spec. - (Core)
service
: add resource attributes as labels to otel metrics to ensures backwards compatibility with OpenCensus metrics. (#9029) - (Core)
config/confighttp
: Exposes http/2 transport settings to enable health check and workaround golang http/2 issue golang/go#59690 (#9022)
🧰 Bug fixes 🧰
- (Splunk)
migratecheckpoint
: Migrating offsets from SCK to SCK-Otel doesn't work. This is because of incorrect keys we use to populate the boltdb cache. (#3879) - (Contrib)
connector/spanmetrics
: Fix memory leak when the cumulative temporality is used. (#27654) - (Contrib)
splunkhecexporter
: Do not send null event field values in HEC events. Replace null values with an empty string. (#29551) - (Contrib)
k8sobjectsreceiver
: fix k8sobjects receiver fails when some unrelated Kubernetes API is down (#29706) - (Contrib)
resourcedetectionprocessor
: Change type ofhost.cpu.model.id
andhost.cpu.model.family
from int to string. (#29025)
Disable theprocessor.resourcedetection.hostCPUModelAndFamilyAsString
feature gate to get the old behavior. - (Contrib)
filelogreceiver
: Fix problem where checkpoints could be lost when collector is shutdown abruptly (#29609, #29491) - (Contrib)
pkg/stanza
: Allowkey_value_parser
to parse values that contain the delimiter string. (#29629 - (Core)
exporterhelper
: fix missed metric aggregations (#9048)
This ensures that context cancellation in the exporter doesn't interfere with metric aggregation. The OTel
SDK currently returns if there's an error in the context used inAdd
. This means that if there's a
cancelled context in an export, the metrics are now recorded.
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.91.0-amd64
(digest:sha256:6ea26505ebc2aa46a9a30d183b6a6aa98333ba29a28c6a1ca4c64137665f5bfc
)quay.io/signalfx/splunk-otel-collector:0.91.0-arm64
(digest:sha256:810949a8c9ddfebce8e519084f594f93d2688dd70e1b22714c93bb5e765e20d4
)quay.io/signalfx/splunk-otel-collector:0.91.0-ppc64le
(digest:sha256:147dc913bcc0de535fed048e4914d9fd9521d0db10ce838199530c3b4041fd27
)quay.io/signalfx/splunk-otel-collector-windows:0.91.0
(digest:sha256:9179df80646b699f294bb07a199cf49d4f10206676b6dec9dec340e26c9cdbdd
)quay.io/signalfx/splunk-otel-collector-windows:0.91.0-2022
(digest:sha256:893155430652af699c80364e69212b3c8957ca8859d34d1ab629e24630354cff
)
v0.90.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.90.1 and the opentelemetry-collector-contrib v0.90.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Core)
service
: To remain backwards compatible w/ the metrics generated today, otel generated metrics will be generated without the_total
suffix (#7454) - (Core)
service
: use WithNamespace instead of WrapRegistererWithPrefix (#8988)
Using this functionality in the otel prom exporter fixes a bug where the
target_info was prefixed as otelcol_target_info previously.
🚩 Deprecations 🚩
- (Splunk) Deprecate
collectd/marathon
(#3992) - (Splunk) Add deprecation notice to
collectd/etcd
(useetcd
instead) (#3990) - (Splunk) Mark translatesfx as deprecated (#3984)
💡 Enhancements 💡
- (Splunk)
mysqlreceiver
: Add mysqlreceiver to the Splunk distribution (#3989) - (Core)
exporter/debug
: Change defaultverbosity
fromnormal
tobasic
(#8844)
This change has currently no effect, asbasic
andnormal
verbosity share the same behavior. This might change in the future though, with thenormal
verbosity being more verbose than it currently is (see open-telemetry/opentelemetry-collector#7806). This is why we are changing the default tobasic
, which is expected to stay at the current level of verbosity (one line per batch). - (Core)
exporterhelper
: Fix shutdown logic in persistent queue to not require consumers to be closed first (#8899) - (Core)
confighttp
: Support proxy configuration field in all exporters that support confighttp (#5761) - (Contrib)
resourcedetectionprocessor
: Add k8s cluster name detection when running in EKS (#26794) - (Contrib)
pkg/ottl
: Add new IsDouble function to facilitate type checking. (#27895) - (Contrib)
mysqlreceiver
: expose tls in mysqlreceiver (#29269)
If tls is not set, the default is to disable TLS connections. - (Contrib)
processor/transform
: Convert between sum and gauge in metric context when alpha feature gateprocessor.transform.ConvertBetweenSumAndGaugeMetricContext
enabled (#20773) - (Contrib)
receiver/mongodbatlasreceiver
: adds project config to mongodbatlas metrics to filter by project name and clusters. (#28865) - (Contrib)
pkg/stanza
: Add "namedpipe" operator. (#27234) - (Contrib)
pkg/resourcetotelemetry
: Do not clone data in pkg/resourcetotelemetry by default (#29327)
The resulting consumer will be marked as MutatesData instead - (Contrib)
pkg/stanza
: Improve performance by not calling decode when nop encoding is defined (#28899) - (Contrib)
receivercreator
: Added support for discovery of endpoints based on K8s services (#29022)
By discovering endpoints based on K8s services, a dynamic probing of K8s service leveraging for example the httpcheckreceiver get enabled - (Contrib)
signalfxexporter
: change default timeout to 10 seconds (#29436) - (Contrib)
hostmetricsreceiver
: Add optional Linux-only metric system.linux.memory.available (#7417)
This is an alternative tosystem.memory.usage
metric with state=free.
Linux starting from 3.14 exports "available" memory. It takes "free" memory as a baseline, and then factors in kernel-specific values.
This is supposed to be more accurate than just "free" memory.
For reference, see the calculations here.
See alsoMemAvailable
in/proc/meminfo
.
🧰 Bug fixes 🧰
- (Splunk)
cmd/otelcol
: Fix the code detecting if the collector is running as a service on Windows. The fix should make
setting theNO_WINDOWS_SERVICE
environment variable unnecessary. (#4002) - (Core)
exporterhelper
: Fix invalid write index updates in the persistent queue (#8115) - (Contrib)
filelogreceiver
: Fix issue where files were unnecessarily kept open on Windows (#29149) - (Contrib)
mongodbreceiver
: add receiver.mongodb.removeDatabaseAttr Alpha feature gate to remove duplicate database name attribute (#24972) - (Contrib)
pkg/stanza
: Fix panic during stop for udp async mode only. (#29120)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.90.0-amd64
(digest:sha256:7368c1f88063851f48f92a46150955fef943420dc7e5fa0bbd2f443e2352bac7
)quay.io/signalfx/splunk-otel-collector:0.90.0-arm64
(digest:sha256:6967fe7a2910eea0e0c53dba3a51517df5392142a1a4f0c762f4c5368b0f09f9
)quay.io/signalfx/splunk-otel-collector:0.90.0-ppc64le
(digest:sha256:6a1dd1b9e480c8baa83d93507446954e13bd11ee754b8534b0b4dddd307c23ea
)quay.io/signalfx/splunk-otel-collector-windows:0.90.0
(digest:sha256:4cd076173486ac09d61d3c306ef297e07f77eacd08b485b3737bc7bed9eb78e8
)quay.io/signalfx/splunk-otel-collector-windows:0.90.0-2022
(digest:sha256:89456a69cec86cd9e391b7809373ef10738a1dbe184167ab64cf0052ec3ca159
)