Skip to content

Commit c3df290

Browse files
committed
Deprecate per signal converter in favor of generic version
Signed-off-by: Bogdan Drutu <[email protected]>
1 parent b45663b commit c3df290

File tree

5 files changed

+28
-29
lines changed

5 files changed

+28
-29
lines changed

exporter/exporterhelper/logs.go

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,11 @@ func NewLogs(
103103
return NewLogsRequest(ctx, set, requestFromLogs(pusher), append([]Option{internal.WithEncoding(&logsEncoding{pusher: pusher})}, options...)...)
104104
}
105105

106-
// RequestFromLogsFunc converts plog.Logs data into a user-defined request.
107-
// Experimental: This API is at the early stage of development and may change without backward compatibility
108-
// until https://github.com/open-telemetry/opentelemetry-collector/issues/8122 is resolved.
109-
type RequestFromLogsFunc func(context.Context, plog.Logs) (Request, error)
106+
// Deprecated: [v0.122.0] use RequestConverterFunc[plog.Logs].
107+
type RequestFromLogsFunc = RequestConverterFunc[plog.Logs]
110108

111109
// requestFromLogs returns a RequestFromLogsFunc that converts plog.Logs into a Request.
112-
func requestFromLogs(pusher consumer.ConsumeLogsFunc) RequestFromLogsFunc {
110+
func requestFromLogs(pusher consumer.ConsumeLogsFunc) RequestConverterFunc[plog.Logs] {
113111
return func(_ context.Context, ld plog.Logs) (Request, error) {
114112
return newLogsRequest(ld, pusher), nil
115113
}
@@ -121,7 +119,7 @@ func requestFromLogs(pusher consumer.ConsumeLogsFunc) RequestFromLogsFunc {
121119
func NewLogsRequest(
122120
_ context.Context,
123121
set exporter.Settings,
124-
converter RequestFromLogsFunc,
122+
converter RequestConverterFunc[plog.Logs],
125123
options ...Option,
126124
) (exporter.Logs, error) {
127125
if set.Logger == nil {
@@ -145,7 +143,7 @@ func NewLogsRequest(
145143
return &logsExporter{BaseExporter: be, Logs: lc}, nil
146144
}
147145

148-
func newConsumeLogs(converter RequestFromLogsFunc, be *internal.BaseExporter, logger *zap.Logger) consumer.ConsumeLogsFunc {
146+
func newConsumeLogs(converter RequestConverterFunc[plog.Logs], be *internal.BaseExporter, logger *zap.Logger) consumer.ConsumeLogsFunc {
149147
return func(ctx context.Context, ld plog.Logs) error {
150148
req, err := converter(ctx, ld)
151149
if err != nil {

exporter/exporterhelper/metrics.go

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,11 @@ func NewMetrics(
103103
return NewMetricsRequest(ctx, set, requestFromMetrics(pusher), append([]Option{internal.WithEncoding(&metricsEncoding{pusher: pusher})}, options...)...)
104104
}
105105

106-
// RequestFromMetricsFunc converts pdata.Metrics into a user-defined request.
107-
// Experimental: This API is at the early stage of development and may change without backward compatibility
108-
// until https://github.com/open-telemetry/opentelemetry-collector/issues/8122 is resolved.
109-
type RequestFromMetricsFunc func(context.Context, pmetric.Metrics) (Request, error)
106+
// Deprecated: [v0.122.0] use RequestConverterFunc[pmetric.Metrics].
107+
type RequestFromMetricsFunc = RequestConverterFunc[pmetric.Metrics]
110108

111109
// requestFromMetrics returns a RequestFromMetricsFunc that converts pdata.Metrics into a Request.
112-
func requestFromMetrics(pusher consumer.ConsumeMetricsFunc) RequestFromMetricsFunc {
110+
func requestFromMetrics(pusher consumer.ConsumeMetricsFunc) RequestConverterFunc[pmetric.Metrics] {
113111
return func(_ context.Context, md pmetric.Metrics) (Request, error) {
114112
return newMetricsRequest(md, pusher), nil
115113
}
@@ -121,7 +119,7 @@ func requestFromMetrics(pusher consumer.ConsumeMetricsFunc) RequestFromMetricsFu
121119
func NewMetricsRequest(
122120
_ context.Context,
123121
set exporter.Settings,
124-
converter RequestFromMetricsFunc,
122+
converter RequestConverterFunc[pmetric.Metrics],
125123
options ...Option,
126124
) (exporter.Metrics, error) {
127125
if set.Logger == nil {
@@ -145,7 +143,7 @@ func NewMetricsRequest(
145143
return &metricsExporter{BaseExporter: be, Metrics: mc}, nil
146144
}
147145

148-
func newConsumeMetrics(converter RequestFromMetricsFunc, be *internal.BaseExporter, logger *zap.Logger) consumer.ConsumeMetricsFunc {
146+
func newConsumeMetrics(converter RequestConverterFunc[pmetric.Metrics], be *internal.BaseExporter, logger *zap.Logger) consumer.ConsumeMetricsFunc {
149147
return func(ctx context.Context, md pmetric.Metrics) error {
150148
req, err := converter(ctx, md)
151149
if err != nil {

exporter/exporterhelper/request.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
package exporterhelper // import "go.opentelemetry.io/collector/exporter/exporterhelper"
55

66
import (
7+
"context"
8+
79
"go.opentelemetry.io/collector/exporter/exporterhelper/internal/request"
810
)
911

@@ -19,3 +21,8 @@ type Request = request.Request
1921
// Experimental: This API is at the early stage of development and may change without backward compatibility
2022
// until https://github.com/open-telemetry/opentelemetry-collector/issues/8122 is resolved.
2123
type RequestErrorHandler = request.ErrorHandler
24+
25+
// RequestConverterFunc converts pdata telemetry into a user-defined Request.
26+
// Experimental: This API is at the early stage of development and may change without backward compatibility
27+
// until https://github.com/open-telemetry/opentelemetry-collector/issues/8122 is resolved.
28+
type RequestConverterFunc[K any] func(context.Context, K) (Request, error)

exporter/exporterhelper/traces.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,11 @@ func NewTraces(
9595
return NewTracesRequest(ctx, set, requestFromTraces(pusher), append([]Option{internal.WithEncoding(&tracesEncoding{pusher: pusher})}, options...)...)
9696
}
9797

98-
// RequestFromTracesFunc converts ptrace.Traces into a user-defined Request.
99-
// Experimental: This API is at the early stage of development and may change without backward compatibility
100-
// until https://github.com/open-telemetry/opentelemetry-collector/issues/8122 is resolved.
101-
type RequestFromTracesFunc func(context.Context, ptrace.Traces) (Request, error)
98+
// Deprecated: [v0.122.0] use RequestConverterFunc[ptrace.Traces].
99+
type RequestFromTracesFunc = RequestConverterFunc[ptrace.Traces]
102100

103-
// requestFromTraces returns a RequestFromTracesFunc that converts ptrace.Traces into a Request.
104-
func requestFromTraces(pusher consumer.ConsumeTracesFunc) RequestFromTracesFunc {
101+
// requestFromTraces returns a RequestConverterFunc that converts ptrace.Traces into a Request.
102+
func requestFromTraces(pusher consumer.ConsumeTracesFunc) RequestConverterFunc[ptrace.Traces] {
105103
return func(_ context.Context, traces ptrace.Traces) (Request, error) {
106104
return newTracesRequest(traces, pusher), nil
107105
}
@@ -113,7 +111,7 @@ func requestFromTraces(pusher consumer.ConsumeTracesFunc) RequestFromTracesFunc
113111
func NewTracesRequest(
114112
_ context.Context,
115113
set exporter.Settings,
116-
converter RequestFromTracesFunc,
114+
converter RequestConverterFunc[ptrace.Traces],
117115
options ...Option,
118116
) (exporter.Traces, error) {
119117
if set.Logger == nil {
@@ -137,7 +135,7 @@ func NewTracesRequest(
137135
return &tracesExporter{BaseExporter: be, Traces: tc}, nil
138136
}
139137

140-
func newConsumeTraces(converter RequestFromTracesFunc, be *internal.BaseExporter, logger *zap.Logger) consumer.ConsumeTracesFunc {
138+
func newConsumeTraces(converter RequestConverterFunc[ptrace.Traces], be *internal.BaseExporter, logger *zap.Logger) consumer.ConsumeTracesFunc {
141139
return func(ctx context.Context, td ptrace.Traces) error {
142140
req, err := converter(ctx, td)
143141
if err != nil {

exporter/exporterhelper/xexporterhelper/profiles.go

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,11 @@ func NewProfilesExporter(
9999
return NewProfilesRequestExporter(ctx, set, requestFromProfiles(pusher), append(opts, options...)...)
100100
}
101101

102-
// RequestFromProfilesFunc converts pprofile.Profiles into a user-defined Request.
103-
// Experimental: This API is at the early stage of development and may change without backward compatibility
104-
// until https://github.com/open-telemetry/opentelemetry-collector/issues/8122 is resolved.
105-
type RequestFromProfilesFunc func(context.Context, pprofile.Profiles) (exporterhelper.Request, error)
102+
// Deprecated: [v0.122.0] use exporterhelper.RequestConverterFunc[pprofile.Profiles].
103+
type RequestFromProfilesFunc = exporterhelper.RequestConverterFunc[pprofile.Profiles]
106104

107105
// requestFromProfiles returns a RequestFromProfilesFunc that converts pprofile.Profiles into a Request.
108-
func requestFromProfiles(pusher xconsumer.ConsumeProfilesFunc) RequestFromProfilesFunc {
106+
func requestFromProfiles(pusher xconsumer.ConsumeProfilesFunc) exporterhelper.RequestConverterFunc[pprofile.Profiles] {
109107
return func(_ context.Context, profiles pprofile.Profiles) (exporterhelper.Request, error) {
110108
return newProfilesRequest(profiles, pusher), nil
111109
}
@@ -117,7 +115,7 @@ func requestFromProfiles(pusher xconsumer.ConsumeProfilesFunc) RequestFromProfil
117115
func NewProfilesRequestExporter(
118116
_ context.Context,
119117
set exporter.Settings,
120-
converter RequestFromProfilesFunc,
118+
converter exporterhelper.RequestConverterFunc[pprofile.Profiles],
121119
options ...exporterhelper.Option,
122120
) (xexporter.Profiles, error) {
123121
if set.Logger == nil {
@@ -141,7 +139,7 @@ func NewProfilesRequestExporter(
141139
return &profileExporter{BaseExporter: be, Profiles: tc}, nil
142140
}
143141

144-
func newConsumeProfiles(converter RequestFromProfilesFunc, be *internal.BaseExporter, logger *zap.Logger) xconsumer.ConsumeProfilesFunc {
142+
func newConsumeProfiles(converter exporterhelper.RequestConverterFunc[pprofile.Profiles], be *internal.BaseExporter, logger *zap.Logger) xconsumer.ConsumeProfilesFunc {
145143
return func(ctx context.Context, pd pprofile.Profiles) error {
146144
req, err := converter(ctx, pd)
147145
if err != nil {

0 commit comments

Comments
 (0)