Skip to content

Commit

Permalink
[pdata] Replace Request.Set<Signals> with NewRequestFrom<Signals> (#…
Browse files Browse the repository at this point in the history
…5234)

* [pdata] Replace `Request.Set<Signals>` with NewRequestFrom<Signals>

- `plogotlp.Request.SetLogs` func is deprecated in favor of `plogotlp.NewRequestFromLogs`
- `pmetricotlp.Request.SetMetrics` func is deprecated in favor of `pmetricotlp.NewRequestFromMetrics`
- `ptraceotlp.Request.SetTraces` func is deprecated in favor of `ptraceotlp.NewRequestFromTraces`

* Update pdata/ptrace/ptraceotlp/traces.go

Co-authored-by: Juraci Paixão Kröhling <juraci.github@kroehling.de>

* Update pdata/plog/plogotlp/logs.go

Co-authored-by: Juraci Paixão Kröhling <juraci.github@kroehling.de>

* Update pdata/pmetric/pmetricotlp/metrics.go

Co-authored-by: Juraci Paixão Kröhling <juraci.github@kroehling.de>

Co-authored-by: Juraci Paixão Kröhling <juraci.github@kroehling.de>
  • Loading branch information
dmitryax and jpkrohling committed Apr 20, 2022
1 parent 2851998 commit 87069a8
Show file tree
Hide file tree
Showing 13 changed files with 47 additions and 38 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@

