chore: update OpenTelemetry plugins to latest release (#11943)
This commit is contained in:
parent
dbf6796a89
commit
6606c5ed33
26
go.mod
26
go.mod
|
|
@ -89,9 +89,9 @@ require (
|
|||
github.com/hashicorp/consul/api v1.15.2
|
||||
github.com/hashicorp/go-uuid v1.0.3
|
||||
github.com/influxdata/go-syslog/v3 v3.0.0
|
||||
github.com/influxdata/influxdb-observability/common v0.2.22
|
||||
github.com/influxdata/influxdb-observability/influx2otel v0.2.21
|
||||
github.com/influxdata/influxdb-observability/otel2influx v0.2.22
|
||||
github.com/influxdata/influxdb-observability/common v0.2.28
|
||||
github.com/influxdata/influxdb-observability/influx2otel v0.2.28
|
||||
github.com/influxdata/influxdb-observability/otel2influx v0.2.28
|
||||
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
|
||||
|
|
@ -158,10 +158,9 @@ require (
|
|||
github.com/xdg/scram v1.0.5
|
||||
github.com/yuin/goldmark v1.4.13
|
||||
go.mongodb.org/mongo-driver v1.10.2
|
||||
go.opentelemetry.io/collector/pdata v0.56.0
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.31.0
|
||||
go.opentelemetry.io/otel/metric v0.31.0
|
||||
go.opentelemetry.io/otel/sdk/metric v0.31.0
|
||||
go.opentelemetry.io/collector/pdata v0.61.0
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.32.1
|
||||
go.opentelemetry.io/otel/sdk/metric v0.32.1
|
||||
go.starlark.net v0.0.0-20220328144851-d1966c6b9fcd
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4
|
||||
golang.org/x/net v0.0.0-20220909164309-bea034e7d591
|
||||
|
|
@ -188,6 +187,7 @@ require (
|
|||
require (
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.6 // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.0 // indirect
|
||||
go.opentelemetry.io/otel/metric v0.32.1 // indirect
|
||||
)
|
||||
|
||||
require (
|
||||
|
|
@ -388,12 +388,12 @@ require (
|
|||
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
||||
go.etcd.io/etcd/api/v3 v3.5.1 // indirect
|
||||
go.opencensus.io v0.23.0 // indirect
|
||||
go.opentelemetry.io/otel v1.8.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.8.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.31.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk v1.8.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.8.0 // indirect
|
||||
go.opentelemetry.io/proto/otlp v0.18.0 // indirect
|
||||
go.opentelemetry.io/otel v1.10.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.32.1 // indirect
|
||||
go.opentelemetry.io/otel/sdk v1.10.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.10.0 // indirect
|
||||
go.opentelemetry.io/proto/otlp v0.19.0 // indirect
|
||||
go.uber.org/atomic v1.9.0 // indirect
|
||||
go.uber.org/multierr v1.6.0 // indirect
|
||||
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect
|
||||
|
|
|
|||
52
go.sum
52
go.sum
|
|
@ -1363,12 +1363,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.22 h1:QXVvuY/VgaTrC5gALrQntPC/eQ5txg1GJZ4OI4pScnc=
|
||||
github.com/influxdata/influxdb-observability/common v0.2.22/go.mod h1:bW4ZANSxOnZu49ZhxiqKRyiFj+pePFII8+JGzvbtTTU=
|
||||
github.com/influxdata/influxdb-observability/influx2otel v0.2.21 h1:tmmLtJBEOU04+CLc1WsPSWVVW+BTmdmAlpgROlY/zog=
|
||||
github.com/influxdata/influxdb-observability/influx2otel v0.2.21/go.mod h1:Bg6Pi3swyEv3kvl/+3odBLG+LzPXS38IW5EkW3Qs3wg=
|
||||
github.com/influxdata/influxdb-observability/otel2influx v0.2.22 h1:GbugqGRMSttCEzfJaQjh/QSY1g2q642aa/TCUo++GT8=
|
||||
github.com/influxdata/influxdb-observability/otel2influx v0.2.22/go.mod h1:dlIflDYQNuDmEy0iuBE31VJnLJxj5SkEXZ0/2HDOeE0=
|
||||
github.com/influxdata/influxdb-observability/common v0.2.28 h1:kn3i4AjqNe/WEMrcINeuWd5xJe8fyK6g5rCDxBw8CbY=
|
||||
github.com/influxdata/influxdb-observability/common v0.2.28/go.mod h1:Zn0qergkR7OQZv+KPLLFThJvOXBoj45nvqMIYn8Sw5w=
|
||||
github.com/influxdata/influxdb-observability/influx2otel v0.2.28 h1:EcmE4fAp6VjGUlRrW6csnIZTU+zWSXY3rBPu3RKnttI=
|
||||
github.com/influxdata/influxdb-observability/influx2otel v0.2.28/go.mod h1:KN5pPyhZb027IBGoGNHVt6VqM7kZOcVnf6VudNGySSY=
|
||||
github.com/influxdata/influxdb-observability/otel2influx v0.2.28 h1:XLclpFnXj2a2Rpe45VAB5R3x0swzxrYcz6ZVMbvOBXM=
|
||||
github.com/influxdata/influxdb-observability/otel2influx v0.2.28/go.mod h1:tl5sHk8+kSl3QxbeIRDxODGG/bpw43gXE6FywDe7xTw=
|
||||
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=
|
||||
|
|
@ -2435,28 +2435,28 @@ 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/pdata v0.56.0 h1:JD8KjQ7dNZ441xMuVZVu5NRYmkA4vOYGV7w8tkCdyrE=
|
||||
go.opentelemetry.io/collector/pdata v0.56.0/go.mod h1:mYcCREWiIJyHss0dbU+GSiz2tmGZ6u09vtfkKTciog4=
|
||||
go.opentelemetry.io/collector/pdata v0.61.0 h1:jPUReUpR/D1xsigfRxyXA7cYMnXfnK+D7z61W6F9moo=
|
||||
go.opentelemetry.io/collector/pdata v0.61.0/go.mod h1:0hqgNMRneVXaLNelv3q0XKJbyBW9aMDwyC15pKd30+E=
|
||||
go.opentelemetry.io/otel v0.7.0/go.mod h1:aZMyHG5TqDOXEgH2tyLiXSUKly1jT3yqE9PmrzIeCdo=
|
||||
go.opentelemetry.io/otel v1.8.0 h1:zcvBFizPbpa1q7FehvFiHbQwGzmPILebO0tyqIR5Djg=
|
||||
go.opentelemetry.io/otel v1.8.0/go.mod h1:2pkj+iMj0o03Y+cW6/m8Y4WkRdYN3AvCXCnzRMp9yvM=
|
||||
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.8.0 h1:ao8CJIShCaIbaMsGxy+jp2YHSudketpDgDRcbirov78=
|
||||
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.8.0/go.mod h1:78XhIg8Ht9vR4tbLNUhXsiOnE2HOuSeKAiAcoVQEpOY=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.31.0 h1:H0+xwv4shKw0gfj/ZqR13qO2N/dBQogB1OcRjJjV39Y=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.31.0/go.mod h1:nkenGD8vcvs0uN6WhR90ZVHQlgDsRmXicnNadMnk+XQ=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.31.0 h1:BaQ2xM5cPmldVCMvbLoy5tcLUhXCtIhItDYBNw83B7Y=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.31.0/go.mod h1:VRr8tlXQEsTdesDCh0qBe2iKDWhpi3ZqDYw6VlZ8MhI=
|
||||
go.opentelemetry.io/otel/metric v0.31.0 h1:6SiklT+gfWAwWUR0meEMxQBtihpiEs4c+vL9spDTqUs=
|
||||
go.opentelemetry.io/otel/metric v0.31.0/go.mod h1:ohmwj9KTSIeBnDBm/ZwH2PSZxZzoOaG2xZeekTRzL5A=
|
||||
go.opentelemetry.io/otel/sdk v1.8.0 h1:xwu69/fNuwbSHWe/0PGS888RmjWY181OmcXDQKu7ZQk=
|
||||
go.opentelemetry.io/otel/sdk v1.8.0/go.mod h1:uPSfc+yfDH2StDM/Rm35WE8gXSNdvCg023J6HeGNO0c=
|
||||
go.opentelemetry.io/otel/sdk/metric v0.31.0 h1:2sZx4R43ZMhJdteKAlKoHvRgrMp53V1aRxvEf5lCq8Q=
|
||||
go.opentelemetry.io/otel/sdk/metric v0.31.0/go.mod h1:fl0SmNnX9mN9xgU6OLYLMBMrNAsaZQi7qBwprwO3abk=
|
||||
go.opentelemetry.io/otel/trace v1.8.0 h1:cSy0DF9eGI5WIfNwZ1q2iUyGj00tGzP24dE1lOlHrfY=
|
||||
go.opentelemetry.io/otel/trace v1.8.0/go.mod h1:0Bt3PXY8w+3pheS3hQUt+wow8b1ojPaTBoTCh2zIFI4=
|
||||
go.opentelemetry.io/otel v1.10.0 h1:Y7DTJMR6zs1xkS/upamJYk0SxxN4C9AqRd77jmZnyY4=
|
||||
go.opentelemetry.io/otel v1.10.0/go.mod h1:NbvWjCthWHKBEUMpf0/v8ZRZlni86PpGFEMA9pnQSnQ=
|
||||
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0 h1:TaB+1rQhddO1sF71MpZOZAuSPW1klK2M8XxfrBMfK7Y=
|
||||
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0/go.mod h1:78XhIg8Ht9vR4tbLNUhXsiOnE2HOuSeKAiAcoVQEpOY=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.32.1 h1:DQY4KNmy9Hu4SKAElPIp2DGmPZOgWmTurWhyd9yOAdM=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.32.1/go.mod h1:6FizIJscdUCUM5FP5JVh3FaB1Uku5Z7GapFvBOKERQg=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.32.1 h1:tpZ/DKQTUTIwDK6amyBYS4oudtO+swZW2zBUbkBTDNo=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.32.1/go.mod h1:A6awkKLPv8+5r7pSzwD21Qpt81i1mK1PK/7XwH/hHOk=
|
||||
go.opentelemetry.io/otel/metric v0.32.1 h1:ftff5LSBCIDwL0UkhBuDg8j9NNxx2IusvJ18q9h6RC4=
|
||||
go.opentelemetry.io/otel/metric v0.32.1/go.mod h1:iLPP7FaKMAD5BIxJ2VX7f2KTuz//0QK2hEUyti5psqQ=
|
||||
go.opentelemetry.io/otel/sdk v1.10.0 h1:jZ6K7sVn04kk/3DNUdJ4mqRlGDiXAVuIG+MMENpTNdY=
|
||||
go.opentelemetry.io/otel/sdk v1.10.0/go.mod h1:vO06iKzD5baltJz1zarxMCNHFpUlUiOy4s65ECtn6kE=
|
||||
go.opentelemetry.io/otel/sdk/metric v0.32.1 h1:S6AqzulzGQl+sTpYeAoVLw1SJbc2LYuKCMUmfEKG+zM=
|
||||
go.opentelemetry.io/otel/sdk/metric v0.32.1/go.mod h1:Nn+Nt/7cKzm5ISmvLzNO5RLf0Xuv8/Qo8fkpr0JDOzs=
|
||||
go.opentelemetry.io/otel/trace v1.10.0 h1:npQMbR8o7mum8uF95yFbOEJffhs1sbCOfDh8zAJiH5E=
|
||||
go.opentelemetry.io/otel/trace v1.10.0/go.mod h1:Sij3YYczqAdz+EhmGhE6TpTxUO5/F/AzrK+kxfGqySM=
|
||||
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
|
||||
go.opentelemetry.io/proto/otlp v0.18.0 h1:W5hyXNComRa23tGpKwG+FRAc4rfF6ZUg1JReK+QHS80=
|
||||
go.opentelemetry.io/proto/otlp v0.18.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
|
||||
go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw=
|
||||
go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
|
||||
go.starlark.net v0.0.0-20220328144851-d1966c6b9fcd h1:Uo/x0Ir5vQJ+683GXB9Ug+4fcjsbp7z7Ul8UaZbhsRM=
|
||||
go.starlark.net v0.0.0-20220328144851-d1966c6b9fcd/go.mod h1:t3mmBBPzAVvK0L0n1drDmrQsJ8FoIx4INCqVMTr/Zo0=
|
||||
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ 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"
|
||||
|
|
@ -16,7 +17,7 @@ type traceService struct {
|
|||
writer *writeToAccumulator
|
||||
}
|
||||
|
||||
var _ ptraceotlp.Server = (*traceService)(nil)
|
||||
var _ ptraceotlp.GRPCServer = (*traceService)(nil)
|
||||
|
||||
func newTraceService(logger common.Logger, writer *writeToAccumulator) *traceService {
|
||||
converter := otel2influx.NewOtelTracesToLineProtocol(logger)
|
||||
|
|
@ -36,7 +37,7 @@ type metricsService struct {
|
|||
writer *writeToAccumulator
|
||||
}
|
||||
|
||||
var _ pmetricotlp.Server = (*metricsService)(nil)
|
||||
var _ pmetricotlp.GRPCServer = (*metricsService)(nil)
|
||||
|
||||
var metricsSchemata = map[string]common.MetricsSchema{
|
||||
"prometheus-v1": common.MetricsSchemaTelegrafPrometheusV1,
|
||||
|
|
@ -69,7 +70,7 @@ type logsService struct {
|
|||
writer *writeToAccumulator
|
||||
}
|
||||
|
||||
var _ plogotlp.Server = (*logsService)(nil)
|
||||
var _ plogotlp.GRPCServer = (*logsService)(nil)
|
||||
|
||||
func newLogsService(logger common.Logger, writer *writeToAccumulator) *logsService {
|
||||
converter := otel2influx.NewOtelLogsToLineProtocol(logger)
|
||||
|
|
|
|||
|
|
@ -4,13 +4,11 @@ import (
|
|||
"context"
|
||||
"net"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
"go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc"
|
||||
"go.opentelemetry.io/otel/metric/global"
|
||||
controller "go.opentelemetry.io/otel/sdk/metric/controller/basic"
|
||||
processor "go.opentelemetry.io/otel/sdk/metric/processor/basic"
|
||||
"go.opentelemetry.io/otel/sdk/metric/selector/simple"
|
||||
"go.opentelemetry.io/otel/sdk/metric"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/test/bufconn"
|
||||
|
||||
|
|
@ -20,60 +18,55 @@ import (
|
|||
)
|
||||
|
||||
func TestOpenTelemetry(t *testing.T) {
|
||||
// create mock OpenTelemetry client
|
||||
|
||||
mockListener := bufconn.Listen(1024 * 1024)
|
||||
t.Cleanup(func() { _ = mockListener.Close() })
|
||||
plugin := inputs.Inputs["opentelemetry"]().(*OpenTelemetry)
|
||||
plugin.listener = mockListener
|
||||
accumulator := new(testutil.Accumulator)
|
||||
|
||||
err := plugin.Start(accumulator)
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, plugin.Start(accumulator))
|
||||
t.Cleanup(plugin.Stop)
|
||||
|
||||
metricExporter, err := otlpmetricgrpc.New(context.Background(),
|
||||
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
|
||||
t.Cleanup(cancel)
|
||||
|
||||
metricExporter, err := otlpmetricgrpc.New(ctx,
|
||||
otlpmetricgrpc.WithInsecure(),
|
||||
otlpmetricgrpc.WithDialOption(
|
||||
grpc.WithBlock(),
|
||||
grpc.WithContextDialer(func(_ context.Context, _ string) (net.Conn, error) {
|
||||
return mockListener.Dial()
|
||||
grpc.WithContextDialer(func(ctx context.Context, _ string) (net.Conn, error) {
|
||||
return mockListener.DialContext(ctx)
|
||||
})),
|
||||
)
|
||||
require.NoError(t, err)
|
||||
t.Cleanup(func() { _ = metricExporter.Shutdown(context.Background()) })
|
||||
t.Cleanup(func() { _ = metricExporter.Shutdown(ctx) })
|
||||
|
||||
pusher := controller.New(
|
||||
processor.NewFactory(
|
||||
simple.NewWithHistogramDistribution(),
|
||||
metricExporter,
|
||||
),
|
||||
controller.WithExporter(metricExporter),
|
||||
)
|
||||
reader := metric.NewManualReader()
|
||||
mp := metric.NewMeterProvider(metric.WithReader(reader))
|
||||
|
||||
err = pusher.Start(context.Background())
|
||||
require.NoError(t, err)
|
||||
t.Cleanup(func() { _ = pusher.Stop(context.Background()) })
|
||||
// set a metric value
|
||||
|
||||
global.SetMeterProvider(pusher)
|
||||
|
||||
// write metrics
|
||||
meter := global.MeterProvider().Meter("library-name")
|
||||
meter := mp.Meter("library-name")
|
||||
counter, err := meter.SyncInt64().Counter("measurement-counter")
|
||||
require.NoError(t, err)
|
||||
counter.Add(context.Background(), 7)
|
||||
counter.Add(ctx, 7)
|
||||
|
||||
err = pusher.Stop(context.Background())
|
||||
// write metrics through the telegraf OpenTelemetry input plugin
|
||||
|
||||
rm, err := reader.Collect(ctx)
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, metricExporter.Export(ctx, rm))
|
||||
|
||||
// Shutdown
|
||||
|
||||
require.NoError(t, reader.Shutdown(ctx))
|
||||
require.NoError(t, metricExporter.Shutdown(ctx))
|
||||
plugin.Stop()
|
||||
|
||||
err = metricExporter.Shutdown(context.Background())
|
||||
require.NoError(t, err)
|
||||
|
||||
// Check
|
||||
|
||||
require.Empty(t, accumulator.Errors)
|
||||
|
||||
require.Len(t, accumulator.Metrics, 1)
|
||||
got := accumulator.Metrics[0]
|
||||
require.Equal(t, "measurement-counter", got.Measurement)
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb-observability/common"
|
||||
|
||||
"github.com/influxdata/telegraf"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -3,11 +3,10 @@ package opentelemetry
|
|||
|
||||
import (
|
||||
"context"
|
||||
ntls "crypto/tls"
|
||||
_ "embed"
|
||||
"time"
|
||||
|
||||
ntls "crypto/tls"
|
||||
|
||||
"github.com/influxdata/influxdb-observability/common"
|
||||
"github.com/influxdata/influxdb-observability/influx2otel"
|
||||
"go.opentelemetry.io/collector/pdata/pmetric/pmetricotlp"
|
||||
|
|
@ -45,7 +44,7 @@ type OpenTelemetry struct {
|
|||
|
||||
metricsConverter *influx2otel.LineProtocolToOtelMetrics
|
||||
grpcClientConn *grpc.ClientConn
|
||||
metricsServiceClient pmetricotlp.Client
|
||||
metricsServiceClient pmetricotlp.GRPCClient
|
||||
callOptions []grpc.CallOption
|
||||
}
|
||||
|
||||
|
|
@ -158,7 +157,7 @@ func (o *OpenTelemetry) Write(metrics []telegraf.Metric) error {
|
|||
if len(o.Attributes) > 0 {
|
||||
for i := 0; i < md.Metrics().ResourceMetrics().Len(); i++ {
|
||||
for k, v := range o.Attributes {
|
||||
md.Metrics().ResourceMetrics().At(i).Resource().Attributes().UpsertString(k, v)
|
||||
md.Metrics().ResourceMetrics().At(i).Resource().Attributes().PutString(k, v)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,30 +13,31 @@ import (
|
|||
|
||||
"github.com/influxdata/influxdb-observability/common"
|
||||
"github.com/influxdata/influxdb-observability/influx2otel"
|
||||
"github.com/influxdata/telegraf"
|
||||
"github.com/influxdata/telegraf/config"
|
||||
"github.com/influxdata/telegraf/testutil"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/metadata"
|
||||
|
||||
"github.com/influxdata/telegraf"
|
||||
"github.com/influxdata/telegraf/config"
|
||||
"github.com/influxdata/telegraf/testutil"
|
||||
)
|
||||
|
||||
func TestOpenTelemetry(t *testing.T) {
|
||||
expect := pmetric.NewMetrics()
|
||||
{
|
||||
rm := expect.ResourceMetrics().AppendEmpty()
|
||||
rm.Resource().Attributes().InsertString("host.name", "potato")
|
||||
rm.Resource().Attributes().InsertString("attr-key", "attr-val")
|
||||
rm.Resource().Attributes().PutString("host.name", "potato")
|
||||
rm.Resource().Attributes().PutString("attr-key", "attr-val")
|
||||
ilm := rm.ScopeMetrics().AppendEmpty()
|
||||
ilm.Scope().SetName("My Library Name")
|
||||
m := ilm.Metrics().AppendEmpty()
|
||||
m.SetName("cpu_temp")
|
||||
m.SetDataType(pmetric.MetricDataTypeGauge)
|
||||
m.SetEmptyGauge()
|
||||
dp := m.Gauge().DataPoints().AppendEmpty()
|
||||
dp.Attributes().InsertString("foo", "bar")
|
||||
dp.Attributes().PutString("foo", "bar")
|
||||
dp.SetTimestamp(pcommon.Timestamp(1622848686000000000))
|
||||
dp.SetDoubleVal(87.332)
|
||||
dp.SetDoubleValue(87.332)
|
||||
}
|
||||
m := newMockOtelService(t)
|
||||
t.Cleanup(m.Cleanup)
|
||||
|
|
@ -79,7 +80,7 @@ func TestOpenTelemetry(t *testing.T) {
|
|||
assert.JSONEq(t, string(expectJSON), string(gotJSON))
|
||||
}
|
||||
|
||||
var _ pmetricotlp.Server = (*mockOtelService)(nil)
|
||||
var _ pmetricotlp.GRPCServer = (*mockOtelService)(nil)
|
||||
|
||||
type mockOtelService struct {
|
||||
t *testing.T
|
||||
|
|
@ -129,7 +130,8 @@ func (m *mockOtelService) Address() string {
|
|||
}
|
||||
|
||||
func (m *mockOtelService) Export(ctx context.Context, request pmetricotlp.Request) (pmetricotlp.Response, error) {
|
||||
m.metrics = request.Metrics().Clone()
|
||||
m.metrics = pmetric.NewMetrics()
|
||||
request.Metrics().CopyTo(m.metrics)
|
||||
ctxMetadata, ok := metadata.FromIncomingContext(ctx)
|
||||
assert.Equal(m.t, []string{"header1"}, ctxMetadata.Get("test"))
|
||||
assert.True(m.t, ok)
|
||||
|
|
|
|||
Loading…
Reference in New Issue