All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
This project adheres to Semantic Versioning.
1.13.0 - 2024-02-09
This release upgrades OpenTelemetry Go to v1.23.1/v0.45.2 and OpenTelemetry Go Contrib to v1.23.0/v0.48.0/v0.17.0/v0.3.0.
- Allow bumping OpenTelemetry Go (
go.opentelemetry.io/otel
) without bumping the Splunk Distribution (github.com/signalfx/splunk-otel-go
). It fixes a merge resource runtime error, which could occur when the application uses a version of OpenTelemetry Go that is newer than the one which the Splunk Distribution is depending on. (#2759)
1.12.0 - 2024-01-18
This release deprecates jaeger-thrift-splunk
option support for OTEL_TRACES_EXPORTER
environment variable.
This release upgrades OpenTelemetry Go to v1.22.0/v0.45.0 and OpenTelemetry Go Contrib to 1.22.0/0.47.0/0.16.0/0.2.0.
jaeger-thrift-splunk
trace exporter is deprecated and may be removed in a future release. Use the default OTLP exporter instead, or set theSPLUNK_REALM
andSPLUNK_ACCESS_TOKEN
environment variables to send telemetry directly to Splunk Observability Cloud. (#2690)
1.11.0 - 2023-11-16
The release adds support for sending metrics directly to Splunk Observability Cloud.
This release upgrades OpenTelemetry Go to v1.21.0/v0.44.0 and OpenTelemetry Go Contrib to v1.21.1/v0.46.1/v0.15.1/v0.1.1.
- Add the
WithIDGenerator
option togithub.com/signalfx/splunk-otel-go/distro
. (#2634) - Metrics are sent directly to Splunk Observability Cloud when
SPLUNK_REALM
is set. (#2637)
1.10.0 - 2023-11-10
This release upgrades OpenTelemetry Go to v1.20.0/v0.43.0 and OpenTelemetry Go Contrib to v1.21.0/v0.46.0/v0.15.0/v0.1.0.
1.9.0 - 2023-09-29
This release upgrades OpenTelemetry Go to v1.19.0/v0.42.0/v0.0.7 and OpenTelemetry Go Contrib to v1.20.0/v0.45.0/v0.14.0.
1.8.1 - 2023-09-15
This release is built on top of OpenTelemetry Go to v1.18.0/v0.41.0/v0.0.6 and OpenTelemetry Go Contrib to v1.19.0/v0.44.0/v0.13.0.
- Drop support for Go 1.19 as
go.opentelemetry.io/otel
did the same in v1.18.0. (#2492)
1.8.0 - 2023-09-14
This upgrades OpenTelemetry Go to v1.18.0/v0.41.0/v0.0.6 and OpenTelemetry Go Contrib to v1.19.0/v0.44.0/v0.13.0.
- Add the
github.com/signalfx/splunk-otel-go/instrumentation/github.com/jackc/pgx/v5/splunkpgx
instrumentation for thegithub.com/jackc/pgx/v5
package. (#2406)
1.7.0 - 2023-07-17
This release is built on top of OpenTelemetry Go v1.16.0/v0.39.0 and OpenTelemetry Go Contrib v1.17.0/v0.42.0/v0.11.0.
- Add the
github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/v2/kafka/splunkkafka
instrumentation for thegithub.com/confluentinc/confluent-kafka-go/v2/kafka
package. (#2301)
1.6.0 - 2023-05-25
The release enables metrics support by default
as OpenTelemetry Go metrics API is stable
(v1.16.0
).
This upgrades OpenTelemetry Go to v1.16.0/v0.39.0 and OpenTelemetry Go Contrib to v1.17.0/v0.42.0/v0.11.0.
- Add
Version
function to the following Go modules. (#1992)github.com/signalfx/splunk-otel-go/distro
github.com/signalfx/splunk-otel-go/instrumentation/database/sql/splunksql
github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/kafka/splunkkafka
github.com/signalfx/splunk-otel-go/instrumentation/github.com/go-chi/chi/splunkchi
github.com/signalfx/splunk-otel-go/instrumentation/github.com/gomodule/redigo/splunkredigo
github.com/signalfx/splunk-otel-go/instrumentation/github.com/graph-gophers/graphql-go/splunkgraphql
github.com/signalfx/splunk-otel-go/instrumentation/github.com/miekg/dns/splunkdns
github.com/signalfx/splunk-otel-go/instrumentation/github.com/syndtr/goleveldb/leveldb/splunkleveldb
github.com/signalfx/splunk-otel-go/instrumentation/github.com/tidwall/buntdb/splunkbuntdb
github.com/signalfx/splunk-otel-go/instrumentation/gopkg.in/olivere/elastic/splunkelastic
github.com/signalfx/splunk-otel-go/instrumentation/k8s.io/client-go/splunkclient-go
- Add
WithMeterProvider
function ingithub.com/signalfx/splunk-otel-go/instrumentation/database/sql/splunksql
. (#2258)
OTEL_METRICS_EXPORTER
defaults tootlp
. Therefore, metrics support are enabled by default. (#2259)
- Fix
telemetry.sdk.version
resource attribute to properly return thegithub.com/signalfx/splunk-otel-go/distro
Go module version. (#1990) - Fix instrumentation scope version value to properly return the instrumentation library versions. (#1990)
- Drop support for Go 1.18 as
go.opentelemetry.io/otel
did the same inv1.15.0
. (#2095)
1.5.0 - 2023-03-30
- Add metrics in the following database instrumentation libraries. (#1973)
github.com/signalfx/splunk-otel-go/instrumentation/database/sql/splunksql
github.com/signalfx/splunk-otel-go/instrumentation/github.com/go-sql-driver/mysql/splunkmysql
github.com/signalfx/splunk-otel-go/instrumentation/github.com/jackc/pgx/splunkpgx
github.com/signalfx/splunk-otel-go/instrumentation/github.com/jinzhu/gorm/splunkgorm
github.com/signalfx/splunk-otel-go/instrumentation/github.com/jmoiron/sqlx/splunksqlx
github.com/signalfx/splunk-otel-go/instrumentation/github.com/lib/pq/splunkpq
- Update attributes in
github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/kafka/splunkkafka
to aligngo.opentelemetry.io/otel/semconv
standard inv1.17.0
. (#1839)- Add
semconv.MessagingOperationPublish
in producer span - Change to
semconv.MessagingSourceKindTopic
in consumer span
- Add
1.4.0 - 2023-03-02
The release adds metrics support.
Set OTEL_METRICS_EXPORTER=otlp
to enable metrics support.
However, take notice that as for now
the OpenTelemetry Go metrics API is not stable
(v0.37.0
).
This upgrades OpenTelemetry Go to v1.14.0/v0.37.0/v0.0.4 and OpenTelemetry Go Contrib to v1.15.0/v0.40.0/v0.9.0.
- Add metrics support and
OTEL_METRICS_EXPORTER
environment variable.OTEL_METRICS_EXPORTER
accepts:none
- metrics disabled,otlp
- OTLP gRPC exporter. CurrentlyOTEL_METRICS_EXPORTER
defaults tonone
as OpenTelemetry Go metrics API and SDK are not stable yet. SetOTEL_METRICS_EXPORTER=otlp
to enable metrics support. - Add process and Go runtime attributes to resource.
- Add runtime metrics instrumentation.
1.3.1 - 2023-02-08
This upgrades OpenTelemetry Go to v1.13.0/v0.36.0 and OpenTelemetry Go Contrib to v1.14.0/v0.39.0/v0.8.0.
1.3.0 - 2023-02-01
This upgrades OpenTelemetry Go to v1.12.0/v0.35.0 and OpenTelemetry Go Contrib to v1.13.0/v0.38.0/v0.7.0.
- The goroutine created by the
Open
function ingithub.com/signalfx/splunk-otel-go/instrumentation/database/sql/splunksql
is no longer orphaned. (#1682)
- The
NetSockFamily
type and related variables to be use in theConnectionConfig
fromgithub.com/signalfx/splunk-otel-go/instrumentation/database/sql/splunksql
. (#1749)
- Add the
NetSockFamily
field to theConnectionConfig
ingithub.com/signalfx/splunk-otel-go/instrumentation/database/sql/splunksql
. This is used to define the protocol address family used for communication with the database. (#1749) - Update
go.opentelemetry.io/otel/semconv
tov1.17.0
in the following packages. (#1749)github.com/signalfx/splunk-otel-go/distro
github.com/signalfx/splunk-otel-go/instrumentation/database/sql/splunksql
github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/kafka/splunkkafka
github.com/signalfx/splunk-otel-go/instrumentation/github.com/go-chi/chi/splunkchi
github.com/signalfx/splunk-otel-go/instrumentation/github.com/go-sql-driver/mysql/splunkmysql
github.com/signalfx/splunk-otel-go/instrumentation/github.com/gomodule/redigo/splunkredigo
github.com/signalfx/splunk-otel-go/instrumentation/github.com/jackc/pgx/splunkpgx
github.com/signalfx/splunk-otel-go/instrumentation/github.com/jackc/pgx/splunkpgx
github.com/signalfx/splunk-otel-go/instrumentation/github.com/syndtr/goleveldb/leveldb/splunkleveldb
github.com/signalfx/splunk-otel-go/instrumentation/github.com/tidwall/buntdb/splunkbuntdb
github.com/signalfx/splunk-otel-go/instrumentation/gopkg.in/olivere/elastic/splunkelastic
github.com/signalfx/splunk-otel-go/instrumentation/k8s.io/client-go/splunkclient-go
- The
NetTransportIP
andNetTransportUnix
variables fromgithub.com/signalfx/splunk-otel-go/instrumentation/database/sql/splunksql
are deprecated as they are no longer available ingo.opentelemetry.io/otel/semconv/v1.17.0
. Use an appropriateNetSockFamily*
variable instead. (#1749)
1.2.0 - 2023-01-11
This upgrades OpenTelemetry Go to v1.11.2/v0.34.0 and OpenTelemetry Go Contrib to v1.12.0/v0.37.0/v0.6.0.
OTEL_LOG_LEVEL
environment variable accepts case insensitive values. (#1374)
- Drop support for Go 1.17 as
go.opentelemetry.io/otel
did the same inv1.11.0
. (#1570)
1.1.0 - 2022-07-14
This release uses OpenTelemetry Go v1.8.0 and OpenTelemetry Go Contrib v1.8.0/v0.33.0.
- Update
go.opentelemetry.io/otel*
dependencies fromv1.7.0
tov1.8.0
. (#1169) - Update
go.opentelemetry.io/contrib*
dependencies fromv1.7.0
/v0.32.0
tov1.8.0
/v0.33.0
. (#1169)
- Drop support for Go 1.16 as
go.opentelemetry.io/otel
did the same inv1.7.0
. (#1172)
1.0.0 - 2022-06-09
This is the first stable release of the Splunk Distribution of OpenTelemetry Go which is compliant with Splunk's GDI Specification v1.3.0.
Please note that although the distribution is marked as stable,
some of its dependent components (e.g. otelhttp
instrumentation library)
are still experimental.
This release uses OpenTelemetry Go v1.7.0 and OpenTelemetry Go Contrib v1.7.0/v0.32.0.
0.9.0 - 2022-05-26
This release contains configuration fixes and simplifies the API before a stable release is published.
go.opentelemetry.io/otel*
dependencies are updated to v1.7.0
and go.opentelemetry.io/contrib*
dependencies are updated to v1.7.0
/v0.32.0
.
- The
NewTracer
function fromgithub.com/signalfx/splunk-otel-go/instrumentation/github.com/graphql-gophers/graphql-go/splunkgraphql
now returns atracer.Tracer
instead of the deprecatedtrace.Tracer
fromgithub.com/graph-gophers/graphql-go
. (#855) - The
TraceQuery
method of theTracer
fromgithub.com/signalfx/splunk-otel-go/instrumentation/github.com/graphql-gophers/graphql-go/splunkgraphql
now returns atracer.QueryFinishFunc
instead of the deprecatedtrace.TraceQueryFinishFunc
fromgithub.com/graph-gophers/graphql-go
. (#855) - The
TraceField
method of theTracer
fromgithub.com/signalfx/splunk-otel-go/instrumentation/github.com/graphql-gophers/graphql-go/splunkgraphql
now returns atracer.FieldFinishFunc
instead of the deprecatedtrace.TraceFieldFinishFunc
fromgithub.com/graph-gophers/graphql-go
. (#855) - The
TraceValidation
method of theTracer
fromgithub.com/signalfx/splunk-otel-go/instrumentation/github.com/graphql-gophers/graphql-go/splunkgraphql
now returns atracer.ValidationFinishFunc
instead of the deprecatedtrace.TraceValidationFinishFunc
fromgithub.com/graph-gophers/graphql-go
. (#855) - Configure TLS using the system CA for OTLP gRPC exporter connections when configured to connect to external endpoints. (#792)
- Remove
opts ...Option
parameter fromNewHandler
function fromgithub.com/signalfx/splunk-otel-go/instrumentation/net/http/splunkhttp
package. (#947) - Update
go.opentelemetry.io/otel*
dependencies fromv1.6.1
tov1.7.0
. (#926) - Update
go.opentelemetry.io/contrib*
dependencies fromv1.6.0
/v0.31.0
tov1.7.0
/v0.32.0
. (#926)
- Minimize
github.com/signalfx/splunk-otel-go/distro
package to contain only necessary option functions. (#941)- Remove
WithAccessToken
function, useSPLUNK_ACCESS_TOKEN
environment variable instead. - Remove
WithEndpoint
function, use one of theOTEL_EXPORTER_OTLP_ENDPOINT
,OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
,OTEL_EXPORTER_JAEGER_ENDPOINT
environment variables instead. - Remove
WithPropagator
function, useOTEL_PROPAGATORS
environment variable instead. - Remove
WithTraceExporter
function, useOTEL_TRACES_EXPORTER
environment variable instead.
- Remove
- Minimize
github.com/signalfx/splunk-otel-go/instrumentation/net/http/splunkhttp
package to contain only necessary functions and types. (#947)- Remove
WithTraceResponseHeader
function, useSPLUNK_TRACE_RESPONSE_HEADER_ENABLED
environment variable instead. - Remove
TraceResponseHeaderMiddleware
function, useNewHandler
function instead. - Remove
Option
type.
- Remove
- Use the correct Splunk Observability Cloud OTLP over gRPC endpoint
when
SPLUNK_REALM
is set. (#791)
0.8.0 - 2022-04-05
- Add the
WithPropagator
option togithub.com/signalfx/splunk-otel-go/distro
along with parsing of theOTEL_PROPAGATORS
environment variable to set the global OpenTelemetryTextMapPropagator
. (#295) - Add the
WithTraceExporter
andWithTLSConfig
options togithub.com/signalfx/splunk-otel-go/distro
along with parsing of theOTEL_TRACES_EXPORTER
environment variable to set the global OpenTelemetrySpanExporter
used by theSDK
to export traces. (#300) - Add the
splunk.distro.version
attribute to the SDK resource. (#332) - Add the
WithLogger
option togithub.com/signalfx/splunk-otel-go/distro
along with parsing of theOTEL_LOG_LEVEL
environment variable to set the logging level of the default logger used. (#336) - The
github.com/signalfx/splunk-otel-go/distro
package fromgithub.com/signalfx/splunk-otel-go
has been made into its own module. (#492) - The
SPLUNK_REALM
environment variable is now supported. If set, the exporter will use the corresponding Splunk ingest endpoint. (#725)
- The
SDK
fromgithub.com/signalfx/splunk-otel-go/distro
now uses an OTLP exporter by default. The previous default Jaeger thrift exporter can still be used by setting theOTEL_TRACES_EXPORTER
environment variable tojaeger-thrift-splunk
, or by directly passing the user configured exporter with aWithTraceExporter
option. (#300) - Update
go.opentelemetry.io/otel*
dependencies fromv1.3.0
tov1.6.1
. (#406, #471, #656, #721) - Update
go.opentelemetry.io/contrib*
dependencies fromv1.3.0
/v0.28.0
tov1.6.0
/v0.31.0
. (#406, #721) - The
OTEL_TRACES_SAMPLER
environment variable is now honored instead of only defaulting to an always-on sampler. (#724) - Set span limits to the Splunk defaults (the link count is limited to 1000, the attribute value length is limited to 12000, and all other limits are set to be unlimited) if they are not set by the user with environment variables. (#723)
- Consistently import
github.com/jackc/pgx/v4
, instead ofgithub.com/jackc/pgx
, in thegithub.com/signalfx/splunk-otel-go/instrumentation/github.com/jackc/pgx/splunkpgx
instrumentation. (#478)
0.7.0 - 2022-01-13
- Add the
github.com/signalfx/splunk-otel-go/instrumentation/database/sql/splunksql
instrumentation for thedatabase/sql
package. (#88) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/github.com/go-sql-driver/mysql/splunkmysql
instrumentation for thegithub.com/go-sql-driver/mysql
package. (#90) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/github.com/jackc/pgx/splunkpgx
instrumentation for thegithub.com/jackc/pgx
package. (#91) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/github.com/lib/pq/splunkpq
instrumentation for thegithub.com/lib/pq
package. (#92) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/github.com/jmoiron/sqlx/splunksqlx
instrumentation for thegithub.com/jmoiron/sqlx
package. (#93) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/github.com/jinzhu/gorm/splunkgorm
instrumentation for thegithub.com/jinzhu/gorm
package. (#98) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/kafka/splunkkafka
instrumentation for thegithub.com/confluentinc/confluent-kafka-go/kafka
package. (#100) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/github.com/miekg/dns/splunkdns
instrumentation for thegithub.com/miekg/dns
package. (#155) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/github.com/syndtr/goleveldb/leveldb/splunkleveldb
instrumentation for thegithub.com/syndtr/goleveldb/leveldb
package. (#186) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/github.com/tidwall/buntdb/splunkbuntdb
instrumentation for thegithub.com/tidwall/buntdb
package. (#228) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/k8s.io/client-go/splunkclient-go
instrumentation for thek8s.io/client-go
package. (#224) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/github.com/go-chi/chi/splunkchi
instrumentation for thegithub.com/go-chi/chi
package. (#227) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/graphql-gophers/graphql-go/splunkgraphql
instrumentation for thegithub.com/graph-gophers/graphql-go
module. (#232) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/github.com/julienschmidt/httprouter/splunkhttprouter
instrumentation for thegithub.com/julienschmidt/httprouter
package. (#273) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/github.com/gomodule/redigo/splunkredigo
instrumentation for thegithub.com/gomodule/redigo
package. (#288) - Add the
github.com/signalfx/splunk-otel-go/instrumentation/gopkg.in/olivere/elastic/splunkelastic
instrumentation for thegopkg.in/olivere/elastic
package. (#311)
- Update
go.opentelemetry.io/otel*
dependencies fromv1.0.0-RC3
tov1.3.0
. - Update
go.opentelemetry.io/contrib*
dependencies fromv0.23.0
tov0.28.0
.
0.6.0 - 2021-09-13
The primary change of this release is updating go.opentelemetry.io/otel*
dependencies to v1.0.0-RC3
and
go.opentelemetry.io/contrib*
dependencies to v0.23.0
.
- Update
go.opentelemetry.io/otel*
dependencies fromv1.0.0-RC2
tov1.0.0-RC3
. - Update
go.opentelemetry.io/contrib*
dependencies fromv0.22.0
tov0.23.0
.
The primary change of this release is updating go.opentelemetry.io/otel*
dependencies to v1.0.0-RC2
and
go.opentelemetry.io/contrib*
dependencies to v0.22.0
.
- Update
go.opentelemetry.io/otel*
dependencies fromv1.0.0-RC1
tov1.0.0-RC2
. - Update
go.opentelemetry.io/contrib*
dependencies fromv0.21.0
tov0.22.0
.
0.4.0 - 2021-06-30
The primary change of this release is updating the dependency of go.opentelemetry.io/otel*
packages from v0.20.0
to v1.0.0-RC1
and
go.opentelemetry.io/contrib*
packages from v0.20.0
to v0.21.0
.
- Update
go.opentelemetry.io/otel*
dependencies fromv0.20.0
tov1.0.0-RC1
. - Update
go.opentelemetry.io/contrib*
dependencies fromv0.20.0
tov0.21.0
.
- Drop support for Go 1.14 as
go.opentelemetry.io/otel
did the same.
0.3.0 - 2021-05-18
The primary changes of this release is added support for sending data directly to Splunk Observability Cloud.
- Add support for setting the Splunk's organization access token
using the
SPLUNK_ACCESS_TOKEN
environmental variable ordistro.WithAccessToken
option. It allows exporters sending data directly to the Splunk Observability Cloud. To do so, theOTEL_EXPORTER_JAEGER_ENDPOINT
ordistro.WithEndpoint
must be set with Splunk back-end ingest endpoint URL:https://ingest.<REALM>.signalfx.com/v2/trace
.
- The default Jaeger exporter URL is now loaded by
go.opentelemetry.io/otel/exporters/trace/jaeger
module. - Applying
distro.WithEndpoint("")
results in no operation.
- Remove
SIGNALFX_ENDPOINT_URL
environmental variable, useOTEL_EXPORTER_JAEGER_ENDPOINT
instead.
0.2.0 - 2021-04-27
The primary change of this release is updating the dependency of go.opentelemetry.io/otel*
packages from v0.19.0
to v0.20.0
and similarly
go.opentelemetry.io/contrib*
packages from v0.19.0
to v0.20.0
.
This includes a fix
in the Jaeger exporter.
This fix removes the duplicate batching that the exporter implemented.
Now the BatchSpanProcessor
that distro
configures by default will not experience
an impedance mismatch with this duplicate batching.
- Update
go.opentelemetry.io/otel*
dependencies fromv0.19.0
tov0.20.0
. - Update
go.opentelemetry.io/contrib*
dependencies fromv0.19.0
tov0.20.0
.
0.1.0 - 2021-04-08
- Add
distro
package providing functionality to quickly setup the OpenTelemetry Go implementation with useful Splunk defaults. - Add
splunkhttp
module providing additional Splunk specific instrumentation fornet/http
.