fix: update go.opentelemetry.io/collector/pdata from v0.48.0 to v0.49.0 (#10984)

This commit is contained in:
Jacob Marble 2022-04-19 06:28:01 -07:00 committed by GitHub
parent b2a1c1b497
commit bf99a726f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 53 additions and 45 deletions

View File

@ -262,6 +262,7 @@ following works:
- go.mongodb.org/mongo-driver [Apache License 2.0](https://github.com/mongodb/mongo-go-driver/blob/master/LICENSE)
- go.opencensus.io [Apache License 2.0](https://github.com/census-instrumentation/opencensus-go/blob/master/LICENSE)
- go.opentelemetry.io/collector/model [Apache License 2.0](https://github.com/open-telemetry/opentelemetry-collector/blob/main/LICENSE)
- go.opentelemetry.io/collector/pdata [Apache License 2.0](https://github.com/open-telemetry/opentelemetry-collector/blob/main/LICENSE)
- go.starlark.net [BSD 3-Clause "New" or "Revised" License](https://github.com/google/starlark-go/blob/master/LICENSE)
- go.uber.org/atomic [MIT License](https://pkg.go.dev/go.uber.org/atomic?tab=licenses)
- go.uber.org/multierr [MIT License](https://pkg.go.dev/go.uber.org/multierr?tab=licenses)

9
go.mod
View File

@ -78,9 +78,9 @@ require (
github.com/hashicorp/consul/api v1.12.0
github.com/hashicorp/go-uuid v1.0.2
github.com/influxdata/go-syslog/v3 v3.0.0
github.com/influxdata/influxdb-observability/common v0.2.17
github.com/influxdata/influxdb-observability/influx2otel v0.2.17
github.com/influxdata/influxdb-observability/otel2influx v0.2.17
github.com/influxdata/influxdb-observability/common v0.2.18
github.com/influxdata/influxdb-observability/influx2otel v0.2.18
github.com/influxdata/influxdb-observability/otel2influx v0.2.18
github.com/influxdata/line-protocol/v2 v2.2.1
github.com/influxdata/tail v1.0.1-0.20210707231403-b283181d1fa7
github.com/influxdata/toml v0.0.0-20190415235208-270119a8ce65
@ -139,7 +139,7 @@ require (
github.com/xdg/scram v1.0.5
github.com/yuin/goldmark v1.4.1
go.mongodb.org/mongo-driver v1.9.0
go.opentelemetry.io/collector/model v0.48.0
go.opentelemetry.io/collector/pdata v0.49.0
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.28.0
go.opentelemetry.io/otel/metric v0.28.0
go.opentelemetry.io/otel/sdk/metric v0.28.0
@ -335,6 +335,7 @@ require (
github.com/yusufpapurcu/wmi v1.2.2 // indirect
go.etcd.io/etcd/api/v3 v3.5.0 // indirect
go.opencensus.io v0.23.0 // indirect
go.opentelemetry.io/collector/model v0.49.0 // indirect
go.opentelemetry.io/otel v1.6.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.6.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.28.0 // indirect

18
go.sum
View File

@ -1297,12 +1297,12 @@ github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7m
github.com/influxdata/go-syslog/v3 v3.0.0 h1:jichmjSZlYK0VMmlz+k4WeOQd7z745YLsvGMqwtYt4I=
github.com/influxdata/go-syslog/v3 v3.0.0/go.mod h1:tulsOp+CecTAYC27u9miMgq21GqXRW6VdKbOG+QSP4Q=
github.com/influxdata/influxdb v1.8.4/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI=
github.com/influxdata/influxdb-observability/common v0.2.17 h1:nl1BpGcs00mctFo4FzuB3jZKIoCEEuNr9SNBvmbijss=
github.com/influxdata/influxdb-observability/common v0.2.17/go.mod h1:fuVPmy5B3kp9xKiUhqAtsAd9s+7CXafOCdR/AkxVG/4=
github.com/influxdata/influxdb-observability/influx2otel v0.2.17 h1:kiWPPbAyzUTatUb2QCZPThY6yvwRZyvYU+WSDoWjREo=
github.com/influxdata/influxdb-observability/influx2otel v0.2.17/go.mod h1:JmAH/hVWjdvSEd9EjtYeX8K8Z4OOjPrjEI9SoHjMuNo=
github.com/influxdata/influxdb-observability/otel2influx v0.2.17 h1:7EspR0ClC+p7lFOajV+QmzgB6siO/qS6RxFNVfhQptY=
github.com/influxdata/influxdb-observability/otel2influx v0.2.17/go.mod h1:Qhw4L2S4ho6gTMIZHRSzxdKMJi4QsVn2J+NQp4f41Qw=
github.com/influxdata/influxdb-observability/common v0.2.18 h1:M+49hbNmZ5/bbUDMgtsbY4qqR/xtWEc3VnNAw/oa+Pk=
github.com/influxdata/influxdb-observability/common v0.2.18/go.mod h1:5wAWFtOFjmYo2tgi/S0wWC4z+inxFzOeAxEpYqIdcWg=
github.com/influxdata/influxdb-observability/influx2otel v0.2.18 h1:4pWyw6Jan9TTlSnc7N/sgfOSCSD/5fDtd/FP12uw7lE=
github.com/influxdata/influxdb-observability/influx2otel v0.2.18/go.mod h1:bU6jIF+uxOC0S3G2i9ilPFIQS0GJFSgUqVVqfJ7JzLA=
github.com/influxdata/influxdb-observability/otel2influx v0.2.18 h1:x1o5C36t6KBkx0//mRl3nMLBIJKLOe463kWhTRh12Uo=
github.com/influxdata/influxdb-observability/otel2influx v0.2.18/go.mod h1:A4Y9+52yOPuNXuvbHwKKX70RhrtfNfmoZCVG6xj6qoQ=
github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk=
github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE=
@ -2284,8 +2284,10 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
go.opentelemetry.io/collector v0.28.0/go.mod h1:AP/BTXwo1eedoJO7V+HQ68CSvJU1lcdqOzJCgt1VsNs=
go.opentelemetry.io/collector/model v0.48.0 h1:xmN4LdZ92q6PZnaKhMdIlC5KGtPJeOYaWCnA1PQ2oZw=
go.opentelemetry.io/collector/model v0.48.0/go.mod h1:1QVYv8TqsTMt9wVC5BUF9fqMVtk2C5EclWDnuVqdKoU=
go.opentelemetry.io/collector/model v0.49.0 h1:mbUSNgpaBE3GWmzGsRb5t0xILpXIVYv7scPTTfoMt6c=
go.opentelemetry.io/collector/model v0.49.0/go.mod h1:nOYQv9KoFPs6ihJwOi24qB209EOhS9HkwhGj54YiEAw=
go.opentelemetry.io/collector/pdata v0.49.0 h1:aYj5rOlRC0x7lGXbc185LMsMMoY/pjOTXr5s1O2SzXs=
go.opentelemetry.io/collector/pdata v0.49.0/go.mod h1:YwmKuiFhNgtmhRdpi8Q8FAWPa0AwJTCSlssSsAtuRcY=
go.opentelemetry.io/otel v0.7.0/go.mod h1:aZMyHG5TqDOXEgH2tyLiXSUKly1jT3yqE9PmrzIeCdo=
go.opentelemetry.io/otel v1.6.0 h1:YV6GkGe/Ag2PKsm4rjlqdSNs0w0A5ZzxeGkxhx1T+t4=
go.opentelemetry.io/otel v1.6.0/go.mod h1:bfJD2DZVw0LBxghOTlgnlI0CV3hLDu9XF/QKOUXMTQQ=

View File

@ -3,10 +3,12 @@ package opentelemetry
import (
"context"
"fmt"
"go.opentelemetry.io/collector/pdata/plog/plogotlp"
"go.opentelemetry.io/collector/pdata/pmetric/pmetricotlp"
"go.opentelemetry.io/collector/pdata/ptrace/ptraceotlp"
"github.com/influxdata/influxdb-observability/common"
"github.com/influxdata/influxdb-observability/otel2influx"
"go.opentelemetry.io/collector/model/otlpgrpc"
)
type traceService struct {
@ -14,7 +16,7 @@ type traceService struct {
writer *writeToAccumulator
}
var _ otlpgrpc.TracesServer = (*traceService)(nil)
var _ ptraceotlp.Server = (*traceService)(nil)
func newTraceService(logger common.Logger, writer *writeToAccumulator) *traceService {
converter := otel2influx.NewOtelTracesToLineProtocol(logger)
@ -24,9 +26,9 @@ func newTraceService(logger common.Logger, writer *writeToAccumulator) *traceSer
}
}
func (s *traceService) Export(ctx context.Context, req otlpgrpc.TracesRequest) (otlpgrpc.TracesResponse, error) {
func (s *traceService) Export(ctx context.Context, req ptraceotlp.Request) (ptraceotlp.Response, error) {
err := s.converter.WriteTraces(ctx, req.Traces(), s.writer)
return otlpgrpc.NewTracesResponse(), err
return ptraceotlp.NewResponse(), err
}
type metricsService struct {
@ -34,7 +36,7 @@ type metricsService struct {
writer *writeToAccumulator
}
var _ otlpgrpc.MetricsServer = (*metricsService)(nil)
var _ pmetricotlp.Server = (*metricsService)(nil)
var metricsSchemata = map[string]common.MetricsSchema{
"prometheus-v1": common.MetricsSchemaTelegrafPrometheusV1,
@ -57,9 +59,9 @@ func newMetricsService(logger common.Logger, writer *writeToAccumulator, schema
}, nil
}
func (s *metricsService) Export(ctx context.Context, req otlpgrpc.MetricsRequest) (otlpgrpc.MetricsResponse, error) {
func (s *metricsService) Export(ctx context.Context, req pmetricotlp.Request) (pmetricotlp.Response, error) {
err := s.converter.WriteMetrics(ctx, req.Metrics(), s.writer)
return otlpgrpc.NewMetricsResponse(), err
return pmetricotlp.NewResponse(), err
}
type logsService struct {
@ -67,7 +69,7 @@ type logsService struct {
writer *writeToAccumulator
}
var _ otlpgrpc.LogsServer = (*logsService)(nil)
var _ plogotlp.Server = (*logsService)(nil)
func newLogsService(logger common.Logger, writer *writeToAccumulator) *logsService {
converter := otel2influx.NewOtelLogsToLineProtocol(logger)
@ -77,7 +79,7 @@ func newLogsService(logger common.Logger, writer *writeToAccumulator) *logsServi
}
}
func (s *logsService) Export(ctx context.Context, req otlpgrpc.LogsRequest) (otlpgrpc.LogsResponse, error) {
func (s *logsService) Export(ctx context.Context, req plogotlp.Request) (plogotlp.Response, error) {
err := s.converter.WriteLogs(ctx, req.Logs(), s.writer)
return otlpgrpc.NewLogsResponse(), err
return plogotlp.NewResponse(), err
}

View File

@ -2,6 +2,9 @@ package opentelemetry
import (
"fmt"
"go.opentelemetry.io/collector/pdata/plog/plogotlp"
"go.opentelemetry.io/collector/pdata/pmetric/pmetricotlp"
"go.opentelemetry.io/collector/pdata/ptrace/ptraceotlp"
"net"
"sync"
"time"
@ -10,7 +13,6 @@ import (
"github.com/influxdata/telegraf/config"
"github.com/influxdata/telegraf/plugins/common/tls"
"github.com/influxdata/telegraf/plugins/inputs"
"go.opentelemetry.io/collector/model/otlpgrpc"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
)
@ -49,13 +51,13 @@ func (o *OpenTelemetry) Start(accumulator telegraf.Accumulator) error {
influxWriter := &writeToAccumulator{accumulator}
o.grpcServer = grpc.NewServer(grpcOptions...)
otlpgrpc.RegisterTracesServer(o.grpcServer, newTraceService(logger, influxWriter))
ptraceotlp.RegisterServer(o.grpcServer, newTraceService(logger, influxWriter))
ms, err := newMetricsService(logger, influxWriter, o.MetricsSchema)
if err != nil {
return err
}
otlpgrpc.RegisterMetricsServer(o.grpcServer, ms)
otlpgrpc.RegisterLogsServer(o.grpcServer, newLogsService(logger, influxWriter))
pmetricotlp.RegisterServer(o.grpcServer, ms)
plogotlp.RegisterServer(o.grpcServer, newLogsService(logger, influxWriter))
if o.listener == nil {
o.listener, err = net.Listen("tcp", o.ServiceAddress)

View File

@ -2,6 +2,7 @@ package opentelemetry
import (
"context"
"go.opentelemetry.io/collector/pdata/pmetric/pmetricotlp"
"google.golang.org/grpc/credentials/insecure"
"time"
@ -11,7 +12,6 @@ import (
"github.com/influxdata/telegraf/config"
"github.com/influxdata/telegraf/plugins/common/tls"
"github.com/influxdata/telegraf/plugins/outputs"
"go.opentelemetry.io/collector/model/otlpgrpc"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
@ -33,7 +33,7 @@ type OpenTelemetry struct {
metricsConverter *influx2otel.LineProtocolToOtelMetrics
grpcClientConn *grpc.ClientConn
metricsServiceClient otlpgrpc.MetricsClient
metricsServiceClient pmetricotlp.Client
callOptions []grpc.CallOption
}
@ -69,7 +69,7 @@ func (o *OpenTelemetry) Connect() error {
return err
}
metricsServiceClient := otlpgrpc.NewMetricsClient(grpcClientConn)
metricsServiceClient := pmetricotlp.NewClient(grpcClientConn)
o.metricsConverter = metricsConverter
o.grpcClientConn = grpcClientConn
@ -117,7 +117,7 @@ func (o *OpenTelemetry) Write(metrics []telegraf.Metric) error {
}
}
md := otlpgrpc.NewMetricsRequest()
md := pmetricotlp.NewRequest()
md.SetMetrics(batch.GetMetrics())
if md.Metrics().ResourceMetrics().Len() == 0 {
return nil

View File

@ -2,6 +2,9 @@ package opentelemetry
import (
"context"
"go.opentelemetry.io/collector/pdata/pcommon"
"go.opentelemetry.io/collector/pdata/pmetric"
"go.opentelemetry.io/collector/pdata/pmetric/pmetricotlp"
"google.golang.org/grpc/credentials/insecure"
"net"
"strings"
@ -15,15 +18,12 @@ import (
"github.com/influxdata/telegraf/testutil"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/model/otlp"
"go.opentelemetry.io/collector/model/otlpgrpc"
"go.opentelemetry.io/collector/model/pdata"
"google.golang.org/grpc"
"google.golang.org/grpc/metadata"
)
func TestOpenTelemetry(t *testing.T) {
expect := pdata.NewMetrics()
expect := pmetric.NewMetrics()
{
rm := expect.ResourceMetrics().AppendEmpty()
rm.Resource().Attributes().InsertString("host.name", "potato")
@ -32,10 +32,10 @@ func TestOpenTelemetry(t *testing.T) {
ilm.Scope().SetName("My Library Name")
m := ilm.Metrics().AppendEmpty()
m.SetName("cpu_temp")
m.SetDataType(pdata.MetricDataTypeGauge)
m.SetDataType(pmetric.MetricDataTypeGauge)
dp := m.Gauge().DataPoints().AppendEmpty()
dp.Attributes().InsertString("foo", "bar")
dp.SetTimestamp(pdata.Timestamp(1622848686000000000))
dp.SetTimestamp(pcommon.Timestamp(1622848686000000000))
dp.SetDoubleVal(87.332)
}
m := newMockOtelService(t)
@ -50,7 +50,7 @@ func TestOpenTelemetry(t *testing.T) {
Attributes: map[string]string{"attr-key": "attr-val"},
metricsConverter: metricsConverter,
grpcClientConn: m.GrpcClient(),
metricsServiceClient: otlpgrpc.NewMetricsClient(m.GrpcClient()),
metricsServiceClient: pmetricotlp.NewClient(m.GrpcClient()),
}
input := testutil.MustMetric(
@ -76,16 +76,16 @@ func TestOpenTelemetry(t *testing.T) {
got := m.GotMetrics()
expectJSON, err := otlp.NewJSONMetricsMarshaler().MarshalMetrics(expect)
expectJSON, err := pmetric.NewJSONMarshaler().MarshalMetrics(expect)
require.NoError(t, err)
gotJSON, err := otlp.NewJSONMetricsMarshaler().MarshalMetrics(got)
gotJSON, err := pmetric.NewJSONMarshaler().MarshalMetrics(got)
require.NoError(t, err)
assert.JSONEq(t, string(expectJSON), string(gotJSON))
}
var _ otlpgrpc.MetricsServer = (*mockOtelService)(nil)
var _ pmetricotlp.Server = (*mockOtelService)(nil)
type mockOtelService struct {
t *testing.T
@ -93,7 +93,7 @@ type mockOtelService struct {
grpcServer *grpc.Server
grpcClient *grpc.ClientConn
metrics pdata.Metrics
metrics pmetric.Metrics
}
func newMockOtelService(t *testing.T) *mockOtelService {
@ -107,7 +107,7 @@ func newMockOtelService(t *testing.T) *mockOtelService {
grpcServer: grpcServer,
}
otlpgrpc.RegisterMetricsServer(grpcServer, mockOtelService)
pmetricotlp.RegisterServer(grpcServer, mockOtelService)
go func() { assert.NoError(t, grpcServer.Serve(listener)) }()
grpcClient, err := grpc.Dial(listener.Addr().String(), grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithBlock())
@ -126,7 +126,7 @@ func (m *mockOtelService) GrpcClient() *grpc.ClientConn {
return m.grpcClient
}
func (m *mockOtelService) GotMetrics() pdata.Metrics {
func (m *mockOtelService) GotMetrics() pmetric.Metrics {
return m.metrics
}
@ -134,10 +134,10 @@ func (m *mockOtelService) Address() string {
return m.listener.Addr().String()
}
func (m *mockOtelService) Export(ctx context.Context, request otlpgrpc.MetricsRequest) (otlpgrpc.MetricsResponse, error) {
func (m *mockOtelService) Export(ctx context.Context, request pmetricotlp.Request) (pmetricotlp.Response, error) {
m.metrics = request.Metrics().Clone()
ctxMetadata, ok := metadata.FromIncomingContext(ctx)
assert.Equal(m.t, []string{"header1"}, ctxMetadata.Get("test"))
assert.True(m.t, ok)
return otlpgrpc.MetricsResponse{}, nil
return pmetricotlp.Response{}, nil
}