Skip to content

Latest commit

 

History

History
621 lines (485 loc) · 28.7 KB

CHANGELOG.md

File metadata and controls

621 lines (485 loc) · 28.7 KB

Changelog

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.

Fixed

  • 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.

Deprecated

  • jaeger-thrift-splunk trace exporter is deprecated and may be removed in a future release. Use the default OTLP exporter instead, or set the SPLUNK_REALM and SPLUNK_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

  • Add the WithIDGenerator option to github.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.

Removed

  • 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.

Added

  • Add the github.com/signalfx/splunk-otel-go/instrumentation/github.com/jackc/pgx/v5/splunkpgx instrumentation for the github.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.

Added

  • Add the github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/v2/kafka/splunkkafka instrumentation for the github.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.

Added

  • 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 in github.com/signalfx/splunk-otel-go/instrumentation/database/sql/splunksql. (#2258)

Changed

  • OTEL_METRICS_EXPORTER defaults to otlp. Therefore, metrics support are enabled by default. (#2259)

Fixed

  • Fix telemetry.sdk.version resource attribute to properly return the github.com/signalfx/splunk-otel-go/distro Go module version. (#1990)
  • Fix instrumentation scope version value to properly return the instrumentation library versions. (#1990)

Removed

  • Drop support for Go 1.18 as go.opentelemetry.io/otel did the same in v1.15.0. (#2095)

1.5.0 - 2023-03-30

Added

  • 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

Changed

  • Update attributes in github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/kafka/splunkkafka to align go.opentelemetry.io/otel/semconv standard in v1.17.0. (#1839)
    • Add semconv.MessagingOperationPublish in producer span
    • Change to semconv.MessagingSourceKindTopic in consumer span

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.

Added

  • Add metrics support and OTEL_METRICS_EXPORTER environment variable. OTEL_METRICS_EXPORTER accepts: none - metrics disabled, otlp - OTLP gRPC exporter. Currently OTEL_METRICS_EXPORTER defaults to none as OpenTelemetry Go metrics API and SDK are not stable yet. Set OTEL_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.

Fixed

  • The goroutine created by the Open function in github.com/signalfx/splunk-otel-go/instrumentation/database/sql/splunksql is no longer orphaned. (#1682)

Added

  • The NetSockFamily type and related variables to be use in the ConnectionConfig from github.com/signalfx/splunk-otel-go/instrumentation/database/sql/splunksql. (#1749)

Changed

  • Add the NetSockFamily field to the ConnectionConfig in github.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 to v1.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

Deprecated

  • The NetTransportIP and NetTransportUnix variables from github.com/signalfx/splunk-otel-go/instrumentation/database/sql/splunksql are deprecated as they are no longer available in go.opentelemetry.io/otel/semconv/v1.17.0. Use an appropriate NetSockFamily* 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.

Added

  • OTEL_LOG_LEVEL environment variable accepts case insensitive values. (#1374)

Removed

  • Drop support for Go 1.17 as go.opentelemetry.io/otel did the same in v1.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.

Changed

Removed

  • Drop support for Go 1.16 as go.opentelemetry.io/otel did the same in v1.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.

Changed

  • The NewTracer function from github.com/signalfx/splunk-otel-go/instrumentation/github.com/graphql-gophers/graphql-go/splunkgraphql now returns a tracer.Tracer instead of the deprecated trace.Tracer from github.com/graph-gophers/graphql-go. (#855)
  • The TraceQuery method of the Tracer from github.com/signalfx/splunk-otel-go/instrumentation/github.com/graphql-gophers/graphql-go/splunkgraphql now returns a tracer.QueryFinishFunc instead of the deprecated trace.TraceQueryFinishFunc from github.com/graph-gophers/graphql-go. (#855)
  • The TraceField method of the Tracer from github.com/signalfx/splunk-otel-go/instrumentation/github.com/graphql-gophers/graphql-go/splunkgraphql now returns a tracer.FieldFinishFunc instead of the deprecated trace.TraceFieldFinishFunc from github.com/graph-gophers/graphql-go. (#855)
  • The TraceValidation method of the Tracer from github.com/signalfx/splunk-otel-go/instrumentation/github.com/graphql-gophers/graphql-go/splunkgraphql now returns a tracer.ValidationFinishFunc instead of the deprecated trace.TraceValidationFinishFunc from github.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 from NewHandler function from github.com/signalfx/splunk-otel-go/instrumentation/net/http/splunkhttp package. (#947)
  • Update go.opentelemetry.io/otel* dependencies from v1.6.1 to v1.7.0. (#926)
  • Update go.opentelemetry.io/contrib* dependencies from v1.6.0/v0.31.0 to v1.7.0/v0.32.0. (#926)

Removed

  • Minimize github.com/signalfx/splunk-otel-go/distro package to contain only necessary option functions. (#941)
    • Remove WithAccessToken function, use SPLUNK_ACCESS_TOKEN environment variable instead.
    • Remove WithEndpoint function, use one of the OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_TRACES_ENDPOINT, OTEL_EXPORTER_JAEGER_ENDPOINT environment variables instead.
    • Remove WithPropagator function, use OTEL_PROPAGATORS environment variable instead.
    • Remove WithTraceExporter function, use OTEL_TRACES_EXPORTER environment variable instead.
  • Minimize github.com/signalfx/splunk-otel-go/instrumentation/net/http/splunkhttp package to contain only necessary functions and types. (#947)
    • Remove WithTraceResponseHeader function, use SPLUNK_TRACE_RESPONSE_HEADER_ENABLED environment variable instead.
    • Remove TraceResponseHeaderMiddleware function, use NewHandler function instead.
    • Remove Option type.

Fixed

  • Use the correct Splunk Observability Cloud OTLP over gRPC endpoint when SPLUNK_REALM is set. (#791)

0.8.0 - 2022-04-05

Added

  • Add the WithPropagator option to github.com/signalfx/splunk-otel-go/distro along with parsing of the OTEL_PROPAGATORS environment variable to set the global OpenTelemetry TextMapPropagator. (#295)
  • Add the WithTraceExporter and WithTLSConfig options to github.com/signalfx/splunk-otel-go/distro along with parsing of the OTEL_TRACES_EXPORTER environment variable to set the global OpenTelemetry SpanExporter used by the SDK to export traces. (#300)
  • Add the splunk.distro.version attribute to the SDK resource. (#332)
  • Add the WithLogger option to github.com/signalfx/splunk-otel-go/distro along with parsing of the OTEL_LOG_LEVEL environment variable to set the logging level of the default logger used. (#336)
  • The github.com/signalfx/splunk-otel-go/distro package from github.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)

Changed

  • The SDK from github.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 the OTEL_TRACES_EXPORTER environment variable to jaeger-thrift-splunk, or by directly passing the user configured exporter with a WithTraceExporter option. (#300)
  • Update go.opentelemetry.io/otel* dependencies from v1.3.0 to v1.6.1. (#406, #471, #656, #721)
  • Update go.opentelemetry.io/contrib* dependencies from v1.3.0/v0.28.0 to v1.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)

Fixed

  • Consistently import github.com/jackc/pgx/v4, instead of github.com/jackc/pgx, in the github.com/signalfx/splunk-otel-go/instrumentation/github.com/jackc/pgx/splunkpgx instrumentation. (#478)

0.7.0 - 2022-01-13

Added

  • Add the github.com/signalfx/splunk-otel-go/instrumentation/database/sql/splunksql instrumentation for the database/sql package. (#88)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/github.com/go-sql-driver/mysql/splunkmysql instrumentation for the github.com/go-sql-driver/mysql package. (#90)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/github.com/jackc/pgx/splunkpgx instrumentation for the github.com/jackc/pgx package. (#91)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/github.com/lib/pq/splunkpq instrumentation for the github.com/lib/pq package. (#92)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/github.com/jmoiron/sqlx/splunksqlx instrumentation for the github.com/jmoiron/sqlx package. (#93)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/github.com/jinzhu/gorm/splunkgorm instrumentation for the github.com/jinzhu/gorm package. (#98)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/kafka/splunkkafka instrumentation for the github.com/confluentinc/confluent-kafka-go/kafka package. (#100)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/github.com/miekg/dns/splunkdns instrumentation for the github.com/miekg/dns package. (#155)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/github.com/syndtr/goleveldb/leveldb/splunkleveldb instrumentation for the github.com/syndtr/goleveldb/leveldb package. (#186)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/github.com/tidwall/buntdb/splunkbuntdb instrumentation for the github.com/tidwall/buntdb package. (#228)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/k8s.io/client-go/splunkclient-go instrumentation for the k8s.io/client-go package. (#224)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/github.com/go-chi/chi/splunkchi instrumentation for the github.com/go-chi/chi package. (#227)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/graphql-gophers/graphql-go/splunkgraphql instrumentation for the github.com/graph-gophers/graphql-go module. (#232)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/github.com/julienschmidt/httprouter/splunkhttprouter instrumentation for the github.com/julienschmidt/httprouter package. (#273)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/github.com/gomodule/redigo/splunkredigo instrumentation for the github.com/gomodule/redigo package. (#288)
  • Add the github.com/signalfx/splunk-otel-go/instrumentation/gopkg.in/olivere/elastic/splunkelastic instrumentation for the gopkg.in/olivere/elastic package. (#311)

Changed

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.

Changed

[0.5.0] - 2021-07-27

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.

Changed

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.

Changed

Remove

0.3.0 - 2021-05-18

The primary changes of this release is added support for sending data directly to Splunk Observability Cloud.

Added

  • Add support for setting the Splunk's organization access token using the SPLUNK_ACCESS_TOKEN environmental variable or distro.WithAccessToken option. It allows exporters sending data directly to the Splunk Observability Cloud. To do so, the OTEL_EXPORTER_JAEGER_ENDPOINT or distro.WithEndpoint must be set with Splunk back-end ingest endpoint URL: https://ingest.<REALM>.signalfx.com/v2/trace.

Changed

Removed

  • Remove SIGNALFX_ENDPOINT_URL environmental variable, use OTEL_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.

Changed

  • Update go.opentelemetry.io/otel* dependencies from v0.19.0 to v0.20.0.
  • Update go.opentelemetry.io/contrib* dependencies from v0.19.0 to v0.20.0.

0.1.0 - 2021-04-08

Added

  • Add distro package providing functionality to quickly setup the OpenTelemetry Go implementation with useful Splunk defaults.
  • Add splunkhttp module providing additional Splunk specific instrumentation for net/http.