From eab38cd7812382aa5d28f37549de43f393f78ea1 Mon Sep 17 00:00:00 2001 From: Ibraheem Aboulnaga Date: Mon, 18 Nov 2024 15:48:56 -0500 Subject: [PATCH] [exporter/datadog] Add feature flag for updated operation and resource name logic --- connector/datadogconnector/go.mod | 6 +- connector/datadogconnector/go.sum | 24 ++++---- exporter/datadogexporter/go.mod | 10 ++-- exporter/datadogexporter/go.sum | 24 ++++---- .../datadogexporter/integrationtest/go.mod | 10 ++-- .../datadogexporter/integrationtest/go.sum | 24 ++++---- exporter/datadogexporter/traces_exporter.go | 10 ++++ .../datadogexporter/traces_exporter_test.go | 57 ++++++++++++++++++- 8 files changed, 113 insertions(+), 52 deletions(-) diff --git a/connector/datadogconnector/go.mod b/connector/datadogconnector/go.mod index ec26230f3471..47f419f2c64c 100644 --- a/connector/datadogconnector/go.mod +++ b/connector/datadogconnector/go.mod @@ -6,7 +6,7 @@ require ( github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.59.0 github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.59.0 github.com/DataDog/datadog-agent/pkg/proto v0.59.0 - github.com/DataDog/datadog-agent/pkg/trace v0.59.0 + github.com/DataDog/datadog-agent/pkg/trace v0.61.0-devel.0.20241118194800-f3526c9fc512 github.com/DataDog/datadog-go/v5 v5.5.0 github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.21.0 github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.21.0 @@ -102,7 +102,7 @@ require ( github.com/DataDog/datadog-agent/pkg/version v0.59.0 // indirect github.com/DataDog/datadog-api-client-go/v2 v2.31.0 // indirect github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42 // indirect - github.com/DataDog/go-sqllexer v0.0.15 // indirect + github.com/DataDog/go-sqllexer v0.0.16 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee // indirect github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.21.0 // indirect @@ -300,7 +300,7 @@ require ( golang.org/x/sys v0.27.0 // indirect golang.org/x/term v0.26.0 // indirect golang.org/x/text v0.20.0 // indirect - golang.org/x/time v0.6.0 // indirect + golang.org/x/time v0.8.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 // indirect diff --git a/connector/datadogconnector/go.sum b/connector/datadogconnector/go.sum index d898e7d00292..05a905d00f11 100644 --- a/connector/datadogconnector/go.sum +++ b/connector/datadogconnector/go.sum @@ -95,8 +95,8 @@ github.com/DataDog/datadog-agent/comp/trace/compression/def v0.59.0 h1:u/IbNqKfY github.com/DataDog/datadog-agent/comp/trace/compression/def v0.59.0/go.mod h1:samFXdP0HVSwD223LPLzcPKUjRQ6/uwr/1wMPo2HhRg= github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.59.0 h1:Z/fqQiBYwTTt27IIBdX6oivtIxfqm0o0gNqA1zoATm4= github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.59.0/go.mod h1:x1xzklye6fB16nIh4HrvbOYN/WP4OJNJpvZylelI3tI= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.59.0 h1:m9wM1fLNndxJWVXwZegwQ2wAp6CK0uFqF/sh/5Rw1PY= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.59.0/go.mod h1:t1BtP+u27pjTeOX/5otD7klkUIHB0Mh4ToeeeHs+oRY= +github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.56.0-rc.3 h1:Hq2tQTaFcEJy9o1QFb9Ql/gm0uRzrYQkFEZGPVKLMHI= +github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.56.0-rc.3/go.mod h1:TOlu5v8b46+aW9h3KLZdOiwz3gJkoQerT3+F3st6ZRA= github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.59.0 h1:Etckua/+tAA9nA6Ssbgx+sKDIdgiobVFuhRvQWDAGHQ= github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.59.0/go.mod h1:s9QBNtoBURzy/0FeBInQ7kawNj04OnBNUo8xYr26z3E= github.com/DataDog/datadog-agent/pkg/config/env v0.59.0 h1:8oHEWArrc7dYJunz5ZtLzSVsGkW4JUk+v/QLgcUuvRI= @@ -151,8 +151,8 @@ github.com/DataDog/datadog-agent/pkg/status/health v0.59.0 h1:gDeDYddUBwkzeNRxeR github.com/DataDog/datadog-agent/pkg/status/health v0.59.0/go.mod h1:EkC/SgFR03BKwBitVV4dIuP+ofwPlUCkVi5K5k1Dh2Y= github.com/DataDog/datadog-agent/pkg/telemetry v0.59.0 h1:4WEY5NILyM/WFXwzgvgdju1rfO4cru2SXJyU1JLgFyc= github.com/DataDog/datadog-agent/pkg/telemetry v0.59.0/go.mod h1:DmEXCX0hBizZpdpbS64o9sPj47iiUzh9F7uGUazF+ZA= -github.com/DataDog/datadog-agent/pkg/trace v0.59.0 h1:LHfmBEfidWE6R5onNLIFnX3jc4MRBwdqJ6XLQxvBAG0= -github.com/DataDog/datadog-agent/pkg/trace v0.59.0/go.mod h1:6XfyUYonzDI1qy9tZBUgMgGYJarHDxIZtfs6PNRbf/w= +github.com/DataDog/datadog-agent/pkg/trace v0.61.0-devel.0.20241118194800-f3526c9fc512 h1:ovjVp7K17GxDWGCDVFdTP2bYR0Rxbc0O7AgX2t17WZ0= +github.com/DataDog/datadog-agent/pkg/trace v0.61.0-devel.0.20241118194800-f3526c9fc512/go.mod h1:qw4wfUyyVMCyFsjxxKunvmdfB5xVIo3Z+7MXi8Td27s= github.com/DataDog/datadog-agent/pkg/util/backoff v0.59.0 h1:EaTwOrTRpMEdomryGVMfHyN0wEsKkaL3/Tw9qRt9SSY= github.com/DataDog/datadog-agent/pkg/util/backoff v0.59.0/go.mod h1:2RMfdYkKyeh8hXs6WgaamkkEyK35Xo55C4rFG4dO1k8= github.com/DataDog/datadog-agent/pkg/util/cgroups v0.59.0 h1:uV3oUyl0uQN8anXZXQiw+hbQ8UNNtSkrnDCDklhAjeI= @@ -197,8 +197,8 @@ github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42 h1:RoH7VLzTnxHEugRPIgnGlxwDFszFGI7b3WZZUtWuPRM= github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42/go.mod h1:TX7CTOQ3LbQjfAi4SwqUoR5gY1zfUk7VRBDTuArjaDc= -github.com/DataDog/go-sqllexer v0.0.15 h1:rUUu52dP8EQhJLnUw0MIAxZp0BQx2fOTuMztr3vtHUU= -github.com/DataDog/go-sqllexer v0.0.15/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= +github.com/DataDog/go-sqllexer v0.0.16 h1:RoSUMS6MECyB3gTUIdydzXwK5NhEhv6GMJkS7ptsgRA= +github.com/DataDog/go-sqllexer v0.0.16/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= github.com/DataDog/go-tuf v1.1.0-0.5.2 h1:4CagiIekonLSfL8GMHRHcHudo1fQnxELS9g4tiAupQ4= github.com/DataDog/go-tuf v1.1.0-0.5.2/go.mod h1:zBcq6f654iVqmkk8n2Cx81E1JnNTMOAx1UEO/wZR+P0= github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee h1:tXibLZk3G6HncIFJKaNItsdzcrk4YqILNDZlXPTNt4k= @@ -1097,8 +1097,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.1-0.20200828183125-ce943fd02449/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= -golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= +golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1222,8 +1222,8 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= -golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= +golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1266,8 +1266,8 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ= -golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= +golang.org/x/tools v0.27.0 h1:qEKojBykQkQ4EynWy4S8Weg69NumxKdn40Fce3uc/8o= +golang.org/x/tools v0.27.0/go.mod h1:sUi0ZgbwW9ZPAq26Ekut+weQPR5eIM6GQLQ1Yjm1H0Q= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/exporter/datadogexporter/go.mod b/exporter/datadogexporter/go.mod index 1bf13b28c445..18ce07f02f48 100644 --- a/exporter/datadogexporter/go.mod +++ b/exporter/datadogexporter/go.mod @@ -25,7 +25,7 @@ require ( github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.59.0 // indirect github.com/DataDog/datadog-agent/pkg/proto v0.59.0 github.com/DataDog/datadog-agent/pkg/status/health v0.59.0 // indirect - github.com/DataDog/datadog-agent/pkg/trace v0.59.0 + github.com/DataDog/datadog-agent/pkg/trace v0.61.0-devel.0.20241118194800-f3526c9fc512 github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.59.0 github.com/DataDog/datadog-agent/pkg/util/startstop v0.59.0 // indirect github.com/DataDog/datadog-api-client-go/v2 v2.31.0 @@ -147,7 +147,7 @@ require ( github.com/DataDog/datadog-agent/pkg/util/winutil v0.59.0 // indirect github.com/DataDog/datadog-agent/pkg/version v0.59.0 // indirect github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42 // indirect - github.com/DataDog/go-sqllexer v0.0.15 // indirect + github.com/DataDog/go-sqllexer v0.0.16 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect github.com/DataDog/viper v1.13.5 // indirect github.com/DataDog/zstd v1.5.5 // indirect @@ -389,15 +389,15 @@ require ( go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.29.0 // indirect golang.org/x/exp v0.0.0-20241004190924-225e2abe05e6 // indirect - golang.org/x/mod v0.21.0 // indirect + golang.org/x/mod v0.22.0 // indirect golang.org/x/net v0.31.0 // indirect golang.org/x/oauth2 v0.23.0 // indirect golang.org/x/sync v0.9.0 // indirect golang.org/x/sys v0.27.0 // indirect golang.org/x/term v0.26.0 // indirect golang.org/x/text v0.20.0 // indirect - golang.org/x/time v0.6.0 // indirect - golang.org/x/tools v0.26.0 // indirect + golang.org/x/time v0.8.0 // indirect + golang.org/x/tools v0.27.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect google.golang.org/api v0.188.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 // indirect diff --git a/exporter/datadogexporter/go.sum b/exporter/datadogexporter/go.sum index 1e71a5f9ba76..7e7775f18505 100644 --- a/exporter/datadogexporter/go.sum +++ b/exporter/datadogexporter/go.sum @@ -112,8 +112,8 @@ github.com/DataDog/datadog-agent/comp/trace/compression/def v0.59.0 h1:u/IbNqKfY github.com/DataDog/datadog-agent/comp/trace/compression/def v0.59.0/go.mod h1:samFXdP0HVSwD223LPLzcPKUjRQ6/uwr/1wMPo2HhRg= github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.59.0 h1:Z/fqQiBYwTTt27IIBdX6oivtIxfqm0o0gNqA1zoATm4= github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.59.0/go.mod h1:x1xzklye6fB16nIh4HrvbOYN/WP4OJNJpvZylelI3tI= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.59.0 h1:m9wM1fLNndxJWVXwZegwQ2wAp6CK0uFqF/sh/5Rw1PY= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.59.0/go.mod h1:t1BtP+u27pjTeOX/5otD7klkUIHB0Mh4ToeeeHs+oRY= +github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.56.0-rc.3 h1:Hq2tQTaFcEJy9o1QFb9Ql/gm0uRzrYQkFEZGPVKLMHI= +github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.56.0-rc.3/go.mod h1:TOlu5v8b46+aW9h3KLZdOiwz3gJkoQerT3+F3st6ZRA= github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.59.0 h1:Etckua/+tAA9nA6Ssbgx+sKDIdgiobVFuhRvQWDAGHQ= github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.59.0/go.mod h1:s9QBNtoBURzy/0FeBInQ7kawNj04OnBNUo8xYr26z3E= github.com/DataDog/datadog-agent/pkg/config/env v0.59.0 h1:8oHEWArrc7dYJunz5ZtLzSVsGkW4JUk+v/QLgcUuvRI= @@ -168,8 +168,8 @@ github.com/DataDog/datadog-agent/pkg/status/health v0.59.0 h1:gDeDYddUBwkzeNRxeR github.com/DataDog/datadog-agent/pkg/status/health v0.59.0/go.mod h1:EkC/SgFR03BKwBitVV4dIuP+ofwPlUCkVi5K5k1Dh2Y= github.com/DataDog/datadog-agent/pkg/telemetry v0.59.0 h1:4WEY5NILyM/WFXwzgvgdju1rfO4cru2SXJyU1JLgFyc= github.com/DataDog/datadog-agent/pkg/telemetry v0.59.0/go.mod h1:DmEXCX0hBizZpdpbS64o9sPj47iiUzh9F7uGUazF+ZA= -github.com/DataDog/datadog-agent/pkg/trace v0.59.0 h1:LHfmBEfidWE6R5onNLIFnX3jc4MRBwdqJ6XLQxvBAG0= -github.com/DataDog/datadog-agent/pkg/trace v0.59.0/go.mod h1:6XfyUYonzDI1qy9tZBUgMgGYJarHDxIZtfs6PNRbf/w= +github.com/DataDog/datadog-agent/pkg/trace v0.61.0-devel.0.20241118194800-f3526c9fc512 h1:ovjVp7K17GxDWGCDVFdTP2bYR0Rxbc0O7AgX2t17WZ0= +github.com/DataDog/datadog-agent/pkg/trace v0.61.0-devel.0.20241118194800-f3526c9fc512/go.mod h1:qw4wfUyyVMCyFsjxxKunvmdfB5xVIo3Z+7MXi8Td27s= github.com/DataDog/datadog-agent/pkg/util/backoff v0.59.0 h1:EaTwOrTRpMEdomryGVMfHyN0wEsKkaL3/Tw9qRt9SSY= github.com/DataDog/datadog-agent/pkg/util/backoff v0.59.0/go.mod h1:2RMfdYkKyeh8hXs6WgaamkkEyK35Xo55C4rFG4dO1k8= github.com/DataDog/datadog-agent/pkg/util/cgroups v0.59.0 h1:uV3oUyl0uQN8anXZXQiw+hbQ8UNNtSkrnDCDklhAjeI= @@ -215,8 +215,8 @@ github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42 h1:RoH7VLzTnxHEugRPIgnGlxwDFszFGI7b3WZZUtWuPRM= github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42/go.mod h1:TX7CTOQ3LbQjfAi4SwqUoR5gY1zfUk7VRBDTuArjaDc= -github.com/DataDog/go-sqllexer v0.0.15 h1:rUUu52dP8EQhJLnUw0MIAxZp0BQx2fOTuMztr3vtHUU= -github.com/DataDog/go-sqllexer v0.0.15/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= +github.com/DataDog/go-sqllexer v0.0.16 h1:RoSUMS6MECyB3gTUIdydzXwK5NhEhv6GMJkS7ptsgRA= +github.com/DataDog/go-sqllexer v0.0.16/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= github.com/DataDog/go-tuf v1.1.0-0.5.2 h1:4CagiIekonLSfL8GMHRHcHudo1fQnxELS9g4tiAupQ4= github.com/DataDog/go-tuf v1.1.0-0.5.2/go.mod h1:zBcq6f654iVqmkk8n2Cx81E1JnNTMOAx1UEO/wZR+P0= github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee h1:tXibLZk3G6HncIFJKaNItsdzcrk4YqILNDZlXPTNt4k= @@ -1256,8 +1256,8 @@ golang.org/x/mod v0.3.1-0.20200828183125-ce943fd02449/go.mod h1:s0Qsj1ACt9ePp/hM golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= -golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= +golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1434,8 +1434,8 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= -golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= -golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= +golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1490,8 +1490,8 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ= -golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= +golang.org/x/tools v0.27.0 h1:qEKojBykQkQ4EynWy4S8Weg69NumxKdn40Fce3uc/8o= +golang.org/x/tools v0.27.0/go.mod h1:sUi0ZgbwW9ZPAq26Ekut+weQPR5eIM6GQLQ1Yjm1H0Q= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/exporter/datadogexporter/integrationtest/go.mod b/exporter/datadogexporter/integrationtest/go.mod index f9e03da3541e..e980ffa3289a 100644 --- a/exporter/datadogexporter/integrationtest/go.mod +++ b/exporter/datadogexporter/integrationtest/go.mod @@ -88,7 +88,7 @@ require ( github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.59.0 // indirect github.com/DataDog/datadog-agent/pkg/status/health v0.59.0 // indirect github.com/DataDog/datadog-agent/pkg/telemetry v0.59.0 // indirect - github.com/DataDog/datadog-agent/pkg/trace v0.59.0 // indirect + github.com/DataDog/datadog-agent/pkg/trace v0.61.0-devel.0.20241118194800-f3526c9fc512 // indirect github.com/DataDog/datadog-agent/pkg/util/backoff v0.59.0 // indirect github.com/DataDog/datadog-agent/pkg/util/cgroups v0.59.0 // indirect github.com/DataDog/datadog-agent/pkg/util/executable v0.59.0 // indirect @@ -109,7 +109,7 @@ require ( github.com/DataDog/datadog-api-client-go/v2 v2.31.0 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42 // indirect - github.com/DataDog/go-sqllexer v0.0.15 // indirect + github.com/DataDog/go-sqllexer v0.0.16 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee // indirect github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.21.0 // indirect @@ -362,15 +362,15 @@ require ( go.uber.org/zap v1.27.0 // indirect golang.org/x/crypto v0.29.0 // indirect golang.org/x/exp v0.0.0-20241004190924-225e2abe05e6 // indirect - golang.org/x/mod v0.21.0 // indirect + golang.org/x/mod v0.22.0 // indirect golang.org/x/net v0.31.0 // indirect golang.org/x/oauth2 v0.23.0 // indirect golang.org/x/sync v0.9.0 // indirect golang.org/x/sys v0.27.0 // indirect golang.org/x/term v0.26.0 // indirect golang.org/x/text v0.20.0 // indirect - golang.org/x/time v0.6.0 // indirect - golang.org/x/tools v0.26.0 // indirect + golang.org/x/time v0.8.0 // indirect + golang.org/x/tools v0.27.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect google.golang.org/api v0.188.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 // indirect diff --git a/exporter/datadogexporter/integrationtest/go.sum b/exporter/datadogexporter/integrationtest/go.sum index 36017f77652e..d87524aed09a 100644 --- a/exporter/datadogexporter/integrationtest/go.sum +++ b/exporter/datadogexporter/integrationtest/go.sum @@ -110,8 +110,8 @@ github.com/DataDog/datadog-agent/comp/trace/compression/def v0.59.0 h1:u/IbNqKfY github.com/DataDog/datadog-agent/comp/trace/compression/def v0.59.0/go.mod h1:samFXdP0HVSwD223LPLzcPKUjRQ6/uwr/1wMPo2HhRg= github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.59.0 h1:Z/fqQiBYwTTt27IIBdX6oivtIxfqm0o0gNqA1zoATm4= github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.59.0/go.mod h1:x1xzklye6fB16nIh4HrvbOYN/WP4OJNJpvZylelI3tI= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.59.0 h1:m9wM1fLNndxJWVXwZegwQ2wAp6CK0uFqF/sh/5Rw1PY= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.59.0/go.mod h1:t1BtP+u27pjTeOX/5otD7klkUIHB0Mh4ToeeeHs+oRY= +github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.56.0-rc.3 h1:Hq2tQTaFcEJy9o1QFb9Ql/gm0uRzrYQkFEZGPVKLMHI= +github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.56.0-rc.3/go.mod h1:TOlu5v8b46+aW9h3KLZdOiwz3gJkoQerT3+F3st6ZRA= github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.59.0 h1:Etckua/+tAA9nA6Ssbgx+sKDIdgiobVFuhRvQWDAGHQ= github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.59.0/go.mod h1:s9QBNtoBURzy/0FeBInQ7kawNj04OnBNUo8xYr26z3E= github.com/DataDog/datadog-agent/pkg/config/env v0.59.0 h1:8oHEWArrc7dYJunz5ZtLzSVsGkW4JUk+v/QLgcUuvRI= @@ -166,8 +166,8 @@ github.com/DataDog/datadog-agent/pkg/status/health v0.59.0 h1:gDeDYddUBwkzeNRxeR github.com/DataDog/datadog-agent/pkg/status/health v0.59.0/go.mod h1:EkC/SgFR03BKwBitVV4dIuP+ofwPlUCkVi5K5k1Dh2Y= github.com/DataDog/datadog-agent/pkg/telemetry v0.59.0 h1:4WEY5NILyM/WFXwzgvgdju1rfO4cru2SXJyU1JLgFyc= github.com/DataDog/datadog-agent/pkg/telemetry v0.59.0/go.mod h1:DmEXCX0hBizZpdpbS64o9sPj47iiUzh9F7uGUazF+ZA= -github.com/DataDog/datadog-agent/pkg/trace v0.59.0 h1:LHfmBEfidWE6R5onNLIFnX3jc4MRBwdqJ6XLQxvBAG0= -github.com/DataDog/datadog-agent/pkg/trace v0.59.0/go.mod h1:6XfyUYonzDI1qy9tZBUgMgGYJarHDxIZtfs6PNRbf/w= +github.com/DataDog/datadog-agent/pkg/trace v0.61.0-devel.0.20241118194800-f3526c9fc512 h1:ovjVp7K17GxDWGCDVFdTP2bYR0Rxbc0O7AgX2t17WZ0= +github.com/DataDog/datadog-agent/pkg/trace v0.61.0-devel.0.20241118194800-f3526c9fc512/go.mod h1:qw4wfUyyVMCyFsjxxKunvmdfB5xVIo3Z+7MXi8Td27s= github.com/DataDog/datadog-agent/pkg/util/backoff v0.59.0 h1:EaTwOrTRpMEdomryGVMfHyN0wEsKkaL3/Tw9qRt9SSY= github.com/DataDog/datadog-agent/pkg/util/backoff v0.59.0/go.mod h1:2RMfdYkKyeh8hXs6WgaamkkEyK35Xo55C4rFG4dO1k8= github.com/DataDog/datadog-agent/pkg/util/cgroups v0.59.0 h1:uV3oUyl0uQN8anXZXQiw+hbQ8UNNtSkrnDCDklhAjeI= @@ -213,8 +213,8 @@ github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42 h1:RoH7VLzTnxHEugRPIgnGlxwDFszFGI7b3WZZUtWuPRM= github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42/go.mod h1:TX7CTOQ3LbQjfAi4SwqUoR5gY1zfUk7VRBDTuArjaDc= -github.com/DataDog/go-sqllexer v0.0.15 h1:rUUu52dP8EQhJLnUw0MIAxZp0BQx2fOTuMztr3vtHUU= -github.com/DataDog/go-sqllexer v0.0.15/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= +github.com/DataDog/go-sqllexer v0.0.16 h1:RoSUMS6MECyB3gTUIdydzXwK5NhEhv6GMJkS7ptsgRA= +github.com/DataDog/go-sqllexer v0.0.16/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= github.com/DataDog/go-tuf v1.1.0-0.5.2 h1:4CagiIekonLSfL8GMHRHcHudo1fQnxELS9g4tiAupQ4= github.com/DataDog/go-tuf v1.1.0-0.5.2/go.mod h1:zBcq6f654iVqmkk8n2Cx81E1JnNTMOAx1UEO/wZR+P0= github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee h1:tXibLZk3G6HncIFJKaNItsdzcrk4YqILNDZlXPTNt4k= @@ -1242,8 +1242,8 @@ golang.org/x/mod v0.3.1-0.20200828183125-ce943fd02449/go.mod h1:s0Qsj1ACt9ePp/hM golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= -golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= +golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1420,8 +1420,8 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= -golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= -golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= +golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1476,8 +1476,8 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ= -golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= +golang.org/x/tools v0.27.0 h1:qEKojBykQkQ4EynWy4S8Weg69NumxKdn40Fce3uc/8o= +golang.org/x/tools v0.27.0/go.mod h1:sUi0ZgbwW9ZPAq26Ekut+weQPR5eIM6GQLQ1Yjm1H0Q= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/exporter/datadogexporter/traces_exporter.go b/exporter/datadogexporter/traces_exporter.go index a510c7e88ae4..430a7af3e109 100644 --- a/exporter/datadogexporter/traces_exporter.go +++ b/exporter/datadogexporter/traces_exporter.go @@ -41,6 +41,13 @@ var traceCustomHTTPFeatureGate = featuregate.GlobalRegistry().MustRegister( featuregate.WithRegisterFromVersion("v0.105.0"), ) +var operationAndResourceNameV2FeatureGate = featuregate.GlobalRegistry().MustRegister( + "exporter.datadogexporter.EnableOperationAndResourceNameV2", + featuregate.StageAlpha, + featuregate.WithRegisterDescription("When enabled, datadogexporter uses improved logic to compute operation name and resource name."), + featuregate.WithRegisterFromVersion("v0.105.0"), +) + type traceExporter struct { params exporter.Settings cfg *Config @@ -226,6 +233,9 @@ func newTraceAgentConfig(ctx context.Context, params exporter.Settings, cfg *Con return clientutil.NewHTTPClient(cfg.ClientConfig) } } + if operationAndResourceNameV2FeatureGate.IsEnabled() { + acfg.Features["enable_operation_and_resource_name_logic_v2"] = struct{}{} + } if v := cfg.Traces.GetFlushInterval(); v > 0 { acfg.TraceWriter.FlushPeriodSeconds = v } diff --git a/exporter/datadogexporter/traces_exporter_test.go b/exporter/datadogexporter/traces_exporter_test.go index 725a32a8f8a4..b8567b1686e1 100644 --- a/exporter/datadogexporter/traces_exporter_test.go +++ b/exporter/datadogexporter/traces_exporter_test.go @@ -9,6 +9,7 @@ import ( "context" "encoding/json" "fmt" + "go.opentelemetry.io/collector/featuregate" "io" "net/http" "net/http/httptest" @@ -381,20 +382,70 @@ func TestPushTraceData_NewEnvConvention(t *testing.T) { assert.Equal(t, "new_env", traces.TracerPayloads[0].GetEnv()) } +func TestPushTraceData_OperationAndResourceNameV2(t *testing.T) { + err := featuregate.GlobalRegistry().Set("exporter.datadogexporter.EnableOperationAndResourceNameV2", true) + if err != nil { + t.Fatal(err) + } + tracesRec := &testutil.HTTPRequestRecorderWithChan{Pattern: testutil.TraceEndpoint, ReqChan: make(chan []byte)} + server := testutil.DatadogServerMock(tracesRec.HandlerFunc) + defer server.Close() + cfg := &Config{ + API: APIConfig{ + Key: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + }, + TagsConfig: TagsConfig{ + Hostname: "test-host", + }, + Metrics: MetricsConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{Endpoint: server.URL}, + }, + Traces: TracesConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{Endpoint: server.URL}, + }, + } + cfg.Traces.SetFlushInterval(0.1) + + params := exportertest.NewNopSettings() + f := NewFactory() + exp, err := f.CreateTraces(context.Background(), params, cfg) + assert.NoError(t, err) + + err = exp.ConsumeTraces(context.Background(), simpleTracesWithAttributesAndKind(map[string]any{conventions127.AttributeDeploymentEnvironmentName: "new_env"}, ptrace.SpanKindServer)) + assert.NoError(t, err) + + reqBytes := <-tracesRec.ReqChan + buf := bytes.NewBuffer(reqBytes) + reader, err := gzip.NewReader(buf) + require.NoError(t, err) + slurp, err := io.ReadAll(reader) + require.NoError(t, err) + var traces pb.AgentPayload + require.NoError(t, proto.Unmarshal(slurp, &traces)) + assert.Len(t, traces.TracerPayloads, 1) + assert.Equal(t, "new_env", traces.TracerPayloads[0].GetEnv()) + assert.Equal(t, "server.request", traces.TracerPayloads[0].Chunks[0].Spans[0].Name) +} + func simpleTraces() ptrace.Traces { - return genTraces([16]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4}, nil) + return genTraces([16]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4}, nil, ptrace.SpanKindInternal) } func simpleTracesWithAttributes(attrs map[string]any) ptrace.Traces { - return genTraces([16]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4}, attrs) + return genTraces([16]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4}, attrs, ptrace.SpanKindInternal) +} + +func simpleTracesWithAttributesAndKind(attrs map[string]any, kind ptrace.SpanKind) ptrace.Traces { + return genTraces([16]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4}, attrs, kind) } -func genTraces(traceID pcommon.TraceID, attrs map[string]any) ptrace.Traces { +func genTraces(traceID pcommon.TraceID, attrs map[string]any, kind ptrace.SpanKind) ptrace.Traces { traces := ptrace.NewTraces() rspans := traces.ResourceSpans().AppendEmpty() span := rspans.ScopeSpans().AppendEmpty().Spans().AppendEmpty() span.SetTraceID(traceID) span.SetSpanID([8]byte{0, 0, 0, 0, 1, 2, 3, 4}) + span.SetKind(kind) if attrs == nil { return traces }