Skip to content

Commit a45ed93

Browse files
Alex BotenTylerHelmuth
Alex Boten
andauthored
marking jaeger exporters as deprecated (#18503)
As per the change in the spec open-telemetry/opentelemetry-specification#2858, support for Jaeger exporters is being deprecated. We should start announcing the deprecation of the jaeger exporters to give users time to migrate. Signed-off-by: Alex Boten <[email protected]> Co-authored-by: Tyler Helmuth <[email protected]>
1 parent 3fffced commit a45ed93

File tree

7 files changed

+53
-18
lines changed

7 files changed

+53
-18
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
2+
change_type: deprecation
3+
4+
# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
5+
component: jaegerexporter, jaegerthrifthttpexporter
6+
7+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8+
note: marking jaeger exporters as deprecated
9+
10+
# One or more tracking issues related to the change
11+
issues: [18503]
12+
13+
# (Optional) One or more lines of additional information to render under the primary note.
14+
# These lines will be padded with 2 spaces and then inserted directly into the document.
15+
# Use pipe (|) for multiline entries.
16+
subtext:

exporter/jaegerexporter/README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
# Jaeger gRPC Exporter
2-
1+
# Deprecated Jaeger gRPC Exporter
32

43
| Status | |
54
| ------------------------ |-------------------|
6-
| Stability | [beta] |
5+
| Stability | [deprecated] |
76
| Supported pipeline types | traces |
87
| Distributions | [core], [contrib] |
98

9+
This exporter is being deprecated and will be removed in July 2023 as Jaeger support OTLP directly.
10+
1011
Exports data via gRPC to [Jaeger](https://www.jaegertracing.io/) destinations.
1112
By default, this exporter requires TLS and offers queued retry capabilities.
1213

@@ -53,7 +54,6 @@ Several helper files are leveraged to provide additional capabilities automatica
5354
- [TLS and mTLS settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md)
5455
- [Queuing, retry and timeout settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/exporterhelper/README.md)
5556
56-
[beta]:https://github.com/open-telemetry/opentelemetry-collector#beta
57+
[deprecated]:https://github.com/open-telemetry/opentelemetry-collector#deprecated
5758
[contrib]:https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib
5859
[core]:https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol
59-

exporter/jaegerexporter/factory.go

+12-4
Original file line numberDiff line numberDiff line change
@@ -16,26 +16,28 @@ package jaegerexporter // import "github.com/open-telemetry/opentelemetry-collec
1616

1717
import (
1818
"context"
19+
"sync"
1920

2021
"go.opentelemetry.io/collector/component"
2122
"go.opentelemetry.io/collector/config/configgrpc"
2223
"go.opentelemetry.io/collector/exporter"
2324
"go.opentelemetry.io/collector/exporter/exporterhelper"
25+
"go.uber.org/zap"
2426
)
2527

2628
const (
2729
// The value of "type" key in configuration.
2830
typeStr = "jaeger"
29-
// The stability level of the exporter.
30-
stability = component.StabilityLevelBeta
3131
)
3232

33+
var once sync.Once
34+
3335
// NewFactory creates a factory for Jaeger exporter
3436
func NewFactory() exporter.Factory {
3537
return exporter.NewFactory(
3638
typeStr,
3739
createDefaultConfig,
38-
exporter.WithTraces(createTracesExporter, stability))
40+
exporter.WithTraces(createTracesExporter, component.StabilityLevelDeprecated))
3941
}
4042

4143
func createDefaultConfig() component.Config {
@@ -50,12 +52,18 @@ func createDefaultConfig() component.Config {
5052
}
5153
}
5254

55+
func logDeprecation(logger *zap.Logger) {
56+
once.Do(func() {
57+
logger.Warn("jaeger exporter is deprecated and will be removed in July 2023. See https://github.com/open-telemetry/opentelemetry-specification/pull/2858 for more details.")
58+
})
59+
}
60+
5361
func createTracesExporter(
5462
_ context.Context,
5563
set exporter.CreateSettings,
5664
config component.Config,
5765
) (exporter.Traces, error) {
58-
66+
logDeprecation(set.Logger)
5967
expCfg := config.(*Config)
6068
return newTracesExporter(expCfg, set)
6169
}

exporter/jaegerexporter/go.mod

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// Deprecated: jaeger exporter is deprecated and will be removed in July 2023. See https://github.com/open-telemetry/opentelemetry-specification/pull/2858 for more details.
12
module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/jaegerexporter
23

34
go 1.18

exporter/jaegerthrifthttpexporter/README.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
# Jaeger Thrift Exporter
1+
# Deprecated Jaeger Thrift Exporter
22

33
| Status | |
44
| ------------------------ |-----------|
5-
| Stability | [beta] |
5+
| Stability | [deprecated] |
66
| Supported pipeline types | traces |
77
| Distributions | [contrib] |
88

9+
This exporter is being deprecated and will be removed in July 2023 as Jaeger support OTLP directly.
10+
911
This exporter supports sending trace data to [Jaeger](https://www.jaegertracing.io) over Thrift HTTP.
1012

1113
*WARNING:* The [Jaeger gRPC Exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/jaegerexporter) is the recommended one for exporting traces from an OpenTelemetry Collector to Jaeger. This Jaeger Thrift Exporter should only be used to export traces to a Jaeger Collector that is unable to expose the [gRPC API](https://www.jaegertracing.io/docs/1.27/apis/#protobuf-via-grpc-stable).
@@ -40,5 +42,5 @@ with detailed sample configurations [here](testdata/config.yaml).
4042
This exporter also offers proxy support as documented
4143
[here](https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter#proxy-support).
4244
43-
[beta]:https://github.com/open-telemetry/opentelemetry-collector#beta
45+
[deprecated]:https://github.com/open-telemetry/opentelemetry-collector#deprecated
4446
[contrib]:https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib

exporter/jaegerthrifthttpexporter/factory.go

+12-5
Original file line numberDiff line numberDiff line change
@@ -16,26 +16,28 @@ package jaegerthrifthttpexporter // import "github.com/open-telemetry/openteleme
1616

1717
import (
1818
"context"
19+
"sync"
1920

2021
"go.opentelemetry.io/collector/component"
2122
"go.opentelemetry.io/collector/config/confighttp"
2223
"go.opentelemetry.io/collector/exporter"
2324
"go.opentelemetry.io/collector/exporter/exporterhelper"
25+
"go.uber.org/zap"
2426
)
2527

2628
const (
2729
// The value of "type" key in configuration.
2830
typeStr = "jaeger_thrift"
29-
// The stability level of the exporter.
30-
stability = component.StabilityLevelBeta
3131
)
3232

33+
var once sync.Once
34+
3335
// NewFactory creates a factory for Jaeger Thrift over HTTP exporter.
3436
func NewFactory() exporter.Factory {
3537
return exporter.NewFactory(
3638
typeStr,
3739
createDefaultConfig,
38-
exporter.WithTraces(createTracesExporter, stability))
40+
exporter.WithTraces(createTracesExporter, component.StabilityLevelDeprecated))
3941
}
4042

4143
func createDefaultConfig() component.Config {
@@ -46,13 +48,18 @@ func createDefaultConfig() component.Config {
4648
}
4749
}
4850

51+
func logDeprecation(logger *zap.Logger) {
52+
once.Do(func() {
53+
logger.Warn("jaeger_thrift exporter is deprecated and will be removed in July 2023. See https://github.com/open-telemetry/opentelemetry-specification/pull/2858 for more details.")
54+
})
55+
}
56+
4957
func createTracesExporter(
5058
_ context.Context,
5159
set exporter.CreateSettings,
5260
config component.Config,
5361
) (exporter.Traces, error) {
54-
62+
logDeprecation(set.Logger)
5563
expCfg := config.(*Config)
56-
5764
return newTracesExporter(expCfg, set)
5865
}

exporter/jaegerthrifthttpexporter/go.mod

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// Deprecated: jaeger exporter is deprecated and will be removed in July 2023. See https://github.com/open-telemetry/opentelemetry-specification/pull/2858 for more details.
12
module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/jaegerthrifthttpexporter
23

34
go 1.18
@@ -12,6 +13,7 @@ require (
1213
go.opentelemetry.io/collector/confmap v0.71.0
1314
go.opentelemetry.io/collector/consumer v0.71.0
1415
go.opentelemetry.io/collector/pdata v1.0.0-rc5
16+
go.uber.org/zap v1.24.0
1517
)
1618

1719
require (
@@ -47,7 +49,6 @@ require (
4749
go.opentelemetry.io/otel/trace v1.13.0 // indirect
4850
go.uber.org/atomic v1.10.0 // indirect
4951
go.uber.org/multierr v1.9.0 // indirect
50-
go.uber.org/zap v1.24.0 // indirect
5152
golang.org/x/net v0.5.0 // indirect
5253
golang.org/x/sys v0.4.0 // indirect
5354
golang.org/x/text v0.6.0 // indirect

0 commit comments

Comments
 (0)