diff --git a/LICENSE-3rdparty.csv b/LICENSE-3rdparty.csv index b85d8a30aa38..23f3f01c0bb5 100644 --- a/LICENSE-3rdparty.csv +++ b/LICENSE-3rdparty.csv @@ -633,6 +633,11 @@ core,github.com/shirou/gopsutil/load,BSD-3-Clause,The Go Authors | WAKAYAMA Shir core,github.com/shirou/gopsutil/mem,BSD-3-Clause,The Go Authors | WAKAYAMA Shirou core,github.com/shirou/gopsutil/net,BSD-3-Clause,The Go Authors | WAKAYAMA Shirou core,github.com/shirou/gopsutil/process,BSD-3-Clause,The Go Authors | WAKAYAMA Shirou +core,github.com/shirou/gopsutil/v3/cpu,BSD-3-Clause,The Go Authors | WAKAYAMA Shirou +core,github.com/shirou/gopsutil/v3/internal/common,BSD-3-Clause,The Go Authors | WAKAYAMA Shirou +core,github.com/shirou/gopsutil/v3/mem,BSD-3-Clause,The Go Authors | WAKAYAMA Shirou +core,github.com/shirou/gopsutil/v3/net,BSD-3-Clause,The Go Authors | WAKAYAMA Shirou +core,github.com/shirou/gopsutil/v3/process,BSD-3-Clause,The Go Authors | WAKAYAMA Shirou core,github.com/shirou/w32,BSD-3-Clause,The w32 Authors core,github.com/shuLhan/go-bindata,CC0-1.0,The go-bindata authors core,github.com/shuLhan/go-bindata/cmd/go-bindata,CC0-1.0,The go-bindata authors @@ -746,11 +751,9 @@ core,go.opentelemetry.io/collector/component/componenterror,Apache-2.0,Open Tele core,go.opentelemetry.io/collector/component/componenthelper,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/config,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/config/configauth,Apache-2.0,Open Telemetry Maintainers -core,go.opentelemetry.io/collector/config/configcheck,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/config/configgrpc,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/config/confighttp,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/config/confignet,Apache-2.0,Open Telemetry Maintainers -core,go.opentelemetry.io/collector/config/configparser,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/config/configtelemetry,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/config/configtest,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/config/configtls,Apache-2.0,Open Telemetry Maintainers @@ -764,10 +767,9 @@ core,go.opentelemetry.io/collector/exporter/exporterhelper,Apache-2.0,Open Telem core,go.opentelemetry.io/collector/exporter/exporterhelper/internal,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/exporter/otlpexporter,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/extension/ballastextension,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/collector/extension/experimental/storage,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/extension/extensionhelper,Apache-2.0,Open Telemetry Maintainers -core,go.opentelemetry.io/collector/extension/storage,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/internal/cgroups,Apache-2.0,Open Telemetry Maintainers -core,go.opentelemetry.io/collector/internal/collector/telemetry,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/internal/iruntime,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/internal/middleware,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/internal/obsreportconfig,Apache-2.0,Open Telemetry Maintainers @@ -801,13 +803,14 @@ core,go.opentelemetry.io/collector/receiver/scrapererror,Apache-2.0,Open Telemet core,go.opentelemetry.io/collector/service,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/service/internal,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/service/internal/builder,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/collector/service/internal/components,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/collector/service/internal/extensions,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/service/internal/fanoutconsumer,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/service/internal/telemetry,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/service/internal/telemetrylogs,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/service/internal/zpages,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/service/internal/zpages/tmplgen,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/collector/service/parserprovider,Apache-2.0,Open Telemetry Maintainers -core,go.opentelemetry.io/contrib,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/internal,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp,Apache-2.0,Open Telemetry Maintainers @@ -817,19 +820,34 @@ core,go.opentelemetry.io/otel,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/attribute,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/baggage,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/codes,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/exporters/prometheus,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/internal,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/internal/baggage,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/internal/global,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/internal/metric,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/internal/metric/global,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/internal/metric/registry,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/metric,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/metric/global,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/metric/number,Apache-2.0,Open Telemetry Maintainers -core,go.opentelemetry.io/otel/metric/registry,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/metric/sdkapi,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/metric/unit,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/propagation,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/sdk/export/metric,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/sdk/export/metric/aggregation,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/sdk/instrumentation,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/sdk/internal,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/sdk/metric,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/sdk/metric/aggregator,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/sdk/metric/aggregator/exact,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/sdk/metric/aggregator/histogram,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/sdk/metric/aggregator/lastvalue,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/sdk/metric/aggregator/minmaxsumcount,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/sdk/metric/aggregator/sum,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/sdk/metric/controller/basic,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/sdk/metric/controller/time,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/sdk/metric/processor/basic,Apache-2.0,Open Telemetry Maintainers +core,go.opentelemetry.io/otel/sdk/metric/selector/simple,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/sdk/resource,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/sdk/trace,Apache-2.0,Open Telemetry Maintainers core,go.opentelemetry.io/otel/semconv/v1.4.0,Apache-2.0,Open Telemetry Maintainers diff --git a/go.mod b/go.mod index d76642cf4707..e81faf418f62 100644 --- a/go.mod +++ b/go.mod @@ -161,7 +161,7 @@ require ( github.com/prometheus/client_golang v1.11.0 github.com/richardartoul/molecule v0.0.0-20210914193524-25d8911bb85b github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da - github.com/shirou/gopsutil v3.21.8+incompatible + github.com/shirou/gopsutil v3.21.9+incompatible github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4 github.com/shuLhan/go-bindata v4.0.0+incompatible github.com/spf13/afero v1.6.0 @@ -183,8 +183,10 @@ require ( github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f go.etcd.io/bbolt v1.3.6 go.etcd.io/etcd/client/v2 v2.305.0 - go.opentelemetry.io/collector v0.36.0 - go.opentelemetry.io/collector/model v0.36.0 + go.opentelemetry.io/collector v0.37.0 + go.opentelemetry.io/collector/model v0.37.0 + // Fix vanity import issue + go.opentelemetry.io/otel/internal/metric v0.24.1-0.20211006140346-3d4ae8d0b75f // indirect go.uber.org/automaxprocs v1.4.0 go.uber.org/multierr v1.7.0 go.uber.org/zap v1.19.1 @@ -198,7 +200,7 @@ require ( golang.org/x/tools v0.1.5 gomodules.xyz/jsonpatch/v3 v3.0.1 google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08 - google.golang.org/grpc v1.40.0 + google.golang.org/grpc v1.41.0 gopkg.in/DataDog/dd-trace-go.v1 v1.33.0 gopkg.in/Knetic/govaluate.v3 v3.0.0 // indirect gopkg.in/yaml.v2 v2.4.0 diff --git a/go.sum b/go.sum index 656d287f142a..220c2ed4c683 100644 --- a/go.sum +++ b/go.sum @@ -955,8 +955,8 @@ github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgo github.com/klauspost/pgzip v1.2.4/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= -github.com/knadh/koanf v1.2.3 h1:2Rkr0YhhYk+4QEOm800Q3Pu0Wi87svTxM6uuEb4WhYw= -github.com/knadh/koanf v1.2.3/go.mod h1:xpPTwMhsA/aaQLAilyCCqfpEiY1gpa160AiCuWHJUjY= +github.com/knadh/koanf v1.2.4 h1:AQYoGbNwphHd63E//SkDkqEGcogARxGspHWqoJw6O8k= +github.com/knadh/koanf v1.2.4/go.mod h1:xpPTwMhsA/aaQLAilyCCqfpEiY1gpa160AiCuWHJUjY= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -1293,8 +1293,8 @@ github.com/prometheus/common v0.23.0/go.mod h1:H6QK/N6XVT42whUeIdI3dp36w49c+/iMD github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.30.0 h1:JEkYlQnpzrzQFxi6gnukFPdQ+ac82oRhzMcIduJu/Ug= -github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.31.1 h1:d18hG4PkHnNAKNMOmFuXFaiY8Us0nird/2m60uS1AMs= +github.com/prometheus/common v0.31.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/exporter-toolkit v0.5.1/go.mod h1:OCkM4805mmisBhLmVFw858QYi3v0wKdY6/UxrT0pZVg= github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -1352,8 +1352,10 @@ github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvW github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shirou/gopsutil v2.0.0+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -github.com/shirou/gopsutil v3.21.8+incompatible h1:sh0foI8tMRlCidUJR+KzqWYWxrkuuPIGiO6Vp+KXdCU= -github.com/shirou/gopsutil v3.21.8+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shirou/gopsutil v3.21.9+incompatible h1:LTLpUnfX81MkHeCtSrwNKZwuW5Id6kCa7/P43NdcNn4= +github.com/shirou/gopsutil v3.21.9+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shirou/gopsutil/v3 v3.21.9 h1:Vn4MUz2uXhqLSiCbGFRc0DILbMVLAY92DSkT8bsYrHg= +github.com/shirou/gopsutil/v3 v3.21.9/go.mod h1:YWp/H8Qs5fVmf17v7JNZzA0mPJ+mS2e9JdiUF9LlKzQ= github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4 h1:udFKJ0aHUL60LboW/A+DfgoHVedieIzIXE8uylPue0U= github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= github.com/shuLhan/go-bindata v4.0.0+incompatible h1:xD8LkuVZLV5OOn/IEuFdt6EEAW7deWiqgwaaSGhjAJc= @@ -1453,10 +1455,10 @@ github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhV github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tinylib/msgp v1.1.6 h1:i+SbKraHhnrf9M5MYmvQhFnbLhAXSDWF8WWsuyRdocw= github.com/tinylib/msgp v1.1.6/go.mod h1:75BAfg2hauQhs3qedfdDZmWAPcFMAvJE5b9rGOMufyw= -github.com/tklauser/go-sysconf v0.3.5 h1:uu3Xl4nkLzQfXNsWn15rPc/HQCJKObbt1dKJeWp3vU4= -github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= -github.com/tklauser/numcpus v0.2.2 h1:oyhllyrScuYI6g+h/zUvNXNp1wy7x8qQy3t/piefldA= -github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM= +github.com/tklauser/go-sysconf v0.3.9 h1:JeUVdAOWhhxVcU6Eqr/ATFHgXk/mmiItdKeJPev3vTo= +github.com/tklauser/go-sysconf v0.3.9/go.mod h1:11DU/5sG7UexIrp/O6g35hrWzu0JxlwQ3LSFUzyeuhs= +github.com/tklauser/numcpus v0.3.0 h1:ILuRUQBtssgnxw0XXIjKUC56fgnOrFoQQ/4+DeU2biQ= +github.com/tklauser/numcpus v0.3.0/go.mod h1:yFGUr7TUHQRAhyqBcEg0Ge34zDBAsIvJJcyE6boqnA8= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20200122045848-3419fae592fc h1:yUaosFVTJwnltaHbSNC3i82I92quFs+OFPRl8kNMVwo= @@ -1554,28 +1556,33 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= 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.36.0 h1:UekVFtQ27QTs6BM8xdCCd3vyLjjSI47tM21f31xswqk= -go.opentelemetry.io/collector v0.36.0/go.mod h1:w/nWBmMpwBF1Lk3o7XYuT7m369ByBKCQs1cVSFN+X78= -go.opentelemetry.io/collector/model v0.36.0 h1:5yxMNfmvPaJYCIT2o9ALkZ845YoBdbIbWxHv+p9FvaE= -go.opentelemetry.io/collector/model v0.36.0/go.mod h1:+7YCSjJG+MqiIFjauzt7oM2qkqBsaJWh5hcsO4fwsAc= -go.opentelemetry.io/contrib v0.23.0 h1:MgRuo0JZZX8J9WLRjyd7OpTSbaLOdQXXJa6SnZvlWLM= -go.opentelemetry.io/contrib v0.23.0/go.mod h1:EH4yDYeNoaTqn/8yCWQmfNB78VHfGX2Jt2bvnvzBlGM= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.23.0 h1:mMzWiJCJv7iC8yOFI0azfmmTuMFaaWVEObHH8LQaw8o= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.23.0/go.mod h1:RlEDuaJ0wF4rNG/GOd8zknRW44rKISkcdsp46kt+FcA= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.23.0 h1:hNSH6f4WUMDnRAvUCLItD0WKzQqAPoECvORj+ZChbnA= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.23.0/go.mod h1:wLrbAf2Qb+kFsEjowrxOcuy2SE0dcY0VwFiiYCmUeFQ= -go.opentelemetry.io/contrib/zpages v0.23.0 h1:nFRS7yMCs1RcuaOKmPjbxyUxLo86uQOxmpZHTumnOzg= -go.opentelemetry.io/contrib/zpages v0.23.0/go.mod h1:i5BVZTRftVMBmYLP/T++in2G5MADbl5fnhkDeSBYrQE= -go.opentelemetry.io/otel v1.0.0-RC3 h1:kvwiyEkiUT/JaadXzVLI/R1wDO934A7r3Bs2wEe6wqA= -go.opentelemetry.io/otel v1.0.0-RC3/go.mod h1:Ka5j3ua8tZs4Rkq4Ex3hwgBgOchyPVq5S6P2lz//nKQ= -go.opentelemetry.io/otel/internal/metric v0.23.0 h1:mPfzm9Iqhw7G2nDBmUAjFTfPqLZPbOW2k7QI57ITbaI= -go.opentelemetry.io/otel/internal/metric v0.23.0/go.mod h1:z+RPiDJe30YnCrOhFGivwBS+DU1JU/PiLKkk4re2DNY= -go.opentelemetry.io/otel/metric v0.23.0 h1:mYCcDxi60P4T27/0jchIDFa1WHEfQeU3zH9UEMpnj2c= -go.opentelemetry.io/otel/metric v0.23.0/go.mod h1:G/Nn9InyNnIv7J6YVkQfpc0JCfKBNJaERBGw08nqmVQ= -go.opentelemetry.io/otel/sdk v1.0.0-RC3 h1:iRMkET+EmJUn5mW0hJzygBraXRmrUwzbOtNvTCh/oKs= -go.opentelemetry.io/otel/sdk v1.0.0-RC3/go.mod h1:78H6hyg2fka0NYT9fqGuFLvly2yCxiBXDJAgLKo/2Us= -go.opentelemetry.io/otel/trace v1.0.0-RC3 h1:9F0ayEvlxv8BmNmPbU005WK7hC+7KbOazCPZjNa1yME= -go.opentelemetry.io/otel/trace v1.0.0-RC3/go.mod h1:VUt2TUYd8S2/ZRX09ZDFZQwn2RqfMB5MzO17jBojGxo= +go.opentelemetry.io/collector v0.37.0 h1:X83+uWk11kW83BTkdKNt1Sk7gXyRv36wA6piT0FYfME= +go.opentelemetry.io/collector v0.37.0/go.mod h1:zbLWBJVy7bmiZHlHjCrV28vxXA/sAkCLtH5thD8ZahA= +go.opentelemetry.io/collector/model v0.37.0 h1:K1G6bgzBZ5kKSjZ1+EY9MhCOYsac4Q1K85fBUgpTVH8= +go.opentelemetry.io/collector/model v0.37.0/go.mod h1:ESh1oWDNdS4fTg9sTFoYuiuvs8QuaX8yNGTPix3JZc8= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.25.0 h1:Wx7nFnvCaissIUZxPkBqDz2963Z+Cl+PkYbDKzTxDqQ= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.25.0/go.mod h1:E5NNboN0UqSAki0Atn9kVwaN7I+l25gGxDqBueo/74E= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.25.0 h1:FIbb8m2PtTWjvXLHOEnXAoSmkaiXbg3fuvoZAjsAT3Q= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.25.0/go.mod h1:NyB05cd+yPX6W5SiRNuJ90w7PV2+g2cgRbsPL7MvpME= +go.opentelemetry.io/contrib/zpages v0.25.0 h1:o5aRS429e3fJmxKo32badDmCYzzRoaqHW+6XJBql9OU= +go.opentelemetry.io/contrib/zpages v0.25.0/go.mod h1:cXBK0CNcIBD9Iiw1Hv3DvS+E8N2rtr+k+OoPs+sP0T4= +go.opentelemetry.io/otel v1.0.1 h1:4XKyXmfqJLOQ7feyV5DB6gsBFZ0ltB8vLtp6pj4JIcc= +go.opentelemetry.io/otel v1.0.1/go.mod h1:OPEOD4jIT2SlZPMmwT6FqZz2C0ZNdQqiWcoK6M0SNFU= +go.opentelemetry.io/otel/exporters/prometheus v0.24.0 h1:lfVirQkD4jPMh7m6i9sHDHweYZyWA0NDU6NszkbtFSE= +go.opentelemetry.io/otel/exporters/prometheus v0.24.0/go.mod h1:jfc9W1hVK0w9zrsE+C2ELje/M+K67cGinzeg8qQ8oog= +go.opentelemetry.io/otel/internal/metric v0.24.0/go.mod h1:PSkQG+KuApZjBpC6ea6082ZrWUUy/w132tJ/LOU3TXk= +go.opentelemetry.io/otel/internal/metric v0.24.1-0.20211006140346-3d4ae8d0b75f h1:xzttokOBFgWkRuEz7uylwB+LnMp1Xu3mjFRaUmnlFB8= +go.opentelemetry.io/otel/internal/metric v0.24.1-0.20211006140346-3d4ae8d0b75f/go.mod h1:PSkQG+KuApZjBpC6ea6082ZrWUUy/w132tJ/LOU3TXk= +go.opentelemetry.io/otel/metric v0.24.0 h1:Rg4UYHS6JKR1Sw1TxnI13z7q/0p/XAbgIqUTagvLJuU= +go.opentelemetry.io/otel/metric v0.24.0/go.mod h1:tpMFnCD9t+BEGiWY2bWF5+AwjuAdM0lSowQ4SBA3/K4= +go.opentelemetry.io/otel/sdk v1.0.1 h1:wXxFEWGo7XfXupPwVJvTBOaPBC9FEg0wB8hMNrKk+cA= +go.opentelemetry.io/otel/sdk v1.0.1/go.mod h1:HrdXne+BiwsOHYYkBE5ysIcv2bvdZstxzmCQhxTcZkI= +go.opentelemetry.io/otel/sdk/export/metric v0.24.0 h1:innKi8LQebwPI+WEuEKEWMjhWC5mXQG1/WpSm5mffSY= +go.opentelemetry.io/otel/sdk/export/metric v0.24.0/go.mod h1:chmxXGVNcpCih5XyniVkL4VUyaEroUbOdvjVlQ8M29Y= +go.opentelemetry.io/otel/sdk/metric v0.24.0 h1:LLHrZikGdEHoHihwIPvfFRJX+T+NdrU2zgEqf7tQ7Oo= +go.opentelemetry.io/otel/sdk/metric v0.24.0/go.mod h1:KDgJgYzsIowuIDbPM9sLDZY9JJ6gqIDWCx92iWV8ejk= +go.opentelemetry.io/otel/trace v1.0.1 h1:StTeIH6Q3G4r0Fiw34LTokUFESZgIDUr0qIJ7mKmAfw= +go.opentelemetry.io/otel/trace v1.0.1/go.mod h1:5g4i4fKLaX2BQpSBsxw8YYcgKpMMSW3x7ZTuYBr3sUk= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -1877,7 +1884,6 @@ golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1889,8 +1895,8 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210525143221-35b2ab0089ea/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210611083646-a4fc73990273/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816074244-15123e1e1f71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/pkg/otlp/collector.go b/pkg/otlp/collector.go index e5e09da10799..43eabf4c9e38 100644 --- a/pkg/otlp/collector.go +++ b/pkg/otlp/collector.go @@ -117,25 +117,17 @@ func NewPipeline(cfg PipelineConfig, s serializer.MetricSerializer) (*Pipeline, }), } - parser, err := newMap(cfg) - if err != nil { - return nil, fmt.Errorf("failed to build parser: %w", err) - } - col, err := service.New(service.CollectorSettings{ Factories: factories, BuildInfo: buildInfo, DisableGracefulShutdown: true, - ParserProvider: parserProvider(*parser), + ConfigMapProvider: newMapProvider(cfg), LoggingOptions: options, }) if err != nil { return nil, err } - // HACK: ensure flags are not-nil - // TODO: fix this upstream. - _ = service.NewCommand(col) return &Pipeline{col}, nil } diff --git a/pkg/otlp/collector_test.go b/pkg/otlp/collector_test.go index e440f9b1bc8a..d8d34e409e2c 100644 --- a/pkg/otlp/collector_test.go +++ b/pkg/otlp/collector_test.go @@ -9,9 +9,12 @@ package otlp import ( + "context" "testing" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/service" "github.com/DataDog/datadog-agent/pkg/serializer" ) @@ -21,3 +24,33 @@ func TestGetComponents(t *testing.T) { // No duplicate component require.NoError(t, err) } + +func TestStartPipeline(t *testing.T) { + pcfg := PipelineConfig{ + BindHost: "localhost", + GRPCPort: 4317, + HTTPPort: 4318, + TracePort: 5003, + MetricsEnabled: true, + TracesEnabled: true, + } + + p, err := NewPipeline(pcfg, &serializer.MockSerializer{}) + require.NoError(t, err) + + colDone := make(chan struct{}) + go func() { + defer close(colDone) + require.NoError(t, p.Run(context.Background())) + }() + + assert.Equal(t, service.Starting, <-p.col.GetStateChannel()) + assert.Equal(t, service.Running, <-p.col.GetStateChannel()) + + p.Stop() + p.Stop() + <-colDone + assert.Equal(t, service.Closing, <-p.col.GetStateChannel()) + assert.Equal(t, service.Closed, <-p.col.GetStateChannel()) + +} diff --git a/pkg/otlp/config_parser.go b/pkg/otlp/map_provider.go similarity index 52% rename from pkg/otlp/config_parser.go rename to pkg/otlp/map_provider.go index 20ac97858113..14a69722b439 100644 --- a/pkg/otlp/config_parser.go +++ b/pkg/otlp/map_provider.go @@ -10,10 +10,27 @@ import ( "fmt" "strings" - "go.opentelemetry.io/collector/config/configparser" + "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/service/parserprovider" ) +// buildKey creates a key for use in the config.Map.Set function. +func buildKey(keys ...string) string { + return strings.Join(keys, config.KeyDelimiter) +} + +var _ parserprovider.MapProvider = (*mapProvider)(nil) + +type mapProvider config.Map + +func (p mapProvider) Get(context.Context) (*config.Map, error) { + return (*config.Map)(&p), nil +} + +func (p mapProvider) Close(context.Context) error { + return nil +} + // defaultTracesConfig is the base traces OTLP pipeline configuration. // This pipeline is extended through the datadog.yaml configuration values. // It is written in YAML because it is easier to read and write than a map. @@ -34,6 +51,15 @@ service: exporters: [otlp] ` +func newTracesMapProvider(tracePort uint) parserprovider.MapProvider { + configMap := config.NewMap() + configMap.Set(buildKey("exporters", "otlp", "endpoint"), fmt.Sprintf("%s:%d", "localhost", tracePort)) + return parserprovider.NewMergeMapProvider( + parserprovider.NewInMemoryMapProvider(strings.NewReader(defaultTracesConfig)), + mapProvider(*configMap), + ) +} + // defaultMetricsConfig is the metrics OTLP pipeline configuration. // TODO (AP-1254): Set service-level configuration when available. const defaultMetricsConfig string = ` @@ -54,45 +80,12 @@ service: exporters: [serializer] ` -// buildKey creates a key for use in the ConfigMap.Set function. -func buildKey(keys ...string) string { - return strings.Join(keys, configparser.KeyDelimiter) +func newMetricsMapProvider() parserprovider.MapProvider { + return parserprovider.NewInMemoryMapProvider(strings.NewReader(defaultMetricsConfig)) } -// newMap creates a configparser.ConfigMap with the fixed configuration. -// TODO (AP-1254): Refactor with MergeProvider when available. -func newMap(cfg PipelineConfig) (*configparser.ConfigMap, error) { - configMap := configparser.NewConfigMap() - - if cfg.TracesEnabled { - tracesMap, err := configparser.NewConfigMapFromBuffer(strings.NewReader(defaultTracesConfig)) - if err != nil { - return nil, err - } - - err = configMap.MergeStringMap(tracesMap.ToStringMap()) - if err != nil { - return nil, fmt.Errorf("failed to merge traces map: %w", err) - } - - configMap.Set( - buildKey("exporters", "otlp", "endpoint"), - fmt.Sprintf("%s:%d", "localhost", cfg.TracePort), - ) - } - - if cfg.MetricsEnabled { - metricsMap, err := configparser.NewConfigMapFromBuffer(strings.NewReader(defaultMetricsConfig)) - if err != nil { - return nil, err - } - - err = configMap.MergeStringMap(metricsMap.ToStringMap()) - if err != nil { - return nil, fmt.Errorf("failed to merge metrics map: %w", err) - } - } - +func newReceiverProvider(cfg PipelineConfig) parserprovider.MapProvider { + configMap := config.NewMap() if cfg.GRPCPort > 0 { configMap.Set( buildKey("receivers", "otlp", "protocols", "grpc", "endpoint"), @@ -107,18 +100,18 @@ func newMap(cfg PipelineConfig) (*configparser.ConfigMap, error) { ) } - return configMap, nil -} - -// TODO(AP-1254): Use a InMemory provider instead of this. -var _ parserprovider.ParserProvider = (*parserProvider)(nil) - -type parserProvider configparser.ConfigMap - -func (p parserProvider) Get(context.Context) (*configparser.ConfigMap, error) { - return (*configparser.ConfigMap)(&p), nil + return mapProvider(*configMap) } -func (p parserProvider) Close(context.Context) error { - return nil +// newMapProvider creates a parserprovider.MapProvider with the fixed configuration. +func newMapProvider(cfg PipelineConfig) parserprovider.MapProvider { + var providers []parserprovider.MapProvider + if cfg.TracesEnabled { + providers = append(providers, newTracesMapProvider(cfg.TracePort)) + } + if cfg.MetricsEnabled { + providers = append(providers, newMetricsMapProvider()) + } + providers = append(providers, newReceiverProvider(cfg)) + return parserprovider.NewMergeMapProvider(providers...) } diff --git a/pkg/otlp/config_parser_test.go b/pkg/otlp/map_provider_test.go similarity index 90% rename from pkg/otlp/config_parser_test.go rename to pkg/otlp/map_provider_test.go index 8054b2889cd7..e6fa727267b7 100644 --- a/pkg/otlp/config_parser_test.go +++ b/pkg/otlp/map_provider_test.go @@ -9,12 +9,13 @@ package otlp import ( + "context" "strings" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/config/configparser" + "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/configunmarshaler" "github.com/DataDog/datadog-agent/pkg/serializer" @@ -152,9 +153,10 @@ service: for _, testInstance := range tests { t.Run(testInstance.name, func(t *testing.T) { - cfg, err := newMap(testInstance.pcfg) + cfgProvider := newMapProvider(testInstance.pcfg) + cfg, err := cfgProvider.Get(context.Background()) require.NoError(t, err) - tcfg, err := configparser.NewConfigMapFromBuffer(strings.NewReader(testInstance.ocfg)) + tcfg, err := config.NewMapFromBuffer(strings.NewReader(testInstance.ocfg)) require.NoError(t, err) assert.Equal(t, tcfg.ToStringMap(), cfg.ToStringMap()) }) @@ -162,7 +164,7 @@ service: } func TestUnmarshal(t *testing.T) { - configMap, err := newMap(PipelineConfig{ + mapProvider := newMapProvider(PipelineConfig{ GRPCPort: 4317, HTTPPort: 4318, TracePort: 5001, @@ -170,6 +172,7 @@ func TestUnmarshal(t *testing.T) { MetricsEnabled: true, TracesEnabled: true, }) + configMap, err := mapProvider.Get(context.Background()) require.NoError(t, err) components, err := getComponents(&serializer.MockSerializer{}) diff --git a/pkg/otlp/model/go.mod b/pkg/otlp/model/go.mod index 0f47957e6baa..b29dd89a395f 100644 --- a/pkg/otlp/model/go.mod +++ b/pkg/otlp/model/go.mod @@ -8,6 +8,6 @@ require ( github.com/DataDog/datadog-agent/pkg/quantile v0.32.0-rc.6 github.com/patrickmn/go-cache v2.1.0+incompatible github.com/stretchr/testify v1.7.0 - go.opentelemetry.io/collector/model v0.36.0 + go.opentelemetry.io/collector/model v0.37.0 go.uber.org/zap v1.19.1 ) diff --git a/pkg/otlp/model/go.sum b/pkg/otlp/model/go.sum index 2a0af4ae9b63..3e9b9f835b66 100644 --- a/pkg/otlp/model/go.sum +++ b/pkg/otlp/model/go.sum @@ -1,16 +1,15 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -22,7 +21,7 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -70,7 +69,6 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= @@ -79,8 +77,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.opentelemetry.io/collector/model v0.36.0 h1:5yxMNfmvPaJYCIT2o9ALkZ845YoBdbIbWxHv+p9FvaE= -go.opentelemetry.io/collector/model v0.36.0/go.mod h1:+7YCSjJG+MqiIFjauzt7oM2qkqBsaJWh5hcsO4fwsAc= +go.opentelemetry.io/collector/model v0.37.0 h1:K1G6bgzBZ5kKSjZ1+EY9MhCOYsac4Q1K85fBUgpTVH8= +go.opentelemetry.io/collector/model v0.37.0/go.mod h1:ESh1oWDNdS4fTg9sTFoYuiuvs8QuaX8yNGTPix3JZc8= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -173,8 +171,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.40.0 h1:AGJ0Ih4mHjSeibYkFGh1dD9KJ/eOtZ93I6hoHhukQ5Q= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.41.0 h1:f+PlOh7QV4iIJkPrx5NQ7qaNGFQ3OTse67yaDHfju4E= +google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/pkg/otlp/model/translator/metrics_translator.go b/pkg/otlp/model/translator/metrics_translator.go index 8c8dc5d80d0f..36d86b6792ba 100644 --- a/pkg/otlp/model/translator/metrics_translator.go +++ b/pkg/otlp/model/translator/metrics_translator.go @@ -82,7 +82,7 @@ func getTags(labels pdata.AttributeMap) []string { func isCumulativeMonotonic(md pdata.Metric) bool { switch md.DataType() { case pdata.MetricDataTypeSum: - return md.Sum().AggregationTemporality() == pdata.AggregationTemporalityCumulative && + return md.Sum().AggregationTemporality() == pdata.MetricAggregationTemporalityCumulative && md.Sum().IsMonotonic() } return false @@ -420,15 +420,15 @@ func (t *Translator) MapMetrics(ctx context.Context, md pdata.Metrics, consumer t.mapNumberMetrics(ctx, consumer, md.Name(), Gauge, md.Gauge().DataPoints(), additionalTags, host) case pdata.MetricDataTypeSum: switch md.Sum().AggregationTemporality() { - case pdata.AggregationTemporalityCumulative: + case pdata.MetricAggregationTemporalityCumulative: if t.cfg.SendMonotonic && isCumulativeMonotonic(md) { t.mapNumberMonotonicMetrics(ctx, consumer, md.Name(), md.Sum().DataPoints(), additionalTags, host) } else { t.mapNumberMetrics(ctx, consumer, md.Name(), Gauge, md.Sum().DataPoints(), additionalTags, host) } - case pdata.AggregationTemporalityDelta: + case pdata.MetricAggregationTemporalityDelta: t.mapNumberMetrics(ctx, consumer, md.Name(), Count, md.Sum().DataPoints(), additionalTags, host) - default: // pdata.AggregationTemporalityUnspecified or any other not supported type + default: // pdata.MetricAggregationTemporalityUnspecified or any other not supported type t.logger.Debug("Unknown or unsupported aggregation temporality", zap.String(metricName, md.Name()), zap.Any("aggregation temporality", md.Sum().AggregationTemporality()), @@ -437,10 +437,10 @@ func (t *Translator) MapMetrics(ctx context.Context, md pdata.Metrics, consumer } case pdata.MetricDataTypeHistogram: switch md.Histogram().AggregationTemporality() { - case pdata.AggregationTemporalityCumulative, pdata.AggregationTemporalityDelta: - delta := md.Histogram().AggregationTemporality() == pdata.AggregationTemporalityDelta + case pdata.MetricAggregationTemporalityCumulative, pdata.MetricAggregationTemporalityDelta: + delta := md.Histogram().AggregationTemporality() == pdata.MetricAggregationTemporalityDelta t.mapHistogramMetrics(ctx, consumer, md.Name(), md.Histogram().DataPoints(), delta, additionalTags, host) - default: // pdata.AggregationTemporalityUnspecified or any other not supported type + default: // pdata.MetricAggregationTemporalityUnspecified or any other not supported type t.logger.Debug("Unknown or unsupported aggregation temporality", zap.String("metric name", md.Name()), zap.Any("aggregation temporality", md.Histogram().AggregationTemporality()), diff --git a/pkg/otlp/model/translator/metrics_translator_test.go b/pkg/otlp/model/translator/metrics_translator_test.go index 8b59d8d3aa9a..24beb1fb66aa 100644 --- a/pkg/otlp/model/translator/metrics_translator_test.go +++ b/pkg/otlp/model/translator/metrics_translator_test.go @@ -59,7 +59,7 @@ func TestIsCumulativeMonotonic(t *testing.T) { metric.SetDataType(pdata.MetricDataTypeSum) sum := metric.Sum() sum.SetIsMonotonic(false) - sum.SetAggregationTemporality(pdata.AggregationTemporalityCumulative) + sum.SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) assert.False(t, isCumulativeMonotonic(metric)) } @@ -72,7 +72,7 @@ func TestIsCumulativeMonotonic(t *testing.T) { metric.SetDataType(pdata.MetricDataTypeSum) sum := metric.Sum() sum.SetIsMonotonic(true) - sum.SetAggregationTemporality(pdata.AggregationTemporalityCumulative) + sum.SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) assert.True(t, isCumulativeMonotonic(metric)) } @@ -83,7 +83,7 @@ func TestIsCumulativeMonotonic(t *testing.T) { metric.SetDataType(pdata.MetricDataTypeSum) sum := metric.Sum() sum.SetIsMonotonic(true) - sum.SetAggregationTemporality(pdata.AggregationTemporalityCumulative) + sum.SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) assert.True(t, isCumulativeMonotonic(metric)) } @@ -785,13 +785,13 @@ func createTestMetrics() pdata.Metrics { met = metricsArray.AppendEmpty() met.SetName("unspecified.sum") met.SetDataType(pdata.MetricDataTypeSum) - met.Sum().SetAggregationTemporality(pdata.AggregationTemporalityUnspecified) + met.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityUnspecified) // Int Sum (delta) met = metricsArray.AppendEmpty() met.SetName("int.delta.sum") met.SetDataType(pdata.MetricDataTypeSum) - met.Sum().SetAggregationTemporality(pdata.AggregationTemporalityDelta) + met.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityDelta) dpsInt = met.Sum().DataPoints() dpInt = dpsInt.AppendEmpty() dpInt.SetTimestamp(seconds(0)) @@ -801,7 +801,7 @@ func createTestMetrics() pdata.Metrics { met = metricsArray.AppendEmpty() met.SetName("double.delta.sum") met.SetDataType(pdata.MetricDataTypeSum) - met.Sum().SetAggregationTemporality(pdata.AggregationTemporalityDelta) + met.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityDelta) dpsDouble = met.Sum().DataPoints() dpDouble = dpsDouble.AppendEmpty() dpDouble.SetTimestamp(seconds(0)) @@ -811,7 +811,7 @@ func createTestMetrics() pdata.Metrics { met = metricsArray.AppendEmpty() met.SetName("int.delta.monotonic.sum") met.SetDataType(pdata.MetricDataTypeSum) - met.Sum().SetAggregationTemporality(pdata.AggregationTemporalityDelta) + met.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityDelta) dpsInt = met.Sum().DataPoints() dpInt = dpsInt.AppendEmpty() dpInt.SetTimestamp(seconds(0)) @@ -821,7 +821,7 @@ func createTestMetrics() pdata.Metrics { met = metricsArray.AppendEmpty() met.SetName("double.delta.monotonic.sum") met.SetDataType(pdata.MetricDataTypeSum) - met.Sum().SetAggregationTemporality(pdata.AggregationTemporalityDelta) + met.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityDelta) dpsDouble = met.Sum().DataPoints() dpDouble = dpsDouble.AppendEmpty() dpDouble.SetTimestamp(seconds(0)) @@ -831,13 +831,13 @@ func createTestMetrics() pdata.Metrics { met = metricsArray.AppendEmpty() met.SetName("unspecified.histogram") met.SetDataType(pdata.MetricDataTypeHistogram) - met.Histogram().SetAggregationTemporality(pdata.AggregationTemporalityUnspecified) + met.Histogram().SetAggregationTemporality(pdata.MetricAggregationTemporalityUnspecified) // Histogram (delta) met = metricsArray.AppendEmpty() met.SetName("double.histogram") met.SetDataType(pdata.MetricDataTypeHistogram) - met.Histogram().SetAggregationTemporality(pdata.AggregationTemporalityDelta) + met.Histogram().SetAggregationTemporality(pdata.MetricAggregationTemporalityDelta) dpsDoubleHist := met.Histogram().DataPoints() dpDoubleHist := dpsDoubleHist.AppendEmpty() dpDoubleHist.SetCount(20) @@ -850,7 +850,7 @@ func createTestMetrics() pdata.Metrics { met = metricsArray.AppendEmpty() met.SetName("int.cumulative.sum") met.SetDataType(pdata.MetricDataTypeSum) - met.Sum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative) + met.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) dpsInt = met.Sum().DataPoints() dpsInt.EnsureCapacity(2) dpInt = dpsInt.AppendEmpty() @@ -861,7 +861,7 @@ func createTestMetrics() pdata.Metrics { met = metricsArray.AppendEmpty() met.SetName("double.cumulative.sum") met.SetDataType(pdata.MetricDataTypeSum) - met.Sum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative) + met.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) dpsDouble = met.Sum().DataPoints() dpsDouble.EnsureCapacity(2) dpDouble = dpsDouble.AppendEmpty() @@ -872,7 +872,7 @@ func createTestMetrics() pdata.Metrics { met = metricsArray.AppendEmpty() met.SetName("int.cumulative.monotonic.sum") met.SetDataType(pdata.MetricDataTypeSum) - met.Sum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative) + met.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) met.Sum().SetIsMonotonic(true) dpsInt = met.Sum().DataPoints() dpsInt.EnsureCapacity(2) @@ -887,7 +887,7 @@ func createTestMetrics() pdata.Metrics { met = metricsArray.AppendEmpty() met.SetName("double.cumulative.monotonic.sum") met.SetDataType(pdata.MetricDataTypeSum) - met.Sum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative) + met.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) met.Sum().SetIsMonotonic(true) dpsDouble = met.Sum().DataPoints() dpsDouble.EnsureCapacity(2) @@ -984,7 +984,7 @@ func createNaNMetrics() pdata.Metrics { met = metricsArray.AppendEmpty() met.SetName("nan.delta.sum") met.SetDataType(pdata.MetricDataTypeSum) - met.Sum().SetAggregationTemporality(pdata.AggregationTemporalityDelta) + met.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityDelta) dpsDouble = met.Sum().DataPoints() dpDouble = dpsDouble.AppendEmpty() dpDouble.SetTimestamp(seconds(0)) @@ -994,7 +994,7 @@ func createNaNMetrics() pdata.Metrics { met = metricsArray.AppendEmpty() met.SetName("nan.delta.monotonic.sum") met.SetDataType(pdata.MetricDataTypeSum) - met.Sum().SetAggregationTemporality(pdata.AggregationTemporalityDelta) + met.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityDelta) dpsDouble = met.Sum().DataPoints() dpDouble = dpsDouble.AppendEmpty() dpDouble.SetTimestamp(seconds(0)) @@ -1004,7 +1004,7 @@ func createNaNMetrics() pdata.Metrics { met = metricsArray.AppendEmpty() met.SetName("nan.histogram") met.SetDataType(pdata.MetricDataTypeHistogram) - met.Histogram().SetAggregationTemporality(pdata.AggregationTemporalityDelta) + met.Histogram().SetAggregationTemporality(pdata.MetricAggregationTemporalityDelta) dpsDoubleHist := met.Histogram().DataPoints() dpDoubleHist := dpsDoubleHist.AppendEmpty() dpDoubleHist.SetCount(20) @@ -1016,7 +1016,7 @@ func createNaNMetrics() pdata.Metrics { met = metricsArray.AppendEmpty() met.SetName("nan.cumulative.sum") met.SetDataType(pdata.MetricDataTypeSum) - met.Sum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative) + met.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) dpsDouble = met.Sum().DataPoints() dpsDouble.EnsureCapacity(2) dpDouble = dpsDouble.AppendEmpty() @@ -1027,7 +1027,7 @@ func createNaNMetrics() pdata.Metrics { met = metricsArray.AppendEmpty() met.SetName("nan.cumulative.monotonic.sum") met.SetDataType(pdata.MetricDataTypeSum) - met.Sum().SetAggregationTemporality(pdata.AggregationTemporalityCumulative) + met.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) met.Sum().SetIsMonotonic(true) dpsDouble = met.Sum().DataPoints() dpsDouble.EnsureCapacity(2)