diff --git a/go.mod b/go.mod index 763724956bb1f..62a621a5ee41e 100644 --- a/go.mod +++ b/go.mod @@ -84,7 +84,7 @@ require ( github.com/DataDog/go-tuf v1.0.2-0.5.2 github.com/DataDog/gopsutil v1.2.2 github.com/DataDog/nikos v1.12.1 - github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.8.0 + github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.8.1 github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.8.0 github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.8.0 github.com/DataDog/sketches-go v1.4.2 @@ -220,7 +220,7 @@ require ( go.opentelemetry.io/collector/exporter v0.87.0 go.opentelemetry.io/collector/exporter/loggingexporter v0.87.0 go.opentelemetry.io/collector/exporter/otlpexporter v0.87.0 - go.opentelemetry.io/collector/pdata v1.0.0-rcv0016 + go.opentelemetry.io/collector/pdata v1.0.0-rcv0017 go.opentelemetry.io/collector/processor/batchprocessor v0.87.0 go.opentelemetry.io/collector/receiver v0.87.0 go.opentelemetry.io/collector/receiver/otlpreceiver v0.87.0 @@ -233,14 +233,14 @@ require ( go4.org/netipx v0.0.0-20220812043211-3cc044ffd68d golang.org/x/arch v0.5.0 golang.org/x/exp v0.0.0-20231006140011-7918f672742d - golang.org/x/net v0.17.0 + golang.org/x/net v0.18.0 golang.org/x/sync v0.4.0 golang.org/x/sys v0.14.1-0.20231108175955-e4099bfacb8c golang.org/x/text v0.14.0 golang.org/x/time v0.3.0 golang.org/x/tools v0.14.0 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 - google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect + google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405 // indirect google.golang.org/grpc v1.59.0 google.golang.org/grpc/examples v0.0.0-20221020162917-9127159caf5a google.golang.org/protobuf v1.31.0 @@ -267,10 +267,10 @@ require ( ) require ( - cloud.google.com/go v0.110.7 // indirect - cloud.google.com/go/compute v1.23.0 // indirect + cloud.google.com/go v0.110.9 // indirect + cloud.google.com/go/compute v1.23.2 // indirect cloud.google.com/go/compute/metadata v0.2.4-0.20230617002413-005d2dfb6b68 // indirect - cloud.google.com/go/iam v1.1.2 // indirect + cloud.google.com/go/iam v1.1.4 // indirect cloud.google.com/go/storage v1.31.0 // indirect code.cloudfoundry.org/cfhttp/v2 v2.0.0 // indirect code.cloudfoundry.org/clock v1.0.0 // indirect @@ -527,7 +527,7 @@ require ( go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/collector/consumer v0.87.0 go.opentelemetry.io/collector/featuregate v1.0.0-rcv0016 // indirect - go.opentelemetry.io/collector/semconv v0.87.0 // indirect + go.opentelemetry.io/collector/semconv v0.88.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 // indirect go.opentelemetry.io/contrib/propagators/b3 v1.19.0 // indirect @@ -541,10 +541,10 @@ require ( go.opentelemetry.io/otel/sdk/metric v1.19.0 // indirect go.opentelemetry.io/otel/trace v1.19.0 // indirect go.opentelemetry.io/proto/otlp v1.0.0 // indirect - golang.org/x/crypto v0.14.0 // indirect + golang.org/x/crypto v0.15.0 // indirect golang.org/x/mod v0.13.0 golang.org/x/oauth2 v0.11.0 // indirect - golang.org/x/term v0.13.0 // indirect + golang.org/x/term v0.14.0 // indirect gonum.org/v1/gonum v0.14.0 // indirect google.golang.org/api v0.134.0 // indirect google.golang.org/appengine v1.6.7 // indirect @@ -673,8 +673,8 @@ require ( golang.org/x/exp/typeparams v0.0.0-20220613132600-b0d781184e0d // indirect golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 // indirect gomodules.xyz/jsonpatch/v2 v2.3.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 // indirect gopkg.in/ini.v1 v1.67.0 // indirect honnef.co/go/tools v0.3.2 // indirect inet.af/netaddr v0.0.0-20230525184311-b8eac61e914a // indirect diff --git a/go.sum b/go.sum index 136079b5d7e7d..5952c2904b3d1 100644 --- a/go.sum +++ b/go.sum @@ -17,23 +17,23 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.110.7 h1:rJyC7nWRg2jWGZ4wSJ5nY65GTdYJkg0cd/uXb+ACI6o= -cloud.google.com/go v0.110.7/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go v0.110.9 h1:e7ITSqGFFk4rbz/JFIqZh3G4VEHguhAL4BQcFlWtU68= +cloud.google.com/go v0.110.9/go.mod h1:rpxevX/0Lqvlbc88b7Sc1SPNdyK1riNBTUU6JXhYNpM= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.23.0 h1:tP41Zoavr8ptEqaW6j+LQOnyBBhO7OkOMAGrgLopTwY= -cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute v1.23.2 h1:nWEMDhgbBkBJjfpVySqU4jgWdc22PLR0o4vEexZHers= +cloud.google.com/go/compute v1.23.2/go.mod h1:JJ0atRC0J/oWYiiVBmsSsrRnh92DhZPG4hFDcR04Rns= cloud.google.com/go/compute/metadata v0.2.4-0.20230617002413-005d2dfb6b68 h1:aRVqY1p2IJaBGStWMsQMpkAa83cPkCDLl80eOj0Rbz4= cloud.google.com/go/compute/metadata v0.2.4-0.20230617002413-005d2dfb6b68/go.mod h1:1a3eRNYX12fs5UABBIXS8HXVvQbX9hRB/RkEBPORpe8= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/iam v1.1.2 h1:gacbrBdWcoVmGLozRuStX45YKvJtzIjJdAolzUs1sm4= -cloud.google.com/go/iam v1.1.2/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= +cloud.google.com/go/iam v1.1.4 h1:K6n/GZHFTtEoKT5aUG3l9diPi0VduZNQ1PfdnpkkIFk= +cloud.google.com/go/iam v1.1.4/go.mod h1:l/rg8l1AaA+VFMho/HYx2Vv6xinPSLMF8qfhRPIZ0L8= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -159,8 +159,8 @@ github.com/DataDog/netlink v1.0.1-0.20230703150631-f11d5ab05838/go.mod h1:twkDnb github.com/DataDog/nikos v1.12.1 h1:3RukyUKkgWBqVRLLxS85rJ0N1f2dPcr+fJmJWkjIkwI= github.com/DataDog/nikos v1.12.1/go.mod h1:GTitIq5weMRdnRZEpCaAS+fgufN1Bm38iq0tVNDT3Ns= github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.8.0 h1:+SG7GraRkuMV/1btvAjEhlivLVAbVTwIUDudn7w2EpA= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.8.0 h1:NNSjBdo9PlfjUKmCrjNWTxAtG7ovemO5EHT08zVpeUU= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.8.0/go.mod h1:8d/zACzxfdBllttohcF3mwL6ELg8vXTGiPkib/1ObOA= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.8.1 h1:ly/egks++IqejMVPcp0OWV1fcL+Nsq4EHF48AAQPKu4= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.8.1/go.mod h1:8jOAAH5PrNN6zICpu65M7mNPAeOQsW5Wk/sq80txutA= github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.8.0 h1:IF+RAgzl0UMo/zA+FBFn/sJqpLKNohkIcSpB47V3yh0= github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.8.0/go.mod h1:t0w1Xi9rnqthYFQcq5oqgqVS7CQBGaZbEZI3qPXzmPE= github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.8.0 h1:YLCXphoA7rGEwlh69+wkqmh8BPk2noEwZaBYMCQ0NU4= @@ -1719,8 +1719,8 @@ go.opentelemetry.io/collector/featuregate v1.0.0-rcv0016 h1:/6N9990tbjotvXgrXpV5 go.opentelemetry.io/collector/featuregate v1.0.0-rcv0016/go.mod h1:fLmJMf1AoHttkF8p5oJAc4o5ZpHu8yO5XYJ7gbLCLzo= go.opentelemetry.io/collector/otelcol v0.87.0 h1:qmtF44r4heBSzoMo+hVJsYlwMDZBo4MjGDHJnDhT66c= go.opentelemetry.io/collector/otelcol v0.87.0/go.mod h1:BSCvlVMyWLH3704kfGUv8KWRRN2nvNJBOBcfKttXTDM= -go.opentelemetry.io/collector/pdata v1.0.0-rcv0016 h1:qCPXSQCoD3qeWFb1RuIks8fw9Atxpk78bmtVdi15KhE= -go.opentelemetry.io/collector/pdata v1.0.0-rcv0016/go.mod h1:OdN0alYOlYhHXu6BDlGehrZWgtBuiDsz/rlNeJeXiNg= +go.opentelemetry.io/collector/pdata v1.0.0-rcv0017 h1:AgALhc2VenoA5l1DvTdg7mkzaBGqoTSuMkAtjsttBFo= +go.opentelemetry.io/collector/pdata v1.0.0-rcv0017/go.mod h1:Rv9fOclA5AtM/JGm0d4jBOIAo1+jBA13UT5Bx0ovXi4= go.opentelemetry.io/collector/processor v0.87.0 h1:aUGtRyeQk0WgQwp2rZBvJ1j+6+WJO8XMb1kjtanIWo8= go.opentelemetry.io/collector/processor v0.87.0/go.mod h1:FHqpqdm/uyjjhNQxXJBhvQDIwjnP01EW9M6t0xVaRR4= go.opentelemetry.io/collector/processor/batchprocessor v0.87.0 h1:/a2yjC8XMg1j/9hnpDbxTKbG/AyWac2xsQSx0PmFz1M= @@ -1729,8 +1729,8 @@ go.opentelemetry.io/collector/receiver v0.87.0 h1:4HpA5Rxb1jcMywCB8y5aNTXiqSt3n7 go.opentelemetry.io/collector/receiver v0.87.0/go.mod h1:uApnlS81KGGfQJrzbCdBZWsB5DQJgcPTsYlb9CFdE3s= go.opentelemetry.io/collector/receiver/otlpreceiver v0.87.0 h1:iXO30EKZwEP1TEuLlQjxVaeVeffDkdJqz9DuqjzME9c= go.opentelemetry.io/collector/receiver/otlpreceiver v0.87.0/go.mod h1:1IE82wJuyGW0z0BeJ3A0SoPxsPlqf9aefCycbtuxUO0= -go.opentelemetry.io/collector/semconv v0.87.0 h1:BsG1jdLLRCBRlvUujk4QA86af7r/ZXnizczQpEs/gg8= -go.opentelemetry.io/collector/semconv v0.87.0/go.mod h1:j/8THcqVxFna1FpvA2zYIsUperEtOaRaqoLYIN4doWw= +go.opentelemetry.io/collector/semconv v0.88.0 h1:8TVP4hYaUC87S6CCLKNoSxsUE0ChldE4vqotvNHHUnE= +go.opentelemetry.io/collector/semconv v0.88.0/go.mod h1:j/8THcqVxFna1FpvA2zYIsUperEtOaRaqoLYIN4doWw= go.opentelemetry.io/collector/service v0.87.0 h1:IFVdchppG9od4SzHgFEUfxUvvJ/F6WqknO1GK90mfVA= go.opentelemetry.io/collector/service v0.87.0/go.mod h1:kBdpzrqR2wJkOdg50yzp4dv+2XBMyeqTgF4lCx0hSpQ= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0 h1:RsQi0qJ2imFfCvZabqzM9cNXBG8k6gXMv1A0cXRmH6A= @@ -1837,8 +1837,8 @@ golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA= +golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1949,8 +1949,8 @@ golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= +golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190130055435-99b60b757ec1/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2102,8 +2102,8 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.14.0 h1:LGK9IlZ8T9jvdy6cTdfKUCltatMFOehAQo9SRC46UQ8= +golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2281,12 +2281,12 @@ google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY= -google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= -google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q= -google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= +google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405 h1:I6WNifs6pF9tNdSob2W24JtyxIYjzFB9qDlpUC76q+U= +google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405/go.mod h1:3WDQMjmJk36UQhjQ89emUzb1mdaHcPeeAh4SCBKznB4= +google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b h1:CIC2YMXmIhYw6evmhPxBKJ4fmLbOFtXQN/GV3XOZR8k= +google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:IBQ646DjkDkvUIsVq/cc03FUFQ9wbZu7yE396YcL870= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 h1:Jyp0Hsi0bmHXG6k9eATXoYtjd6e2UzZ1SCn/wIupY14= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= diff --git a/pkg/trace/api/otlp.go b/pkg/trace/api/otlp.go index 4c7fc1adc15e4..4a14cfd0c03ad 100644 --- a/pkg/trace/api/otlp.go +++ b/pkg/trace/api/otlp.go @@ -214,7 +214,6 @@ func (o *OTLPReceiver) ReceiveResourceSpans(ctx context.Context, rspans ptrace.R } tracesByID := make(map[uint64]pb.Trace) priorityByID := make(map[uint64]sampler.SamplingPriority) - ctags := make(map[string]string) var spancount int64 for i := 0; i < rspans.ScopeSpans().Len(); i++ { libspans := rspans.ScopeSpans().At(i) @@ -226,7 +225,7 @@ func (o *OTLPReceiver) ReceiveResourceSpans(ctx context.Context, rspans ptrace.R if tracesByID[traceID] == nil { tracesByID[traceID] = pb.Trace{} } - ddspan := o.convertSpan(rattr, lib, span, ctags) + ddspan := o.convertSpan(rattr, lib, span) if !srcok { // if we didn't find a hostname at the resource level // try and see if the span has a hostname set @@ -284,6 +283,7 @@ func (o *OTLPReceiver) ReceiveResourceSpans(ctx context.Context, rspans ptrace.R LanguageVersion: tagstats.LangVersion, TracerVersion: tagstats.TracerVersion, } + ctags := attributes.ContainerTagsFromResourceAttributes(attr) payloadTags := flatten(ctags) if tags := getContainerTags(o.conf.ContainerTags, containerID); tags != "" { appendTags(payloadTags, tags) @@ -499,9 +499,7 @@ func setMetricOTLP(s *pb.Span, k string, v float64) { // convertSpan converts the span in to a Datadog span, and uses the rattr resource tags and the lib instrumentation // library attributes to further augment it. -// -// ctags will be used to write container tags to. Existing ones are not overridden. -func (o *OTLPReceiver) convertSpan(rattr map[string]string, lib pcommon.InstrumentationScope, in ptrace.Span, ctags map[string]string) *pb.Span { +func (o *OTLPReceiver) convertSpan(rattr map[string]string, lib pcommon.InstrumentationScope, in ptrace.Span) *pb.Span { traceID := [16]byte(in.TraceID()) span := &pb.Span{ TraceID: traceIDToUint64(traceID), @@ -539,15 +537,6 @@ func (o *OTLPReceiver) convertSpan(rattr map[string]string, lib pcommon.Instrume } return true }) - for k, v := range attributes.ContainerTagFromAttributes(span.Meta) { - if _, ok := span.Meta[k]; !ok { - // overwrite only if it does not exist - setMetaOTLP(span, k, v) - } - if _, ok := ctags[k]; !ok { - ctags[k] = v - } - } if _, ok := span.Meta["env"]; !ok { if env := span.Meta[string(semconv.AttributeDeploymentEnvironment)]; env != "" { setMetaOTLP(span, "env", traceutil.NormalizeTag(env)) diff --git a/pkg/trace/api/otlp_test.go b/pkg/trace/api/otlp_test.go index 624bf9d90abb4..6d316ef5ee865 100644 --- a/pkg/trace/api/otlp_test.go +++ b/pkg/trace/api/otlp_test.go @@ -298,24 +298,25 @@ func TestOTLPReceiveResourceSpans(t *testing.T) { LibName: "libname", LibVersion: "1.2", Attributes: map[string]interface{}{ - string(semconv.AttributeK8SPodUID): "1234cid", - string(semconv.AttributeK8SJobName): "kubejob", + string(semconv.AttributeK8SPodUID): "1234cid", + string(semconv.AttributeK8SJobName): "kubejob", + string(semconv.AttributeContainerImageName): "lorem-ipsum", + string(semconv.AttributeContainerImageTag): "v2.0", + string("datadog.container.tag.team"): "otel", }, Spans: []*testutil.OTLPSpan{ { TraceID: [16]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, Name: "first", Attributes: map[string]interface{}{ - string(semconv.AttributeContainerImageName): "lorem-ipsum", + // We should not fetch container tags from Span Attributes. + string(semconv.AttributeK8SContainerName): "lorem-ipsum", }, }, { TraceID: [16]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17}, SpanID: [8]byte{10, 10, 11, 12, 13, 14, 15, 16}, Name: "second", - Attributes: map[string]interface{}{ - string(semconv.AttributeContainerImageTag): "v2.0", - }, }, }, }, @@ -326,6 +327,7 @@ func TestOTLPReceiveResourceSpans(t *testing.T) { "kube_job": "kubejob", "image_name": "lorem-ipsum", "image_tag": "v2.0", + "team": "otel", }, unflatten(out.Tags[tagContainersTags])) }, }, @@ -1275,8 +1277,6 @@ func TestOTLPConvertSpan(t *testing.T) { Duration: 200000000, Meta: map[string]string{ "env": "staging", - "container_id": "cid", - "kube_container_name": "k8s-container", semconv.AttributeContainerID: "cid", semconv.AttributeK8SContainerName: "k8s-container", "http.method": "GET", @@ -1295,10 +1295,6 @@ func TestOTLPConvertSpan(t *testing.T) { }, Type: "db", }, - outTags: map[string]string{ - "container_id": "cid", - "kube_container_name": "k8s-container", - }, }, } { t.Run("", func(t *testing.T) { @@ -1307,8 +1303,7 @@ func TestOTLPConvertSpan(t *testing.T) { lib.SetVersion(tt.libver) assert := assert.New(t) want := tt.out - ctags := make(map[string]string) - got := o.convertSpan(tt.rattr, lib, tt.in, ctags) + got := o.convertSpan(tt.rattr, lib, tt.in) if len(want.Meta) != len(got.Meta) { t.Fatalf("(%d) Meta count mismatch:\n%#v", i, got.Meta) } @@ -1336,13 +1331,6 @@ func TestOTLPConvertSpan(t *testing.T) { t.Fatalf("(%d) Error unmarshalling: %v", i, err) } assert.Equal(wantl, gotl) - case "_dd.container_tags": - // order not guaranteed, so we need to unpack and sort to compare - gott := strings.Split(got.Meta[tagContainersTags], ",") - wantt := strings.Split(want.Meta[tagContainersTags], ",") - sort.Strings(gott) - sort.Strings(wantt) - assert.Equal(wantt, gott) default: assert.Equal(v, got.Meta[k], fmt.Sprintf("(%d) Meta %v:%v", i, k, v)) } @@ -1358,9 +1346,6 @@ func TestOTLPConvertSpan(t *testing.T) { got.Meta = nil got.Metrics = nil assert.Equal(want, got, i) - if len(tt.outTags) > 0 || len(ctags) > 0 { - assert.Equal(ctags, tt.outTags) - } }) } } @@ -1426,16 +1411,16 @@ func TestOTLPConvertSpanSetPeerService(t *testing.T) { Start: int64(now), Duration: 200000000, Meta: map[string]string{ - "env": "prod", - "deployment.environment": "prod", - "otel.trace_id": "72df520af2bde7a5240031ead750e5f3", - "otel.status_code": "Unset", - "otel.library.name": "ddtracer", - "otel.library.version": "v2", - "service.version": "v1.2.3", - "version": "v1.2.3", - "peer.service": "userbase", - "span.kind": "server", + "env": "prod", + "deployment.environment": "prod", + "otel.trace_id": "72df520af2bde7a5240031ead750e5f3", + "otel.status_code": "Unset", + "otel.library.name": "ddtracer", + "otel.library.version": "v2", + "service.version": "v1.2.3", + "version": "v1.2.3", + "peer.service": "userbase", + "span.kind": "server", }, Type: "web", Metrics: map[string]float64{}, @@ -1471,17 +1456,17 @@ func TestOTLPConvertSpanSetPeerService(t *testing.T) { Start: int64(now), Duration: 200000000, Meta: map[string]string{ - "db.instance": "postgres", - "env": "prod", - "deployment.environment": "prod", - "otel.trace_id": "72df520af2bde7a5240031ead750e5f3", - "otel.status_code": "Unset", - "otel.library.name": "ddtracer", - "otel.library.version": "v2", - "service.version": "v1.2.3", - "version": "v1.2.3", - "peer.service": "userbase", - "span.kind": "server", + "db.instance": "postgres", + "env": "prod", + "deployment.environment": "prod", + "otel.trace_id": "72df520af2bde7a5240031ead750e5f3", + "otel.status_code": "Unset", + "otel.library.name": "ddtracer", + "otel.library.version": "v2", + "service.version": "v1.2.3", + "version": "v1.2.3", + "peer.service": "userbase", + "span.kind": "server", }, Type: "web", Metrics: map[string]float64{}, @@ -1517,17 +1502,17 @@ func TestOTLPConvertSpanSetPeerService(t *testing.T) { Start: int64(now), Duration: 200000000, Meta: map[string]string{ - "env": "prod", - "deployment.environment": "prod", - "otel.trace_id": "72df520af2bde7a5240031ead750e5f3", - "otel.status_code": "Unset", - "otel.library.name": "ddtracer", - "otel.library.version": "v2", - "service.version": "v1.2.3", - "version": "v1.2.3", - "db.system": "postgres", - "net.peer.name": "remotehost", - "span.kind": "client", + "env": "prod", + "deployment.environment": "prod", + "otel.trace_id": "72df520af2bde7a5240031ead750e5f3", + "otel.status_code": "Unset", + "otel.library.name": "ddtracer", + "otel.library.version": "v2", + "service.version": "v1.2.3", + "version": "v1.2.3", + "db.system": "postgres", + "net.peer.name": "remotehost", + "span.kind": "client", }, Type: "db", Metrics: map[string]float64{}, @@ -1563,17 +1548,17 @@ func TestOTLPConvertSpanSetPeerService(t *testing.T) { Start: int64(now), Duration: 200000000, Meta: map[string]string{ - "env": "prod", - "deployment.environment": "prod", - "otel.trace_id": "72df520af2bde7a5240031ead750e5f3", - "otel.status_code": "Unset", - "otel.library.name": "ddtracer", - "otel.library.version": "v2", - "service.version": "v1.2.3", - "version": "v1.2.3", - "rpc.service": "GetInstance", - "net.peer.name": "remotehost", - "span.kind": "client", + "env": "prod", + "deployment.environment": "prod", + "otel.trace_id": "72df520af2bde7a5240031ead750e5f3", + "otel.status_code": "Unset", + "otel.library.name": "ddtracer", + "otel.library.version": "v2", + "service.version": "v1.2.3", + "version": "v1.2.3", + "rpc.service": "GetInstance", + "net.peer.name": "remotehost", + "span.kind": "client", }, Type: "http", Metrics: map[string]float64{}, @@ -1608,16 +1593,16 @@ func TestOTLPConvertSpanSetPeerService(t *testing.T) { Start: int64(now), Duration: 200000000, Meta: map[string]string{ - "env": "prod", - "deployment.environment": "prod", - "otel.trace_id": "72df520af2bde7a5240031ead750e5f3", - "otel.status_code": "Unset", - "otel.library.name": "ddtracer", - "otel.library.version": "v2", - "service.version": "v1.2.3", - "version": "v1.2.3", - "net.peer.name": "remotehost", - "span.kind": "server", + "env": "prod", + "deployment.environment": "prod", + "otel.trace_id": "72df520af2bde7a5240031ead750e5f3", + "otel.status_code": "Unset", + "otel.library.name": "ddtracer", + "otel.library.version": "v2", + "service.version": "v1.2.3", + "version": "v1.2.3", + "net.peer.name": "remotehost", + "span.kind": "server", }, Type: "web", Metrics: map[string]float64{}, @@ -1717,7 +1702,7 @@ func TestOTLPConvertSpanSetPeerService(t *testing.T) { lib.SetName(tt.libname) lib.SetVersion(tt.libver) assert := assert.New(t) - assert.Equal(tt.out, o.convertSpan(tt.rattr, lib, tt.in, map[string]string{}), i) + assert.Equal(tt.out, o.convertSpan(tt.rattr, lib, tt.in), i) }) } } @@ -1728,8 +1713,7 @@ func TestResourceAttributesMap(t *testing.T) { rattr := map[string]string{"key": "val"} lib := pcommon.NewInstrumentationScope() span := testutil.NewOTLPSpan(&testutil.OTLPSpan{}) - ctags := make(map[string]string) - NewOTLPReceiver(nil, config.New()).convertSpan(rattr, lib, span, ctags) + NewOTLPReceiver(nil, config.New()).convertSpan(rattr, lib, span) assert.Len(t, rattr, 1) // ensure "rattr" has no new entries assert.Equal(t, "val", rattr["key"]) } diff --git a/pkg/trace/go.mod b/pkg/trace/go.mod index 263966484cd9e..3219fd8a532c0 100644 --- a/pkg/trace/go.mod +++ b/pkg/trace/go.mod @@ -18,7 +18,7 @@ require ( github.com/DataDog/datadog-agent/pkg/util/pointer v0.49.0-rc.2 github.com/DataDog/datadog-agent/pkg/util/scrubber v0.49.0-rc.2 github.com/DataDog/datadog-go/v5 v5.1.1 - github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.8.0 + github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.8.1 github.com/DataDog/sketches-go v1.4.2 github.com/Microsoft/go-winio v0.6.1 github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 @@ -31,10 +31,10 @@ require ( github.com/stretchr/testify v1.8.4 github.com/tinylib/msgp v1.1.8 github.com/vmihailenco/msgpack/v4 v4.3.12 - go.opentelemetry.io/collector/pdata v1.0.0-rcv0014 - go.opentelemetry.io/collector/semconv v0.83.0 + go.opentelemetry.io/collector/pdata v1.0.0-rcv0017 + go.opentelemetry.io/collector/semconv v0.88.0 go.uber.org/atomic v1.11.0 - golang.org/x/sys v0.13.0 + golang.org/x/sys v0.14.0 golang.org/x/time v0.3.0 google.golang.org/grpc v1.59.0 google.golang.org/protobuf v1.31.0 @@ -72,11 +72,11 @@ require ( github.com/yusufpapurcu/wmi v1.2.3 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/mod v0.13.0 // indirect - golang.org/x/net v0.16.0 // indirect - golang.org/x/text v0.13.0 // indirect + golang.org/x/net v0.18.0 // indirect + golang.org/x/text v0.14.0 // indirect golang.org/x/tools v0.14.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/trace/go.sum b/pkg/trace/go.sum index 263baab56bd20..49568592bd390 100644 --- a/pkg/trace/go.sum +++ b/pkg/trace/go.sum @@ -4,8 +4,8 @@ github.com/DataDog/go-sqllexer v0.0.8 h1:vfC8R9PhmJfeOKcFYAX9UOd890A3wu3KrjU9Kr7 github.com/DataDog/go-sqllexer v0.0.8/go.mod h1:nB4Ea2YNsqMwtbWMc4Fm/oP98IIrSPapqwOwPioMspY= github.com/DataDog/go-tuf v1.0.2-0.5.2 h1:EeZr937eKAWPxJ26IykAdWA4A0jQXJgkhUjqEI/w7+I= github.com/DataDog/go-tuf v1.0.2-0.5.2/go.mod h1:zBcq6f654iVqmkk8n2Cx81E1JnNTMOAx1UEO/wZR+P0= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.8.0 h1:NNSjBdo9PlfjUKmCrjNWTxAtG7ovemO5EHT08zVpeUU= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.8.0/go.mod h1:8d/zACzxfdBllttohcF3mwL6ELg8vXTGiPkib/1ObOA= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.8.1 h1:ly/egks++IqejMVPcp0OWV1fcL+Nsq4EHF48AAQPKu4= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.8.1/go.mod h1:8jOAAH5PrNN6zICpu65M7mNPAeOQsW5Wk/sq80txutA= github.com/DataDog/sketches-go v1.4.2 h1:gppNudE9d19cQ98RYABOetxIhpTCl4m7CnbRZjvVA/o= github.com/DataDog/sketches-go v1.4.2/go.mod h1:xJIXldczJyyjnbDop7ZZcLxJdV3+7Kra7H1KMgpgkLk= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -126,10 +126,10 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opentelemetry.io/collector/pdata v1.0.0-rcv0014 h1:iT5qH0NLmkGeIdDtnBogYDx7L58t6CaWGL378DEo2QY= -go.opentelemetry.io/collector/pdata v1.0.0-rcv0014/go.mod h1:BRvDrx43kiSoUx3mr7SoA7h9B8+OY99mUK+CZSQFWW4= -go.opentelemetry.io/collector/semconv v0.83.0 h1:zfBJaGiC7XI8dLD/8QIyKre98RHcq3DaG1g1B+U/Dow= -go.opentelemetry.io/collector/semconv v0.83.0/go.mod h1:j/8THcqVxFna1FpvA2zYIsUperEtOaRaqoLYIN4doWw= +go.opentelemetry.io/collector/pdata v1.0.0-rcv0017 h1:AgALhc2VenoA5l1DvTdg7mkzaBGqoTSuMkAtjsttBFo= +go.opentelemetry.io/collector/pdata v1.0.0-rcv0017/go.mod h1:Rv9fOclA5AtM/JGm0d4jBOIAo1+jBA13UT5Bx0ovXi4= +go.opentelemetry.io/collector/semconv v0.88.0 h1:8TVP4hYaUC87S6CCLKNoSxsUE0ChldE4vqotvNHHUnE= +go.opentelemetry.io/collector/semconv v0.88.0/go.mod h1:j/8THcqVxFna1FpvA2zYIsUperEtOaRaqoLYIN4doWw= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= @@ -139,7 +139,7 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= +golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -157,8 +157,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= -golang.org/x/net v0.16.0 h1:7eBu7KsSvFDtSXUIDbh3aqlK4DPsZ1rByC8PFfBThos= -golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= +golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -183,8 +183,8 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= +golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= @@ -193,8 +193,8 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -213,8 +213,8 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 h1:Jyp0Hsi0bmHXG6k9eATXoYtjd6e2UzZ1SCn/wIupY14= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA= google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= diff --git a/releasenotes/notes/apm-otlp-custom-container-tags-66f1878743f9f7ca.yaml b/releasenotes/notes/apm-otlp-custom-container-tags-66f1878743f9f7ca.yaml new file mode 100644 index 0000000000000..be36bf12c243b --- /dev/null +++ b/releasenotes/notes/apm-otlp-custom-container-tags-66f1878743f9f7ca.yaml @@ -0,0 +1,17 @@ +# Each section from every release note are combined when the +# CHANGELOG.rst is rendered. So the text needs to be worded so that +# it does not depend on any information only available in another +# section. This may mean repeating some details, but each section +# must be readable independently of the other. +# +# Each section note must be formatted as reStructuredText. +--- +enhancements: + - | + APM: OTLP: Add support for custom container tags via resource attributes prefixed by `datadog.container.tag.*`. +--- +fixes: + - | + APM: OTLP: Only extract DD container tags from resource attributes. Previously, container tags were also extracted from span attributes. + - | + APM: OTLP: Only add container tags in tag _dd.tags.container. Previously, container tags were also added as span tags.