- Deprecate `configunmarshaler` package, move it to internal (#5151)
- Deprecate all API in `model/semconv`. The package is moved to a new `semcomv` module (#5196)
- Deprecate `p<signal>otlp.Request.Set<Logs|Metrics|Traces>` (#5234)
- `plogotlp.Request.SetLogs` func is deprecated in favor of `plogotlp.NewRequestFromLogs`
- `pmetricotlp.Request.SetMetrics` func is deprecated in favor of `pmetricotlp.NewRequestFromMetrics`
- `ptraceotlp.Request.SetTraces` func is deprecated in favor of `ptraceotlp.NewRequestFromTraces`

### 💡 Enhancements 💡

Expand Down
9 changes: 3 additions & 6 deletions exporter/otlpexporter/otlp.go
Original file line number Diff line number Diff line change
Expand Up @@ -101,22 +101,19 @@ func (e *exporter) shutdown(context.Context) error {
}

func (e *exporter) pushTraces(ctx context.Context, td ptrace.Traces) error {
req := ptraceotlp.NewRequest()
req.SetTraces(td)
req := ptraceotlp.NewRequestFromTraces(td)
_, err := e.traceExporter.Export(e.enhanceContext(ctx), req, e.callOptions...)
return processError(err)
}

func (e *exporter) pushMetrics(ctx context.Context, md pmetric.Metrics) error {
req := pmetricotlp.NewRequest()
req.SetMetrics(md)
req := pmetricotlp.NewRequestFromMetrics(md)
_, err := e.metricExporter.Export(e.enhanceContext(ctx), req, e.callOptions...)
return processError(err)
}

func (e *exporter) pushLogs(ctx context.Context, ld plog.Logs) error {
req := plogotlp.NewRequest()
req.SetLogs(ld)
req := plogotlp.NewRequestFromLogs(ld)
_, err := e.logExporter.Export(e.enhanceContext(ctx), req, e.callOptions...)
return processError(err)
}
Expand Down
9 changes: 3 additions & 6 deletions exporter/otlphttpexporter/otlp.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,7 @@ func (e *exporter) start(_ context.Context, host component.Host) error {
}

func (e *exporter) pushTraces(ctx context.Context, td ptrace.Traces) error {
tr := ptraceotlp.NewRequest()
tr.SetTraces(td)
tr := ptraceotlp.NewRequestFromTraces(td)
request, err := tr.MarshalProto()
if err != nil {
return consumererror.NewPermanent(err)
Expand All @@ -107,8 +106,7 @@ func (e *exporter) pushTraces(ctx context.Context, td ptrace.Traces) error {
}

func (e *exporter) pushMetrics(ctx context.Context, md pmetric.Metrics) error {
tr := pmetricotlp.NewRequest()
tr.SetMetrics(md)
tr := pmetricotlp.NewRequestFromMetrics(md)
request, err := tr.MarshalProto()
if err != nil {
return consumererror.NewPermanent(err)
Expand All @@ -117,8 +115,7 @@ func (e *exporter) pushMetrics(ctx context.Context, md pmetric.Metrics) error {
}

func (e *exporter) pushLogs(ctx context.Context, ld plog.Logs) error {
tr := plogotlp.NewRequest()
tr.SetLogs(ld)
tr := plogotlp.NewRequestFromLogs(ld)
request, err := tr.MarshalProto()
if err != nil {
return consumererror.NewPermanent(err)
Expand Down
9 changes: 9 additions & 0 deletions pdata/plog/plogotlp/logs.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ func (lr Response) UnmarshalJSON(data []byte) error {
}

// Request represents the request for gRPC/HTTP client/server.
// It's a wrapper for plog.Logs data.
type Request struct {
orig *otlpcollectorlog.ExportLogsServiceRequest
}
Expand All @@ -74,6 +75,13 @@ func NewRequest() Request {
return Request{orig: &otlpcollectorlog.ExportLogsServiceRequest{}}
}

// NewRequestFromLogs returns a Request from plog.Logs.
// Because Request is a wrapper for plog.Logs,
// any changes to the provided Logs struct will be reflected in the Request and vice versa.
func NewRequestFromLogs(l plog.Logs) Request {
return Request{orig: internal.LogsToOtlp(l)}
}

// MarshalProto marshals Request into proto bytes.
func (lr Request) MarshalProto() ([]byte, error) {
return lr.orig.Marshal()
Expand Down Expand Up @@ -106,6 +114,7 @@ func (lr Request) UnmarshalJSON(data []byte) error {
return nil
}

// Deprecated: [v0.50.0] Use NewRequestFromLogs instead.
func (lr Request) SetLogs(ld plog.Logs) {
*lr.orig = *internal.LogsToOtlp(ld)
}
Expand Down
5 changes: 1 addition & 4 deletions pdata/plog/plogotlp/logs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -314,10 +314,7 @@ func (f fakeLogsServer) Export(_ context.Context, request Request) (Response, er
func generateLogsRequest() Request {
ld := plog.NewLogs()
ld.ResourceLogs().AppendEmpty().ScopeLogs().AppendEmpty().LogRecords().AppendEmpty().Body().SetStringVal("test_log_record")

lr := NewRequest()
lr.SetLogs(ld)
return lr
return NewRequestFromLogs(ld)
}

func generateLogsRequestWithInstrumentationLibrary() Request {
Expand Down
9 changes: 9 additions & 0 deletions pdata/pmetric/pmetricotlp/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ func (mr Response) UnmarshalJSON(data []byte) error {
}

// Request represents the request for gRPC/HTTP client/server.
// It's a wrapper for pmetric.Metrics data.
type Request struct {
orig *otlpcollectormetrics.ExportMetricsServiceRequest
}
Expand All @@ -74,6 +75,13 @@ func NewRequest() Request {
return Request{orig: &otlpcollectormetrics.ExportMetricsServiceRequest{}}
}

// NewRequestFromMetrics returns a Request from pmetric.Metrics.
// Because Request is a wrapper for pmetric.Metrics,
// any changes to the provided Metrics struct will be reflected in the Request and vice versa.
func NewRequestFromMetrics(m pmetric.Metrics) Request {
return Request{orig: internal.MetricsToOtlp(m)}
}

// MarshalProto marshals Request into proto bytes.
func (mr Request) MarshalProto() ([]byte, error) {
return mr.orig.Marshal()
Expand Down Expand Up @@ -102,6 +110,7 @@ func (mr Request) UnmarshalJSON(data []byte) error {
return nil
}

// Deprecated: [v0.50.0] Use NewRequestFromMetrics instead.
func (mr Request) SetMetrics(ld pmetric.Metrics) {
*mr.orig = *internal.MetricsToOtlp(ld)
}
Expand Down
5 changes: 1 addition & 4 deletions pdata/pmetric/pmetricotlp/metrics_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -301,10 +301,7 @@ func generateMetricsRequest() Request {
m.SetName("test_metric")
m.SetDataType(pmetric.MetricDataTypeGauge)
m.Gauge().DataPoints().AppendEmpty()

mr := NewRequest()
mr.SetMetrics(md)
return mr
return NewRequestFromMetrics(md)
}

func generateMetricsRequestWithInstrumentationLibrary() Request {
Expand Down
9 changes: 9 additions & 0 deletions pdata/ptrace/ptraceotlp/traces.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ func (tr Response) UnmarshalJSON(data []byte) error {
}

// Request represents the request for gRPC/HTTP client/server.
// It's a wrapper for ptrace.Traces data.
type Request struct {
orig *otlpcollectortrace.ExportTraceServiceRequest
}
Expand All @@ -74,6 +75,13 @@ func NewRequest() Request {
return Request{orig: &otlpcollectortrace.ExportTraceServiceRequest{}}
}

// NewRequestFromTraces returns a Request from ptrace.Traces.
// Because Request is a wrapper for ptrace.Traces,
// any changes to the provided Traces struct will be reflected in the Request and vice versa.
func NewRequestFromTraces(t ptrace.Traces) Request {
return Request{orig: internal.TracesToOtlp(t)}
}

// MarshalProto marshals Request into proto bytes.
func (tr Request) MarshalProto() ([]byte, error) {
return tr.orig.Marshal()
Expand Down Expand Up @@ -106,6 +114,7 @@ func (tr Request) UnmarshalJSON(data []byte) error {
return nil
}

// Deprecated: [v0.50.0] Use NewRequestFromTraces instead.
func (tr Request) SetTraces(td ptrace.Traces) {
*tr.orig = *internal.TracesToOtlp(td)
}
Expand Down
5 changes: 1 addition & 4 deletions pdata/ptrace/ptraceotlp/traces_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -315,10 +315,7 @@ func (f fakeTracesServer) Export(_ context.Context, request Request) (Response,
func generateTracesRequest() Request {
td := ptrace.NewTraces()
td.ResourceSpans().AppendEmpty().ScopeSpans().AppendEmpty().Spans().AppendEmpty().SetName("test_span")

tr := NewRequest()
tr.SetTraces(td)
return tr
return NewRequestFromTraces(td)
}

func generateTracesRequestWithInstrumentationLibrary() Request {
Expand Down
6 changes: 2 additions & 4 deletions receiver/otlpreceiver/internal/logs/otlp_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,7 @@ func TestExport(t *testing.T) {
// Keep log data to compare the test result against it
// Clone needed because OTLP proto XXX_ fields are altered in the GRPC downstream
logData := ld.Clone()
req := plogotlp.NewRequest()
req.SetLogs(ld)
req := plogotlp.NewRequestFromLogs(ld)

resp, err := traceClient.Export(context.Background(), req)
require.NoError(t, err, "Failed to export trace: %v", err)
Expand Down Expand Up @@ -83,8 +82,7 @@ func TestExport_ErrorConsumer(t *testing.T) {
defer logClientDoneFn()

ld := testdata.GenerateLogsOneLogRecord()
req := plogotlp.NewRequest()
req.SetLogs(ld)
req := plogotlp.NewRequestFromLogs(ld)

resp, err := logClient.Export(context.Background(), req)
assert.EqualError(t, err, "rpc error: code = Unknown desc = my error")
Expand Down
6 changes: 2 additions & 4 deletions receiver/otlpreceiver/internal/metrics/otlp_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,7 @@ func TestExport(t *testing.T) {
// Clone needed because OTLP proto XXX_ fields are altered in the GRPC downstream
metricData := md.Clone()

req := pmetricotlp.NewRequest()
req.SetMetrics(md)
req := pmetricotlp.NewRequestFromMetrics(md)
resp, err := metricsClient.Export(context.Background(), req)

require.NoError(t, err, "Failed to export metrics: %v", err)
Expand Down Expand Up @@ -85,8 +84,7 @@ func TestExport_ErrorConsumer(t *testing.T) {
defer metricsClientDoneFn()

md := testdata.GenerateMetricsOneMetric()
req := pmetricotlp.NewRequest()
req.SetMetrics(md)
req := pmetricotlp.NewRequestFromMetrics(md)

resp, err := metricsClient.Export(context.Background(), req)
assert.EqualError(t, err, "rpc error: code = Unknown desc = my error")
Expand Down
6 changes: 2 additions & 4 deletions receiver/otlpreceiver/internal/trace/otlp_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,7 @@ func TestExport(t *testing.T) {
// Keep trace data to compare the test result against it
// Clone needed because OTLP proto XXX_ fields are altered in the GRPC downstream
traceData := td.Clone()
req := ptraceotlp.NewRequest()
req.SetTraces(td)
req := ptraceotlp.NewRequestFromTraces(td)

resp, err := traceClient.Export(context.Background(), req)
require.NoError(t, err, "Failed to export trace: %v", err)
Expand Down Expand Up @@ -83,8 +82,7 @@ func TestExport_ErrorConsumer(t *testing.T) {
defer traceClientDoneFn()

td := testdata.GenerateTracesOneSpan()
req := ptraceotlp.NewRequest()
req.SetTraces(td)
req := ptraceotlp.NewRequestFromTraces(td)
resp, err := traceClient.Export(context.Background(), req)
assert.EqualError(t, err, "rpc error: code = Unknown desc = my error")
assert.Equal(t, ptraceotlp.Response{}, resp)
Expand Down
3 changes: 1 addition & 2 deletions receiver/otlpreceiver/otlp_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -991,8 +991,7 @@ loop:

func exportTraces(cc *grpc.ClientConn, td ptrace.Traces) error {
acc := ptraceotlp.NewClient(cc)
req := ptraceotlp.NewRequest()
req.SetTraces(td)
req := ptraceotlp.NewRequestFromTraces(td)
_, err := acc.Export(context.Background(), req)

return err
Expand Down

0 comments on commit 87069a8

Please sign in to comment.