From 054d662d971174ba9c54c8ea1018e574ada3802d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Tue, 2 Jul 2024 16:35:41 +0200 Subject: [PATCH 01/21] wip --- contrib/99designs/gqlgen/go.mod | 2 +- contrib/99designs/gqlgen/option.go | 7 ++-- contrib/99designs/gqlgen/tracer.go | 6 ++-- contrib/api.go | 55 ++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 8 deletions(-) create mode 100644 contrib/api.go diff --git a/contrib/99designs/gqlgen/go.mod b/contrib/99designs/gqlgen/go.mod index 40662ba189..fe89caa705 100644 --- a/contrib/99designs/gqlgen/go.mod +++ b/contrib/99designs/gqlgen/go.mod @@ -14,7 +14,7 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.50.0 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.50.0 // indirect github.com/DataDog/datadog-go/v5 v5.4.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v0.0.0-20240516153256-8d6fa2bea61d // indirect + github.com/DataDog/dd-trace-go/v2/contrib/net/http v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.10 // indirect github.com/DataDog/go-tuf v1.0.2-0.5.2 // indirect diff --git a/contrib/99designs/gqlgen/option.go b/contrib/99designs/gqlgen/option.go index e5f32068b1..f2f786be28 100644 --- a/contrib/99designs/gqlgen/option.go +++ b/contrib/99designs/gqlgen/option.go @@ -7,9 +7,6 @@ package gqlgen import ( "math" - - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" ) const defaultServiceName = "graphql" @@ -33,8 +30,8 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - cfg.serviceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.analyticsRate = globalconfig.AnalyticsRate() + cfg.serviceName = integration.DefaultServiceName() + cfg.analyticsRate = integration.DefaultAnalyticsRate() cfg.tags = make(map[string]interface{}) } diff --git a/contrib/99designs/gqlgen/tracer.go b/contrib/99designs/gqlgen/tracer.go index c9aa1f3989..0a6cd833a9 100644 --- a/contrib/99designs/gqlgen/tracer.go +++ b/contrib/99designs/gqlgen/tracer.go @@ -46,12 +46,12 @@ import ( "math" "time" + "github.com/DataDog/dd-trace-go/v2/contrib" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/graphqlsec" "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/graphqlsec/types" "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" "github.com/99designs/gqlgen/graphql" "github.com/vektah/gqlparser/v2/ast" @@ -59,8 +59,10 @@ import ( const componentName = "99designs/gqlgen" +var integration *contrib.Integration + func init() { - telemetry.LoadIntegration(componentName) + integration = contrib.LoadIntegration(componentName, contrib.WithServiceNameOverrideV0(defaultServiceName, defaultServiceName)) tracer.MarkIntegrationImported("github.com/99designs/gqlgen") } diff --git a/contrib/api.go b/contrib/api.go new file mode 100644 index 0000000000..21ac2b05e0 --- /dev/null +++ b/contrib/api.go @@ -0,0 +1,55 @@ +package contrib + +import ( + "sync" + + "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/internal/telemetry" +) + +type Integration struct { + mu sync.RWMutex + defaultServiceName string +} + +func (i *Integration) DefaultServiceName() string { + i.mu.RLock() + defer i.mu.RUnlock() + return i.defaultServiceName +} + +func (i *Integration) DefaultAnalyticsRate() float64 { + return globalconfig.AnalyticsRate() +} + +type Option interface { + apply(*Integration) +} + +type OptionFn func(*Integration) + +func (fn OptionFn) apply(cfg *Integration) { + fn(cfg) +} + +func LoadIntegration(name string, opts ...Option) *Integration { + telemetry.LoadIntegration(name) + integration := &Integration{} + for _, opt := range opts { + opt.apply(integration) + } + return nil +} + +func WithServiceName(fallback string) OptionFn { + return func(i *Integration) { + i.defaultServiceName = namingschema.ServiceName(fallback) + } +} + +func WithServiceNameOverrideV0(fallback, overrideV0 string) OptionFn { + return func(i *Integration) { + i.defaultServiceName = namingschema.ServiceNameOverrideV0(fallback, overrideV0) + } +} From 0fbf984ce2f8e6dd22eb6e70d4f1b49730bbb0ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Arg=C3=BCello?= Date: Mon, 15 Jul 2024 10:08:03 +0200 Subject: [PATCH 02/21] wip: fix contrib replace directives (#2783) --- contrib/99designs/gqlgen/go.mod | 10 +- contrib/99designs/gqlgen/go.sum | 30 +- contrib/IBM/sarama/go.mod | 6 +- contrib/IBM/sarama/go.sum | 18 +- contrib/Shopify/sarama/go.mod | 6 +- contrib/Shopify/sarama/go.sum | 18 +- contrib/api.go | 5 + contrib/aws/aws-sdk-go-v2/aws/example_test.go | 65 +- contrib/aws/aws-sdk-go-v2/go.mod | 39 +- contrib/aws/aws-sdk-go-v2/go.sum | 75 ++- contrib/aws/aws-sdk-go/aws/aws.go | 2 +- contrib/aws/aws-sdk-go/aws/example_test.go | 2 +- contrib/aws/aws-sdk-go/go.mod | 6 +- contrib/aws/aws-sdk-go/go.sum | 17 +- contrib/bradfitz/gomemcache/go.mod | 6 +- contrib/bradfitz/gomemcache/go.sum | 16 +- .../gomemcache/memcache/example_test.go | 2 +- .../bradfitz/gomemcache/memcache/memcache.go | 2 +- contrib/cloud.google.com/go/pubsub.v1/go.mod | 40 +- contrib/cloud.google.com/go/pubsub.v1/go.sum | 90 ++- .../confluent-kafka-go/kafka.v2/go.mod | 9 +- .../confluent-kafka-go/kafka.v2/go.sum | 22 +- .../confluent-kafka-go/kafka/go.mod | 6 +- .../confluent-kafka-go/kafka/go.sum | 14 +- contrib/database/sql/go.mod | 6 +- contrib/database/sql/go.sum | 15 +- contrib/dimfeld/httptreemux.v5/go.mod | 9 +- contrib/dimfeld/httptreemux.v5/go.sum | 19 +- contrib/elastic/go-elasticsearch.v6/go.mod | 6 +- contrib/elastic/go-elasticsearch.v6/go.sum | 16 +- contrib/emicklei/go-restful.v3/go.mod | 6 +- contrib/emicklei/go-restful.v3/go.sum | 19 +- contrib/gin-gonic/gin/go.mod | 6 +- contrib/gin-gonic/gin/go.sum | 20 +- contrib/globalsign/mgo/go.mod | 6 +- contrib/globalsign/mgo/go.sum | 16 +- contrib/go-chi/chi.v5/go.mod | 6 +- contrib/go-chi/chi.v5/go.sum | 19 +- contrib/go-chi/chi/go.mod | 6 +- contrib/go-chi/chi/go.sum | 19 +- contrib/go-pg/pg.v10/go.mod | 6 +- contrib/go-pg/pg.v10/go.sum | 18 +- contrib/go-redis/redis.v7/go.mod | 6 +- contrib/go-redis/redis.v7/go.sum | 18 +- contrib/go-redis/redis.v8/go.mod | 6 +- contrib/go-redis/redis.v8/go.sum | 21 +- contrib/go-redis/redis/go.mod | 6 +- contrib/go-redis/redis/go.sum | 18 +- contrib/go.mongodb.org/mongo-driver/go.mod | 6 +- contrib/go.mongodb.org/mongo-driver/go.sum | 16 +- .../mongo-driver/mongo/example_test.go | 2 +- contrib/gocql/gocql/go.mod | 6 +- contrib/gocql/gocql/go.sum | 16 +- contrib/gofiber/fiber.v2/go.mod | 6 +- contrib/gofiber/fiber.v2/go.sum | 16 +- contrib/gomodule/redigo/go.mod | 6 +- contrib/gomodule/redigo/go.sum | 16 +- contrib/google.golang.org/api/api.go | 2 +- contrib/google.golang.org/api/go.mod | 33 +- contrib/google.golang.org/api/go.sum | 99 ++- .../api/internal/gen_endpoints/go.mod | 2 +- contrib/google.golang.org/grpc/client.go | 2 +- contrib/google.golang.org/grpc/go.mod | 13 +- contrib/google.golang.org/grpc/go.sum | 34 +- contrib/google.golang.org/grpc/grpc.go | 2 +- .../grpc/internal/grpcutil/mdcarrier.go | 2 +- contrib/gorilla/mux/go.mod | 9 +- contrib/gorilla/mux/go.sum | 19 +- contrib/gorm.io/gorm.v1/go.mod | 12 +- contrib/gorm.io/gorm.v1/go.sum | 17 +- contrib/graph-gophers/graphql-go/go.mod | 6 +- contrib/graph-gophers/graphql-go/go.sum | 16 +- contrib/graphql-go/graphql/go.mod | 6 +- contrib/graphql-go/graphql/go.sum | 16 +- contrib/hashicorp/consul/go.mod | 6 +- contrib/hashicorp/consul/go.sum | 23 +- contrib/hashicorp/vault/go.mod | 9 +- contrib/hashicorp/vault/go.sum | 21 +- contrib/jackc/pgx.v5/go.mod | 6 +- contrib/jackc/pgx.v5/go.sum | 16 +- contrib/jmoiron/sqlx/go.mod | 8 +- contrib/julienschmidt/httprouter/go.mod | 9 +- contrib/julienschmidt/httprouter/go.sum | 19 +- contrib/k8s.io/client-go/go.mod | 9 +- contrib/k8s.io/client-go/go.sum | 19 +- .../client-go/kubernetes/example_test.go | 2 +- .../k8s.io/client-go/kubernetes/kubernetes.go | 2 +- contrib/labstack/echo.v4/go.mod | 9 +- contrib/labstack/echo.v4/go.sum | 19 +- contrib/miekg/dns/go.mod | 6 +- contrib/miekg/dns/go.sum | 18 +- contrib/net/http/go.mod | 8 +- contrib/net/http/go.sum | 28 +- contrib/olivere/elastic.v5/go.mod | 6 +- contrib/olivere/elastic.v5/go.sum | 16 +- contrib/redis/go-redis.v9/go.mod | 6 +- contrib/redis/go-redis.v9/go.sum | 18 +- contrib/segmentio/kafka-go/go.mod | 6 +- contrib/segmentio/kafka-go/go.sum | 17 +- contrib/sirupsen/logrus/go.mod | 6 +- contrib/sirupsen/logrus/go.sum | 16 +- contrib/syndtr/goleveldb/go.mod | 6 +- contrib/syndtr/goleveldb/go.sum | 17 +- .../syndtr/goleveldb/leveldb/example_test.go | 2 +- contrib/syndtr/goleveldb/leveldb/leveldb.go | 2 +- contrib/tidwall/buntdb/go.mod | 6 +- contrib/tidwall/buntdb/go.sum | 18 +- contrib/twitchtv/twirp/go.mod | 6 +- contrib/twitchtv/twirp/go.sum | 16 +- contrib/urfave/negroni/go.mod | 6 +- contrib/urfave/negroni/go.sum | 19 +- contrib/valyala/fasthttp/go.mod | 9 +- contrib/valyala/fasthttp/go.sum | 19 +- go.mod | 2 +- go.sum | 6 + go.work | 111 ++-- go.work.sum | 563 +++++------------- internal/apps/go.mod | 9 +- internal/apps/go.sum | 11 +- .../contrib/httptracemock/httptracemock.go | 5 + .../contrib/bradfitz_memcache.go | 2 +- internal/contrib/validationtest/go.mod | 14 +- internal/contrib/validationtest/go.sum | 22 +- internal/traceprof/traceproftest/go.mod | 13 +- internal/traceprof/traceproftest/go.sum | 21 +- tools/fixmodules/go.mod | 3 + tools/fixmodules/main.go | 221 +++++++ tools/v2check/_stage/go.mod | 8 +- tools/v2check/_stage/go.sum | 5 - tools/v2check/go.mod | 6 +- tools/v2check/go.sum | 47 +- 131 files changed, 1556 insertions(+), 1146 deletions(-) create mode 100644 tools/fixmodules/go.mod create mode 100644 tools/fixmodules/main.go diff --git a/contrib/99designs/gqlgen/go.mod b/contrib/99designs/gqlgen/go.mod index b299c73594..df7e795e22 100644 --- a/contrib/99designs/gqlgen/go.mod +++ b/contrib/99designs/gqlgen/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2 -go 1.20 +go 1.21 require ( github.com/99designs/gqlgen v0.17.36 @@ -14,7 +14,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.50.0 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.50.0 // indirect github.com/DataDog/datadog-go/v5 v5.4.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.10 // indirect github.com/DataDog/go-tuf v1.0.2-0.5.2 // indirect @@ -26,7 +25,7 @@ require ( github.com/dustin/go-humanize v1.0.1 // indirect github.com/ebitengine/purego v0.6.0-alpha.5 // indirect github.com/google/go-cmp v0.6.0 // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect @@ -44,9 +43,8 @@ require ( golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.16.1 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/protobuf v1.31.0 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/99designs/gqlgen/go.sum b/contrib/99designs/gqlgen/go.sum index a663064efd..74d34e46e1 100644 --- a/contrib/99designs/gqlgen/go.sum +++ b/contrib/99designs/gqlgen/go.sum @@ -8,10 +8,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.50.0 h1:/V/WtjIQCDNJp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.50.0/go.mod h1:Vc+snp0Bey4MrrJyiV2tVxxJb6BmLomPvN1RgAvjGaQ= github.com/DataDog/datadog-go/v5 v5.4.0 h1:Ea3eXUVwrVV28F/fo3Dr3aa+TL/Z7Xi6SUPKW8L99aI= github.com/DataDog/datadog-go/v5 v5.4.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.10 h1:u07DuRfdlPPmOX/dclb1gcn/zaqWxUiURRRVenKILxc= @@ -19,6 +15,7 @@ github.com/DataDog/go-sqllexer v0.0.10/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.3 h1:ZB9nijteJRFUQixkQfatCqASartGNfiolIlMiEv3u/w= github.com/DataDog/sketches-go v1.4.3/go.mod h1:XR0ns2RtEEF09mDKXiKZiQg+nfZStrq1ZuL1eezeZe0= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -54,8 +51,9 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -67,9 +65,11 @@ github.com/hashicorp/golang-lru/v2 v2.0.3 h1:kmRrRLlInXvng0SmLxmQpQkpbYAvcXm7NPD github.com/hashicorp/golang-lru/v2 v2.0.3/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= @@ -82,17 +82,21 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -112,19 +116,23 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= +golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= +golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -153,11 +161,12 @@ golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSm golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= @@ -165,3 +174,4 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/IBM/sarama/go.mod b/contrib/IBM/sarama/go.mod index 4c806a2abc..79baa44ea9 100644 --- a/contrib/IBM/sarama/go.mod +++ b/contrib/IBM/sarama/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/IBM/sarama/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -57,5 +56,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/IBM/sarama/go.sum b/contrib/IBM/sarama/go.sum index 786de1bc1c..4c17c6432f 100644 --- a/contrib/IBM/sarama/go.sum +++ b/contrib/IBM/sarama/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/IBM/sarama v1.40.0 h1:QTVmX+gMKye52mT5x+Ve/Bod2D0Gy7ylE2Wslv+RHtc= @@ -25,6 +22,7 @@ github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpz github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Shopify/toxiproxy/v2 v2.5.0 h1:i4LPT+qrSlKNtQf5QliVjdP08GyAH8+BUIc9gT0eahc= +github.com/Shopify/toxiproxy/v2 v2.5.0/go.mod h1:yhM2epWtAmel9CB8r2+L+PCmhH6yH2pITaPAo7jxJl0= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -46,13 +44,16 @@ github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFP github.com/ebitengine/purego v0.7.1 h1:6/55d26lG3o9VCZX8lping+bZcmShseiqlh2bnUDiPA= github.com/ebitengine/purego v0.7.1/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= @@ -80,7 +81,9 @@ github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJk github.com/klauspost/compress v1.17.1 h1:NE3C767s2ak2bweCZo3+rdP4U/HoyVXLv/X9f2gPS5g= github.com/klauspost/compress v1.17.1/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -95,15 +98,19 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -121,6 +128,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -180,8 +188,10 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/Shopify/sarama/go.mod b/contrib/Shopify/sarama/go.mod index 8f07fce942..a4ea920761 100644 --- a/contrib/Shopify/sarama/go.mod +++ b/contrib/Shopify/sarama/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/Shopify/sarama/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -57,5 +56,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/Shopify/sarama/go.sum b/contrib/Shopify/sarama/go.sum index 4819e5da60..84e06b2a76 100644 --- a/contrib/Shopify/sarama/go.sum +++ b/contrib/Shopify/sarama/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -25,6 +22,7 @@ github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA github.com/Shopify/sarama v1.38.1 h1:lqqPUPQZ7zPqYlWpTh+LQ9bhYNu2xJL6k1SJN4WVe2A= github.com/Shopify/sarama v1.38.1/go.mod h1:iwv9a67Ha8VNa+TifujYoWGxWnu2kNVAQdSdZ4X2o5g= github.com/Shopify/toxiproxy/v2 v2.5.0 h1:i4LPT+qrSlKNtQf5QliVjdP08GyAH8+BUIc9gT0eahc= +github.com/Shopify/toxiproxy/v2 v2.5.0/go.mod h1:yhM2epWtAmel9CB8r2+L+PCmhH6yH2pITaPAo7jxJl0= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -46,13 +44,16 @@ github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFP github.com/ebitengine/purego v0.7.1 h1:6/55d26lG3o9VCZX8lping+bZcmShseiqlh2bnUDiPA= github.com/ebitengine/purego v0.7.1/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= @@ -80,7 +81,9 @@ github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJk github.com/klauspost/compress v1.17.1 h1:NE3C767s2ak2bweCZo3+rdP4U/HoyVXLv/X9f2gPS5g= github.com/klauspost/compress v1.17.1/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -95,15 +98,19 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -121,6 +128,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -180,8 +188,10 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/api.go b/contrib/api.go index 21ac2b05e0..b45b26a727 100644 --- a/contrib/api.go +++ b/contrib/api.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016 Datadog, Inc. + package contrib import ( diff --git a/contrib/aws/aws-sdk-go-v2/aws/example_test.go b/contrib/aws/aws-sdk-go-v2/aws/example_test.go index 6ab7a4cb00..de03d351b6 100644 --- a/contrib/aws/aws-sdk-go-v2/aws/example_test.go +++ b/contrib/aws/aws-sdk-go-v2/aws/example_test.go @@ -5,4 +5,67 @@ package aws_test -// The example was moved into the package godoc to avoid adding its dependencies into dd-trace-go's go.mod file. +import ( + "context" + "log" + "os" + + "github.com/aws/aws-sdk-go-v2/aws" + awscfg "github.com/aws/aws-sdk-go-v2/config" + "github.com/aws/aws-sdk-go-v2/feature/s3/manager" + "github.com/aws/aws-sdk-go-v2/service/s3" + "github.com/aws/aws-sdk-go-v2/service/sqs" + + awstrace "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2/aws" + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" +) + +func Example() { + awsCfg, err := awscfg.LoadDefaultConfig(context.Background()) + if err != nil { + log.Fatalf(err.Error()) + } + awstrace.AppendMiddleware(&awsCfg) + sqsClient := sqs.NewFromConfig(awsCfg) + sqsClient.ListQueues(context.Background(), &sqs.ListQueuesInput{}) +} + +// An example of the aws span inheriting a parent span from context. +func Example_context() { + cfg, err := awscfg.LoadDefaultConfig(context.TODO(), awscfg.WithRegion("us-west-2")) + if err != nil { + log.Fatalf("error: %v", err) + } + awstrace.AppendMiddleware(&cfg) + client := s3.NewFromConfig(cfg) + uploader := manager.NewUploader(client) + + // Create a root span. + span, ctx := tracer.StartSpanFromContext(context.Background(), "parent.request", + tracer.SpanType(ext.SpanTypeWeb), + tracer.ServiceName("web"), + tracer.ResourceName("/upload"), + ) + defer span.Finish() + + // Open image file. + filename := "my_image.png" + file, err := os.Open(filename) + if err != nil { + log.Fatalf("error: %v", err) + } + defer file.Close() + + uploadParams := &s3.PutObjectInput{ + Bucket: aws.String("my_bucket"), + Key: aws.String(filename), + Body: file, + ContentType: aws.String("image/png"), + } + // Inherit parent span from context. + _, err = uploader.Upload(ctx, uploadParams) + if err != nil { + log.Fatalf("error: %v", err) + } +} diff --git a/contrib/aws/aws-sdk-go-v2/go.mod b/contrib/aws/aws-sdk-go-v2/go.mod index f1e58fb6bd..02e0ec818a 100644 --- a/contrib/aws/aws-sdk-go-v2/go.mod +++ b/contrib/aws/aws-sdk-go-v2/go.mod @@ -2,21 +2,20 @@ module github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2 go 1.21 -toolchain go1.21.5 - require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/aws/aws-sdk-go-v2 v1.21.2 - github.com/aws/aws-sdk-go-v2/config v1.19.0 + github.com/aws/aws-sdk-go-v2 v1.30.3 + github.com/aws/aws-sdk-go-v2/config v1.27.26 + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.7 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.4 github.com/aws/aws-sdk-go-v2/service/ec2 v1.93.2 github.com/aws/aws-sdk-go-v2/service/eventbridge v1.20.4 github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.4 - github.com/aws/aws-sdk-go-v2/service/s3 v1.32.0 + github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2 github.com/aws/aws-sdk-go-v2/service/sfn v1.19.4 github.com/aws/aws-sdk-go-v2/service/sns v1.21.4 github.com/aws/aws-sdk-go-v2/service/sqs v1.24.4 - github.com/aws/smithy-go v1.20.1 + github.com/aws/smithy-go v1.20.3 github.com/stretchr/testify v1.8.4 ) @@ -30,21 +29,21 @@ require ( github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect github.com/DataDog/sketches-go v1.4.5 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.13 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.13.43 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.26 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.3 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.35 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17 // indirect github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.34 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.3 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.15.2 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.22.3 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dustin/go-humanize v1.0.1 // indirect @@ -72,5 +71,3 @@ require ( ) replace github.com/DataDog/dd-trace-go/v2 => ../../.. - -replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../net/http diff --git a/contrib/aws/aws-sdk-go-v2/go.sum b/contrib/aws/aws-sdk-go-v2/go.sum index 4d9cf13a79..59ba04ab93 100644 --- a/contrib/aws/aws-sdk-go-v2/go.sum +++ b/contrib/aws/aws-sdk-go-v2/go.sum @@ -21,73 +21,70 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/aws/aws-sdk-go-v2 v1.17.8/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2 v1.20.3/go.mod h1:/RfNgGmRxI+iFOB1OeJUyxiU+9s88k3pfHvDagGEp0M= -github.com/aws/aws-sdk-go-v2 v1.21.2 h1:+LXZ0sgo8quN9UOKXXzAWRT3FWd4NxeXWOZom9pE7GA= -github.com/aws/aws-sdk-go-v2 v1.21.2/go.mod h1:ErQhvNuEMhJjweavOYhxVkn2RUx7kQXVATHrjKtxIpM= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10/go.mod h1:VeTZetY5KRJLuD/7fkQXMU6Mw7H5m/KP2J5Iy9osMno= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.13 h1:OPLEkmhXf6xFPiz0bLeDArZIDx1NNS4oJyG4nv3Gct0= +github.com/aws/aws-sdk-go-v2 v1.30.3 h1:jUeBtG0Ih+ZIFH0F4UkmL9w3cSpaMv9tYYDbzILP8dY= +github.com/aws/aws-sdk-go-v2 v1.30.3/go.mod h1:nIQjQVp5sfpQcTc9mPSr1B0PaWK5ByX9MOoDadSN4lc= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.13/go.mod h1:gpAbvyDGQFozTEmlTFO8XcQKHzubdq0LzRyJpG6MiXM= -github.com/aws/aws-sdk-go-v2/config v1.19.0 h1:AdzDvwH6dWuVARCl3RTLGRc4Ogy+N7yLFxVxXe1ClQ0= -github.com/aws/aws-sdk-go-v2/config v1.19.0/go.mod h1:ZwDUgFnQgsazQTnWfeLWk5GjeqTQTL8lMkoE1UXzxdE= -github.com/aws/aws-sdk-go-v2/credentials v1.13.43 h1:LU8vo40zBlo3R7bAvBVy/ku4nxGEyZe9N8MqAeFTzF8= -github.com/aws/aws-sdk-go-v2/credentials v1.13.43/go.mod h1:zWJBz1Yf1ZtX5NGax9ZdNjhhI4rgjfgsyk6vTY1yfVg= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13 h1:PIktER+hwIG286DqXyvVENjgLTAwGgoeriLDD5C+YlQ= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13/go.mod h1:f/Ib/qYjhV2/qdsf79H3QP/eRE4AkVyEf6sk7XfZ1tg= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 h1:tW1/Rkad38LA15X4UQtjXZXNKsCgkshC3EbmcUmghTg= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3/go.mod h1:UbnqO+zjqk3uIt9yCACHJ9IVNhyhOCnYk8yA19SAWrM= +github.com/aws/aws-sdk-go-v2/config v1.27.26 h1:T1kAefbKuNum/AbShMsZEro6eRkeOT8YILfE9wyjAYQ= +github.com/aws/aws-sdk-go-v2/config v1.27.26/go.mod h1:ivWHkAWFrw/nxty5Fku7soTIVdqZaZ7dw+tc5iGW3GA= +github.com/aws/aws-sdk-go-v2/credentials v1.17.26 h1:tsm8g/nJxi8+/7XyJJcP2dLrnK/5rkFp6+i2nhmz5fk= +github.com/aws/aws-sdk-go-v2/credentials v1.17.26/go.mod h1:3vAM49zkIa3q8WT6o9Ve5Z0vdByDMwmdScO0zvThTgI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 h1:KreluoV8FZDEtI6Co2xuNk/UqI9iwMrOx/87PBNIKqw= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11/go.mod h1:SeSUYBLsMYFoRvHE0Tjvn7kbxaUhl75CJi1sbfhMxkU= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.7 h1:kNemAUX+bJFBSfPkGVZ8HFOKIadjLoI2Ua1ZKivhGSo= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.7/go.mod h1:71S2C1g/Zjn+ANmyoOqJ586OrPF9uC9iiHt9ZAT+MOw= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.32/go.mod h1:RudqOgadTWdcS3t/erPQo24pcVEoYyqj/kKW5Vya21I= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.40/go.mod h1:5kKmFhLeOVy6pwPDpDNA6/hK/d6URC98pqDDqHgdBx4= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43 h1:nFBQlGtkbPzp/NjZLuFxRqmT91rLJkgvsEQs68h962Y= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43/go.mod h1:auo+PiyLl0n1l8A0e8RIeR8tOzYPfZZH/JNlrJ8igTQ= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 h1:SoNJ4RlFEQEbtDcCEt+QG56MY4fm4W8rYirAmq+/DdU= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15/go.mod h1:U9ke74k1n2bf+RIgoX1SXFed1HLs51OgUSs+Ph0KJP8= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.26/go.mod h1:vq86l7956VgFr0/FWQ2BWnK07QC3WYsepKzy33qqY5U= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.34/go.mod h1:RZP0scceAyhMIQ9JvFp7HvkpcgqjL4l/4C+7RAeGbuM= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37 h1:JRVhO25+r3ar2mKGP7E0LDl8K9/G36gjlqca5iQbaqc= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37/go.mod h1:Qe+2KtKml+FEsQF/DHmDV+xjtche/hwoF75EG4UlHW8= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45/go.mod h1:lD5M20o09/LCuQ2mE62Mb/iSdSlCNuj6H5ci7tW7OsE= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 h1:C6WHdGnTDIYETAm5iErQUiVNsclNx9qbJVPIt03B6bI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15/go.mod h1:ZQLZqhcu+JhSrA9/NXRm8SkDvsycE+JkV3WGY41e+IM= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.24/go.mod h1:+fFaIjycTmpV6hjmPTbyU9Kp5MI/lA+bbibcAtmlhYA= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.3 h1:uHhWcrNBgpm9gi3o8NSQcsAqha/U9OFYzi2k4+0UVz8= github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.3/go.mod h1:jYLMm3Dh0wbeV3lxth5ryks/O2M/omVXWyYm3YcEVqQ= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15 h1:Z5r7SycxmSllHYmaAZPpmN8GviDrSGhMS6bldqtXZPw= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15/go.mod h1:CetW7bDE00QoGEmPUoZuRog07SGVAUVW6LFpNP0YfIg= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.4 h1:x3V1JRHq7q9RUbDpaeNpLH7QoipGpCo3fdnMMuSeABU= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.4/go.mod h1:aryF4jxgjhbqpdhj8QybUZI3xYrX8MQIKm4WbOv8Whg= github.com/aws/aws-sdk-go-v2/service/ec2 v1.93.2 h1:c6a19AjfhEXKlEX63cnlWtSQ4nzENihHZOG0I3wH6BE= github.com/aws/aws-sdk-go-v2/service/ec2 v1.93.2/go.mod h1:VX22JN3HQXDtQ3uS4h4TtM+K11vydq58tpHTlsm8TL8= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.20.4 h1:G18wotYZxZ0A5tkqKv6FHCjsF86UQrqNHy5LS+T7JWM= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.20.4/go.mod h1:XlbY5AGZhlipCdhRorT18/HEThKAxo51hMmhixreJoM= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14/go.mod h1:dDilntgHy9WnHXsh7dDtUPgHKEfTJIBUTHM8OWm0f/0= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 h1:EyBZibRTVAs6ECHZOw5/wlylS9OcTzwyjeQMudmREjE= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1/go.mod h1:JKpmtYhhPs7D97NL/ltqz7yCkERFW5dOlHyVl66ZYF8= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.27/go.mod h1:Zz0kvhcSlu3NX4XJkaGgdjaa+u7a9LYuy8JKxA5v3RM= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.35 h1:oCUrlTzh9GwhlYdyDGNAS6UgqJRzJp5rKoYCJWqLyZI= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.35/go.mod h1:YVHrksq36j0sbXCT6rSuQafpfYkMYqy0QTk7JTCTBIU= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 h1:dT3MqvGhSoaIhRseqw2I0yH81l7wiR2vjs57O51EAm8= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3/go.mod h1:GlAeCkHwugxdHaueRr4nhPuY+WW+gR8UjlcqzPr1SPI= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17 h1:YPYe6ZmvUfDDDELqEKtAd6bo8zxhkm+XEFEzQisqUIE= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17/go.mod h1:oBtcnYua/CgzCWYN7NZ5j7PotFDaFSUjCYVTtfyn7vw= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.34 h1:JlxVMFDHivlhNOIxd2O/9z4O0wC2zIC4lRB71lejVHU= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.34/go.mod h1:CDPcT6pljRaqz1yLsOgPUvOPOczFvXuJxOKzDzAbF0c= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.26/go.mod h1:Bd4C/4PkVGubtNe5iMXu5BNnaBi/9t/UsFspPt4ram8= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37 h1:WWZA/I2K4ptBS1kg0kV1JbBtG/umed0vwHRrmcr9z7k= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37/go.mod h1:vBmDnwWXWxNPFRMmG2m/3MKOe+xEcMDo1tanpaWCcck= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.1/go.mod h1:VXBHSxdN46bsJrkniN68psSwbyBKsazQfU2yX/iSDso= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.3 h1:rPDAISw3FjEhrJoaxmQjuD+GgBfv2p3AVhmAcnyqq3k= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.3/go.mod h1:TXBww3ANB+QRj+/dUoYDvI8d/u4F4WzTxD4mxtDoxrg= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 h1:HGErhhrxZlQ044RiM+WdoZxp0p+EGM62y3L6pwA4olE= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17/go.mod h1:RkZEx4l0EHYDJpWppMJ3nD9wZJAa8/0lq9aVC+r2UII= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15 h1:246A4lSTXWJw/rmlQI+TT2OcqeDMKBdyjEQrafMaQdA= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15/go.mod h1:haVfg3761/WF7YPuJOER2MP0k4UAXyHaLclKXB6usDg= github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.4 h1:UohaQds+Puk9BEbvncXkZduIGYImxohbFpVmSoymXck= github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.4/go.mod h1:HnjgmL8TNmYtGcrA3N6EeCnDvlX6CteCdUbZ1wV8QWQ= -github.com/aws/aws-sdk-go-v2/service/s3 v1.32.0 h1:NAc8WQsVQ3+kz3rU619mlz8NcbpZI6FVJHQfH33QK0g= -github.com/aws/aws-sdk-go-v2/service/s3 v1.32.0/go.mod h1:aSl9/LJltSz1cVusiR/Mu8tvI4Sv/5w/WWrJmmkNii0= +github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2 h1:sZXIzO38GZOU+O0C+INqbH7C2yALwfMWpd64tONS/NE= +github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2/go.mod h1:Lcxzg5rojyVPU/0eFwLtcyTaek/6Mtic5B1gJo7e/zE= github.com/aws/aws-sdk-go-v2/service/sfn v1.19.4 h1:yIyFY2kbCOoHvuivf9minqnP2RLYJgmvQRYxakIb2oI= github.com/aws/aws-sdk-go-v2/service/sfn v1.19.4/go.mod h1:uWCH4ATwNrkRO40j8Dmy7u/Y1/BVWgCM+YjBNYZeOro= github.com/aws/aws-sdk-go-v2/service/sns v1.21.4 h1:Asj098jPfIZYzAbk4xVFwVBGij5hgMcli0d+5Pe4aZA= github.com/aws/aws-sdk-go-v2/service/sns v1.21.4/go.mod h1:bbB779DXXOnPXvB7F3dP7AjuV1Eyr7fNyrA058ExuzY= github.com/aws/aws-sdk-go-v2/service/sqs v1.24.4 h1:bp8KUUx15mnLMe8SSJqO/kYEn0C2kKfWq/M9SRK9i1E= github.com/aws/aws-sdk-go-v2/service/sqs v1.24.4/go.mod h1:c1AF/ac4k4xz32FprEk6AqqGFH/Fkub9VUPSrASlllA= -github.com/aws/aws-sdk-go-v2/service/sso v1.15.2 h1:JuPGc7IkOP4AaqcZSIcyqLpFSqBWK32rM9+a1g6u73k= -github.com/aws/aws-sdk-go-v2/service/sso v1.15.2/go.mod h1:gsL4keucRCgW+xA85ALBpRFfdSLH4kHOVSnLMSuBECo= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3 h1:HFiiRkf1SdaAmV3/BHOFZ9DjFynPHj8G/UIO1lQS+fk= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3/go.mod h1:a7bHA82fyUXOm+ZSWKU6PIoBxrjSprdLoM8xPYvzYVg= -github.com/aws/aws-sdk-go-v2/service/sts v1.23.2 h1:0BkLfgeDjfZnZ+MhB3ONb01u9pwFYTCZVhlsSSBvlbU= -github.com/aws/aws-sdk-go-v2/service/sts v1.23.2/go.mod h1:Eows6e1uQEsc4ZaHANmsPRzAKcVDrcmjjWiih2+HUUQ= +github.com/aws/aws-sdk-go-v2/service/sso v1.22.3 h1:Fv1vD2L65Jnp5QRsdiM64JvUM4Xe+E0JyVsRQKv6IeA= +github.com/aws/aws-sdk-go-v2/service/sso v1.22.3/go.mod h1:ooyCOXjvJEsUw7x+ZDHeISPMhtwI3ZCB7ggFMcFfWLU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4 h1:yiwVzJW2ZxZTurVbYWA7QOrAaCYQR72t0wrSBfoesUE= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4/go.mod h1:0oxfLkpz3rQ/CHlx5hB7H69YUpFiI1tql6Q6Ne+1bCw= +github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 h1:ZsDKRLXGWHk8WdtyYMoGNO7bTudrvuKpDKgMVRlepGE= +github.com/aws/aws-sdk-go-v2/service/sts v1.30.3/go.mod h1:zwySh8fpFyXp9yOr/KVzxOl8SRqgf/IDw5aUt9UKFcQ= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.14.2/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/aws/smithy-go v1.15.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/aws/smithy-go v1.20.1 h1:4SZlSlMr36UEqC7XOyRVb27XMeZubNcBNN+9IgEPIQw= -github.com/aws/smithy-go v1.20.1/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= +github.com/aws/smithy-go v1.20.3 h1:ryHwveWzPV5BIof6fyDvor6V3iUL7nTfiTKXHiW05nE= +github.com/aws/smithy-go v1.20.3/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= diff --git a/contrib/aws/aws-sdk-go/aws/aws.go b/contrib/aws/aws-sdk-go/aws/aws.go index ce0f19bb1e..2c1047f23e 100644 --- a/contrib/aws/aws-sdk-go/aws/aws.go +++ b/contrib/aws/aws-sdk-go/aws/aws.go @@ -4,7 +4,7 @@ // Copyright 2016 Datadog, Inc. // Package aws provides functions to trace aws/aws-sdk-go (https://github.com/aws/aws-sdk-go). -package aws // import "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/aws/v2" +package aws // import "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2/aws" import ( "errors" diff --git a/contrib/aws/aws-sdk-go/aws/example_test.go b/contrib/aws/aws-sdk-go/aws/example_test.go index df182c85d5..80c60c2840 100644 --- a/contrib/aws/aws-sdk-go/aws/example_test.go +++ b/contrib/aws/aws-sdk-go/aws/example_test.go @@ -15,7 +15,7 @@ import ( "github.com/aws/aws-sdk-go/service/s3" "github.com/aws/aws-sdk-go/service/s3/s3manager" - awstrace "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/aws/v2" + awstrace "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2/aws" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" ) diff --git a/contrib/aws/aws-sdk-go/go.mod b/contrib/aws/aws-sdk-go/go.mod index 4aca00ec05..ac8963e8da 100644 --- a/contrib/aws/aws-sdk-go/go.mod +++ b/contrib/aws/aws-sdk-go/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -45,5 +44,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/aws/aws-sdk-go/go.sum b/contrib/aws/aws-sdk-go/go.sum index 193b1ef185..4042738266 100644 --- a/contrib/aws/aws-sdk-go/go.sum +++ b/contrib/aws/aws-sdk-go/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -42,7 +39,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -55,7 +54,9 @@ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHW github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -66,15 +67,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -91,6 +96,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -131,6 +137,7 @@ 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.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -146,6 +153,7 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= @@ -153,3 +161,4 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/bradfitz/gomemcache/go.mod b/contrib/bradfitz/gomemcache/go.mod index cb51b3deec..491f03b8bb 100644 --- a/contrib/bradfitz/gomemcache/go.mod +++ b/contrib/bradfitz/gomemcache/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2 -go 1.20 +go 1.21 require ( github.com/bradfitz/gomemcache v0.0.0-20230611145640-acc696258285 @@ -8,7 +8,6 @@ require ( ) require ( - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/google/go-cmp v0.6.0 // indirect golang.org/x/crypto v0.23.0 // indirect @@ -46,5 +45,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/bradfitz/gomemcache/go.sum b/contrib/bradfitz/gomemcache/go.sum index bb44052a36..0b8dd44dc3 100644 --- a/contrib/bradfitz/gomemcache/go.sum +++ b/contrib/bradfitz/gomemcache/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -42,7 +39,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -51,7 +50,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -62,15 +63,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -86,6 +91,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -125,7 +131,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/bradfitz/gomemcache/memcache/example_test.go b/contrib/bradfitz/gomemcache/memcache/example_test.go index 958cc0786d..5f8cc9ea72 100644 --- a/contrib/bradfitz/gomemcache/memcache/example_test.go +++ b/contrib/bradfitz/gomemcache/memcache/example_test.go @@ -8,7 +8,7 @@ package memcache_test import ( "context" - memcachetrace "github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/memcache/v2" + memcachetrace "github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2/memcache" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" "github.com/bradfitz/gomemcache/memcache" diff --git a/contrib/bradfitz/gomemcache/memcache/memcache.go b/contrib/bradfitz/gomemcache/memcache/memcache.go index 5954c04ea7..3ae50aa204 100644 --- a/contrib/bradfitz/gomemcache/memcache/memcache.go +++ b/contrib/bradfitz/gomemcache/memcache/memcache.go @@ -9,7 +9,7 @@ // the same methods, so should be seamless for existing applications. It also // has an additional `WithContext` method which can be used to connect a span // to an existing trace. -package memcache // import "github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/memcache/v2" +package memcache // import "github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2/memcache" import ( "context" diff --git a/contrib/cloud.google.com/go/pubsub.v1/go.mod b/contrib/cloud.google.com/go/pubsub.v1/go.mod index 3b9e0b002b..a4711dd6ac 100644 --- a/contrib/cloud.google.com/go/pubsub.v1/go.mod +++ b/contrib/cloud.google.com/go/pubsub.v1/go.mod @@ -1,25 +1,24 @@ module github.com/DataDog/dd-trace-go/contrib/cloud.google.com/go/pubsub.v1/v2 -go 1.20 +go 1.21 require ( - cloud.google.com/go/pubsub v1.33.0 + cloud.google.com/go/pubsub v1.36.1 github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/stretchr/testify v1.8.4 - google.golang.org/api v0.149.0 - google.golang.org/grpc v1.60.1 + google.golang.org/api v0.169.0 + google.golang.org/grpc v1.64.0 ) require ( - cloud.google.com/go v0.110.10 // indirect - cloud.google.com/go/compute v1.23.3 // indirect + cloud.google.com/go v0.112.1 // indirect + cloud.google.com/go/compute v1.25.1 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v1.1.5 // indirect + cloud.google.com/go/iam v1.1.6 // indirect github.com/DataDog/appsec-internal-go v1.5.0 // indirect github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -29,13 +28,16 @@ require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/ebitengine/purego v0.7.1 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/google/s2a-go v0.1.7 // indirect github.com/google/uuid v1.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.12.0 // indirect + github.com/googleapis/gax-go/v2 v2.12.2 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/outcaste-io/ristretto v0.2.3 // indirect @@ -44,23 +46,29 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect github.com/tinylib/msgp v1.1.9 // indirect + go.einride.tech/aip v0.66.0 // indirect go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect + go.opentelemetry.io/otel v1.24.0 // indirect + go.opentelemetry.io/otel/metric v1.24.0 // indirect + go.opentelemetry.io/otel/sdk v1.22.0 // indirect + go.opentelemetry.io/otel/trace v1.24.0 // indirect go.uber.org/atomic v1.11.0 // indirect golang.org/x/crypto v0.23.0 // indirect golang.org/x/net v0.25.0 // indirect - golang.org/x/oauth2 v0.13.0 // indirect + golang.org/x/oauth2 v0.18.0 // indirect golang.org/x/sync v0.7.0 // indirect golang.org/x/sys v0.20.0 // indirect golang.org/x/text v0.15.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto v0.0.0-20231211222908-989df2bf70f3 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 // indirect + google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect google.golang.org/protobuf v1.34.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../../.. diff --git a/contrib/cloud.google.com/go/pubsub.v1/go.sum b/contrib/cloud.google.com/go/pubsub.v1/go.sum index 95ad650553..00028b6136 100644 --- a/contrib/cloud.google.com/go/pubsub.v1/go.sum +++ b/contrib/cloud.google.com/go/pubsub.v1/go.sum @@ -1,15 +1,16 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.110.10 h1:LXy9GEO+timppncPIAZoOj3l58LIU9k+kn48AN7IO3Y= -cloud.google.com/go v0.110.10/go.mod h1:v1OoFqYxiBkUrruItNM3eT4lLByNjxmJSV/xDKJNnic= -cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= -cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= +cloud.google.com/go v0.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM= +cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= +cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= +cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= -cloud.google.com/go/iam v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI= -cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= -cloud.google.com/go/kms v1.15.5 h1:pj1sRfut2eRbD9pFRjNnPNg/CzJPuQAzUujMIM1vVeM= -cloud.google.com/go/pubsub v1.33.0 h1:6SPCPvWav64tj0sVX/+npCBKhUi/UjJehy9op/V3p2g= -cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= +cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= +cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= +cloud.google.com/go/kms v1.15.7 h1:7caV9K3yIxvlQPAcaFffhlT7d1qpxjB1wHBtjWa13SM= +cloud.google.com/go/kms v1.15.7/go.mod h1:ub54lbsa6tDkUwnu4W7Yt1aAIFLnspgh0kPGToDukeI= +cloud.google.com/go/pubsub v1.36.1 h1:dfEPuGCHGbWUhaMCTHUFjfroILEkx55iUmKBZTP5f+Y= +cloud.google.com/go/pubsub v1.36.1/go.mod h1:iYjCa9EzWOoBiTdd4ps7QoMtMln5NwaZQpK1hbRfBDE= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/DataDog/appsec-internal-go v1.5.0 h1:8kS5zSx5T49uZ8dZTdT19QVAvC/B8ByyZdhQKYQWHno= github.com/DataDog/appsec-internal-go v1.5.0/go.mod h1:pEp8gjfNLtEOmz+iZqC8bXhu0h4k7NUsW/qiQb34k1U= @@ -19,10 +20,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -30,6 +27,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -56,6 +54,13 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= @@ -73,8 +78,8 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -85,7 +90,9 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -93,15 +100,17 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= -github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= -github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= +github.com/googleapis/gax-go/v2 v2.12.2 h1:mhN09QQW1jEWeMF74zGR81R30z4VJzjZsfkUhuHF+DA= +github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -113,15 +122,19 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -134,12 +147,27 @@ github.com/tinylib/msgp v1.1.9 h1:SHf3yoO2sGA0veCJeCBYLHuttAVFHGm2RHgNodW7wQU= github.com/tinylib/msgp v1.1.9/go.mod h1:BCXGB54lDD8qUEPmiG0cQQUANC4IUQyB2ItS2UDlO/k= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.einride.tech/aip v0.66.0 h1:XfV+NQX6L7EOYK11yoHHFtndeaWh3KbD9/cN/6iWEt8= +go.einride.tech/aip v0.66.0/go.mod h1:qAhMsfT7plxBX+Oy7Huol6YUvZ0ZzdUz26yZsQwfl1M= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= +go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= +go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= +go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= +go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= +go.opentelemetry.io/otel/sdk v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB2Gw= +go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= +go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= +go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= 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= @@ -165,8 +193,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY= -golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= +golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= +golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -213,8 +241,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/api v0.149.0 h1:b2CqT6kG+zqJIVKRQ3ELJVLN1PwHZ6DJ3dW8yl82rgY= -google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9I7qI= +google.golang.org/api v0.169.0 h1:QwWPy71FgMWqJN/l6jVlFHUa29a7dcUy02I8o799nPY= +google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= @@ -222,19 +250,19 @@ google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJ google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20231211222908-989df2bf70f3 h1:1hfbdAfFbkmpg41000wDVqr7jUpK/Yo+LPnIxxGzmkg= -google.golang.org/genproto v0.0.0-20231211222908-989df2bf70f3/go.mod h1:5RBcpGRxr25RbDzY5w+dmaqpSEvl8Gwl1x2CICf60ic= -google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f h1:2yNACc1O40tTnrsbk9Cv6oxiW8pxI/pXj0wRtdlYmgY= -google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f/go.mod h1:Uy9bTZJqmfrw2rIBxgGLnamc78euZULUBrLZ9XTITKI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 h1:/jFB8jK5R3Sq3i/lmeZO0cATSzFfZaJq1J2Euan3XKU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0/go.mod h1:FUoWkonphQm3RhTS+kOEhF8h0iDpm4tdXolVCeZ9KKA= +google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y= +google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= +google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 h1:RFiFrvy37/mpSpdySBDrUdipW/dHwsRwh3J3+A9VgT4= +google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= -google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= 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= @@ -250,9 +278,13 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= +gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/contrib/confluentinc/confluent-kafka-go/kafka.v2/go.mod b/contrib/confluentinc/confluent-kafka-go/kafka.v2/go.mod index 3e619b20bf..393f8c0b0d 100644 --- a/contrib/confluentinc/confluent-kafka-go/kafka.v2/go.mod +++ b/contrib/confluentinc/confluent-kafka-go/kafka.v2/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/kafka.v2/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -46,12 +45,12 @@ require ( golang.org/x/sys v0.20.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect google.golang.org/protobuf v1.34.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) // Required to avoid a conflict with gin-gonic/gin. Re: https://github.com/gin-gonic/gin/issues/1673 replace github.com/spf13/viper => github.com/DataDog/viper v1.7.0 -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" + +replace github.com/DataDog/dd-trace-go/v2 => ../../../.. diff --git a/contrib/confluentinc/confluent-kafka-go/kafka.v2/go.sum b/contrib/confluentinc/confluent-kafka-go/kafka.v2/go.sum index 223e9a86b7..855c4ebef0 100644 --- a/contrib/confluentinc/confluent-kafka-go/kafka.v2/go.sum +++ b/contrib/confluentinc/confluent-kafka-go/kafka.v2/go.sum @@ -612,10 +612,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -623,6 +619,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/DataDog/viper v1.7.0/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= @@ -1055,7 +1052,6 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -1109,6 +1105,7 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -1215,6 +1212,7 @@ github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYs github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/klauspost/compress v1.17.1 h1:NE3C767s2ak2bweCZo3+rdP4U/HoyVXLv/X9f2gPS5g= +github.com/klauspost/compress v1.17.1/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= 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= @@ -1277,6 +1275,7 @@ github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2J github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= +github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= @@ -1422,6 +1421,7 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/clock v0.0.0-20190514195947-2896927a307a/go.mod h1:4r5QyqhjIWCcK8DO4KMclc5Iknq5qVBAlbYYzAbUScQ= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= @@ -1453,12 +1453,14 @@ github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrf github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= @@ -1484,6 +1486,7 @@ github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoH github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -1593,6 +1596,7 @@ go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0 go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= @@ -2262,8 +2266,8 @@ google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f7 google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 h1:/jFB8jK5R3Sq3i/lmeZO0cATSzFfZaJq1J2Euan3XKU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0/go.mod h1:FUoWkonphQm3RhTS+kOEhF8h0iDpm4tdXolVCeZ9KKA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/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= @@ -2308,7 +2312,8 @@ google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCD google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= 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= @@ -2374,6 +2379,7 @@ gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= gotest.tools/v3 v3.3.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/contrib/confluentinc/confluent-kafka-go/kafka/go.mod b/contrib/confluentinc/confluent-kafka-go/kafka/go.mod index ed89539ba9..34071876cb 100644 --- a/contrib/confluentinc/confluent-kafka-go/kafka/go.mod +++ b/contrib/confluentinc/confluent-kafka-go/kafka/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/kafka/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -43,5 +42,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../../.. diff --git a/contrib/confluentinc/confluent-kafka-go/kafka/go.sum b/contrib/confluentinc/confluent-kafka-go/kafka/go.sum index 8fd4be2335..a89a5babfe 100644 --- a/contrib/confluentinc/confluent-kafka-go/kafka/go.sum +++ b/contrib/confluentinc/confluent-kafka-go/kafka/go.sum @@ -9,10 +9,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -20,6 +16,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -100,8 +97,10 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20211008130755-947d60d73cc0/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= @@ -154,20 +153,24 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/clock v0.0.0-20190514195947-2896927a307a/go.mod h1:4r5QyqhjIWCcK8DO4KMclc5Iknq5qVBAlbYYzAbUScQ= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.3.1-0.20190311161405-34c6fa2dc709/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -187,6 +190,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= 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= @@ -292,6 +296,7 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v1 v1.0.0/go.mod h1:CxwszS/Xz1C49Ucd2i6Zil5UToP1EmyrFhKaMVbg1mk= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/httprequest.v1 v1.2.1/go.mod h1:x2Otw96yda5+8+6ZeWwHIJTFkEHWP/qP8pJOzqEtWPM= @@ -306,5 +311,6 @@ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/contrib/database/sql/go.mod b/contrib/database/sql/go.mod index 27ef7f1446..4eb04b808f 100644 --- a/contrib/database/sql/go.mod +++ b/contrib/database/sql/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/database/sql/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/datadog-go/v5 v5.5.0 @@ -17,7 +17,6 @@ require ( github.com/DataDog/appsec-internal-go v1.5.0 // indirect github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -48,5 +47,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/database/sql/go.sum b/contrib/database/sql/go.sum index 26c007cb07..dbf332baff 100644 --- a/contrib/database/sql/go.sum +++ b/contrib/database/sql/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -47,7 +44,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -56,7 +55,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/lib/pq v1.10.2 h1:AqzbZs4ZoCBp+GtejcpCpcxM3zlSMx29dXbUSeVtJb8= github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= @@ -71,15 +72,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -95,6 +100,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -135,6 +141,7 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/contrib/dimfeld/httptreemux.v5/go.mod b/contrib/dimfeld/httptreemux.v5/go.mod index 117a16281e..1da4716247 100644 --- a/contrib/dimfeld/httptreemux.v5/go.mod +++ b/contrib/dimfeld/httptreemux.v5/go.mod @@ -1,10 +1,10 @@ module github.com/DataDog/dd-trace-go/contrib/dimfeld/httptreemux.v5/v2 -go 1.20 +go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/dimfeld/httptreemux/v5 v5.5.0 github.com/stretchr/testify v1.8.4 ) @@ -43,5 +43,6 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../net/http + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/dimfeld/httptreemux.v5/go.sum b/contrib/dimfeld/httptreemux.v5/go.sum index 9ceef8b5b8..2a3a5c25fc 100644 --- a/contrib/dimfeld/httptreemux.v5/go.sum +++ b/contrib/dimfeld/httptreemux.v5/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -42,7 +39,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -51,7 +50,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -62,15 +63,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -86,6 +91,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -121,12 +127,15 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/elastic/go-elasticsearch.v6/go.mod b/contrib/elastic/go-elasticsearch.v6/go.mod index 92af5983fa..9b31faeae3 100644 --- a/contrib/elastic/go-elasticsearch.v6/go.mod +++ b/contrib/elastic/go-elasticsearch.v6/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/elastic/go-elasticsearch.v6/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -15,7 +15,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -46,5 +45,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/elastic/go-elasticsearch.v6/go.sum b/contrib/elastic/go-elasticsearch.v6/go.sum index 396a698493..34f644a3c1 100644 --- a/contrib/elastic/go-elasticsearch.v6/go.sum +++ b/contrib/elastic/go-elasticsearch.v6/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -49,7 +46,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -58,7 +57,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -69,15 +70,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -93,6 +98,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -132,7 +138,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/emicklei/go-restful.v3/go.mod b/contrib/emicklei/go-restful.v3/go.mod index 7d9db1f795..91c87dcb2c 100644 --- a/contrib/emicklei/go-restful.v3/go.mod +++ b/contrib/emicklei/go-restful.v3/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/emicklei/go-restful.v3/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -46,5 +45,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/emicklei/go-restful.v3/go.sum b/contrib/emicklei/go-restful.v3/go.sum index 6b456817eb..e3d2f96e9a 100644 --- a/contrib/emicklei/go-restful.v3/go.sum +++ b/contrib/emicklei/go-restful.v3/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -43,7 +40,9 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -54,7 +53,9 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -70,15 +71,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -94,6 +99,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -129,12 +135,15 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/gin-gonic/gin/go.mod b/contrib/gin-gonic/gin/go.mod index aec2f6e1e6..2db19d720c 100644 --- a/contrib/gin-gonic/gin/go.mod +++ b/contrib/gin-gonic/gin/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/gin-gonic/gin/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -63,5 +62,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/gin-gonic/gin/go.sum b/contrib/gin-gonic/gin/go.sum index 9d481d91b9..37b787cfb0 100644 --- a/contrib/gin-gonic/gin/go.sum +++ b/contrib/gin-gonic/gin/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -53,6 +50,7 @@ github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= @@ -66,7 +64,9 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -81,7 +81,9 @@ github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/q github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= @@ -103,15 +105,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -132,6 +138,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/arch v0.4.0 h1:A8WCeEWhLwPBKNbFi5Wv5UTCBx5zzubnXDlMOFAzFMc= golang.org/x/arch v0.4.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= @@ -174,14 +181,17 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/contrib/globalsign/mgo/go.mod b/contrib/globalsign/mgo/go.mod index 1fbaf9a756..7d8e84b51f 100644 --- a/contrib/globalsign/mgo/go.mod +++ b/contrib/globalsign/mgo/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/globalsign/mgo/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -43,5 +42,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/globalsign/mgo/go.sum b/contrib/globalsign/mgo/go.sum index 27bc0fb5a2..2078965275 100644 --- a/contrib/globalsign/mgo/go.sum +++ b/contrib/globalsign/mgo/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -42,7 +39,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -51,7 +50,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -62,15 +63,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -86,6 +91,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -125,7 +131,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/go-chi/chi.v5/go.mod b/contrib/go-chi/chi.v5/go.mod index d795531def..ebe37309dc 100644 --- a/contrib/go-chi/chi.v5/go.mod +++ b/contrib/go-chi/chi.v5/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/go-chi/chi.v5/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -43,5 +42,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/go-chi/chi.v5/go.sum b/contrib/go-chi/chi.v5/go.sum index eda5373adf..c4e4d9e121 100644 --- a/contrib/go-chi/chi.v5/go.sum +++ b/contrib/go-chi/chi.v5/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -42,7 +39,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -51,7 +50,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -62,15 +63,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -86,6 +91,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -121,12 +127,15 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/go-chi/chi/go.mod b/contrib/go-chi/chi/go.mod index 164e0b7a6e..b751935fe1 100644 --- a/contrib/go-chi/chi/go.mod +++ b/contrib/go-chi/chi/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/go-chi/chi/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -43,5 +42,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/go-chi/chi/go.sum b/contrib/go-chi/chi/go.sum index 7c53ae97c7..c87f681918 100644 --- a/contrib/go-chi/chi/go.sum +++ b/contrib/go-chi/chi/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -42,7 +39,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -51,7 +50,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -62,15 +63,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -86,6 +91,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -121,12 +127,15 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/go-pg/pg.v10/go.mod b/contrib/go-pg/pg.v10/go.mod index 332b37fe67..0dbae3a688 100644 --- a/contrib/go-pg/pg.v10/go.mod +++ b/contrib/go-pg/pg.v10/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/go-pg/pg.v10/v2 -go 1.20 +go 1.21 require ( github.com/go-pg/pg/v10 v10.11.1 @@ -8,7 +8,6 @@ require ( ) require ( - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/google/go-cmp v0.6.0 // indirect @@ -57,5 +56,4 @@ require ( mellium.im/sasl v0.3.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/go-pg/pg.v10/go.sum b/contrib/go-pg/pg.v10/go.sum index 0f38238672..7a816477dc 100644 --- a/contrib/go-pg/pg.v10/go.sum +++ b/contrib/go-pg/pg.v10/go.sum @@ -8,10 +8,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -19,6 +15,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -73,7 +70,9 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -86,9 +85,11 @@ github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= @@ -114,15 +115,19 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= 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= @@ -153,6 +158,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -224,6 +230,7 @@ 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.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -264,6 +271,7 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= @@ -271,10 +279,12 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= mellium.im/sasl v0.3.1 h1:wE0LW6g7U83vhvxjC1IY8DnXM+EU095yeo8XClvCdfo= diff --git a/contrib/go-redis/redis.v7/go.mod b/contrib/go-redis/redis.v7/go.mod index e39036ae29..92a6b7926b 100644 --- a/contrib/go-redis/redis.v7/go.mod +++ b/contrib/go-redis/redis.v7/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v7/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -46,5 +45,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/go-redis/redis.v7/go.sum b/contrib/go-redis/redis.v7/go.sum index e6ed307ebe..a7426b8a51 100644 --- a/contrib/go-redis/redis.v7/go.sum +++ b/contrib/go-redis/redis.v7/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -58,7 +55,9 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -69,9 +68,11 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= @@ -95,15 +96,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= 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= @@ -121,6 +126,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= 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= @@ -165,6 +171,7 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -188,6 +195,7 @@ google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHh gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= @@ -196,7 +204,9 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/go-redis/redis.v8/go.mod b/contrib/go-redis/redis.v8/go.mod index e3fc33e6a6..ea1aacb19d 100644 --- a/contrib/go-redis/redis.v8/go.mod +++ b/contrib/go-redis/redis.v8/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v8/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -46,5 +45,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/go-redis/redis.v8/go.sum b/contrib/go-redis/redis.v8/go.sum index b3dbc903f6..598903094e 100644 --- a/contrib/go-redis/redis.v8/go.sum +++ b/contrib/go-redis/redis.v8/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -46,7 +43,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -55,9 +54,13 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= @@ -70,15 +73,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -94,6 +101,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -121,6 +129,7 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -135,9 +144,13 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/go-redis/redis/go.mod b/contrib/go-redis/redis/go.mod index 6c0e18d5ba..ed3043ceaa 100644 --- a/contrib/go-redis/redis/go.mod +++ b/contrib/go-redis/redis/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/go-redis/redis/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -46,5 +45,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/go-redis/redis/go.sum b/contrib/go-redis/redis/go.sum index 1a84a30fd1..43b137d88d 100644 --- a/contrib/go-redis/redis/go.sum +++ b/contrib/go-redis/redis/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -57,7 +54,9 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -67,7 +66,9 @@ github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+l github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= @@ -89,15 +90,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= 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= @@ -115,6 +120,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= 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= @@ -156,6 +162,7 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -178,6 +185,7 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= @@ -185,7 +193,9 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/go.mongodb.org/mongo-driver/go.mod b/contrib/go.mongodb.org/mongo-driver/go.mod index cde8be77bc..3cfb824833 100644 --- a/contrib/go.mongodb.org/mongo-driver/go.mod +++ b/contrib/go.mongodb.org/mongo-driver/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/go.mongodb.org/mongo-driver/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -52,5 +51,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/go.mongodb.org/mongo-driver/go.sum b/contrib/go.mongodb.org/mongo-driver/go.sum index 50857229c4..15175cce20 100644 --- a/contrib/go.mongodb.org/mongo-driver/go.sum +++ b/contrib/go.mongodb.org/mongo-driver/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -44,7 +41,9 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -56,7 +55,9 @@ github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47e github.com/klauspost/compress v1.17.1 h1:NE3C767s2ak2bweCZo3+rdP4U/HoyVXLv/X9f2gPS5g= github.com/klauspost/compress v1.17.1/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/montanaflynn/stats v0.6.6 h1:Duep6KMIDpY4Yo11iFsvyqJDyfzLF9+sndUKT+v64GQ= github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= @@ -70,15 +71,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -105,6 +110,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -166,7 +172,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/go.mongodb.org/mongo-driver/mongo/example_test.go b/contrib/go.mongodb.org/mongo-driver/mongo/example_test.go index e49e9986de..21f6587df9 100644 --- a/contrib/go.mongodb.org/mongo-driver/mongo/example_test.go +++ b/contrib/go.mongodb.org/mongo-driver/mongo/example_test.go @@ -8,7 +8,7 @@ package mongo_test import ( "context" - mongotrace "github.com/DataDog/dd-trace-go/contrib/go.mongodb.org/mongo-driver/mongo/v2" + mongotrace "github.com/DataDog/dd-trace-go/contrib/go.mongodb.org/mongo-driver/v2/mongo" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" diff --git a/contrib/gocql/gocql/go.mod b/contrib/gocql/gocql/go.mod index 5d1cb56d1e..ed64748f63 100644 --- a/contrib/gocql/gocql/go.mod +++ b/contrib/gocql/gocql/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/gocql/gocql/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -46,5 +45,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/gocql/gocql/go.sum b/contrib/gocql/gocql/go.sum index 362a6ba43d..6f85da3f63 100644 --- a/contrib/gocql/gocql/go.sum +++ b/contrib/gocql/gocql/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -49,7 +46,9 @@ github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed h1:5upAirOpQc1Q53c0bnx2ufif5kANL7bfZWcc6VJWJd8= @@ -61,9 +60,11 @@ github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+l github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -74,15 +75,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -98,6 +103,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -137,9 +143,11 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/gofiber/fiber.v2/go.mod b/contrib/gofiber/fiber.v2/go.mod index 172106388a..5eca6a9897 100644 --- a/contrib/gofiber/fiber.v2/go.mod +++ b/contrib/gofiber/fiber.v2/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/gofiber/fiber.v2/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -52,5 +51,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/gofiber/fiber.v2/go.sum b/contrib/gofiber/fiber.v2/go.sum index 8116a76a68..6f9d00d3e4 100644 --- a/contrib/gofiber/fiber.v2/go.sum +++ b/contrib/gofiber/fiber.v2/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -44,7 +41,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -55,7 +54,9 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/klauspost/compress v1.17.1 h1:NE3C767s2ak2bweCZo3+rdP4U/HoyVXLv/X9f2gPS5g= github.com/klauspost/compress v1.17.1/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= @@ -73,18 +74,22 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -106,6 +111,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -147,7 +153,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/gomodule/redigo/go.mod b/contrib/gomodule/redigo/go.mod index 5ba5059fce..513dc6a8d6 100644 --- a/contrib/gomodule/redigo/go.mod +++ b/contrib/gomodule/redigo/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/gomodule/redigo/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -43,5 +42,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/gomodule/redigo/go.sum b/contrib/gomodule/redigo/go.sum index 2f712e850e..8432046fed 100644 --- a/contrib/gomodule/redigo/go.sum +++ b/contrib/gomodule/redigo/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -42,7 +39,9 @@ github.com/gomodule/redigo v1.8.9/go.mod h1:7ArFNvsTjH8GMMzB4uy1snslv2BwmginuMs0 github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -51,7 +50,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -62,15 +63,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -86,6 +91,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -125,7 +131,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/google.golang.org/api/api.go b/contrib/google.golang.org/api/api.go index 3e6f75d049..82633ec789 100644 --- a/contrib/google.golang.org/api/api.go +++ b/contrib/google.golang.org/api/api.go @@ -21,7 +21,7 @@ import ( "math" "net/http" - "github.com/DataDog/dd-trace-go/contrib/google.golang.org/api/internal/tree/v2" + "github.com/DataDog/dd-trace-go/contrib/google.golang.org/api/v2/internal/tree" httptrace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" diff --git a/contrib/google.golang.org/api/go.mod b/contrib/google.golang.org/api/go.mod index e732b03117..1a4fd383f6 100644 --- a/contrib/google.golang.org/api/go.mod +++ b/contrib/google.golang.org/api/go.mod @@ -1,17 +1,17 @@ module github.com/DataDog/dd-trace-go/contrib/google.golang.org/api/v2 -go 1.20 +go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/stretchr/testify v1.8.4 - golang.org/x/oauth2 v0.9.0 - google.golang.org/api v0.128.0 + golang.org/x/oauth2 v0.18.0 + google.golang.org/api v0.169.0 ) require ( - cloud.google.com/go/compute v1.19.3 // indirect + cloud.google.com/go/compute v1.25.1 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect github.com/DataDog/appsec-internal-go v1.5.0 // indirect github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect @@ -26,13 +26,15 @@ require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/ebitengine/purego v0.7.1 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/s2a-go v0.1.5 // indirect + github.com/golang/protobuf v1.5.4 // indirect + github.com/google/s2a-go v0.1.7 // indirect github.com/google/uuid v1.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.10.0 // indirect + github.com/googleapis/gax-go/v2 v2.12.2 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/outcaste-io/ristretto v0.2.3 // indirect @@ -42,6 +44,10 @@ require ( github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect github.com/tinylib/msgp v1.1.9 // indirect go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect + go.opentelemetry.io/otel v1.24.0 // indirect + go.opentelemetry.io/otel/metric v1.24.0 // indirect + go.opentelemetry.io/otel/trace v1.24.0 // indirect go.uber.org/atomic v1.11.0 // indirect golang.org/x/crypto v0.23.0 // indirect golang.org/x/net v0.25.0 // indirect @@ -51,11 +57,12 @@ require ( golang.org/x/time v0.5.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc // indirect - google.golang.org/grpc v1.57.1 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect + google.golang.org/grpc v1.64.0 // indirect google.golang.org/protobuf v1.34.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../net/http + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/google.golang.org/api/go.sum b/contrib/google.golang.org/api/go.sum index 306c55ddc3..bcc5dd15be 100644 --- a/contrib/google.golang.org/api/go.sum +++ b/contrib/google.golang.org/api/go.sum @@ -1,7 +1,6 @@ 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= -cloud.google.com/go/compute v1.19.3 h1:DcTwsFgGev/wV5+q8o2fzgcHOaac+DKGC91ZlvpsQds= -cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= +cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= +cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= @@ -13,10 +12,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -24,23 +19,18 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/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/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -55,10 +45,14 @@ github.com/ebitengine/purego v0.7.1/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2 github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= 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.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/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= @@ -67,19 +61,17 @@ github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -90,24 +82,27 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= -github.com/google/s2a-go v0.1.5 h1:8IYp3w9nysqv3JH+NJgXJzGbDHzLOTj43BmSkp+O7qg= -github.com/google/s2a-go v0.1.5/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= +github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= +github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= -github.com/googleapis/gax-go/v2 v2.10.0 h1:ebSgKfMxynOdxw8QQuFOKMgomqeLGPqNLQox2bo42zg= -github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/googleapis/gax-go/v2 v2.12.2 h1:mhN09QQW1jEWeMF74zGR81R30z4VJzjZsfkUhuHF+DA= +github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -119,19 +114,21 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= 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= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= @@ -144,16 +141,23 @@ 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= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= +go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= +go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= +go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= +go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= +go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= +go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= 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.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -164,26 +168,21 @@ 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/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-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.9.0 h1:BPpt2kU7oMRq3kCHAA1tbSEshXRw1LpG2ztgDwrzuAs= -golang.org/x/oauth2 v0.9.0/go.mod h1:qYgFZaFiu6Wg24azG8bdV52QJXJGbZzIIsRCdVKzbLw= +golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= +golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -193,12 +192,10 @@ golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/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-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -210,7 +207,6 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= @@ -231,30 +227,27 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/api v0.128.0 h1:RjPESny5CnQRn9V6siglged+DZCgfu9l6mO9dkX9VOg= -google.golang.org/api v0.128.0/go.mod h1:Y611qgqaE92On/7g65MQgxYul3c0rEB894kniWLY750= +google.golang.org/api v0.169.0 h1:QwWPy71FgMWqJN/l6jVlFHUa29a7dcUy02I8o799nPY= +google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc h1:8DyZCyvI8mE1IdLy/60bS+52xfymkE72wv1asokgtao= -google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc h1:kVKPf/IiYSBWEWtkIn6wZXwWGCnLKcC8oWfZvXjsGnM= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc h1:XSJ8Vk1SWuNr8S18z1NZSziL0CPIXLCCMDOEFtHBOFc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y= +google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 h1:RFiFrvy37/mpSpdySBDrUdipW/dHwsRwh3J3+A9VgT4= +google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= -google.golang.org/grpc v1.57.1/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= 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= @@ -270,11 +263,11 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/contrib/google.golang.org/api/internal/gen_endpoints/go.mod b/contrib/google.golang.org/api/internal/gen_endpoints/go.mod index 9852e2d019..80a1b05f29 100644 --- a/contrib/google.golang.org/api/internal/gen_endpoints/go.mod +++ b/contrib/google.golang.org/api/internal/gen_endpoints/go.mod @@ -1,5 +1,5 @@ module github.com/DataDog/dd-trace-go/contrib/google.golang.org/api/internal/gen_endpoints/v2 -go 1.20 +go 1.21 require github.com/yosida95/uritemplate/v3 v3.0.2 diff --git a/contrib/google.golang.org/grpc/client.go b/contrib/google.golang.org/grpc/client.go index a85a815586..c5c72bb831 100644 --- a/contrib/google.golang.org/grpc/client.go +++ b/contrib/google.golang.org/grpc/client.go @@ -9,7 +9,7 @@ import ( "context" "net" - "github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/internal/grpcutil/v2" + "github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2/internal/grpcutil" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" "github.com/DataDog/dd-trace-go/v2/internal/log" diff --git a/contrib/google.golang.org/grpc/go.mod b/contrib/google.golang.org/grpc/go.mod index 6cddfa901a..757fb797d4 100644 --- a/contrib/google.golang.org/grpc/go.mod +++ b/contrib/google.golang.org/grpc/go.mod @@ -1,14 +1,14 @@ module github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/appsec-internal-go v1.5.0 github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/golang/protobuf v1.5.3 + github.com/golang/protobuf v1.5.4 github.com/stretchr/testify v1.8.4 github.com/tinylib/msgp v1.1.9 - google.golang.org/grpc v1.60.1 + google.golang.org/grpc v1.64.0 google.golang.org/protobuf v1.34.1 ) @@ -16,7 +16,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -26,7 +25,6 @@ require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/ebitengine/purego v0.7.1 // indirect - github.com/google/go-cmp v0.6.0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect @@ -41,9 +39,8 @@ require ( golang.org/x/text v0.15.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/google.golang.org/grpc/go.sum b/contrib/google.golang.org/grpc/go.sum index 328963e2cf..51d8055579 100644 --- a/contrib/google.golang.org/grpc/go.sum +++ b/contrib/google.golang.org/grpc/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -37,14 +34,14 @@ github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+m github.com/ebitengine/purego v0.7.1 h1:6/55d26lG3o9VCZX8lping+bZcmShseiqlh2bnUDiPA= github.com/ebitengine/purego v0.7.1/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -53,7 +50,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -64,15 +63,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -88,9 +91,11 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -121,21 +126,20 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= 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= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 h1:/jFB8jK5R3Sq3i/lmeZO0cATSzFfZaJq1J2Euan3XKU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0/go.mod h1:FUoWkonphQm3RhTS+kOEhF8h0iDpm4tdXolVCeZ9KKA= -google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= -google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/google.golang.org/grpc/grpc.go b/contrib/google.golang.org/grpc/grpc.go index f32406fdc6..c3baa66137 100644 --- a/contrib/google.golang.org/grpc/grpc.go +++ b/contrib/google.golang.org/grpc/grpc.go @@ -15,7 +15,7 @@ import ( "io" "strings" - "github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/internal/grpcutil/v2" + "github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2/internal/grpcutil" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" "github.com/DataDog/dd-trace-go/v2/internal/telemetry" diff --git a/contrib/google.golang.org/grpc/internal/grpcutil/mdcarrier.go b/contrib/google.golang.org/grpc/internal/grpcutil/mdcarrier.go index 37dfe1d39e..75fea3e147 100644 --- a/contrib/google.golang.org/grpc/internal/grpcutil/mdcarrier.go +++ b/contrib/google.golang.org/grpc/internal/grpcutil/mdcarrier.go @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016 Datadog, Inc. -package grpcutil // import "github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/internal/grpcutil/v2" +package grpcutil // import "github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2/internal/grpcutil" import ( "strings" diff --git a/contrib/gorilla/mux/go.mod b/contrib/gorilla/mux/go.mod index 355b9f55fb..0bca8bbfc2 100644 --- a/contrib/gorilla/mux/go.mod +++ b/contrib/gorilla/mux/go.mod @@ -1,10 +1,10 @@ module github.com/DataDog/dd-trace-go/contrib/gorilla/mux/v2 -go 1.20 +go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/gorilla/mux v1.8.0 github.com/stretchr/testify v1.8.4 ) @@ -43,5 +43,6 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../net/http + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/gorilla/mux/go.sum b/contrib/gorilla/mux/go.sum index 8a841906fb..7fca9f6b7b 100644 --- a/contrib/gorilla/mux/go.sum +++ b/contrib/gorilla/mux/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -40,7 +37,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= @@ -51,7 +50,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -62,15 +63,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -86,6 +91,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -121,12 +127,15 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/gorm.io/gorm.v1/go.mod b/contrib/gorm.io/gorm.v1/go.mod index cd8e1e1073..a76b45ecfc 100644 --- a/contrib/gorm.io/gorm.v1/go.mod +++ b/contrib/gorm.io/gorm.v1/go.mod @@ -1,10 +1,10 @@ module github.com/DataDog/dd-trace-go/contrib/gorm.io/gorm.v1/v2 -go 1.20 +go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/database/sql/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/go-sql-driver/mysql v1.6.0 github.com/jackc/pgx/v5 v5.4.2 github.com/lib/pq v1.10.2 @@ -21,7 +21,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -49,7 +48,6 @@ require ( github.com/tinylib/msgp v1.1.9 // indirect go.uber.org/atomic v1.11.0 // indirect golang.org/x/crypto v0.23.0 // indirect - golang.org/x/net v0.25.0 // indirect golang.org/x/sys v0.20.0 // indirect golang.org/x/text v0.15.0 // indirect golang.org/x/time v0.5.0 // indirect @@ -58,6 +56,6 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" -replace "github.com/DataDog/dd-trace-go/contrib/database/sql/v2" => "../../database/sql" +replace github.com/DataDog/dd-trace-go/contrib/database/sql/v2 => ../../database/sql + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/gorm.io/gorm.v1/go.sum b/contrib/gorm.io/gorm.v1/go.sum index c14f5f538d..6e097773b4 100644 --- a/contrib/gorm.io/gorm.v1/go.sum +++ b/contrib/gorm.io/gorm.v1/go.sum @@ -16,12 +16,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/database/sql/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:MymoxQSVLDsOqmxIO3nzTKhs5RYBUIOLLaPDd9RL4nk= -github.com/DataDog/dd-trace-go/contrib/database/sql/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:Agk5PyJxZVwdYA2+FpoacjONJV1JEzThfJfo4mtcqoY= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -29,6 +23,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -67,8 +62,11 @@ github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= @@ -114,6 +112,7 @@ github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+ github.com/lib/pq v1.10.2 h1:AqzbZs4ZoCBp+GtejcpCpcxM3zlSMx29dXbUSeVtJb8= github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= +github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/microsoft/go-mssqldb v0.19.0/go.mod h1:ukJCBnnzLzpVF0qYRT+eg1e+eSwjeQ7IvenUv8QPook= github.com/microsoft/go-mssqldb v0.21.0 h1:p2rpHIL7TlSv1QrbXJUAcbyRKnIT0C9rRkH2E4OjLn8= github.com/microsoft/go-mssqldb v0.21.0/go.mod h1:+4wZTUnz/SV6nffv+RRRB/ss8jPng5Sho2SmM1l2ts4= @@ -132,16 +131,20 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -162,6 +165,7 @@ go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0 go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= 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= @@ -264,3 +268,4 @@ gorm.io/gorm v1.24.2/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA= gorm.io/gorm v1.25.3 h1:zi4rHZj1anhZS2EuEODMhDisGy+Daq9jtPrNGgbQYD8= gorm.io/gorm v1.25.3/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/graph-gophers/graphql-go/go.mod b/contrib/graph-gophers/graphql-go/go.mod index 6e03c05588..fab22c2dab 100644 --- a/contrib/graph-gophers/graphql-go/go.mod +++ b/contrib/graph-gophers/graphql-go/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/graph-gophers/graphql-go/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -43,5 +42,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/graph-gophers/graphql-go/go.sum b/contrib/graph-gophers/graphql-go/go.sum index 173bc02371..0a7dde6be1 100644 --- a/contrib/graph-gophers/graphql-go/go.sum +++ b/contrib/graph-gophers/graphql-go/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -44,7 +41,9 @@ github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8 github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/graph-gophers/graphql-go v1.5.0 h1:fDqblo50TEpD0LY7RXk/LFVYEVqo3+tXMNMPSVXA1yc= @@ -55,7 +54,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= @@ -67,15 +68,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -93,6 +98,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -133,7 +139,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/graphql-go/graphql/go.mod b/contrib/graphql-go/graphql/go.mod index 897e41ac41..f1362ccc6e 100644 --- a/contrib/graphql-go/graphql/go.mod +++ b/contrib/graphql-go/graphql/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/graphql-go/graphql/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -15,7 +15,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -44,5 +43,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/graphql-go/graphql/go.sum b/contrib/graphql-go/graphql/go.sum index 55c9d99f3c..a2f7c3a4fa 100644 --- a/contrib/graphql-go/graphql/go.sum +++ b/contrib/graphql-go/graphql/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -40,7 +37,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/graphql-go/graphql v0.8.1 h1:p7/Ou/WpmulocJeEx7wjQy611rtXGQaAcXGqanuMMgc= @@ -53,7 +52,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -64,15 +65,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -88,6 +93,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -127,7 +133,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/hashicorp/consul/go.mod b/contrib/hashicorp/consul/go.mod index b8aca72984..43db617dff 100644 --- a/contrib/hashicorp/consul/go.mod +++ b/contrib/hashicorp/consul/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/hashicorp/consul/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -59,5 +58,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/hashicorp/consul/go.sum b/contrib/hashicorp/consul/go.sum index e61a5f7ab3..2c8f9509af 100644 --- a/contrib/hashicorp/consul/go.sum +++ b/contrib/hashicorp/consul/go.sum @@ -7,10 +7,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -18,6 +14,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -70,18 +67,22 @@ github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/consul/api v1.24.0 h1:u2XyStA2j0jnCiVUU7Qyrt8idjRn4ORhK6DlvZ3bWhA= github.com/hashicorp/consul/api v1.24.0/go.mod h1:NZJGRFYruc/80wYowkPFCp1LbGmJC9L8izrwfyVx/Wg= github.com/hashicorp/consul/sdk v0.14.1 h1:ZiwE2bKb+zro68sWzZ1SgHF3kRMBZ94TwOCFRF4ylPs= +github.com/hashicorp/consul/sdk v0.14.1/go.mod h1:vFt03juSzocLRFo59NkeQHHmQa6+g7oU0pfzdI1mUhg= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -95,6 +96,7 @@ github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJ github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI= +github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= @@ -104,10 +106,12 @@ github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5O github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-sockaddr v1.0.5 h1:dvk7TIXCZpmfOlM+9mlcrWmWjw/wlKT+VDq2wMvfPJU= +github.com/hashicorp/go-sockaddr v1.0.5/go.mod h1:uoUUmtwU7n9Dv3O4SNLeFvg0SxQ3lyjsj6+CCykpaxI= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= +github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -126,9 +130,11 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxv github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -188,7 +194,9 @@ github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= @@ -198,11 +206,13 @@ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -221,6 +231,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= @@ -231,6 +242,7 @@ golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAb golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -247,6 +259,7 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -299,6 +312,7 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -307,3 +321,4 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/hashicorp/vault/go.mod b/contrib/hashicorp/vault/go.mod index 59fbd83024..4845928701 100644 --- a/contrib/hashicorp/vault/go.mod +++ b/contrib/hashicorp/vault/go.mod @@ -1,10 +1,10 @@ module github.com/DataDog/dd-trace-go/contrib/hashicorp/vault/v2 -go 1.20 +go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/hashicorp/vault/api v1.9.2 github.com/hashicorp/vault/sdk v0.9.2 github.com/stretchr/testify v1.8.4 @@ -60,5 +60,6 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../net/http + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/hashicorp/vault/go.sum b/contrib/hashicorp/vault/go.sum index 40c075fada..24674297a2 100644 --- a/contrib/hashicorp/vault/go.sum +++ b/contrib/hashicorp/vault/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -44,12 +41,15 @@ github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBD github.com/go-jose/go-jose/v3 v3.0.0 h1:s6rrhirfEP/CGIoc6p+PZAeogN2SxKav6Wp7+dyMWVo= github.com/go-jose/go-jose/v3 v3.0.0/go.mod h1:RNkWWRld676jZEYoV3+XK8L2ZnNSvIsxFMht0mSX+u8= github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg= +github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -79,10 +79,13 @@ github.com/hashicorp/vault/api v1.9.2/go.mod h1:jo5Y/ET+hNyz+JnKDt8XLAdKs+AM0G5W github.com/hashicorp/vault/sdk v0.9.2 h1:H1kitfl1rG2SHbeGEyvhEqmIjVKE3E6c2q3ViKOs6HA= github.com/hashicorp/vault/sdk v0.9.2/go.mod h1:gG0lA7P++KefplzvcD3vrfCmgxVAM7Z/SqX5NeOL/98= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= @@ -101,17 +104,21 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -129,6 +136,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -174,12 +182,15 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/jackc/pgx.v5/go.mod b/contrib/jackc/pgx.v5/go.mod index 01ec6d69e4..a56ee85f2e 100644 --- a/contrib/jackc/pgx.v5/go.mod +++ b/contrib/jackc/pgx.v5/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/jackc/pgx.v5/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -48,5 +47,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/jackc/pgx.v5/go.sum b/contrib/jackc/pgx.v5/go.sum index dd76fc44de..c6cc6119cc 100644 --- a/contrib/jackc/pgx.v5/go.sum +++ b/contrib/jackc/pgx.v5/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -40,7 +37,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -57,7 +56,9 @@ github.com/jackc/pgx/v5 v5.4.2/go.mod h1:q6iHT8uDNXWiFNOlRqJzBTaSH3+2xCXkokxHZC5 github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -68,15 +69,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -92,6 +97,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -135,7 +141,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/jmoiron/sqlx/go.mod b/contrib/jmoiron/sqlx/go.mod index 35c75db073..c9d8dd3d8d 100644 --- a/contrib/jmoiron/sqlx/go.mod +++ b/contrib/jmoiron/sqlx/go.mod @@ -2,8 +2,6 @@ module github.com/DataDog/dd-trace-go/contrib/jmoiron/sqlx/v2 go 1.21 -toolchain go1.21.5 - require ( github.com/DataDog/dd-trace-go/contrib/database/sql/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -47,8 +45,6 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace github.com/DataDog/dd-trace-go/v2 => ../../.. - -replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../net/http - replace github.com/DataDog/dd-trace-go/contrib/database/sql/v2 => ../../database/sql + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/julienschmidt/httprouter/go.mod b/contrib/julienschmidt/httprouter/go.mod index d1dc61eadc..4624412325 100644 --- a/contrib/julienschmidt/httprouter/go.mod +++ b/contrib/julienschmidt/httprouter/go.mod @@ -1,10 +1,10 @@ module github.com/DataDog/dd-trace-go/contrib/julienschmidt/httprouter/v2 -go 1.20 +go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/julienschmidt/httprouter v1.3.0 github.com/stretchr/testify v1.8.4 ) @@ -43,5 +43,6 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../net/http + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/julienschmidt/httprouter/go.sum b/contrib/julienschmidt/httprouter/go.sum index 29b5b60c35..22cc04b479 100644 --- a/contrib/julienschmidt/httprouter/go.sum +++ b/contrib/julienschmidt/httprouter/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -40,7 +37,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -51,7 +50,9 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -62,15 +63,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -86,6 +91,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -121,12 +127,15 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/k8s.io/client-go/go.mod b/contrib/k8s.io/client-go/go.mod index 62758b26a4..4978142c2f 100644 --- a/contrib/k8s.io/client-go/go.mod +++ b/contrib/k8s.io/client-go/go.mod @@ -1,10 +1,10 @@ module github.com/DataDog/dd-trace-go/contrib/k8s.io/client-go/v2 -go 1.20 +go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/stretchr/testify v1.8.4 k8s.io/apimachinery v0.23.17 k8s.io/client-go v0.23.17 @@ -69,5 +69,6 @@ require ( sigs.k8s.io/yaml v1.2.0 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../net/http + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/k8s.io/client-go/go.sum b/contrib/k8s.io/client-go/go.sum index b49fffca83..37d9c8e9eb 100644 --- a/contrib/k8s.io/client-go/go.sum +++ b/contrib/k8s.io/client-go/go.sum @@ -8,10 +8,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -19,6 +15,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -94,6 +91,7 @@ github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/ github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -117,9 +115,11 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= @@ -154,11 +154,14 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= @@ -167,6 +170,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= 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= @@ -186,11 +190,13 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= 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.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -291,7 +297,8 @@ google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6D google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= 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= @@ -310,6 +317,7 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= @@ -328,6 +336,7 @@ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= k8s.io/api v0.23.17 h1:gC11V5AIsNXUUa/xd5RQo7djukvl5O1ZDQKwEYu0H7g= diff --git a/contrib/k8s.io/client-go/kubernetes/example_test.go b/contrib/k8s.io/client-go/kubernetes/example_test.go index a79a1f4e57..9929d4ec45 100644 --- a/contrib/k8s.io/client-go/kubernetes/example_test.go +++ b/contrib/k8s.io/client-go/kubernetes/example_test.go @@ -9,7 +9,7 @@ import ( "context" "fmt" - kubernetestrace "github.com/DataDog/dd-trace-go/contrib/k8s.io/client-go/kubernetes/v2" + kubernetestrace "github.com/DataDog/dd-trace-go/contrib/k8s.io/client-go/v2/kubernetes" meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" diff --git a/contrib/k8s.io/client-go/kubernetes/kubernetes.go b/contrib/k8s.io/client-go/kubernetes/kubernetes.go index c8312abe6e..7a3c1c04b2 100644 --- a/contrib/k8s.io/client-go/kubernetes/kubernetes.go +++ b/contrib/k8s.io/client-go/kubernetes/kubernetes.go @@ -4,7 +4,7 @@ // Copyright 2016 Datadog, Inc. // Package kubernetes provides functions to trace k8s.io/client-go (https://github.com/kubernetes/client-go). -package kubernetes // import "github.com/DataDog/dd-trace-go/contrib/k8s.io/client-go/kubernetes/v2" +package kubernetes // import "github.com/DataDog/dd-trace-go/contrib/k8s.io/client-go/v2/kubernetes" import ( "net/http" diff --git a/contrib/labstack/echo.v4/go.mod b/contrib/labstack/echo.v4/go.mod index 25c83a5492..a2b1dca6ed 100644 --- a/contrib/labstack/echo.v4/go.mod +++ b/contrib/labstack/echo.v4/go.mod @@ -1,10 +1,10 @@ module github.com/DataDog/dd-trace-go/contrib/labstack/echo.v4/v2 -go 1.20 +go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/labstack/echo/v4 v4.11.1 github.com/stretchr/testify v1.8.4 ) @@ -49,5 +49,6 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../net/http + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/labstack/echo.v4/go.sum b/contrib/labstack/echo.v4/go.sum index 08cc871282..b4ace401d7 100644 --- a/contrib/labstack/echo.v4/go.sum +++ b/contrib/labstack/echo.v4/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -40,7 +37,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -49,7 +48,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/labstack/echo/v4 v4.11.1 h1:dEpLU2FLg4UVmvCGPuk/APjlH6GDpbEPti61srUUUs4= github.com/labstack/echo/v4 v4.11.1/go.mod h1:YuYRTSM3CHs2ybfrL8Px48bO6BAnYIN4l8wSTMP6BDQ= github.com/labstack/gommon v0.4.0 h1:y7cvthEAEbU0yHOf4axH8ZG2NH8knB9iNSoTO8dyIk8= @@ -71,15 +72,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -100,6 +105,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -142,13 +148,16 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/miekg/dns/go.mod b/contrib/miekg/dns/go.mod index 9907c7f2ff..12f73d29e6 100644 --- a/contrib/miekg/dns/go.mod +++ b/contrib/miekg/dns/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/miekg/dns/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -44,5 +43,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/miekg/dns/go.sum b/contrib/miekg/dns/go.sum index 22dbf68b3c..e47df85695 100644 --- a/contrib/miekg/dns/go.sum +++ b/contrib/miekg/dns/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -38,8 +35,11 @@ github.com/ebitengine/purego v0.7.1 h1:6/55d26lG3o9VCZX8lping+bZcmShseiqlh2bnUDi github.com/ebitengine/purego v0.7.1/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -48,7 +48,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/miekg/dns v1.1.55 h1:GoQ4hpsj0nFLYe+bWiCToyrBEJXkQfOOIvFGFy0lEgo= github.com/miekg/dns v1.1.55/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= @@ -61,15 +63,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -85,9 +91,11 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= @@ -129,7 +137,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/net/http/go.mod b/contrib/net/http/go.mod index 5f3ddd05a7..61b9e09668 100644 --- a/contrib/net/http/go.mod +++ b/contrib/net/http/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/net/http/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -20,7 +20,7 @@ require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/ebitengine/purego v0.6.0-alpha.5 // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/outcaste-io/ristretto v0.2.3 // indirect @@ -35,8 +35,8 @@ require ( golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.16.1 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/protobuf v1.30.0 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/net/http/go.sum b/contrib/net/http/go.sum index b6f1353155..2dde4bde47 100644 --- a/contrib/net/http/go.sum +++ b/contrib/net/http/go.sum @@ -6,13 +6,12 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 h1:5nE6N3JSs2IG3 github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1/go.mod h1:Vc+snp0Bey4MrrJyiV2tVxxJb6BmLomPvN1RgAvjGaQ= github.com/DataDog/datadog-go/v5 v5.3.0 h1:2q2qjFOb3RwAZNU+ez27ZVDwErJv5/VpbBPprz7Z+s8= github.com/DataDog/datadog-go/v5 v5.3.0/go.mod h1:XRDJk1pTc00gm+ZDiBKsjh7oOOtJfYfglVCmFb8C2+Q= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.3 h1:ZB9nijteJRFUQixkQfatCqASartGNfiolIlMiEv3u/w= github.com/DataDog/sketches-go v1.4.3/go.mod h1:XR0ns2RtEEF09mDKXiKZiQg+nfZStrq1ZuL1eezeZe0= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -39,15 +38,18 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -58,15 +60,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -83,9 +89,11 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= @@ -95,6 +103,7 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -121,14 +130,17 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/olivere/elastic.v5/go.mod b/contrib/olivere/elastic.v5/go.mod index d1ba801bbe..b25b1535d7 100644 --- a/contrib/olivere/elastic.v5/go.mod +++ b/contrib/olivere/elastic.v5/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/olivere/elastic.v5/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -45,5 +44,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/olivere/elastic.v5/go.sum b/contrib/olivere/elastic.v5/go.sum index 54dcc09a0b..c8ee964aa4 100644 --- a/contrib/olivere/elastic.v5/go.sum +++ b/contrib/olivere/elastic.v5/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -42,7 +39,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -53,7 +52,9 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/mailru/easyjson v0.0.0-20180730094502-03f2033d19d5/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= @@ -68,16 +69,20 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -93,6 +98,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -132,9 +138,11 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/olivere/elastic.v5 v5.0.84 h1:acF/tRSg5geZpE3rqLglkS79CQMIMzOpWZE7hRXIkjs= gopkg.in/olivere/elastic.v5 v5.0.84/go.mod h1:LXF6q9XNBxpMqrcgax95C6xyARXWbbCXUrtTxrNrxJI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/redis/go-redis.v9/go.mod b/contrib/redis/go-redis.v9/go.mod index adefcfee3e..4666e4ac89 100644 --- a/contrib/redis/go-redis.v9/go.mod +++ b/contrib/redis/go-redis.v9/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/redis/go-redis.v9/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -44,5 +43,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/redis/go-redis.v9/go.sum b/contrib/redis/go-redis.v9/go.sum index ebacc21d74..136273b01d 100644 --- a/contrib/redis/go-redis.v9/go.sum +++ b/contrib/redis/go-redis.v9/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,13 +13,16 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/bsm/ginkgo/v2 v2.9.5 h1:rtVBYPs3+TC5iLUVOis1B9tjLTup7Cj5IfzosKtvTJ0= +github.com/bsm/ginkgo/v2 v2.9.5/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.26.0 h1:LhQm+AFcgV2M0WyKroMASzAzCAJVpAxQXv4SaI9a69Y= +github.com/bsm/gomega v1.26.0/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -44,7 +43,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -53,7 +54,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -66,15 +69,19 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH github.com/redis/go-redis/v9 v9.1.0 h1:137FnGdk+EQdCbye1FW+qOEcY5S+SpY9T0NiuqvtfMY= github.com/redis/go-redis/v9 v9.1.0/go.mod h1:urWj3He21Dj5k4TK1y59xH8Uj6ATueP8AH1cY3lZl4c= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -90,6 +97,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -129,7 +137,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/segmentio/kafka-go/go.mod b/contrib/segmentio/kafka-go/go.mod index 85c23ccdcd..ed7b0b95ab 100644 --- a/contrib/segmentio/kafka-go/go.mod +++ b/contrib/segmentio/kafka-go/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/segmentio/kafka-go/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -45,5 +44,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/segmentio/kafka-go/go.sum b/contrib/segmentio/kafka-go/go.sum index f4f7121cfe..064a1b82b0 100644 --- a/contrib/segmentio/kafka-go/go.sum +++ b/contrib/segmentio/kafka-go/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -40,7 +37,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -52,7 +51,9 @@ github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHU github.com/klauspost/compress v1.17.1 h1:NE3C767s2ak2bweCZo3+rdP4U/HoyVXLv/X9f2gPS5g= github.com/klauspost/compress v1.17.1/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -66,17 +67,21 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/segmentio/kafka-go v0.4.42 h1:qffhBZCz4WcWyNuHEclHjIMLs2slp6mZO8px+5W5tfU= github.com/segmentio/kafka-go v0.4.42/go.mod h1:d0g15xPMqoUookug0OU75DhGZxXwCFxSLeJ4uphwJzg= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -99,6 +104,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -140,6 +146,7 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -155,7 +162,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/sirupsen/logrus/go.mod b/contrib/sirupsen/logrus/go.mod index 57a9afbf87..610b6da7bc 100644 --- a/contrib/sirupsen/logrus/go.mod +++ b/contrib/sirupsen/logrus/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/sirupsen/logrus/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -43,5 +42,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/sirupsen/logrus/go.sum b/contrib/sirupsen/logrus/go.sum index a69a97778c..71ed178113 100644 --- a/contrib/sirupsen/logrus/go.sum +++ b/contrib/sirupsen/logrus/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -40,7 +37,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -49,7 +48,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -60,17 +61,21 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -86,6 +91,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -126,7 +132,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/syndtr/goleveldb/go.mod b/contrib/syndtr/goleveldb/go.mod index b409492697..7141b5b231 100644 --- a/contrib/syndtr/goleveldb/go.mod +++ b/contrib/syndtr/goleveldb/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/syndtr/goleveldb/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -44,5 +43,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/syndtr/goleveldb/go.sum b/contrib/syndtr/goleveldb/go.sum index d68eab840a..a9e6117d94 100644 --- a/contrib/syndtr/goleveldb/go.sum +++ b/contrib/syndtr/goleveldb/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -63,8 +60,10 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -75,7 +74,9 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= @@ -100,15 +101,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= 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= @@ -129,6 +134,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= 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= @@ -181,6 +187,7 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -206,6 +213,7 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= @@ -218,3 +226,4 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/syndtr/goleveldb/leveldb/example_test.go b/contrib/syndtr/goleveldb/leveldb/example_test.go index 9e673123ce..84318c98bb 100644 --- a/contrib/syndtr/goleveldb/leveldb/example_test.go +++ b/contrib/syndtr/goleveldb/leveldb/example_test.go @@ -8,7 +8,7 @@ package leveldb_test import ( "context" - leveldbtrace "github.com/DataDog/dd-trace-go/contrib/syndtr/goleveldb/leveldb/v2" + leveldbtrace "github.com/DataDog/dd-trace-go/contrib/syndtr/goleveldb/v2/leveldb" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" ) diff --git a/contrib/syndtr/goleveldb/leveldb/leveldb.go b/contrib/syndtr/goleveldb/leveldb/leveldb.go index d00bcdc10f..466f710f9c 100644 --- a/contrib/syndtr/goleveldb/leveldb/leveldb.go +++ b/contrib/syndtr/goleveldb/leveldb/leveldb.go @@ -4,7 +4,7 @@ // Copyright 2016 Datadog, Inc. // Package leveldb provides functions to trace the syndtr/goleveldb package (https://github.com/syndtr/goleveldb). -package leveldb // import "github.com/DataDog/dd-trace-go/contrib/syndtr/goleveldb/leveldb/v2" +package leveldb // import "github.com/DataDog/dd-trace-go/contrib/syndtr/goleveldb/v2/leveldb" import ( "context" diff --git a/contrib/tidwall/buntdb/go.mod b/contrib/tidwall/buntdb/go.mod index 1bf654b176..d545fcefbc 100644 --- a/contrib/tidwall/buntdb/go.mod +++ b/contrib/tidwall/buntdb/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/tidwall/buntdb/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -50,5 +49,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/tidwall/buntdb/go.sum b/contrib/tidwall/buntdb/go.sum index e7150c4e1d..cf7593ea9f 100644 --- a/contrib/tidwall/buntdb/go.sum +++ b/contrib/tidwall/buntdb/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -40,7 +37,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -49,7 +48,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -60,15 +61,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -78,6 +83,7 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/tidwall/assert v0.1.0 h1:aWcKyRBUAdLoVebxo95N7+YZVTFF/ASTr7BN4sLP6XI= +github.com/tidwall/assert v0.1.0/go.mod h1:QLYtGyeqse53vuELQheYl9dngGCJQ+mTtlxcktb+Kj8= github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/tidwall/buntdb v1.3.0 h1:gdhWO+/YwoB2qZMeAU9JcWWsHSYU3OvcieYgFRS0zwA= @@ -88,6 +94,7 @@ github.com/tidwall/gjson v1.16.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vl github.com/tidwall/grect v0.1.4 h1:dA3oIgNgWdSspFzn1kS4S/RDpZFLrIxAZOdJKjYapOg= github.com/tidwall/grect v0.1.4/go.mod h1:9FBsaYRaR0Tcy4UwefBX/UDcDcDy9V5jUcxHzv2jd5Q= github.com/tidwall/lotsa v1.0.2 h1:dNVBH5MErdaQ/xd9s769R31/n2dXavsQ0Yf4TMEHHw8= +github.com/tidwall/lotsa v1.0.2/go.mod h1:X6NiU+4yHA3fE3Puvpnn1XMDrFZrE9JO2/w+UMuqgR8= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= @@ -104,6 +111,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -143,7 +151,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/twitchtv/twirp/go.mod b/contrib/twitchtv/twirp/go.mod index 6fbea8b759..425155e211 100644 --- a/contrib/twitchtv/twirp/go.mod +++ b/contrib/twitchtv/twirp/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/twitchtv/twirp/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -43,5 +42,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/twitchtv/twirp/go.sum b/contrib/twitchtv/twirp/go.sum index e593475be0..b2c6070c5e 100644 --- a/contrib/twitchtv/twirp/go.sum +++ b/contrib/twitchtv/twirp/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -40,7 +37,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -49,7 +48,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -60,15 +61,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -86,6 +91,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -125,7 +131,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/urfave/negroni/go.mod b/contrib/urfave/negroni/go.mod index 0358c0862c..20872c2fb8 100644 --- a/contrib/urfave/negroni/go.mod +++ b/contrib/urfave/negroni/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d @@ -13,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -43,5 +42,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/urfave/negroni/go.sum b/contrib/urfave/negroni/go.sum index ae02e7f132..81bed732ee 100644 --- a/contrib/urfave/negroni/go.sum +++ b/contrib/urfave/negroni/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -40,7 +37,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -49,7 +48,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -60,15 +61,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -86,6 +91,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -121,12 +127,15 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/contrib/valyala/fasthttp/go.mod b/contrib/valyala/fasthttp/go.mod index 636cb8e245..2f272ffe64 100644 --- a/contrib/valyala/fasthttp/go.mod +++ b/contrib/valyala/fasthttp/go.mod @@ -1,10 +1,10 @@ module github.com/DataDog/dd-trace-go/contrib/valyala/fasthttp/v2 -go 1.20 +go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/stretchr/testify v1.8.4 github.com/valyala/fasthttp v1.51.0 ) @@ -46,5 +46,6 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../net/http + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/valyala/fasthttp/go.sum b/contrib/valyala/fasthttp/go.sum index c6a71d2dd8..79038a4e13 100644 --- a/contrib/valyala/fasthttp/go.sum +++ b/contrib/valyala/fasthttp/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -17,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -42,7 +39,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -53,7 +52,9 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/klauspost/compress v1.17.1 h1:NE3C767s2ak2bweCZo3+rdP4U/HoyVXLv/X9f2gPS5g= github.com/klauspost/compress v1.17.1/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -64,15 +65,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -92,6 +97,7 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= @@ -127,12 +133,15 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/go.mod b/go.mod index aad0a5c650..4de1921424 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/DataDog/dd-trace-go/v2 -go 1.20 +go 1.21 require ( github.com/DataDog/appsec-internal-go v1.5.0 diff --git a/go.sum b/go.sum index 062d622966..f32dfc2df3 100644 --- a/go.sum +++ b/go.sum @@ -44,8 +44,10 @@ github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -131,9 +133,11 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= @@ -145,6 +149,7 @@ golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -185,6 +190,7 @@ google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHh gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/go.work b/go.work index 8c92fdd604..92c02824aa 100644 --- a/go.work +++ b/go.work @@ -1,60 +1,61 @@ -go 1.21 // Go version must match the highest supported version, not the minimum supported version. +go 1.22.5 // Go version must match the highest supported version, not the minimum supported version. use ( . - // ./internal/apps - // ./internal/contrib/validationtest - // ./internal/traceprof/traceproftest + ./contrib/99designs/gqlgen + ./contrib/IBM/sarama + ./contrib/Shopify/sarama + ./contrib/aws/aws-sdk-go + ./contrib/aws/aws-sdk-go-v2 + ./contrib/bradfitz/gomemcache + ./contrib/cloud.google.com/go/pubsub.v1 + ./contrib/confluentinc/confluent-kafka-go/kafka + ./contrib/confluentinc/confluent-kafka-go/kafka.v2 + ./contrib/database/sql + ./contrib/dimfeld/httptreemux.v5 + ./contrib/elastic/go-elasticsearch.v6 + ./contrib/emicklei/go-restful.v3 + ./contrib/gin-gonic/gin + ./contrib/globalsign/mgo + ./contrib/go-chi/chi + ./contrib/go-chi/chi.v5 + ./contrib/go-pg/pg.v10 + ./contrib/go-redis/redis + ./contrib/go-redis/redis.v7 + ./contrib/go-redis/redis.v8 + ./contrib/go.mongodb.org/mongo-driver + ./contrib/gocql/gocql + ./contrib/gofiber/fiber.v2 + ./contrib/gomodule/redigo + ./contrib/google.golang.org/api + ./contrib/google.golang.org/api/internal/gen_endpoints + ./contrib/google.golang.org/grpc + ./contrib/gorilla/mux + ./contrib/gorm.io/gorm.v1 + ./contrib/graph-gophers/graphql-go + ./contrib/graphql-go/graphql + ./contrib/hashicorp/consul + ./contrib/hashicorp/vault + ./contrib/jackc/pgx.v5 + ./contrib/jmoiron/sqlx + ./contrib/julienschmidt/httprouter + ./contrib/k8s.io/client-go + ./contrib/labstack/echo.v4 + ./contrib/miekg/dns + ./contrib/net/http + ./contrib/olivere/elastic.v5 + ./contrib/redis/go-redis.v9 + ./contrib/segmentio/kafka-go + ./contrib/sirupsen/logrus + ./contrib/syndtr/goleveldb + ./contrib/tidwall/buntdb + ./contrib/twitchtv/twirp + ./contrib/urfave/negroni + ./contrib/valyala/fasthttp + ./internal/apps + ./internal/contrib/validationtest + ./internal/traceprof/traceproftest + ./tools/fixmodules ./tools/v2check - // ./tools/v2check/_stage - // ./contrib/99designs/gqlgen - // ./contrib/IBM/sarama - // ./contrib/Shopify/sarama - // ./contrib/aws/aws-sdk-go - // ./contrib/aws/aws-sdk-go-v2 - // ./contrib/bradfitz/gomemcache - // ./contrib/cloud.google.com/go/pubsub.v1 - // ./contrib/confluentinc/confluent-kafka-go/kafka - // ./contrib/confluentinc/confluent-kafka-go/kafka.v2 - // ./contrib/database/sql - // ./contrib/dimfeld/httptreemux.v5 - // ./contrib/elastic/go-elasticsearch.v6 - // ./contrib/emicklei/go-restful.v3 - // ./contrib/gin-gonic/gin - // ./contrib/globalsign/mgo - // ./contrib/go-chi/chi - // ./contrib/go-chi/chi.v5 - // ./contrib/go-pg/pg.v10 - // ./contrib/go-redis/redis - // ./contrib/go-redis/redis.v7 - // ./contrib/go-redis/redis.v8 - // ./contrib/go.mongodb.org/mongo-driver - // ./contrib/gocql/gocql - // ./contrib/gofiber/fiber.v2 - // ./contrib/gomodule/redigo - // ./contrib/google.golang.org/api - // ./contrib/google.golang.org/api/internal/gen_endpoints - // ./contrib/google.golang.org/grpc - // ./contrib/gorilla/mux - // ./contrib/gorm.io/gorm.v1 - // ./contrib/graph-gophers/graphql-go - // ./contrib/graphql-go/graphql - // ./contrib/hashicorp/consul - // ./contrib/hashicorp/vault - // ./contrib/jackc/pgx.v5 - // ./contrib/jmoiron/sqlx - // ./contrib/julienschmidt/httprouter - // ./contrib/k8s.io/client-go - // ./contrib/labstack/echo.v4 - // ./contrib/miekg/dns - // ./contrib/net/http - // ./contrib/olivere/elastic.v5 - // ./contrib/redis/go-redis.v9 - // ./contrib/segmentio/kafka-go - // ./contrib/sirupsen/logrus - // ./contrib/syndtr/goleveldb - // ./contrib/tidwall/buntdb - // ./contrib/twitchtv/twirp - // ./contrib/urfave/negroni - // ./contrib/valyala/fasthttp + ./tools/v2check/_stage ) diff --git a/go.work.sum b/go.work.sum index a2462c1bd2..690c46bc76 100644 --- a/go.work.sum +++ b/go.work.sum @@ -6,128 +6,150 @@ 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 v0.112.0 h1:tpFCD7hpHFlQ8yPwT3x+QeXqc2T6+n6T+hmABHfDUSM= cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= -cloud.google.com/go v0.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM= -cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= cloud.google.com/go/accessapproval v1.7.3 h1:MOfZ2ncDO+nctNmOYqN8kCb8kHkVJU1nqGNGDa7qGQk= cloud.google.com/go/accessapproval v1.7.3/go.mod h1:4l8+pwIxGTNqSf4T3ds8nLO94NQf0W/KnMNuQ9PbnP8= cloud.google.com/go/accessapproval v1.7.4 h1:ZvLvJ952zK8pFHINjpMBY5k7LTAp/6pBf50RDMRgBUI= cloud.google.com/go/accessapproval v1.7.4/go.mod h1:/aTEh45LzplQgFYdQdwPMR9YdX0UlhBmvB84uAmQKUc= +cloud.google.com/go/accessapproval v1.7.5 h1:uzmAMSgYcnlHa9X9YSQZ4Q1wlfl4NNkZyQgho1Z6p04= cloud.google.com/go/accessapproval v1.7.5/go.mod h1:g88i1ok5dvQ9XJsxpUInWWvUBrIZhyPDPbk4T01OoJ0= cloud.google.com/go/accesscontextmanager v1.8.3 h1:4vUQZ3OqH3YWo18AgQgvked8NSszsZQfURsYurRHoZI= cloud.google.com/go/accesscontextmanager v1.8.3/go.mod h1:4i/JkF2JiFbhLnnpnfoTX5vRXfhf9ukhU1ANOTALTOQ= cloud.google.com/go/accesscontextmanager v1.8.4 h1:Yo4g2XrBETBCqyWIibN3NHNPQKUfQqti0lI+70rubeE= cloud.google.com/go/accesscontextmanager v1.8.4/go.mod h1:ParU+WbMpD34s5JFEnGAnPBYAgUHozaTmDJU7aCU9+M= +cloud.google.com/go/accesscontextmanager v1.8.5 h1:2GLNaNu9KRJhJBFTIVRoPwk6xE5mUDgD47abBq4Zp/I= cloud.google.com/go/accesscontextmanager v1.8.5/go.mod h1:TInEhcZ7V9jptGNqN3EzZ5XMhT6ijWxTGjzyETwmL0Q= cloud.google.com/go/aiplatform v1.51.2 h1:DhbEMbUZTbsIQBhErvo5GlQCymVM50aoP3UDcrnxuOo= cloud.google.com/go/aiplatform v1.51.2/go.mod h1:hCqVYB3mY45w99TmetEoe8eCQEwZEp9WHxeZdcv9phw= cloud.google.com/go/aiplatform v1.54.0 h1:wH7OYl9Vq/5tupok0BPTFY9xaTLb0GxkReHtB5PF7cI= cloud.google.com/go/aiplatform v1.54.0/go.mod h1:pwZMGvqe0JRkI1GWSZCtnAfrR4K1bv65IHILGA//VEU= +cloud.google.com/go/aiplatform v1.60.0 h1:0cSrii1ZeLr16MbBoocyy5KVnrSdiQ3KN/vtrTe7RqE= cloud.google.com/go/aiplatform v1.60.0/go.mod h1:eTlGuHOahHprZw3Hio5VKmtThIOak5/qy6pzdsqcQnM= cloud.google.com/go/analytics v0.21.5 h1:ccW5bYKOrgXAbvIT/mxqk2rou7CfrUdl5G5bJDmDeVA= cloud.google.com/go/analytics v0.21.5/go.mod h1:BQtOBHWTlJ96axpPPnw5CvGJ6i3Ve/qX2fTxR8qWyr8= cloud.google.com/go/analytics v0.21.6 h1:fnV7B8lqyEYxCU0LKk+vUL7mTlqRAq4uFlIthIdr/iA= cloud.google.com/go/analytics v0.21.6/go.mod h1:eiROFQKosh4hMaNhF85Oc9WO97Cpa7RggD40e/RBy8w= +cloud.google.com/go/analytics v0.23.0 h1:Q+y94XH84jM8SK8O7qiY/PJRexb6n7dRbQ6PiUa4YGM= cloud.google.com/go/analytics v0.23.0/go.mod h1:YPd7Bvik3WS95KBok2gPXDqQPHy08TsCQG6CdUCb+u0= cloud.google.com/go/apigateway v1.6.3 h1:8zRrVIaGC5dQeq3lBUn7Kchea8ao0bUILXeY8kBzF3M= cloud.google.com/go/apigateway v1.6.3/go.mod h1:k68PXWpEs6BVDTtnLQAyG606Q3mz8pshItwPXjgv44Y= cloud.google.com/go/apigateway v1.6.4 h1:VVIxCtVerchHienSlaGzV6XJGtEM9828Erzyr3miUGs= cloud.google.com/go/apigateway v1.6.4/go.mod h1:0EpJlVGH5HwAN4VF4Iec8TAzGN1aQgbxAWGJsnPCGGY= +cloud.google.com/go/apigateway v1.6.5 h1:sPXnpk+6TneKIrjCjcpX5YGsAKy3PTdpIchoj8/74OE= cloud.google.com/go/apigateway v1.6.5/go.mod h1:6wCwvYRckRQogyDDltpANi3zsCDl6kWi0b4Je+w2UiI= cloud.google.com/go/apigeeconnect v1.6.3 h1:piXKIidKtP/FQ44dnYXGF+WSDsegdPmj/EKk6Hc3sR4= cloud.google.com/go/apigeeconnect v1.6.3/go.mod h1:peG0HFQ0si2bN15M6QSjEW/W7Gy3NYkWGz7pFz13cbo= cloud.google.com/go/apigeeconnect v1.6.4 h1:jSoGITWKgAj/ssVogNE9SdsTqcXnryPzsulENSRlusI= cloud.google.com/go/apigeeconnect v1.6.4/go.mod h1:CapQCWZ8TCjnU0d7PobxhpOdVz/OVJ2Hr/Zcuu1xFx0= +cloud.google.com/go/apigeeconnect v1.6.5 h1:CrfIKv9Go3fh/QfQgisU3MeP90Ww7l/sVGmr3TpECo8= cloud.google.com/go/apigeeconnect v1.6.5/go.mod h1:MEKm3AiT7s11PqTfKE3KZluZA9O91FNysvd3E6SJ6Ow= cloud.google.com/go/apigeeregistry v0.8.1 h1:GuexCawKvjXeeLgBYJoS1m7TCWvbYrmb9KNZjf5EdxA= cloud.google.com/go/apigeeregistry v0.8.1/go.mod h1:MW4ig1N4JZQsXmBSwH4rwpgDonocz7FPBSw6XPGHmYw= cloud.google.com/go/apigeeregistry v0.8.2 h1:DSaD1iiqvELag+lV4VnnqUUFd8GXELu01tKVdWZrviE= cloud.google.com/go/apigeeregistry v0.8.2/go.mod h1:h4v11TDGdeXJDJvImtgK2AFVvMIgGWjSb0HRnBSjcX8= +cloud.google.com/go/apigeeregistry v0.8.3 h1:C+QU2K+DzDjk4g074ouwHQGkoff1h5OMQp6sblCVreQ= cloud.google.com/go/apigeeregistry v0.8.3/go.mod h1:aInOWnqF4yMQx8kTjDqHNXjZGh/mxeNlAf52YqtASUs= cloud.google.com/go/apikeys v0.6.0 h1:B9CdHFZTFjVti89tmyXXrO+7vSNo2jvZuHG8zD5trdQ= cloud.google.com/go/appengine v1.8.3 h1:7hfqb1kKeB/jAyzOiBB00cQ71GYYLal85VH+uJhE5kc= cloud.google.com/go/appengine v1.8.3/go.mod h1:2oUPZ1LVZ5EXi+AF1ihNAF+S8JrzQ3till5m9VQkrsk= cloud.google.com/go/appengine v1.8.4 h1:Qub3fqR7iA1daJWdzjp/Q0Jz0fUG0JbMc7Ui4E9IX/E= cloud.google.com/go/appengine v1.8.4/go.mod h1:TZ24v+wXBujtkK77CXCpjZbnuTvsFNT41MUaZ28D6vg= +cloud.google.com/go/appengine v1.8.5 h1:l2SviT44zWQiOv8bPoMBzW0vOcMO22iO0s+nVtVhdts= cloud.google.com/go/appengine v1.8.5/go.mod h1:uHBgNoGLTS5di7BvU25NFDuKa82v0qQLjyMJLuPQrVo= cloud.google.com/go/area120 v0.8.3 h1:wcVVp8EmTVVXJNU8QHDOZOHC5iJYNoU0jw8daZyvPQg= cloud.google.com/go/area120 v0.8.3/go.mod h1:5zj6pMzVTH+SVHljdSKC35sriR/CVvQZzG/Icdyriw0= cloud.google.com/go/area120 v0.8.4 h1:YnSO8m02pOIo6AEOgiOoUDVbw4pf+bg2KLHi4rky320= cloud.google.com/go/area120 v0.8.4/go.mod h1:jfawXjxf29wyBXr48+W+GyX/f8fflxp642D/bb9v68M= +cloud.google.com/go/area120 v0.8.5 h1:vTs08KPLN/iMzTbxpu5ciL06KcsrVPMjz4IwcQyZ4uY= cloud.google.com/go/area120 v0.8.5/go.mod h1:BcoFCbDLZjsfe4EkCnEq1LKvHSK0Ew/zk5UFu6GMyA0= cloud.google.com/go/artifactregistry v1.14.4 h1:rE++Rall/sWmbWkkQEfNoXC7GkCP7hqqd7NeDNEfGqI= cloud.google.com/go/artifactregistry v1.14.4/go.mod h1:SJJcZTMv6ce0LDMUnihCN7WSrI+kBSFV0KIKo8S8aYU= cloud.google.com/go/artifactregistry v1.14.6 h1:/hQaadYytMdA5zBh+RciIrXZQBWK4vN7EUsrQHG+/t8= cloud.google.com/go/artifactregistry v1.14.6/go.mod h1:np9LSFotNWHcjnOgh8UVK0RFPCTUGbO0ve3384xyHfE= +cloud.google.com/go/artifactregistry v1.14.7 h1:W9sVlyb1VRcUf83w7aM3yMsnp4HS4PoyGqYQNG0O5lI= cloud.google.com/go/artifactregistry v1.14.7/go.mod h1:0AUKhzWQzfmeTvT4SjfI4zjot72EMfrkvL9g9aRjnnM= cloud.google.com/go/asset v1.15.2 h1:B3OhouMFZNnUpB26Ex1izZ3OBh9R3iAGWO8raLOZ0jA= cloud.google.com/go/asset v1.15.2/go.mod h1:B6H5tclkXvXz7PD22qCA2TDxSVQfasa3iDlM89O2NXs= cloud.google.com/go/asset v1.15.3 h1:uI8Bdm81s0esVWbWrTHcjFDFKNOa9aB7rI1vud1hO84= cloud.google.com/go/asset v1.15.3/go.mod h1:yYLfUD4wL4X589A9tYrv4rFrba0QlDeag0CMcM5ggXU= +cloud.google.com/go/asset v1.17.2 h1:xgFnBP3luSbUcC9RWJvb3Zkt+y/wW6PKwPHr3ssnIP8= cloud.google.com/go/asset v1.17.2/go.mod h1:SVbzde67ehddSoKf5uebOD1sYw8Ab/jD/9EIeWg99q4= cloud.google.com/go/assuredworkloads v1.11.3 h1:1eef9dFe2ylYw/6Nv6vP2t4xEeUHGIZDKRBwFbsiQUs= cloud.google.com/go/assuredworkloads v1.11.3/go.mod h1:vEjfTKYyRUaIeA0bsGJceFV2JKpVRgyG2op3jfa59Zs= cloud.google.com/go/assuredworkloads v1.11.4 h1:FsLSkmYYeNuzDm8L4YPfLWV+lQaUrJmH5OuD37t1k20= cloud.google.com/go/assuredworkloads v1.11.4/go.mod h1:4pwwGNwy1RP0m+y12ef3Q/8PaiWrIDQ6nD2E8kvWI9U= +cloud.google.com/go/assuredworkloads v1.11.5 h1:gCrN3IyvqY3cP0wh2h43d99CgH3G+WYs9CeuFVKChR8= cloud.google.com/go/assuredworkloads v1.11.5/go.mod h1:FKJ3g3ZvkL2D7qtqIGnDufFkHxwIpNM9vtmhvt+6wqk= cloud.google.com/go/automl v1.13.3 h1:8gL+S9PpsYrqa9v7PDGMWEb42EWLGlxjdjMOB7/wU1c= cloud.google.com/go/automl v1.13.3/go.mod h1:Y8KwvyAZFOsMAPqUCfNu1AyclbC6ivCUF/MTwORymyY= cloud.google.com/go/automl v1.13.4 h1:i9tOKXX+1gE7+rHpWKjiuPfGBVIYoWvLNIGpWgPtF58= cloud.google.com/go/automl v1.13.4/go.mod h1:ULqwX/OLZ4hBVfKQaMtxMSTlPx0GqGbWN8uA/1EqCP8= +cloud.google.com/go/automl v1.13.5 h1:ijiJy9sYWh75WrqImXsfWc1e3HR3iO+ef9fvW03Ig/4= cloud.google.com/go/automl v1.13.5/go.mod h1:MDw3vLem3yh+SvmSgeYUmUKqyls6NzSumDm9OJ3xJ1Y= cloud.google.com/go/baremetalsolution v1.2.2 h1:nS60vlA7w2GTXpQ7a6y5z4jjJF46kshx3G2V99WLsbA= cloud.google.com/go/baremetalsolution v1.2.2/go.mod h1:O5V6Uu1vzVelYahKfwEWRMaS3AbCkeYHy3145s1FkhM= cloud.google.com/go/baremetalsolution v1.2.3 h1:oQiFYYCe0vwp7J8ZmF6siVKEumWtiPFJMJcGuyDVRUk= cloud.google.com/go/baremetalsolution v1.2.3/go.mod h1:/UAQ5xG3faDdy180rCUv47e0jvpp3BFxT+Cl0PFjw5g= +cloud.google.com/go/baremetalsolution v1.2.4 h1:LFydisRmS7hQk9P/YhekwuZGqb45TW4QavcrMToWo5A= cloud.google.com/go/baremetalsolution v1.2.4/go.mod h1:BHCmxgpevw9IEryE99HbYEfxXkAEA3hkMJbYYsHtIuY= cloud.google.com/go/batch v1.6.1 h1:wa8ZC1wMJLqnwWsGiVsntBIEYcIP+HUyAcKc0DhoDE4= cloud.google.com/go/batch v1.6.1/go.mod h1:urdpD13zPe6YOK+6iZs/8/x2VBRofvblLpx0t57vM98= cloud.google.com/go/batch v1.6.3 h1:mPiIH20a5NU02rucbAmLeO4sLPO9hrTK0BLjdHyW8xw= cloud.google.com/go/batch v1.6.3/go.mod h1:J64gD4vsNSA2O5TtDB5AAux3nJ9iV8U3ilg3JDBYejU= +cloud.google.com/go/batch v1.8.0 h1:2HK4JerwVaIcCh/lJiHwh6+uswPthiMMWhiSWLELayk= cloud.google.com/go/batch v1.8.0/go.mod h1:k8V7f6VE2Suc0zUM4WtoibNrA6D3dqBpB+++e3vSGYc= cloud.google.com/go/beyondcorp v1.0.2 h1:/TrG41OifURpA7weWrG9CROcBapc0exDiDaL9ZgplXE= cloud.google.com/go/beyondcorp v1.0.2/go.mod h1:m8cpG7caD+5su+1eZr+TSvF6r21NdLJk4f9u4SP2Ntc= cloud.google.com/go/beyondcorp v1.0.3 h1:VXf9SnrnSmj2BF2cHkoTHvOUp8gjsz1KJFOMW7czdsY= cloud.google.com/go/beyondcorp v1.0.3/go.mod h1:HcBvnEd7eYr+HGDd5ZbuVmBYX019C6CEXBonXbCVwJo= +cloud.google.com/go/beyondcorp v1.0.4 h1:qs0J0O9Ol2h1yA0AU+r7l3hOCPzs2MjE1d6d/kaHIKo= cloud.google.com/go/beyondcorp v1.0.4/go.mod h1:Gx8/Rk2MxrvWfn4WIhHIG1NV7IBfg14pTKv1+EArVcc= cloud.google.com/go/bigquery v1.56.0 h1:LHIc9E7Kw+ftFpQFKzZYBB88IAFz7qONawXXx0F3QBo= cloud.google.com/go/bigquery v1.56.0/go.mod h1:KDcsploXTEY7XT3fDQzMUZlpQLHzE4itubHrnmhUrZA= cloud.google.com/go/bigquery v1.57.1 h1:FiULdbbzUxWD0Y4ZGPSVCDLvqRSyCIO6zKV7E2nf5uA= cloud.google.com/go/bigquery v1.57.1/go.mod h1:iYzC0tGVWt1jqSzBHqCr3lrRn0u13E8e+AqowBsDgug= +cloud.google.com/go/bigquery v1.59.1 h1:CpT+/njKuKT3CEmswm6IbhNu9u35zt5dO4yPDLW+nG4= cloud.google.com/go/bigquery v1.59.1/go.mod h1:VP1UJYgevyTwsV7desjzNzDND5p6hZB+Z8gZJN1GQUc= cloud.google.com/go/billing v1.17.3 h1:PIpLB0uqYRKyzbPZNQV+FxvBcKtZH+Io9eK/lC8bRSE= cloud.google.com/go/billing v1.17.3/go.mod h1:z83AkoZ7mZwBGT3yTnt6rSGI1OOsHSIi6a5M3mJ8NaU= cloud.google.com/go/billing v1.17.4 h1:77/4kCqzH6Ou5CCDzNmqmboE+WvbwFBJmw1QZQz19AI= cloud.google.com/go/billing v1.17.4/go.mod h1:5DOYQStCxquGprqfuid/7haD7th74kyMBHkjO/OvDtk= +cloud.google.com/go/billing v1.18.2 h1:oWUEQvuC4JvtnqLZ35zgzdbuHt4Itbftvzbe6aEyFdE= cloud.google.com/go/billing v1.18.2/go.mod h1:PPIwVsOOQ7xzbADCwNe8nvK776QpfrOAUkvKjCUcpSE= cloud.google.com/go/binaryauthorization v1.7.2 h1:pSb8eiGofANJbRNTwQDiLJhMjng4tvFEVDEbaf2UWwM= cloud.google.com/go/binaryauthorization v1.7.2/go.mod h1:kFK5fQtxEp97m92ziy+hbu+uKocka1qRRL8MVJIgjv0= cloud.google.com/go/binaryauthorization v1.7.3 h1:3R6WYn1JKIaVicBmo18jXubu7xh4mMkmbIgsTXk0cBA= cloud.google.com/go/binaryauthorization v1.7.3/go.mod h1:VQ/nUGRKhrStlGr+8GMS8f6/vznYLkdK5vaKfdCIpvU= +cloud.google.com/go/binaryauthorization v1.8.1 h1:1jcyh2uIUwSZkJ/JmL8kd5SUkL/Krbv8zmYLEbAz6kY= cloud.google.com/go/binaryauthorization v1.8.1/go.mod h1:1HVRyBerREA/nhI7yLang4Zn7vfNVA3okoAR9qYQJAQ= cloud.google.com/go/certificatemanager v1.7.3 h1:dOD0bZPTwtFo/h8CwCBpu/m3B4ugm2GFhcym/tuoaJg= cloud.google.com/go/certificatemanager v1.7.3/go.mod h1:T/sZYuC30PTag0TLo28VedIRIj1KPGcOQzjWAptHa00= cloud.google.com/go/certificatemanager v1.7.4 h1:5YMQ3Q+dqGpwUZ9X5sipsOQ1fLPsxod9HNq0+nrqc6I= cloud.google.com/go/certificatemanager v1.7.4/go.mod h1:FHAylPe/6IIKuaRmHbjbdLhGhVQ+CWHSD5Jq0k4+cCE= +cloud.google.com/go/certificatemanager v1.7.5 h1:UMBr/twXvH3jcT5J5/YjRxf2tvwTYIfrpemTebe0txc= cloud.google.com/go/certificatemanager v1.7.5/go.mod h1:uX+v7kWqy0Y3NG/ZhNvffh0kuqkKZIXdvlZRO7z0VtM= cloud.google.com/go/channel v1.17.2 h1:LcaJyv6riQA39bvkPigOJvvNJM7Ls5x0hjZAqcuxq60= cloud.google.com/go/channel v1.17.2/go.mod h1:aT2LhnftnyfQceFql5I/mP8mIbiiJS4lWqgXA815zMk= cloud.google.com/go/channel v1.17.3 h1:Rd4+fBrjiN6tZ4TR8R/38elkyEkz6oogGDr7jDyjmMY= cloud.google.com/go/channel v1.17.3/go.mod h1:QcEBuZLGGrUMm7kNj9IbU1ZfmJq2apotsV83hbxX7eE= +cloud.google.com/go/channel v1.17.5 h1:/omiBnyFjm4S1ETHoOmJbL7LH7Ljcei4rYG6Sj3hc80= cloud.google.com/go/channel v1.17.5/go.mod h1:FlpaOSINDAXgEext0KMaBq/vwpLMkkPAw9b2mApQeHc= cloud.google.com/go/cloudbuild v1.14.2 h1:Go7wFI+P5QyuSt1sZtb8wx+M+MGjyfR+xgOzjuZMDF8= cloud.google.com/go/cloudbuild v1.14.2/go.mod h1:Bn6RO0mBYk8Vlrt+8NLrru7WXlQ9/RDWz2uo5KG1/sg= cloud.google.com/go/cloudbuild v1.15.0 h1:9IHfEMWdCklJ1cwouoiQrnxmP0q3pH7JUt8Hqx4Qbck= cloud.google.com/go/cloudbuild v1.15.0/go.mod h1:eIXYWmRt3UtggLnFGx4JvXcMj4kShhVzGndL1LwleEM= +cloud.google.com/go/cloudbuild v1.15.1 h1:ZB6oOmJo+MTov9n629fiCrO9YZPOg25FZvQ7gIHu5ng= cloud.google.com/go/cloudbuild v1.15.1/go.mod h1:gIofXZSu+XD2Uy+qkOrGKEx45zd7s28u/k8f99qKals= cloud.google.com/go/clouddms v1.7.2 h1:qxyV8j7ckzzt5gcX1u5qkteKBDMd9Q29TPs7uZVV6bA= cloud.google.com/go/clouddms v1.7.2/go.mod h1:Rk32TmWmHo64XqDvW7jgkFQet1tUKNVzs7oajtJT3jU= cloud.google.com/go/clouddms v1.7.3 h1:xe/wJKz55VO1+L891a1EG9lVUgfHr9Ju/I3xh1nwF84= cloud.google.com/go/clouddms v1.7.3/go.mod h1:fkN2HQQNUYInAU3NQ3vRLkV2iWs8lIdmBKOx4nrL6Hc= +cloud.google.com/go/clouddms v1.7.4 h1:Sr0Zo5EAcPQiCBgHWICg3VGkcdS/LLP1d9SR7qQBM/s= cloud.google.com/go/clouddms v1.7.4/go.mod h1:RdrVqoFG9RWI5AvZ81SxJ/xvxPdtcRhFotwdE79DieY= cloud.google.com/go/cloudtasks v1.12.3 h1:ajm0DZTTaGKeawbwuFXZfPC7IIeLg6eYJFH125i18tE= cloud.google.com/go/cloudtasks v1.12.3/go.mod h1:GPVXhIOSGEaR+3xT4Fp72ScI+HjHffSS4B8+BaBB5Ys= cloud.google.com/go/cloudtasks v1.12.4 h1:5xXuFfAjg0Z5Wb81j2GAbB3e0bwroCeSF+5jBn/L650= cloud.google.com/go/cloudtasks v1.12.4/go.mod h1:BEPu0Gtt2dU6FxZHNqqNdGqIG86qyWKBPGnsb7udGY0= +cloud.google.com/go/cloudtasks v1.12.6 h1:EUt1hIZ9bLv8Iz9yWaCrqgMnIU+Tdh0yXM1MMVGhjfE= cloud.google.com/go/cloudtasks v1.12.6/go.mod h1:b7c7fe4+TJsFZfDyzO51F7cjq7HLUlRi/KZQLQjDsaY= cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= @@ -136,65 +158,72 @@ cloud.google.com/go/compute v1.23.2 h1:nWEMDhgbBkBJjfpVySqU4jgWdc22PLR0o4vEexZHe cloud.google.com/go/compute v1.23.4/go.mod h1:/EJMj55asU6kAFnuZET8zqgwgJ9FvXWXOkkfQZa4ioI= cloud.google.com/go/compute v1.24.0 h1:phWcR2eWzRJaL/kOiJwfFsPs4BaKq1j6vnpZrc1YlVg= cloud.google.com/go/compute v1.24.0/go.mod h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40= -cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= -cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= -cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/contactcenterinsights v1.11.2 h1:xTLvUYWMwNdQeAr9FECdenht43In0s/KAyFHSuKuZR4= cloud.google.com/go/contactcenterinsights v1.11.2/go.mod h1:A9PIR5ov5cRcd28KlDbmmXE8Aay+Gccer2h4wzkYFso= cloud.google.com/go/contactcenterinsights v1.12.0 h1:wP41IUA4ucMVooj/TP53jd7vbNjWrDkAPOeulVJGT5U= cloud.google.com/go/contactcenterinsights v1.12.0/go.mod h1:HHX5wrz5LHVAwfI2smIotQG9x8Qd6gYilaHcLLLmNis= +cloud.google.com/go/contactcenterinsights v1.13.0 h1:6Vs/YnDG5STGjlWMEjN/xtmft7MrOTOnOZYUZtGTx0w= cloud.google.com/go/contactcenterinsights v1.13.0/go.mod h1:ieq5d5EtHsu8vhe2y3amtZ+BE+AQwX5qAy7cpo0POsI= cloud.google.com/go/container v1.26.2 h1:vNQsufqH93Df+U1kNNgjQ6UIQ1v4FUdQ9QHdDiiDuss= cloud.google.com/go/container v1.26.2/go.mod h1:YlO84xCt5xupVbLaMY4s3XNE79MUJ+49VmkInr6HvF4= cloud.google.com/go/container v1.28.0 h1:/o82CFWXIYnT9p/07SnRgybqL3Pmmu86jYIlzlJVUBY= cloud.google.com/go/container v1.28.0/go.mod h1:b1A1gJeTBXVLQ6GGw9/9M4FG94BEGsqJ5+t4d/3N7O4= +cloud.google.com/go/container v1.31.0 h1:MAaNH7VRNPWEhvqOypq2j+7ONJKrKzon4v9nS3nLZe0= cloud.google.com/go/container v1.31.0/go.mod h1:7yABn5s3Iv3lmw7oMmyGbeV6tQj86njcTijkkGuvdZA= cloud.google.com/go/containeranalysis v0.11.2 h1:AKyhqlO1Cjdrp7Ht0C3uQALliri2RegVRpEZseOKwWo= cloud.google.com/go/containeranalysis v0.11.2/go.mod h1:xibioGBC1MD2j4reTyV1xY1/MvKaz+fyM9ENWhmIeP8= cloud.google.com/go/containeranalysis v0.11.3 h1:5rhYLX+3a01drpREqBZVXR9YmWH45RnML++8NsCtuD8= cloud.google.com/go/containeranalysis v0.11.3/go.mod h1:kMeST7yWFQMGjiG9K7Eov+fPNQcGhb8mXj/UcTiWw9U= +cloud.google.com/go/containeranalysis v0.11.4 h1:doJ0M1ljS4hS0D2UbHywlHGwB7sQLNrt9vFk9Zyi7vY= cloud.google.com/go/containeranalysis v0.11.4/go.mod h1:cVZT7rXYBS9NG1rhQbWL9pWbXCKHWJPYraE8/FTSYPE= cloud.google.com/go/datacatalog v1.18.2 h1:4ydlNOtwjkdXjXWd+SkUBh+DyVmM/bJKiktAHwqaEeU= cloud.google.com/go/datacatalog v1.18.2/go.mod h1:SPVgWW2WEMuWHA+fHodYjmxPiMqcOiWfhc9OD5msigk= cloud.google.com/go/datacatalog v1.19.0 h1:rbYNmHwvAOOwnW2FPXYkaK3Mf1MmGqRzK0mMiIEyLdo= cloud.google.com/go/datacatalog v1.19.0/go.mod h1:5FR6ZIF8RZrtml0VUao22FxhdjkoG+a0866rEnObryM= +cloud.google.com/go/datacatalog v1.19.3 h1:A0vKYCQdxQuV4Pi0LL9p39Vwvg4jH5yYveMv50gU5Tw= cloud.google.com/go/datacatalog v1.19.3/go.mod h1:ra8V3UAsciBpJKQ+z9Whkxzxv7jmQg1hfODr3N3YPJ4= cloud.google.com/go/dataflow v0.9.3 h1:v+wjNFEugYBYaowmqJuHK1piqNCx9pGvUWPEhspRFEw= cloud.google.com/go/dataflow v0.9.3/go.mod h1:HI4kMVjcHGTs3jTHW/kv3501YW+eloiJSLxkJa/vqFE= cloud.google.com/go/dataflow v0.9.4 h1:7VmCNWcPJBS/srN2QnStTB6nu4Eb5TMcpkmtaPVhRt4= cloud.google.com/go/dataflow v0.9.4/go.mod h1:4G8vAkHYCSzU8b/kmsoR2lWyHJD85oMJPHMtan40K8w= +cloud.google.com/go/dataflow v0.9.5 h1:RYHtcPhmE664+F0Je46p+NvFbG8z//KCXp+uEqB4jZU= cloud.google.com/go/dataflow v0.9.5/go.mod h1:udl6oi8pfUHnL0z6UN9Lf9chGqzDMVqcYTcZ1aPnCZQ= cloud.google.com/go/dataform v0.8.3 h1:jhr9PQtaH59nfZbI7tP0jjIl9SlfnRgteAQHD+ZT2xA= cloud.google.com/go/dataform v0.8.3/go.mod h1:8nI/tvv5Fso0drO3pEjtowz58lodx8MVkdV2q0aPlqg= cloud.google.com/go/dataform v0.9.1 h1:jV+EsDamGX6cE127+QAcCR/lergVeeZdEQ6DdrxW3sQ= cloud.google.com/go/dataform v0.9.1/go.mod h1:pWTg+zGQ7i16pyn0bS1ruqIE91SdL2FDMvEYu/8oQxs= +cloud.google.com/go/dataform v0.9.2 h1:5e4eqGrd0iDTCg4Q+VlAao5j2naKAA7xRurNtwmUknU= cloud.google.com/go/dataform v0.9.2/go.mod h1:S8cQUwPNWXo7m/g3DhWHsLBoufRNn9EgFrMgne2j7cI= cloud.google.com/go/datafusion v1.7.3 h1:v5HtQxvFLVHgbJXUdd4zbNZcYgknRUEW9ukOYpwf6d0= cloud.google.com/go/datafusion v1.7.3/go.mod h1:eoLt1uFXKGBq48jy9LZ+Is8EAVLnmn50lNncLzwYokE= cloud.google.com/go/datafusion v1.7.4 h1:Q90alBEYlMi66zL5gMSGQHfbZLB55mOAg03DhwTTfsk= cloud.google.com/go/datafusion v1.7.4/go.mod h1:BBs78WTOLYkT4GVZIXQCZT3GFpkpDN4aBY4NDX/jVlM= +cloud.google.com/go/datafusion v1.7.5 h1:HQ/BUOP8OIGJxuztpYvNvlb+/U+/Bfs9SO8tQbh61fk= cloud.google.com/go/datafusion v1.7.5/go.mod h1:bYH53Oa5UiqahfbNK9YuYKteeD4RbQSNMx7JF7peGHc= cloud.google.com/go/datalabeling v0.8.3 h1:wYqhVo4f5akRW2yZfGQ56fUCi8FCgYzKh1UvBeg7edE= cloud.google.com/go/datalabeling v0.8.3/go.mod h1:tvPhpGyS/V7lqjmb3V0TaDdGvhzgR1JoW7G2bpi2UTI= cloud.google.com/go/datalabeling v0.8.4 h1:zrq4uMmunf2KFDl/7dS6iCDBBAxBnKVDyw6+ajz3yu0= cloud.google.com/go/datalabeling v0.8.4/go.mod h1:Z1z3E6LHtffBGrNUkKwbwbDxTiXEApLzIgmymj8A3S8= +cloud.google.com/go/datalabeling v0.8.5 h1:GpIFRdm0qIZNsxqURFJwHt0ZBJZ0nF/mUVEigR7PH/8= cloud.google.com/go/datalabeling v0.8.5/go.mod h1:IABB2lxQnkdUbMnQaOl2prCOfms20mcPxDBm36lps+s= cloud.google.com/go/dataplex v1.10.2 h1:D+UlBA3Z+k/Z93a1Wh3uZrUbc4aX7c7ifF/m/s5H6fQ= cloud.google.com/go/dataplex v1.10.2/go.mod h1:xdC8URdTrCrZMW6keY779ZT1cTOfV8KEPNsw+LTRT1Y= cloud.google.com/go/dataplex v1.11.2 h1:AfFFR15Ifh4U+Me1IBztrSd5CrasTODzy3x8KtDyHdc= cloud.google.com/go/dataplex v1.11.2/go.mod h1:mHJYQQ2VEJHsyoC0OdNyy988DvEbPhqFs5OOLffLX0c= +cloud.google.com/go/dataplex v1.14.2 h1:fxIfdU8fxzR3clhOoNI7XFppvAmndxDu1AMH+qX9WKQ= cloud.google.com/go/dataplex v1.14.2/go.mod h1:0oGOSFlEKef1cQeAHXy4GZPB/Ife0fz/PxBf+ZymA2U= cloud.google.com/go/dataproc v1.12.0 h1:W47qHL3W4BPkAIbk4SWmIERwsWBaNnWm0P2sdx3YgGU= cloud.google.com/go/dataproc/v2 v2.2.2 h1:XRnxqa08/P2LpXTB+OMmPAfhT7GGyftgslKvzv330gM= cloud.google.com/go/dataproc/v2 v2.2.2/go.mod h1:aocQywVmQVF4i8CL740rNI/ZRpsaaC1Wh2++BJ7HEJ4= cloud.google.com/go/dataproc/v2 v2.3.0 h1:tTVP9tTxmc8fixxOd/8s6Q6Pz/+yzn7r7XdZHretQH0= cloud.google.com/go/dataproc/v2 v2.3.0/go.mod h1:G5R6GBc9r36SXv/RtZIVfB8SipI+xVn0bX5SxUzVYbY= +cloud.google.com/go/dataproc/v2 v2.4.0 h1:/u81Fd+BvCLp+xjctI1DiWVJn6cn9/s3Akc8xPH02yk= cloud.google.com/go/dataproc/v2 v2.4.0/go.mod h1:3B1Ht2aRB8VZIteGxQS/iNSJGzt9+CA0WGnDVMEm7Z4= cloud.google.com/go/dataqna v0.8.3 h1:Nr5t9MoTDxlOc7lVsydsIZ31ZdxOznCyKf5qFCiPu4o= cloud.google.com/go/dataqna v0.8.3/go.mod h1:wXNBW2uvc9e7Gl5k8adyAMnLush1KVV6lZUhB+rqNu4= cloud.google.com/go/dataqna v0.8.4 h1:NJnu1kAPamZDs/if3bJ3+Wb6tjADHKL83NUWsaIp2zg= cloud.google.com/go/dataqna v0.8.4/go.mod h1:mySRKjKg5Lz784P6sCov3p1QD+RZQONRMRjzGNcFd0c= +cloud.google.com/go/dataqna v0.8.5 h1:9ybXs3nr9BzxSGC04SsvtuXaHY0qmJSLIpIAbZo9GqQ= cloud.google.com/go/dataqna v0.8.5/go.mod h1:vgihg1mz6n7pb5q2YJF7KlXve6tCglInd6XO0JGOlWM= cloud.google.com/go/datastore v1.15.0 h1:0P9WcsQeTWjuD1H14JIY7XQscIPQ4Laje8ti96IC5vg= cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= @@ -202,52 +231,62 @@ cloud.google.com/go/datastream v1.10.2 h1:94RSCSWUXpbXvTrISGKZWbJqPTTSvMxErCZiHr cloud.google.com/go/datastream v1.10.2/go.mod h1:W42TFgKAs/om6x/CdXX5E4oiAsKlH+e8MTGy81zdYt0= cloud.google.com/go/datastream v1.10.3 h1:Z2sKPIB7bT2kMW5Uhxy44ZgdJzxzE5uKjavoW+EuHEE= cloud.google.com/go/datastream v1.10.3/go.mod h1:YR0USzgjhqA/Id0Ycu1VvZe8hEWwrkjuXrGbzeDOSEA= +cloud.google.com/go/datastream v1.10.4 h1:o1QDKMo/hk0FN7vhoUQURREuA0rgKmnYapB+1M+7Qz4= cloud.google.com/go/datastream v1.10.4/go.mod h1:7kRxPdxZxhPg3MFeCSulmAJnil8NJGGvSNdn4p1sRZo= cloud.google.com/go/deploy v1.14.1 h1:LoaXLE32tVW/ULfKP8iX3USJZopWUTjVHiIGc/CVcWI= cloud.google.com/go/deploy v1.14.1/go.mod h1:N8S0b+aIHSEeSr5ORVoC0+/mOPUysVt8ae4QkZYolAw= cloud.google.com/go/deploy v1.15.0 h1:ZdmYzRMTGkVyP1nXEUat9FpbJGJemDcNcx82RSSOElc= cloud.google.com/go/deploy v1.15.0/go.mod h1:e5XOUI5D+YGldyLNZ21wbp9S8otJbBE4i88PtO9x/2g= +cloud.google.com/go/deploy v1.17.1 h1:m27Ojwj03gvpJqCbodLYiVmE9x4/LrHGGMjzc0LBfM4= cloud.google.com/go/deploy v1.17.1/go.mod h1:SXQyfsXrk0fBmgBHRzBjQbZhMfKZ3hMQBw5ym7MN/50= cloud.google.com/go/dialogflow v1.44.2 h1:y2I9aHjFrszP2mAQNFCkfwzyli1avPiw/OQt1K3YV8Q= cloud.google.com/go/dialogflow v1.44.2/go.mod h1:QzFYndeJhpVPElnFkUXxdlptx0wPnBWLCBT9BvtC3/c= cloud.google.com/go/dialogflow v1.44.3 h1:cK/f88KX+YVR4tLH4clMQlvrLWD2qmKJQziusjGPjmc= cloud.google.com/go/dialogflow v1.44.3/go.mod h1:mHly4vU7cPXVweuB5R0zsYKPMzy240aQdAu06SqBbAQ= +cloud.google.com/go/dialogflow v1.49.0 h1:KqG0oxGE71qo0lRVyAoeBozefCvsMfcDzDjoLYSY0F4= cloud.google.com/go/dialogflow v1.49.0/go.mod h1:dhVrXKETtdPlpPhE7+2/k4Z8FRNUp6kMV3EW3oz/fe0= cloud.google.com/go/dlp v1.10.3 h1:UWS2DOpyUuK/ig3ZWzJ0IcZRYsRcRkgD1NSaoSU1upw= cloud.google.com/go/dlp v1.10.3/go.mod h1:iUaTc/ln8I+QT6Ai5vmuwfw8fqTk2kaz0FvCwhLCom0= cloud.google.com/go/dlp v1.11.1 h1:OFlXedmPP/5//X1hBEeq3D9kUVm9fb6ywYANlpv/EsQ= cloud.google.com/go/dlp v1.11.1/go.mod h1:/PA2EnioBeXTL/0hInwgj0rfsQb3lpE3R8XUJxqUNKI= +cloud.google.com/go/dlp v1.11.2 h1:lTipOuJaSjlYnnotPMbEhKURLC6GzCMDDzVbJAEbmYM= cloud.google.com/go/dlp v1.11.2/go.mod h1:9Czi+8Y/FegpWzgSfkRlyz+jwW6Te9Rv26P3UfU/h/w= cloud.google.com/go/documentai v1.23.4 h1:AQ9/q6mFBpHmWx7k1fB+S1ut8mv03XUo9sdOuEWXxl8= cloud.google.com/go/documentai v1.23.4/go.mod h1:4MYAaEMnADPN1LPN5xboDR5QVB6AgsaxgFdJhitlE2Y= cloud.google.com/go/documentai v1.23.5 h1:KAlzT+q8qvRxAmhsJUvLtfFHH0PNvz3M79H6CgVBKL8= cloud.google.com/go/documentai v1.23.5/go.mod h1:ghzBsyVTiVdkfKaUCum/9bGBEyBjDO4GfooEcYKhN+g= +cloud.google.com/go/documentai v1.25.0 h1:lI62GMEEPO6vXJI9hj+G9WjOvnR0hEjvjokrnex4cxA= cloud.google.com/go/documentai v1.25.0/go.mod h1:ftLnzw5VcXkLItp6pw1mFic91tMRyfv6hHEY5br4KzY= cloud.google.com/go/domains v0.9.3 h1:/NaEe9O1vhHt+j/VDPNJt8oDgGthsY+hbjbkBBOWorw= cloud.google.com/go/domains v0.9.3/go.mod h1:29k66YNDLDY9LCFKpGFeh6Nj9r62ZKm5EsUJxAl84KU= cloud.google.com/go/domains v0.9.4 h1:ua4GvsDztZ5F3xqjeLKVRDeOvJshf5QFgWGg1CKti3A= cloud.google.com/go/domains v0.9.4/go.mod h1:27jmJGShuXYdUNjyDG0SodTfT5RwLi7xmH334Gvi3fY= +cloud.google.com/go/domains v0.9.5 h1:Mml/R6s3vQQvFPpi/9oX3O5dRirgjyJ8cksK8N19Y7g= cloud.google.com/go/domains v0.9.5/go.mod h1:dBzlxgepazdFhvG7u23XMhmMKBjrkoUNaw0A8AQB55Y= cloud.google.com/go/edgecontainer v1.1.3 h1:cpoLa8/f2xPQFfoXRztRMJVVsQ/pxY+fra1QGQjxjyw= cloud.google.com/go/edgecontainer v1.1.3/go.mod h1:Ll2DtIABzEfaxaVSbwj3QHFaOOovlDFiWVDu349jSsA= cloud.google.com/go/edgecontainer v1.1.4 h1:Szy3Q/N6bqgQGyxqjI+6xJZbmvPvnFHp3UZr95DKcQ0= cloud.google.com/go/edgecontainer v1.1.4/go.mod h1:AvFdVuZuVGdgaE5YvlL1faAoa1ndRR/5XhXZvPBHbsE= +cloud.google.com/go/edgecontainer v1.1.5 h1:tBY32km78ScpK2aOP84JoW/+wtpx5WluyPUSEE3270U= cloud.google.com/go/edgecontainer v1.1.5/go.mod h1:rgcjrba3DEDEQAidT4yuzaKWTbkTI5zAMu3yy6ZWS0M= cloud.google.com/go/errorreporting v0.3.0 h1:kj1XEWMu8P0qlLhm3FwcaFsUvXChV/OraZwA70trRR0= cloud.google.com/go/essentialcontacts v1.6.4 h1:kCxxUXP61/36M9KjiwvwSDAjtpjiv2apmIbBRdBHNXg= cloud.google.com/go/essentialcontacts v1.6.4/go.mod h1:iju5Vy3d9tJUg0PYMd1nHhjV7xoCXaOAVabrwLaPBEM= cloud.google.com/go/essentialcontacts v1.6.5 h1:S2if6wkjR4JCEAfDtIiYtD+sTz/oXjh2NUG4cgT1y/Q= cloud.google.com/go/essentialcontacts v1.6.5/go.mod h1:jjYbPzw0x+yglXC890l6ECJWdYeZ5dlYACTFL0U/VuM= +cloud.google.com/go/essentialcontacts v1.6.6 h1:13eHn5qBnsawxI7mIrv4jRIEmQ1xg0Ztqw5ZGqtUNfA= cloud.google.com/go/essentialcontacts v1.6.6/go.mod h1:XbqHJGaiH0v2UvtuucfOzFXN+rpL/aU5BCZLn4DYl1Q= cloud.google.com/go/eventarc v1.13.2 h1:8LX0xmWk8qj4BZJ5rwQosVW/icozTsMxUimgz2Hlw5s= cloud.google.com/go/eventarc v1.13.2/go.mod h1:X9A80ShVu19fb4e5sc/OLV7mpFUKZMwfJFeeWhcIObM= cloud.google.com/go/eventarc v1.13.3 h1:+pFmO4eu4dOVipSaFBLkmqrRYG94Xl/TQZFOeohkuqU= cloud.google.com/go/eventarc v1.13.3/go.mod h1:RWH10IAZIRcj1s/vClXkBgMHwh59ts7hSWcqD3kaclg= +cloud.google.com/go/eventarc v1.13.4 h1:ORkd6/UV5FIdA8KZQDLNZYKS7BBOrj0p01DXPmT4tE4= cloud.google.com/go/eventarc v1.13.4/go.mod h1:zV5sFVoAa9orc/52Q+OuYUG9xL2IIZTbbuTHC6JSY8s= cloud.google.com/go/filestore v1.7.3 h1:Rx1EFBco717fTbeQLhAgEdPStqAzlKywMx37SvTOFXI= cloud.google.com/go/filestore v1.7.3/go.mod h1:Qp8WaEERR3cSkxToxFPHh/b8AACkSut+4qlCjAmKTV0= cloud.google.com/go/filestore v1.8.0 h1:/+wUEGwk3x3Kxomi2cP5dsR8+SIXxo7M0THDjreFSYo= cloud.google.com/go/filestore v1.8.0/go.mod h1:S5JCxIbFjeBhWMTfIYH2Jx24J6BqjwpkkPl+nBA5DlI= +cloud.google.com/go/filestore v1.8.1 h1:X5G4y/vrUo1B8Nsz93qSWTMAcM8LXbGUldq33OdcdCw= cloud.google.com/go/filestore v1.8.1/go.mod h1:MbN9KcaM47DRTIuLfQhJEsjaocVebNtNQhSLhKCF5GM= cloud.google.com/go/firestore v1.14.0 h1:8aLcKnMPoldYU3YHgu4t2exrKhLQkqaXAGqT0ljrFVw= cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ= @@ -255,28 +294,34 @@ cloud.google.com/go/functions v1.15.3 h1:5bAA0oK69rdOzSyJGkEod90R9zpok2CRPi1du0g cloud.google.com/go/functions v1.15.3/go.mod h1:r/AMHwBheapkkySEhiZYLDBwVJCdlRwsm4ieJu35/Ug= cloud.google.com/go/functions v1.15.4 h1:ZjdiV3MyumRM6++1Ixu6N0VV9LAGlCX4AhW6Yjr1t+U= cloud.google.com/go/functions v1.15.4/go.mod h1:CAsTc3VlRMVvx+XqXxKqVevguqJpnVip4DdonFsX28I= +cloud.google.com/go/functions v1.16.0 h1:IWVylmK5F6hJ3R5zaRW7jI5PrWhCvtBVU4axQLmXSo4= cloud.google.com/go/functions v1.16.0/go.mod h1:nbNpfAG7SG7Duw/o1iZ6ohvL7mc6MapWQVpqtM29n8k= cloud.google.com/go/gaming v1.9.0 h1:7vEhFnZmd931Mo7sZ6pJy7uQPDxF7m7v8xtBheG08tc= cloud.google.com/go/gkebackup v1.3.3 h1:B1QCKBePacacXFflG3Sc1MP4zWkeN1ZvfAT0AEAEgIc= cloud.google.com/go/gkebackup v1.3.3/go.mod h1:eMk7/wVV5P22KBakhQnJxWSVftL1p4VBFLpv0kIft7I= cloud.google.com/go/gkebackup v1.3.4 h1:KhnOrr9A1tXYIYeXKqCKbCI8TL2ZNGiD3dm+d7BDUBg= cloud.google.com/go/gkebackup v1.3.4/go.mod h1:gLVlbM8h/nHIs09ns1qx3q3eaXcGSELgNu1DWXYz1HI= +cloud.google.com/go/gkebackup v1.3.5 h1:iuE8KNtTsPOc79qeWoNS8zOWoXPD9SAdOmwgxtlCmh8= cloud.google.com/go/gkebackup v1.3.5/go.mod h1:KJ77KkNN7Wm1LdMopOelV6OodM01pMuK2/5Zt1t4Tvc= cloud.google.com/go/gkeconnect v0.8.3 h1:Qex3VdGKPM9cRbEIe7FAho8CAMQOx4u+m1pwRU515jY= cloud.google.com/go/gkeconnect v0.8.3/go.mod h1:i9GDTrfzBSUZGCe98qSu1B8YB8qfapT57PenIb820Jo= cloud.google.com/go/gkeconnect v0.8.4 h1:1JLpZl31YhQDQeJ98tK6QiwTpgHFYRJwpntggpQQWis= cloud.google.com/go/gkeconnect v0.8.4/go.mod h1:84hZz4UMlDCKl8ifVW8layK4WHlMAFeq8vbzjU0yJkw= +cloud.google.com/go/gkeconnect v0.8.5 h1:17d+ZSSXKqG/RwZCq3oFMIWLPI8Zw3b8+a9/BEVlwH0= cloud.google.com/go/gkeconnect v0.8.5/go.mod h1:LC/rS7+CuJ5fgIbXv8tCD/mdfnlAadTaUufgOkmijuk= cloud.google.com/go/gkehub v0.14.3 h1:b7/eKuEEfeQeRIAz//v6Y3ZjNAYi81Eay/a8kqaYSKI= cloud.google.com/go/gkehub v0.14.3/go.mod h1:jAl6WafkHHW18qgq7kqcrXYzN08hXeK/Va3utN8VKg8= cloud.google.com/go/gkehub v0.14.4 h1:J5tYUtb3r0cl2mM7+YHvV32eL+uZQ7lONyUZnPikCEo= cloud.google.com/go/gkehub v0.14.4/go.mod h1:Xispfu2MqnnFt8rV/2/3o73SK1snL8s9dYJ9G2oQMfc= +cloud.google.com/go/gkehub v0.14.5 h1:RboLNFzf9wEMSo7DrKVBlf+YhK/A/jrLN454L5Tz99Q= cloud.google.com/go/gkehub v0.14.5/go.mod h1:6bzqxM+a+vEH/h8W8ec4OJl4r36laxTs3A/fMNHJ0wA= cloud.google.com/go/gkemulticloud v1.0.2 h1:eBkfrcLHG+uaaVVbKMKS0qA1M1yBU3pdiHn1rZUCv0s= cloud.google.com/go/gkemulticloud v1.0.2/go.mod h1:+ee5VXxKb3H1l4LZAcgWB/rvI16VTNTrInWxDjAGsGo= cloud.google.com/go/gkemulticloud v1.0.3 h1:NmJsNX9uQ2CT78957xnjXZb26TDIMvv+d5W2vVUt0Pg= cloud.google.com/go/gkemulticloud v1.0.3/go.mod h1:7NpJBN94U6DY1xHIbsDqB2+TFZUfjLUKLjUX8NGLor0= +cloud.google.com/go/gkemulticloud v1.1.1 h1:rsSZAGLhyjyE/bE2ToT5fqo1qSW7S+Ubsc9jFOcbhSI= cloud.google.com/go/gkemulticloud v1.1.1/go.mod h1:C+a4vcHlWeEIf45IB5FFR5XGjTeYhF83+AYIpTy4i2Q= +cloud.google.com/go/grafeas v0.2.0 h1:CYjC+xzdPvbV65gi6Dr4YowKcmLo045pm18L0DhdELM= cloud.google.com/go/grafeas v0.3.0 h1:oyTL/KjiUeBs9eYLw/40cpSZglUC+0F7X4iu/8t7NWs= cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8= cloud.google.com/go/grafeas v0.3.4/go.mod h1:A5m316hcG+AulafjAbPKXBO/+I5itU4LOdKO2R/uDIc= @@ -284,45 +329,49 @@ cloud.google.com/go/gsuiteaddons v1.6.3 h1:fjt+72G2ZavxZ4JROTjrvjV6OJs/fHr9Uo+aO cloud.google.com/go/gsuiteaddons v1.6.3/go.mod h1:sCFJkZoMrLZT3JTb8uJqgKPNshH2tfXeCwTFRebTq48= cloud.google.com/go/gsuiteaddons v1.6.4 h1:uuw2Xd37yHftViSI8J2hUcCS8S7SH3ZWH09sUDLW30Q= cloud.google.com/go/gsuiteaddons v1.6.4/go.mod h1:rxtstw7Fx22uLOXBpsvb9DUbC+fiXs7rF4U29KHM/pE= +cloud.google.com/go/gsuiteaddons v1.6.5 h1:CZEbaBwmbYdhFw21Fwbo+C35HMe36fTE0FBSR4KSfWg= cloud.google.com/go/gsuiteaddons v1.6.5/go.mod h1:Lo4P2IvO8uZ9W+RaC6s1JVxo42vgy+TX5a6hfBZ0ubs= cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= 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/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= -cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= cloud.google.com/go/iap v1.9.2 h1:vuyDICrMq8z6flZaptQWOxN+XBHtGKWKYlAir8LmTgk= cloud.google.com/go/iap v1.9.2/go.mod h1:GwDTOs047PPSnwRD0Us5FKf4WDRcVvHg1q9WVkKBhdI= cloud.google.com/go/iap v1.9.3 h1:M4vDbQ4TLXdaljXVZSwW7XtxpwXUUarY2lIs66m0aCM= cloud.google.com/go/iap v1.9.3/go.mod h1:DTdutSZBqkkOm2HEOTBzhZxh2mwwxshfD/h3yofAiCw= +cloud.google.com/go/iap v1.9.4 h1:94zirc2r4t6KzhAMW0R6Dme005eTP6yf7g6vN4IhRrA= cloud.google.com/go/iap v1.9.4/go.mod h1:vO4mSq0xNf/Pu6E5paORLASBwEmphXEjgCFg7aeNu1w= cloud.google.com/go/ids v1.4.3 h1:ZgT7bJIu+7toDJNjX4Uiao/9+82T6ZDGySoMxbvdZcY= cloud.google.com/go/ids v1.4.3/go.mod h1:9CXPqI3GedjmkjbMWCUhMZ2P2N7TUMzAkVXYEH2orYU= cloud.google.com/go/ids v1.4.4 h1:VuFqv2ctf/A7AyKlNxVvlHTzjrEvumWaZflUzBPz/M4= cloud.google.com/go/ids v1.4.4/go.mod h1:z+WUc2eEl6S/1aZWzwtVNWoSZslgzPxAboS0lZX0HjI= +cloud.google.com/go/ids v1.4.5 h1:xd4U7pgl3GHV+MABnv1BF4/Vy/zBF7CYC8XngkOLzag= cloud.google.com/go/ids v1.4.5/go.mod h1:p0ZnyzjMWxww6d2DvMGnFwCsSxDJM666Iir1bK1UuBo= cloud.google.com/go/iot v1.7.3 h1:Cbn4wsDXgIwqAAOYIyto4e6aXJDhlZiqf2wO+9h8pEg= cloud.google.com/go/iot v1.7.3/go.mod h1:t8itFchkol4VgNbHnIq9lXoOOtHNR3uAACQMYbN9N4I= cloud.google.com/go/iot v1.7.4 h1:m1WljtkZnvLTIRYW1YTOv5A6H1yKgLHR6nU7O8yf27w= cloud.google.com/go/iot v1.7.4/go.mod h1:3TWqDVvsddYBG++nHSZmluoCAVGr1hAcabbWZNKEZLk= +cloud.google.com/go/iot v1.7.5 h1:munTeBlbqI33iuTYgXy7S8lW2TCgi5l1hA4roSIY+EE= cloud.google.com/go/iot v1.7.5/go.mod h1:nq3/sqTz3HGaWJi1xNiX7F41ThOzpud67vwk0YsSsqs= cloud.google.com/go/kms v1.15.4 h1:gEZzC54ZBI+aeW8/jg9tgz9KR4Aa+WEDPbdGIV3iJ7A= cloud.google.com/go/kms v1.15.4/go.mod h1:L3Sdj6QTHK8dfwK5D1JLsAyELsNMnd3tAIwGS4ltKpc= cloud.google.com/go/kms v1.15.5/go.mod h1:cU2H5jnp6G2TDpUGZyqTCoy1n16fbubHZjmVXSMtwDI= -cloud.google.com/go/kms v1.15.7/go.mod h1:ub54lbsa6tDkUwnu4W7Yt1aAIFLnspgh0kPGToDukeI= cloud.google.com/go/language v1.12.1 h1:7TnnZKy3sspQ3F1mzwEv3eaptTwGrReVXEo8Oozi10w= cloud.google.com/go/language v1.12.1/go.mod h1:zQhalE2QlQIxbKIZt54IASBzmZpN/aDASea5zl1l+J4= cloud.google.com/go/language v1.12.2 h1:zg9uq2yS9PGIOdc0Kz/l+zMtOlxKWonZjjo5w5YPG2A= cloud.google.com/go/language v1.12.2/go.mod h1:9idWapzr/JKXBBQ4lWqVX/hcadxB194ry20m/bTrhWc= +cloud.google.com/go/language v1.12.3 h1:iaJZg6K4j/2PvZZVcjeO/btcWWIllVRBhuTFjGO4LXs= cloud.google.com/go/language v1.12.3/go.mod h1:evFX9wECX6mksEva8RbRnr/4wi/vKGYnAJrTRXU8+f8= cloud.google.com/go/lifesciences v0.9.3 h1:QcPrlyo/F7IXJXk8CkF4yGEwX4CTLAKUE/My4l3KF/8= cloud.google.com/go/lifesciences v0.9.3/go.mod h1:gNGBOJV80IWZdkd+xz4GQj4mbqaz737SCLHn2aRhQKM= cloud.google.com/go/lifesciences v0.9.4 h1:rZEI/UxcxVKEzyoRS/kdJ1VoolNItRWjNN0Uk9tfexg= cloud.google.com/go/lifesciences v0.9.4/go.mod h1:bhm64duKhMi7s9jR9WYJYvjAFJwRqNj+Nia7hF0Z7JA= +cloud.google.com/go/lifesciences v0.9.5 h1:gXvN70m2p+4zgJFzaz6gMKaxTuF9WJ0USYoMLWAOm8g= cloud.google.com/go/lifesciences v0.9.5/go.mod h1:OdBm0n7C0Osh5yZB7j9BXyrMnTRGBJIZonUMxo5CzPw= cloud.google.com/go/logging v1.8.1 h1:26skQWPeYhvIasWKm48+Eq7oUqdcdbwsCVwz5Ys0FvU= cloud.google.com/go/logging v1.8.1/go.mod h1:TJjR+SimHwuC8MZ9cjByQulAMgni+RkXeI3wwctHJEI= +cloud.google.com/go/logging v1.9.0 h1:iEIOXFO9EmSiTjDmfpbRjOxECO7R8C7b8IXUGOj7xZw= cloud.google.com/go/logging v1.9.0/go.mod h1:1Io0vnZv4onoUnsVUQY3HZ3Igb1nBchky0A0y7BBBhE= cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= cloud.google.com/go/longrunning v0.5.2/go.mod h1:nqo6DQbNV2pXhGDbDMoN2bWz68MjZUzqv2YttZiveCs= @@ -330,101 +379,118 @@ cloud.google.com/go/longrunning v0.5.3 h1:maKa7O9YTzmVzwdlRKr981U1Ys2auup6rpeMt8 cloud.google.com/go/longrunning v0.5.3/go.mod h1:y/0ga59EYu58J6SHmmQOvekvND2qODbu8ywBBW7EK7Y= cloud.google.com/go/longrunning v0.5.4 h1:w8xEcbZodnA2BbW6sVirkkoC+1gP8wS57EUUgGS0GVg= cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI= +cloud.google.com/go/longrunning v0.5.5 h1:GOE6pZFdSrTb4KAiKnXsJBtlE6mEyaW44oKyMILWnOg= cloud.google.com/go/longrunning v0.5.5/go.mod h1:WV2LAxD8/rg5Z1cNW6FJ/ZpX4E4VnDnoTk0yawPBB7s= cloud.google.com/go/managedidentities v1.6.3 h1:hfWT2pidjP19mYJxTWMbfj8/wj9OZNUtB/oZ3HW0K8g= cloud.google.com/go/managedidentities v1.6.3/go.mod h1:tewiat9WLyFN0Fi7q1fDD5+0N4VUoL0SCX0OTCthZq4= cloud.google.com/go/managedidentities v1.6.4 h1:SF/u1IJduMqQQdJA4MDyivlIQ4SrV5qAawkr/ZEREkY= cloud.google.com/go/managedidentities v1.6.4/go.mod h1:WgyaECfHmF00t/1Uk8Oun3CQ2PGUtjc3e9Alh79wyiM= +cloud.google.com/go/managedidentities v1.6.5 h1:+bpih1piZVLxla/XBqeSUzJBp8gv9plGHIMAI7DLpDM= cloud.google.com/go/managedidentities v1.6.5/go.mod h1:fkFI2PwwyRQbjLxlm5bQ8SjtObFMW3ChBGNqaMcgZjI= cloud.google.com/go/maps v1.5.1 h1:j5AJNj9mbPTwqrqFmAHzMY3UX+Eddj/jC9xu7qFMVhk= cloud.google.com/go/maps v1.5.1/go.mod h1:NPMZw1LJwQZYCfz4y+EIw+SI+24A4bpdFJqdKVr0lt4= cloud.google.com/go/maps v1.6.1 h1:2+eMp/1MvMPp5qrSOd3vtnLKa/pylt+krVRqET3jWsM= cloud.google.com/go/maps v1.6.1/go.mod h1:4+buOHhYXFBp58Zj/K+Lc1rCmJssxxF4pJ5CJnhdz18= +cloud.google.com/go/maps v1.6.4 h1:EVCZAiDvog9So46460BGbCasPhi613exoaQbpilMVlk= cloud.google.com/go/maps v1.6.4/go.mod h1:rhjqRy8NWmDJ53saCfsXQ0LKwBHfi6OSh5wkq6BaMhI= cloud.google.com/go/mediatranslation v0.8.3 h1:3B75VHLlp4M+W10NHEOAl30q7ZSd0D/i8LqRQqxqMM0= cloud.google.com/go/mediatranslation v0.8.3/go.mod h1:F9OnXTy336rteOEywtY7FOqCk+J43o2RF638hkOQl4Y= cloud.google.com/go/mediatranslation v0.8.4 h1:VRCQfZB4s6jN0CSy7+cO3m4ewNwgVnaePanVCQh/9Z4= cloud.google.com/go/mediatranslation v0.8.4/go.mod h1:9WstgtNVAdN53m6TQa5GjIjLqKQPXe74hwSCxUP6nj4= +cloud.google.com/go/mediatranslation v0.8.5 h1:c76KdIXljQHSCb/Cy47S8H4s05A4zbK3pAFGzwcczZo= cloud.google.com/go/mediatranslation v0.8.5/go.mod h1:y7kTHYIPCIfgyLbKncgqouXJtLsU+26hZhHEEy80fSs= cloud.google.com/go/memcache v1.10.3 h1:yD1ZDTXP7YfT5lBLRNioqZ427iaHaoqW5aMKXtM0acQ= cloud.google.com/go/memcache v1.10.3/go.mod h1:6z89A41MT2DVAW0P4iIRdu5cmRTsbsFn4cyiIx8gbwo= cloud.google.com/go/memcache v1.10.4 h1:cdex/ayDd294XBj2cGeMe6Y+H1JvhN8y78B9UW7pxuQ= cloud.google.com/go/memcache v1.10.4/go.mod h1:v/d8PuC8d1gD6Yn5+I3INzLR01IDn0N4Ym56RgikSI0= +cloud.google.com/go/memcache v1.10.5 h1:yeDv5qxRedFosvpMSEswrqUsJM5OdWvssPHFliNFTc4= cloud.google.com/go/memcache v1.10.5/go.mod h1:/FcblbNd0FdMsx4natdj+2GWzTq+cjZvMa1I+9QsuMA= cloud.google.com/go/metastore v1.13.2 h1:ATz8sWfuHmlqAkPpWGRXQzZFUsgbDkAhZOyNlce83vA= cloud.google.com/go/metastore v1.13.2/go.mod h1:KS59dD+unBji/kFebVp8XU/quNSyo8b6N6tPGspKszA= cloud.google.com/go/metastore v1.13.3 h1:94l/Yxg9oBZjin2bzI79oK05feYefieDq0o5fjLSkC8= cloud.google.com/go/metastore v1.13.3/go.mod h1:K+wdjXdtkdk7AQg4+sXS8bRrQa9gcOr+foOMF2tqINE= +cloud.google.com/go/metastore v1.13.4 h1:dR7vqWXlK6IYR8Wbu9mdFfwlVjodIBhd1JRrpZftTEg= cloud.google.com/go/metastore v1.13.4/go.mod h1:FMv9bvPInEfX9Ac1cVcRXp8EBBQnBcqH6gz3KvJ9BAE= cloud.google.com/go/monitoring v1.16.2 h1:gx7BDZcoRqX5DfuJzw9LdhVjEkqCLmDXScdnrmIy9ik= cloud.google.com/go/monitoring v1.16.2/go.mod h1:B44KGwi4ZCF8Rk/5n+FWeispDXoKSk9oss2QNlXJBgc= cloud.google.com/go/monitoring v1.16.3 h1:mf2SN9qSoBtIgiMA4R/y4VADPWZA7VCNJA079qLaZQ8= cloud.google.com/go/monitoring v1.16.3/go.mod h1:KwSsX5+8PnXv5NJnICZzW2R8pWTis8ypC4zmdRD63Tw= +cloud.google.com/go/monitoring v1.18.0 h1:NfkDLQDG2UR3WYZVQE8kwSbUIEyIqJUPl+aOQdFH1T4= cloud.google.com/go/monitoring v1.18.0/go.mod h1:c92vVBCeq/OB4Ioyo+NbN2U7tlg5ZH41PZcdvfc+Lcg= cloud.google.com/go/networkconnectivity v1.14.2 h1:tbzauwO86MlZ7+7OmxA0+PnEEgK2AXo9lGrUIL0++qc= cloud.google.com/go/networkconnectivity v1.14.2/go.mod h1:5UFlwIisZylSkGG1AdwK/WZUaoz12PKu6wODwIbFzJo= cloud.google.com/go/networkconnectivity v1.14.3 h1:e9lUkCe2BexsqsUc2bjV8+gFBpQa54J+/F3qKVtW+wA= cloud.google.com/go/networkconnectivity v1.14.3/go.mod h1:4aoeFdrJpYEXNvrnfyD5kIzs8YtHg945Og4koAjHQek= +cloud.google.com/go/networkconnectivity v1.14.4 h1:GBfXFhLyPspnaBE3nI/BRjdhW8vcbpT9QjE/4kDCDdc= cloud.google.com/go/networkconnectivity v1.14.4/go.mod h1:PU12q++/IMnDJAB+3r+tJtuCXCfwfN+C6Niyj6ji1Po= cloud.google.com/go/networkmanagement v1.9.2 h1:v5RWynWBSX91pDnGp/7+5ME0/wLsjIzrC6vlICE/YPs= cloud.google.com/go/networkmanagement v1.9.2/go.mod h1:iDGvGzAoYRghhp4j2Cji7sF899GnfGQcQRQwgVOWnDw= cloud.google.com/go/networkmanagement v1.9.3 h1:HsQk4FNKJUX04k3OI6gUsoveiHMGvDRqlaFM2xGyvqU= cloud.google.com/go/networkmanagement v1.9.3/go.mod h1:y7WMO1bRLaP5h3Obm4tey+NquUvB93Co1oh4wpL+XcU= +cloud.google.com/go/networkmanagement v1.9.4 h1:aLV5GcosBNmd6M8+a0ekB0XlLRexv4fvnJJrYnqeBcg= cloud.google.com/go/networkmanagement v1.9.4/go.mod h1:daWJAl0KTFytFL7ar33I6R/oNBH8eEOX/rBNHrC/8TA= cloud.google.com/go/networksecurity v0.9.3 h1:t1QESL7xdq/fIoPHrduMWsMDYnM092UUuuiDvnXgrsk= cloud.google.com/go/networksecurity v0.9.3/go.mod h1:l+C0ynM6P+KV9YjOnx+kk5IZqMSLccdBqW6GUoF4p/0= cloud.google.com/go/networksecurity v0.9.4 h1:947tNIPnj1bMGTIEBo3fc4QrrFKS5hh0bFVsHmFm4Vo= cloud.google.com/go/networksecurity v0.9.4/go.mod h1:E9CeMZ2zDsNBkr8axKSYm8XyTqNhiCHf1JO/Vb8mD1w= +cloud.google.com/go/networksecurity v0.9.5 h1:+caSxBTj0E8OYVh/5wElFdjEMO1S/rZtE1152Cepchc= cloud.google.com/go/networksecurity v0.9.5/go.mod h1:KNkjH/RsylSGyyZ8wXpue8xpCEK+bTtvof8SBfIhMG8= cloud.google.com/go/notebooks v1.11.1 h1:fW/P76U437Eyzl1qEwqQSPeToiMB1LM1QyRGR0FpsG4= cloud.google.com/go/notebooks v1.11.1/go.mod h1:V2Zkv8wX9kDCGRJqYoI+bQAaoVeE5kSiz4yYHd2yJwQ= cloud.google.com/go/notebooks v1.11.2 h1:eTOTfNL1yM6L/PCtquJwjWg7ZZGR0URFaFgbs8kllbM= cloud.google.com/go/notebooks v1.11.2/go.mod h1:z0tlHI/lREXC8BS2mIsUeR3agM1AkgLiS+Isov3SS70= +cloud.google.com/go/notebooks v1.11.3 h1:FH48boYmrWVQ6k0Mx/WrnNafXncT5iSYxA8CNyWTgy0= cloud.google.com/go/notebooks v1.11.3/go.mod h1:0wQyI2dQC3AZyQqWnRsp+yA+kY4gC7ZIVP4Qg3AQcgo= cloud.google.com/go/optimization v1.6.1 h1:sY8QjN37zKQfXCZaUSfGvpVGqyFXO2/vNvrhXMj28eI= cloud.google.com/go/optimization v1.6.1/go.mod h1:hH2RYPTTM9e9zOiTaYPTiGPcGdNZVnBSBxjIAJzUkqo= cloud.google.com/go/optimization v1.6.2 h1:iFsoexcp13cGT3k/Hv8PA5aK+FP7FnbhwDO9llnruas= cloud.google.com/go/optimization v1.6.2/go.mod h1:mWNZ7B9/EyMCcwNl1frUGEuY6CPijSkz88Fz2vwKPOY= +cloud.google.com/go/optimization v1.6.3 h1:63NZaWyN+5rZEKHPX4ACpw3BjgyeuY8+rCehiCMaGPY= cloud.google.com/go/optimization v1.6.3/go.mod h1:8ve3svp3W6NFcAEFr4SfJxrldzhUl4VMUJmhrqVKtYA= cloud.google.com/go/orchestration v1.8.3 h1:+oaZtNXbCE9QBV/hCUo8Kf5VFILMfg2KR1n6oh8LB/o= cloud.google.com/go/orchestration v1.8.3/go.mod h1:xhgWAYqlbYjlz2ftbFghdyqENYW+JXuhBx9KsjMoGHs= cloud.google.com/go/orchestration v1.8.4 h1:kgwZ2f6qMMYIVBtUGGoU8yjYWwMTHDanLwM/CQCFaoQ= cloud.google.com/go/orchestration v1.8.4/go.mod h1:d0lywZSVYtIoSZXb0iFjv9SaL13PGyVOKDxqGxEf/qI= +cloud.google.com/go/orchestration v1.8.5 h1:YHgWMlrPttIVGItgGfuvO2KM7x+y9ivN/Yk92pMm1a4= cloud.google.com/go/orchestration v1.8.5/go.mod h1:C1J7HesE96Ba8/hZ71ISTV2UAat0bwN+pi85ky38Yq8= cloud.google.com/go/orgpolicy v1.11.3 h1:oqXeClkeznFGEd/rcu4T0WYOTh5ec6OkkXskaShD4hM= cloud.google.com/go/orgpolicy v1.11.3/go.mod h1:oKAtJ/gkMjum5icv2aujkP4CxROxPXsBbYGCDbPO8MM= cloud.google.com/go/orgpolicy v1.11.4 h1:RWuXQDr9GDYhjmrredQJC7aY7cbyqP9ZuLbq5GJGves= cloud.google.com/go/orgpolicy v1.11.4/go.mod h1:0+aNV/nrfoTQ4Mytv+Aw+stBDBjNf4d8fYRA9herfJI= +cloud.google.com/go/orgpolicy v1.12.1 h1:2JbXigqBJVp8Dx5dONUttFqewu4fP0p3pgOdIZAhpYU= cloud.google.com/go/orgpolicy v1.12.1/go.mod h1:aibX78RDl5pcK3jA8ysDQCFkVxLj3aOQqrbBaUL2V5I= cloud.google.com/go/osconfig v1.12.3 h1:PumxpZU71EpygOx0zkrx2HxlMvpyUmENB4e5nQc3+KM= cloud.google.com/go/osconfig v1.12.3/go.mod h1:L/fPS8LL6bEYUi1au832WtMnPeQNT94Zo3FwwV1/xGM= cloud.google.com/go/osconfig v1.12.4 h1:OrRCIYEAbrbXdhm13/JINn9pQchvTTIzgmOCA7uJw8I= cloud.google.com/go/osconfig v1.12.4/go.mod h1:B1qEwJ/jzqSRslvdOCI8Kdnp0gSng0xW4LOnIebQomA= +cloud.google.com/go/osconfig v1.12.5 h1:Mo5jGAxOMKH/PmDY7fgY19yFcVbvwREb5D5zMPQjFfo= cloud.google.com/go/osconfig v1.12.5/go.mod h1:D9QFdxzfjgw3h/+ZaAb5NypM8bhOMqBzgmbhzWViiW8= cloud.google.com/go/oslogin v1.12.1 h1:kAQFiAT/+jefVnYYNT4+PxdHrZTFSgeJoE6ykhaGlNo= cloud.google.com/go/oslogin v1.12.1/go.mod h1:VfwTeFJGbnakxAY236eN8fsnglLiVXndlbcNomY4iZU= cloud.google.com/go/oslogin v1.12.2 h1:NP/KgsD9+0r9hmHC5wKye0vJXVwdciv219DtYKYjgqE= cloud.google.com/go/oslogin v1.12.2/go.mod h1:CQ3V8Jvw4Qo4WRhNPF0o+HAM4DiLuE27Ul9CX9g2QdY= +cloud.google.com/go/oslogin v1.13.1 h1:1K4nOT5VEZNt7XkhaTXupBYos5HjzvJMfhvyD2wWdFs= cloud.google.com/go/oslogin v1.13.1/go.mod h1:vS8Sr/jR7QvPWpCjNqy6LYZr5Zs1e8ZGW/KPn9gmhws= cloud.google.com/go/phishingprotection v0.8.3 h1:ZVYpZWmg8leUAp4y5XzhxropUfkcAmwOwsmr4i1D1Mc= cloud.google.com/go/phishingprotection v0.8.3/go.mod h1:3B01yO7T2Ra/TMojifn8EoGd4G9jts/6cIO0DgDY9J8= cloud.google.com/go/phishingprotection v0.8.4 h1:sPLUQkHq6b4AL0czSJZ0jd6vL55GSTHz2B3Md+TCZI0= cloud.google.com/go/phishingprotection v0.8.4/go.mod h1:6b3kNPAc2AQ6jZfFHioZKg9MQNybDg4ixFd4RPZZ2nE= +cloud.google.com/go/phishingprotection v0.8.5 h1:DH3WFLzEoJdW/6xgsmoDqOwT1xddFi7gKu0QGZQhpGU= cloud.google.com/go/phishingprotection v0.8.5/go.mod h1:g1smd68F7mF1hgQPuYn3z8HDbNre8L6Z0b7XMYFmX7I= cloud.google.com/go/policytroubleshooter v1.10.1 h1:TboGw1ua94FjA/Zgj9Gl4Ksgs/TyasQmAkW9w+vyje4= cloud.google.com/go/policytroubleshooter v1.10.1/go.mod h1:5C0rhT3TDZVxAu8813bwmTvd57Phbl8mr9F4ipOsxEs= cloud.google.com/go/policytroubleshooter v1.10.2 h1:sq+ScLP83d7GJy9+wpwYJVnY+q6xNTXwOdRIuYjvHT4= cloud.google.com/go/policytroubleshooter v1.10.2/go.mod h1:m4uF3f6LseVEnMV6nknlN2vYGRb+75ylQwJdnOXfnv0= +cloud.google.com/go/policytroubleshooter v1.10.3 h1:c0WOzC6hz964QWNBkyKfna8A2jOIx1zzZa43Gx/P09o= cloud.google.com/go/policytroubleshooter v1.10.3/go.mod h1:+ZqG3agHT7WPb4EBIRqUv4OyIwRTZvsVDHZ8GlZaoxk= cloud.google.com/go/privatecatalog v0.9.3 h1:xSUuUCfA5fo59N1hsQmvzgNispoORTUvqN27XXyWFWg= cloud.google.com/go/privatecatalog v0.9.3/go.mod h1:K5pn2GrVmOPjXz3T26mzwXLcKivfIJ9R5N79AFCF9UE= cloud.google.com/go/privatecatalog v0.9.4 h1:Vo10IpWKbNvc/z/QZPVXgCiwfjpWoZ/wbgful4Uh/4E= cloud.google.com/go/privatecatalog v0.9.4/go.mod h1:SOjm93f+5hp/U3PqMZAHTtBtluqLygrDrVO8X8tYtG0= +cloud.google.com/go/privatecatalog v0.9.5 h1:UZ0assTnATXSggoxUIh61RjTQ4P9zCMk/kEMbn0nMYA= cloud.google.com/go/privatecatalog v0.9.5/go.mod h1:fVWeBOVe7uj2n3kWRGlUQqR/pOd450J9yZoOECcQqJk= cloud.google.com/go/pubsub v1.33.0 h1:6SPCPvWav64tj0sVX/+npCBKhUi/UjJehy9op/V3p2g= cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= -cloud.google.com/go/pubsub v1.36.1 h1:dfEPuGCHGbWUhaMCTHUFjfroILEkx55iUmKBZTP5f+Y= -cloud.google.com/go/pubsub v1.36.1/go.mod h1:iYjCa9EzWOoBiTdd4ps7QoMtMln5NwaZQpK1hbRfBDE= cloud.google.com/go/pubsublite v1.8.1 h1:pX+idpWMIH30/K7c0epN6V703xpIcMXWRjKJsz0tYGY= cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= cloud.google.com/go/recaptchaenterprise v1.3.1 h1:u6EznTGzIdsyOsvm+Xkw0aSuKFXQlyjGE9a4exk6iNQ= @@ -432,67 +498,80 @@ cloud.google.com/go/recaptchaenterprise/v2 v2.8.2 h1:vbPKIAPiFxHG7uNXZmuivxbox17 cloud.google.com/go/recaptchaenterprise/v2 v2.8.2/go.mod h1:kpaDBOpkwD4G0GVMzG1W6Doy1tFFC97XAV3xy+Rd/pw= cloud.google.com/go/recaptchaenterprise/v2 v2.8.4 h1:KOlLHLv3h3HwcZAkx91ubM3Oztz3JtT3ZacAJhWDorQ= cloud.google.com/go/recaptchaenterprise/v2 v2.8.4/go.mod h1:Dak54rw6lC2gBY8FBznpOCAR58wKf+R+ZSJRoeJok4w= +cloud.google.com/go/recaptchaenterprise/v2 v2.9.2 h1:U3Wfq12X9cVMuTpsWDSURnXF0Z9hSPTHj+xsnXDRLsw= cloud.google.com/go/recaptchaenterprise/v2 v2.9.2/go.mod h1:trwwGkfhCmp05Ll5MSJPXY7yvnO0p4v3orGANAFHAuU= cloud.google.com/go/recommendationengine v0.8.3 h1:A58sxjTGDJC+a2zkCzbYdLtPG1OQ7WijwCv7ZsTKIP8= cloud.google.com/go/recommendationengine v0.8.3/go.mod h1:m3b0RZV02BnODE9FeSvGv1qibFo8g0OnmB/RMwYy4V8= cloud.google.com/go/recommendationengine v0.8.4 h1:JRiwe4hvu3auuh2hujiTc2qNgPPfVp+Q8KOpsXlEzKQ= cloud.google.com/go/recommendationengine v0.8.4/go.mod h1:GEteCf1PATl5v5ZsQ60sTClUE0phbWmo3rQ1Js8louU= +cloud.google.com/go/recommendationengine v0.8.5 h1:ineqLswaCSBY0csYv5/wuXJMBlxATK6Xc5jJkpiTEdM= cloud.google.com/go/recommendationengine v0.8.5/go.mod h1:A38rIXHGFvoPvmy6pZLozr0g59NRNREz4cx7F58HAsQ= cloud.google.com/go/recommender v1.11.2 h1:/uQYJ01mKw0cig+DeMTQ+JuG0BEwVfxVh2gGIG93UEw= cloud.google.com/go/recommender v1.11.2/go.mod h1:AeoJuzOvFR/emIcXdVFkspVXVTYpliRCmKNYDnyBv6Y= cloud.google.com/go/recommender v1.11.3 h1:VndmgyS/J3+izR8V8BHa7HV/uun8//ivQ3k5eVKKyyM= cloud.google.com/go/recommender v1.11.3/go.mod h1:+FJosKKJSId1MBFeJ/TTyoGQZiEelQQIZMKYYD8ruK4= +cloud.google.com/go/recommender v1.12.1 h1:LVLYS3r3u0MSCxQSDUtLSkporEGi9OAE6hGvayrZNPs= cloud.google.com/go/recommender v1.12.1/go.mod h1:gf95SInWNND5aPas3yjwl0I572dtudMhMIG4ni8nr+0= cloud.google.com/go/redis v1.13.3 h1:+SH8u5Mrgo8EQG/0/C9fwBnzjYS4CQIm+ZK0nlFtg5I= cloud.google.com/go/redis v1.13.3/go.mod h1:vbUpCKUAZSYzFcWKmICnYgRAhTFg9r+djWqFxDYXi4U= cloud.google.com/go/redis v1.14.1 h1:J9cEHxG9YLmA9o4jTSvWt/RuVEn6MTrPlYSCRHujxDQ= cloud.google.com/go/redis v1.14.1/go.mod h1:MbmBxN8bEnQI4doZPC1BzADU4HGocHBk2de3SbgOkqs= +cloud.google.com/go/redis v1.14.2 h1:QF0maEdVv0Fj/2roU8sX3NpiDBzP9ICYTO+5F32gQNo= cloud.google.com/go/redis v1.14.2/go.mod h1:g0Lu7RRRz46ENdFKQ2EcQZBAJ2PtJHJLuiiRuEXwyQw= cloud.google.com/go/resourcemanager v1.9.3 h1:jftfMUTNJLM9V+4wvMQfKfJfQVWcPJifWsMQnJyL3Jk= cloud.google.com/go/resourcemanager v1.9.3/go.mod h1:IqrY+g0ZgLsihcfcmqSe+RKp1hzjXwG904B92AwBz6U= cloud.google.com/go/resourcemanager v1.9.4 h1:JwZ7Ggle54XQ/FVYSBrMLOQIKoIT/uer8mmNvNLK51k= cloud.google.com/go/resourcemanager v1.9.4/go.mod h1:N1dhP9RFvo3lUfwtfLWVxfUWq8+KUQ+XLlHLH3BoFJ0= +cloud.google.com/go/resourcemanager v1.9.5 h1:AZWr1vWVDKGwfLsVhcN+vcwOz3xqqYxtmMa0aABCMms= cloud.google.com/go/resourcemanager v1.9.5/go.mod h1:hep6KjelHA+ToEjOfO3garMKi/CLYwTqeAw7YiEI9x8= cloud.google.com/go/resourcesettings v1.6.3 h1:T3HzhoHhk0VdEdXm5p+KKoC7jh9C4Xpe3BnNf64UfKU= cloud.google.com/go/resourcesettings v1.6.3/go.mod h1:pno5D+7oDYkMWZ5BpPsb4SO0ewg3IXcmmrUZaMJrFic= cloud.google.com/go/resourcesettings v1.6.4 h1:yTIL2CsZswmMfFyx2Ic77oLVzfBFoWBYgpkgiSPnC4Y= cloud.google.com/go/resourcesettings v1.6.4/go.mod h1:pYTTkWdv2lmQcjsthbZLNBP4QW140cs7wqA3DuqErVI= +cloud.google.com/go/resourcesettings v1.6.5 h1:BTr5MVykJwClASci/7Og4Qfx70aQ4n3epsNLj94ZYgw= cloud.google.com/go/resourcesettings v1.6.5/go.mod h1:WBOIWZraXZOGAgoR4ukNj0o0HiSMO62H9RpFi9WjP9I= cloud.google.com/go/retail v1.14.3 h1:pFW+3HJI5qHdE5yprmciAsM6G6cp0h0RH8FELX8K7sw= cloud.google.com/go/retail v1.14.3/go.mod h1:Omz2akDHeSlfCq8ArPKiBxlnRpKEBjUH386JYFLUvXo= cloud.google.com/go/retail v1.14.4 h1:geqdX1FNqqL2p0ADXjPpw8lq986iv5GrVcieTYafuJQ= cloud.google.com/go/retail v1.14.4/go.mod h1:l/N7cMtY78yRnJqp5JW8emy7MB1nz8E4t2yfOmklYfg= +cloud.google.com/go/retail v1.16.0 h1:Fn1GuAua1c6crCGqfJ1qMxG1Xh10Tg/x5EUODEHMqkw= cloud.google.com/go/retail v1.16.0/go.mod h1:LW7tllVveZo4ReWt68VnldZFWJRzsh9np+01J9dYWzE= cloud.google.com/go/run v1.3.2 h1:AiA5O0YTCTkLQaJu+HFAS0W/jktmiNydOUgg/d0xQrs= cloud.google.com/go/run v1.3.2/go.mod h1:SIhmqArbjdU/D9M6JoHaAqnAMKLFtXaVdNeq04NjnVE= cloud.google.com/go/run v1.3.3 h1:qdfZteAm+vgzN1iXzILo3nJFQbzziudkJrvd9wCf3FQ= cloud.google.com/go/run v1.3.3/go.mod h1:WSM5pGyJ7cfYyYbONVQBN4buz42zFqwG67Q3ch07iK4= +cloud.google.com/go/run v1.3.4 h1:m9WDA7DzTpczhZggwYlZcBWgCRb+kgSIisWn1sbw2rQ= cloud.google.com/go/run v1.3.4/go.mod h1:FGieuZvQ3tj1e9GnzXqrMABSuir38AJg5xhiYq+SF3o= cloud.google.com/go/scheduler v1.10.3 h1:1UwFQBqNlwnfpjZbPYitdV/GURiVRg4gbhRnKtL5ZRg= cloud.google.com/go/scheduler v1.10.3/go.mod h1:8ANskEM33+sIbpJ+R4xRfw/jzOG+ZFE8WVLy7/yGvbc= cloud.google.com/go/scheduler v1.10.5 h1:eMEettHlFhG5pXsoHouIM5nRT+k+zU4+GUvRtnxhuVI= cloud.google.com/go/scheduler v1.10.5/go.mod h1:MTuXcrJC9tqOHhixdbHDFSIuh7xZF2IysiINDuiq6NI= +cloud.google.com/go/scheduler v1.10.6 h1:5U8iXLoQ03qOB+ZXlAecU7fiE33+u3QiM9nh4cd0eTE= cloud.google.com/go/scheduler v1.10.6/go.mod h1:pe2pNCtJ+R01E06XCDOJs1XvAMbv28ZsQEbqknxGOuE= cloud.google.com/go/secretmanager v1.11.3 h1:Xk7NFAUuW9q+eX4AxwS/dDuhlNWQ1MmfxQpsfbgRsEg= cloud.google.com/go/secretmanager v1.11.3/go.mod h1:0bA2o6FabmShrEy328i67aV+65XoUFFSmVeLBn/51jI= cloud.google.com/go/secretmanager v1.11.4 h1:krnX9qpG2kR2fJ+u+uNyNo+ACVhplIAS4Pu7u+4gd+k= cloud.google.com/go/secretmanager v1.11.4/go.mod h1:wreJlbS9Zdq21lMzWmJ0XhWW2ZxgPeahsqeV/vZoJ3w= +cloud.google.com/go/secretmanager v1.11.5 h1:82fpF5vBBvu9XW4qj0FU2C6qVMtj1RM/XHwKXUEAfYY= cloud.google.com/go/secretmanager v1.11.5/go.mod h1:eAGv+DaCHkeVyQi0BeXgAHOU0RdrMeZIASKc+S7VqH4= cloud.google.com/go/security v1.15.3 h1:RXYyXEtudhyqqNZNzVZWuDW5BkSCfqo2OOgOKcxg1Ho= cloud.google.com/go/security v1.15.3/go.mod h1:gQ/7Q2JYUZZgOzqKtw9McShH+MjNvtDpL40J1cT+vBs= cloud.google.com/go/security v1.15.4 h1:sdnh4Islb1ljaNhpIXlIPgb3eYj70QWgPVDKOUYvzJc= cloud.google.com/go/security v1.15.4/go.mod h1:oN7C2uIZKhxCLiAAijKUCuHLZbIt/ghYEo8MqwD/Ty4= +cloud.google.com/go/security v1.15.5 h1:wTKJQ10j8EYgvE8Y+KhovxDRVDk2iv/OsxZ6GrLP3kE= cloud.google.com/go/security v1.15.5/go.mod h1:KS6X2eG3ynWjqcIX976fuToN5juVkF6Ra6c7MPnldtc= cloud.google.com/go/securitycenter v1.24.1 h1:oJRemSVC122SKmPV1aEkMOTnFHsnHwsQtXBBV55AxoU= cloud.google.com/go/securitycenter v1.24.1/go.mod h1:3h9IdjjHhVMXdQnmqzVnM7b0wMn/1O/U20eWVpMpZjI= cloud.google.com/go/securitycenter v1.24.2 h1:qCEyXoJoxNKKA1bDywBjjqCB7ODXazzHnVWnG5Uqd1M= cloud.google.com/go/securitycenter v1.24.2/go.mod h1:l1XejOngggzqwr4Fa2Cn+iWZGf+aBLTXtB/vXjy5vXM= +cloud.google.com/go/securitycenter v1.24.4 h1:/5jjkZ+uGe8hZ7pvd7pO30VW/a+pT2MrrdgOqjyucKQ= cloud.google.com/go/securitycenter v1.24.4/go.mod h1:PSccin+o1EMYKcFQzz9HMMnZ2r9+7jbc+LvPjXhpwcU= cloud.google.com/go/servicecontrol v1.11.1 h1:d0uV7Qegtfaa7Z2ClDzr9HJmnbJW7jn0WhZ7wOX6hLE= cloud.google.com/go/servicedirectory v1.11.2 h1:vdo3qTQWhCB408ckNYqS29i8btBSiVDSWDYSLKc0iF8= cloud.google.com/go/servicedirectory v1.11.2/go.mod h1:KD9hCLhncWRV5jJphwIpugKwM5bn1x0GyVVD4NO8mGg= cloud.google.com/go/servicedirectory v1.11.3 h1:5niCMfkw+jifmFtbBrtRedbXkJm3fubSR/KHbxSJZVM= cloud.google.com/go/servicedirectory v1.11.3/go.mod h1:LV+cHkomRLr67YoQy3Xq2tUXBGOs5z5bPofdq7qtiAw= +cloud.google.com/go/servicedirectory v1.11.4 h1:da7HFI1229kyzIyuVEzHXip0cw0d+E0s8mjQby0WN+k= cloud.google.com/go/servicedirectory v1.11.4/go.mod h1:Bz2T9t+/Ehg6x+Y7Ycq5xiShYLD96NfEsWNHyitj1qM= cloud.google.com/go/servicemanagement v1.8.0 h1:fopAQI/IAzlxnVeiKn/8WiV6zKndjFkvi+gzu+NjywY= cloud.google.com/go/serviceusage v1.6.0 h1:rXyq+0+RSIm3HFypctp7WoXxIA563rn206CfMWdqXX4= @@ -500,98 +579,117 @@ cloud.google.com/go/shell v1.7.3 h1:qujhSLWp8XUsFMp+RgGn2w+BBrQ7AnymGd+6TRaJ4HM= cloud.google.com/go/shell v1.7.3/go.mod h1:cTTEz/JdaBsQAeTQ3B6HHldZudFoYBOqjteev07FbIc= cloud.google.com/go/shell v1.7.4 h1:nurhlJcSVFZneoRZgkBEHumTYf/kFJptCK2eBUq/88M= cloud.google.com/go/shell v1.7.4/go.mod h1:yLeXB8eKLxw0dpEmXQ/FjriYrBijNsONpwnWsdPqlKM= +cloud.google.com/go/shell v1.7.5 h1:3Fq2hzO0ZSyaqBboJrFkwwf/qMufDtqwwA6ep8EZxEI= cloud.google.com/go/shell v1.7.5/go.mod h1:hL2++7F47/IfpfTO53KYf1EC+F56k3ThfNEXd4zcuiE= cloud.google.com/go/spanner v1.51.0 h1:l3exhhsVMKsx1E7Xd1QajYSvHmI1KZoWPW5tRxIIdvQ= cloud.google.com/go/spanner v1.51.0/go.mod h1:c5KNo5LQ1X5tJwma9rSQZsXNBDNvj4/n8BVc3LNahq0= cloud.google.com/go/spanner v1.53.0 h1:/NzWQJ1MEhdRcffiutRKbW/AIGVKhcTeivWTDjEyCCo= cloud.google.com/go/spanner v1.53.0/go.mod h1:liG4iCeLqm5L3fFLU5whFITqP0e0orsAW1uUSrd4rws= +cloud.google.com/go/spanner v1.56.0 h1:o/Cv7/zZ1WgRXVCd5g3Nc23ZI39p/1pWFqFwvg6Wcu8= cloud.google.com/go/spanner v1.56.0/go.mod h1:DndqtUKQAt3VLuV2Le+9Y3WTnq5cNKrnLb/Piqcj+h0= cloud.google.com/go/spanner v1.57.0/go.mod h1:aXQ5QDdhPRIqVhYmnkAdwPYvj/DRN0FguclhEWw+jOo= cloud.google.com/go/speech v1.19.2 h1:BvK9bjSW3Ut1hNvYXn2nlu/oGE+MUyjfIEZcI3kgbM8= cloud.google.com/go/speech v1.19.2/go.mod h1:2OYFfj+Ch5LWjsaSINuCZsre/789zlcCI3SY4oAi2oI= cloud.google.com/go/speech v1.21.0 h1:qkxNao58oF8ghAHE1Eghen7XepawYEN5zuZXYWaUTA4= cloud.google.com/go/speech v1.21.0/go.mod h1:wwolycgONvfz2EDU8rKuHRW3+wc9ILPsAWoikBEWavY= +cloud.google.com/go/speech v1.21.1 h1:nuFc+Kj5B8de75nN4FdPyUbI2SiBoHZG6BLurXL56Q0= cloud.google.com/go/speech v1.21.1/go.mod h1:E5GHZXYQlkqWQwY5xRSLHw2ci5NMQNG52FfMU1aZrIA= cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= cloud.google.com/go/storage v1.37.0/go.mod h1:i34TiT2IhiNDmcj65PqwCjcoUX7Z5pLzS8DEmoiFq1k= +cloud.google.com/go/storage v1.38.0 h1:Az68ZRGlnNTpIBbLjSMIV2BDcwwXYlRlQzis0llkpJg= cloud.google.com/go/storage v1.38.0/go.mod h1:tlUADB0mAb9BgYls9lq+8MGkfzOXuLrnHXlpHmvFJoY= cloud.google.com/go/storagetransfer v1.10.2 h1:rlcXNHgZY/1OIsZHAVDUu2roTs1/3UiVUdUSGnjw4aY= cloud.google.com/go/storagetransfer v1.10.2/go.mod h1:meIhYQup5rg9juQJdyppnA/WLQCOguxtk1pr3/vBWzA= cloud.google.com/go/storagetransfer v1.10.3 h1:YM1dnj5gLjfL6aDldO2s4GeU8JoAvH1xyIwXre63KmI= cloud.google.com/go/storagetransfer v1.10.3/go.mod h1:Up8LY2p6X68SZ+WToswpQbQHnJpOty/ACcMafuey8gc= +cloud.google.com/go/storagetransfer v1.10.4 h1:dy4fL3wO0VABvzM05ycMUPFHxTPbJz9Em8ikAJVqSbI= cloud.google.com/go/storagetransfer v1.10.4/go.mod h1:vef30rZKu5HSEf/x1tK3WfWrL0XVoUQN/EPDRGPzjZs= cloud.google.com/go/talent v1.6.4 h1:yLBx78BoR5/sOCE0O6XqzaqL4KLM0+2BEdQBua9Zy1c= cloud.google.com/go/talent v1.6.4/go.mod h1:QsWvi5eKeh6gG2DlBkpMaFYZYrYUnIpo34f6/V5QykY= cloud.google.com/go/talent v1.6.5 h1:LnRJhhYkODDBoTwf6BeYkiJHFw9k+1mAFNyArwZUZAs= cloud.google.com/go/talent v1.6.5/go.mod h1:Mf5cma696HmE+P2BWJ/ZwYqeJXEeU0UqjHFXVLadEDI= +cloud.google.com/go/talent v1.6.6 h1:JssV0CE3FNujuSWn7SkosOzg7qrMxVnt6txOfGcMSa4= cloud.google.com/go/talent v1.6.6/go.mod h1:y/WQDKrhVz12WagoarpAIyKKMeKGKHWPoReZ0g8tseQ= cloud.google.com/go/texttospeech v1.7.3 h1:EgMsIlyacLJPrqFZZrXK1mUztyM4cp8wR4Ia1H51a9s= cloud.google.com/go/texttospeech v1.7.3/go.mod h1:Av/zpkcgWfXlDLRYob17lqMstGZ3GqlvJXqKMp2u8so= cloud.google.com/go/texttospeech v1.7.4 h1:ahrzTgr7uAbvebuhkBAAVU6kRwVD0HWsmDsvMhtad5Q= cloud.google.com/go/texttospeech v1.7.4/go.mod h1:vgv0002WvR4liGuSd5BJbWy4nDn5Ozco0uJymY5+U74= +cloud.google.com/go/texttospeech v1.7.5 h1:dxY2Q5mHCbrGa3oPR2O3PCicdnvKa1JmwGQK36EFLOw= cloud.google.com/go/texttospeech v1.7.5/go.mod h1:tzpCuNWPwrNJnEa4Pu5taALuZL4QRRLcb+K9pbhXT6M= cloud.google.com/go/tpu v1.6.3 h1:euDiTIKKnQ3nG1J0KCafMJffxRdPNWQsnRvGJ7lZWSk= cloud.google.com/go/tpu v1.6.3/go.mod h1:lxiueqfVMlSToZY1151IaZqp89ELPSrk+3HIQ5HRkbY= cloud.google.com/go/tpu v1.6.4 h1:XIEH5c0WeYGaVy9H+UueiTaf3NI6XNdB4/v6TFQJxtE= cloud.google.com/go/tpu v1.6.4/go.mod h1:NAm9q3Rq2wIlGnOhpYICNI7+bpBebMJbh0yyp3aNw1Y= +cloud.google.com/go/tpu v1.6.5 h1:C8YyYda8WtNdBoCgFwwBzZd+S6+EScHOxM/z1h0NNp8= cloud.google.com/go/tpu v1.6.5/go.mod h1:P9DFOEBIBhuEcZhXi+wPoVy/cji+0ICFi4TtTkMHSSs= cloud.google.com/go/trace v1.10.3 h1:yiQ2EdegdiZDPwNPoUqGYAMd0wNValT/NRsC1XGyBJ0= cloud.google.com/go/trace v1.10.3/go.mod h1:Ke1bgfc73RV3wUFml+uQp7EsDw4dGaETLxB7Iq/r4CY= cloud.google.com/go/trace v1.10.4 h1:2qOAuAzNezwW3QN+t41BtkDJOG42HywL73q8x/f6fnM= cloud.google.com/go/trace v1.10.4/go.mod h1:Nso99EDIK8Mj5/zmB+iGr9dosS/bzWCJ8wGmE6TXNWY= +cloud.google.com/go/trace v1.10.5 h1:0pr4lIKJ5XZFYD9GtxXEWr0KkVeigc3wlGpZco0X1oA= cloud.google.com/go/trace v1.10.5/go.mod h1:9hjCV1nGBCtXbAE4YK7OqJ8pmPYSxPA0I67JwRd5s3M= cloud.google.com/go/translate v1.9.2 h1:liPk0EElBpafg4VAlZQwbg786X8/nnboOC4TmAN5sF8= cloud.google.com/go/translate v1.9.2/go.mod h1:E3Tc6rUTsQkVrXW6avbUhKJSr7ZE3j7zNmqzXKHqRrY= cloud.google.com/go/translate v1.9.3 h1:t5WXTqlrk8VVJu/i3WrYQACjzYJiff5szARHiyqqPzI= cloud.google.com/go/translate v1.9.3/go.mod h1:Kbq9RggWsbqZ9W5YpM94Q1Xv4dshw/gr/SHfsl5yCZ0= +cloud.google.com/go/translate v1.10.1 h1:upovZ0wRMdzZvXnu+RPam41B0mRJ+coRXFP2cYFJ7ew= cloud.google.com/go/translate v1.10.1/go.mod h1:adGZcQNom/3ogU65N9UXHOnnSvjPwA/jKQUMnsYXOyk= cloud.google.com/go/video v1.20.2 h1:paeXmflm8qH81wzND2V6BrKkS3GuvLuSrktHpdh+fr0= cloud.google.com/go/video v1.20.2/go.mod h1:lrixr5JeKNThsgfM9gqtwb6Okuqzfo4VrY2xynaViTA= cloud.google.com/go/video v1.20.3 h1:Xrpbm2S9UFQ1pZEeJt9Vqm5t2T/z9y/M3rNXhFoo8Is= cloud.google.com/go/video v1.20.3/go.mod h1:TnH/mNZKVHeNtpamsSPygSR0iHtvrR/cW1/GDjN5+GU= +cloud.google.com/go/video v1.20.4 h1:TXwotxkShP1OqgKsbd+b8N5hrIHavSyLGvYnLGCZ7xc= cloud.google.com/go/video v1.20.4/go.mod h1:LyUVjyW+Bwj7dh3UJnUGZfyqjEto9DnrvTe1f/+QrW0= cloud.google.com/go/videointelligence v1.11.3 h1:PS8HSjrQh6A1XTKfGz83vLfXhHyGGEiOTgmh2WksdIM= cloud.google.com/go/videointelligence v1.11.3/go.mod h1:tf0NUaGTjU1iS2KEkGWvO5hRHeCkFK3nPo0/cOZhZAo= cloud.google.com/go/videointelligence v1.11.4 h1:YS4j7lY0zxYyneTFXjBJUj2r4CFe/UoIi/PJG0Zt/Rg= cloud.google.com/go/videointelligence v1.11.4/go.mod h1:kPBMAYsTPFiQxMLmmjpcZUMklJp3nC9+ipJJtprccD8= +cloud.google.com/go/videointelligence v1.11.5 h1:mYaWH8uhUCXLJCN3gdXswKzRa2+lK0zN6/KsIubm6pE= cloud.google.com/go/videointelligence v1.11.5/go.mod h1:/PkeQjpRponmOerPeJxNPuxvi12HlW7Em0lJO14FC3I= cloud.google.com/go/vision v1.2.0 h1:/CsSTkbmO9HC8iQpxbK8ATms3OQaX3YQUeTMGCxlaK4= cloud.google.com/go/vision/v2 v2.7.4 h1:lTPDW1JogEcR7NSobxlpGAIN1wc2kvUrEfsS/32nm90= cloud.google.com/go/vision/v2 v2.7.4/go.mod h1:ynDKnsDN/0RtqkKxQZ2iatv3Dm9O+HfRb5djl7l4Vvw= cloud.google.com/go/vision/v2 v2.7.5 h1:T/ujUghvEaTb+YnFY/jiYwVAkMbIC8EieK0CJo6B4vg= cloud.google.com/go/vision/v2 v2.7.5/go.mod h1:GcviprJLFfK9OLf0z8Gm6lQb6ZFUulvpZws+mm6yPLM= +cloud.google.com/go/vision/v2 v2.8.0 h1:W52z1b6LdGI66MVhE70g/NFty9zCYYcjdKuycqmlhtg= cloud.google.com/go/vision/v2 v2.8.0/go.mod h1:ocqDiA2j97pvgogdyhoxiQp2ZkDCyr0HWpicywGGRhU= cloud.google.com/go/vmmigration v1.7.3 h1:2RIVjbHdVPXw8dhFLAkbU+DGnR/Egiv+zhb0CmSF58U= cloud.google.com/go/vmmigration v1.7.3/go.mod h1:ZCQC7cENwmSWlwyTrZcWivchn78YnFniEQYRWQ65tBo= cloud.google.com/go/vmmigration v1.7.4 h1:qPNdab4aGgtaRX+51jCOtJxlJp6P26qua4o1xxUDjpc= cloud.google.com/go/vmmigration v1.7.4/go.mod h1:yBXCmiLaB99hEl/G9ZooNx2GyzgsjKnw5fWcINRgD70= +cloud.google.com/go/vmmigration v1.7.5 h1:5v9RT2vWyuw3pK2ox0HQpkoftO7Q7/8591dTxxQc79g= cloud.google.com/go/vmmigration v1.7.5/go.mod h1:pkvO6huVnVWzkFioxSghZxIGcsstDvYiVCxQ9ZH3eYI= cloud.google.com/go/vmwareengine v1.0.2 h1:JU4HKWkJSfYP9eU3q5VVnmyTjiZSqFC6ZXN752ebZuQ= cloud.google.com/go/vmwareengine v1.0.2/go.mod h1:xMSNjIk8/itYrz1JA8nV3Ajg4L4n3N+ugP8JKzk3OaA= cloud.google.com/go/vmwareengine v1.0.3 h1:WY526PqM6QNmFHSqe2sRfK6gRpzWjmL98UFkql2+JDM= cloud.google.com/go/vmwareengine v1.0.3/go.mod h1:QSpdZ1stlbfKtyt6Iu19M6XRxjmXO+vb5a/R6Fvy2y4= +cloud.google.com/go/vmwareengine v1.1.1 h1:EGdDi9QbqThfZq3ILcDK5g+m9jTevc34AY5tACx5v7k= cloud.google.com/go/vmwareengine v1.1.1/go.mod h1:nMpdsIVkUrSaX8UvmnBhzVzG7PPvNYc5BszcvIVudYs= cloud.google.com/go/vpcaccess v1.7.3 h1:d/vObL8itQ5DmG+fh3wExKCl4zuwbInSQOuysfvgShk= cloud.google.com/go/vpcaccess v1.7.3/go.mod h1:YX4skyfW3NC8vI3Fk+EegJnlYFatA+dXK4o236EUCUc= cloud.google.com/go/vpcaccess v1.7.4 h1:zbs3V+9ux45KYq8lxxn/wgXole6SlBHHKKyZhNJoS+8= cloud.google.com/go/vpcaccess v1.7.4/go.mod h1:lA0KTvhtEOb/VOdnH/gwPuOzGgM+CWsmGu6bb4IoMKk= +cloud.google.com/go/vpcaccess v1.7.5 h1:XyL6hTLtEM/eE4F1GEge8xUN9ZCkiVWn44K/YA7z1rQ= cloud.google.com/go/vpcaccess v1.7.5/go.mod h1:slc5ZRvvjP78c2dnL7m4l4R9GwL3wDLcpIWz6P/ziig= cloud.google.com/go/webrisk v1.9.3 h1:9yteSCrAhlZFvu+zb/SlpCKFwij69Il1aIuhk8vq0sg= cloud.google.com/go/webrisk v1.9.3/go.mod h1:RUYXe9X/wBDXhVilss7EDLW9ZNa06aowPuinUOPCXH8= cloud.google.com/go/webrisk v1.9.4 h1:iceR3k0BCRZgf2D/NiKviVMFfuNC9LmeNLtxUFRB/wI= cloud.google.com/go/webrisk v1.9.4/go.mod h1:w7m4Ib4C+OseSr2GL66m0zMBywdrVNTDKsdEsfMl7X0= +cloud.google.com/go/webrisk v1.9.5 h1:251MvGuC8wisNN7+jqu9DDDZAi38KiMXxOpA/EWy4dE= cloud.google.com/go/webrisk v1.9.5/go.mod h1:aako0Fzep1Q714cPEM5E+mtYX8/jsfegAuS8aivxy3U= cloud.google.com/go/websecurityscanner v1.6.3 h1:nIo6koOYifrmNUsuXYzlO39oRrV8aM7NdjKjXxL/xvE= cloud.google.com/go/websecurityscanner v1.6.3/go.mod h1:x9XANObUFR+83Cya3g/B9M/yoHVqzxPnFtgF8yYGAXw= cloud.google.com/go/websecurityscanner v1.6.4 h1:5Gp7h5j7jywxLUp6NTpjNPkgZb3ngl0tUSw6ICWvtJQ= cloud.google.com/go/websecurityscanner v1.6.4/go.mod h1:mUiyMQ+dGpPPRkHgknIZeCzSHJ45+fY4F52nZFDHm2o= +cloud.google.com/go/websecurityscanner v1.6.5 h1:YqWZrZYabG88TZt7364XWRJGhxmxhony2ZUyZEYMF2k= cloud.google.com/go/websecurityscanner v1.6.5/go.mod h1:QR+DWaxAz2pWooylsBF854/Ijvuoa3FCyS1zBa1rAVQ= cloud.google.com/go/workflows v1.12.2 h1:dDTsUCgUQbkEFviNMgRV0THXa9VWBNS+35Ru1uadEUw= cloud.google.com/go/workflows v1.12.2/go.mod h1:+OmBIgNqYJPVggnMo9nqmizW0qEXHhmnAzK/CnBqsHc= cloud.google.com/go/workflows v1.12.3 h1:qocsqETmLAl34mSa01hKZjcqAvt699gaoFbooGGMvaM= cloud.google.com/go/workflows v1.12.3/go.mod h1:fmOUeeqEwPzIU81foMjTRQIdwQHADi/vEr1cx9R1m5g= +cloud.google.com/go/workflows v1.12.4 h1:uHNmUiatTbPQ4H1pabwfzpfEYD4BBnqDHqMm2IesOh4= cloud.google.com/go/workflows v1.12.4/go.mod h1:yQ7HUqOkdJK4duVtMeBCAOPiN1ZF1E9pAMX51vpwB/w= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= gioui.org v0.0.0-20230404125508-ad3db5212d10 h1:+wYws3ydNacEpOr3j473gLFMF7yMfj5xdRg2teuC51g= @@ -605,7 +703,6 @@ gioui.org/x v0.0.0-20230403130642-fd712aa4daf5/go.mod h1:kUKv6aaVpK6WPXh47hFXHo2 git.sr.ht/~sbinet/gg v0.3.1 h1:LNhjNn8DerC8f9DHLz6lS0YYul/b602DUxDgGkd/Aik= git.wow.st/gmp/jni v0.0.0-20210610011705-34026c7e22d0 h1:bGG/g4ypjrCJoSvFrP5hafr9PPB5aw8SjcOWWila7ZI= git.wow.st/gmp/jni v0.0.0-20210610011705-34026c7e22d0/go.mod h1:+axXBRUTIDlCeE73IKeD/os7LoEnTKdkp8/gQOFjqyo= -github.com/99designs/gqlgen v0.17.36/go.mod h1:6RdyY8puhCoWAQVr2qzF2OMVfudQzc8ACxzpzluoQm4= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8 h1:V8krnnfGj4pV65YLUm3C0/8bl7V5Nry2Pwvy3ru/wLc= github.com/AdaLogics/go-fuzz-headers v0.0.0-20230106234847-43070de90fa1 h1:EKPd1INOIyr5hWOWhvpmQpY6tKjeG0hT1s3AMC/9fic= github.com/AdaLogics/go-fuzz-headers v0.0.0-20230106234847-43070de90fa1/go.mod h1:VzwV+t+dZ9j/H867F1M2ziD+yLHtB46oM35FxxMJ4d0= @@ -636,13 +733,13 @@ github.com/DataDog/datadog-go/v5 v5.1.1/go.mod h1:KhiYb2Badlv9/rofz+OznKoEF5XKTo github.com/DataDog/go-sqllexer v0.0.8/go.mod h1:nB4Ea2YNsqMwtbWMc4Fm/oP98IIrSPapqwOwPioMspY= github.com/DataDog/go-sqllexer v0.0.9/go.mod h1:nB4Ea2YNsqMwtbWMc4Fm/oP98IIrSPapqwOwPioMspY= github.com/DataDog/viper v1.7.0 h1:hJvGT/zsNgVPxJLjW+ozl247LzEIRs7DdKakUgSsQzo= -github.com/IBM/sarama v1.40.0 h1:QTVmX+gMKye52mT5x+Ve/Bod2D0Gy7ylE2Wslv+RHtc= -github.com/IBM/sarama v1.40.0/go.mod h1:6pBloAs1WanL/vsq5qFTyTGulJUntZHhMLOUYEIs9mg= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c h1:RGWPOewvKIROun94nF7v2cua9qP+thov/7M50KEoeSU= +github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Masterminds/sprig/v3 v3.2.1 h1:n6EPaDyLSvCEa3frruQvAiHuNp2dhBlMSmkEr+HuzGc= github.com/Masterminds/sprig/v3 v3.2.1/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= -github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/hcsshim v0.10.0-rc.7 h1:HBytQPxcv8Oy4244zbQbe6hnOnx544eL5QPUqhJldz8= github.com/Microsoft/hcsshim v0.10.0-rc.7/go.mod h1:ILuwjA+kNW+MrN/w5un7n3mTqkwsFu4Bp05/okFUZlE= github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3 h1:4FA+QBaydEHlwxg0lMN3rhwoDaQy6LKhVWR4qvq4BuA= @@ -652,12 +749,8 @@ github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBK github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d h1:UrqY+r/OJnIp5u0s1SbQ8dVfLCZJsnvazdBP5hS4iRs= -github.com/Shopify/sarama v1.38.1 h1:lqqPUPQZ7zPqYlWpTh+LQ9bhYNu2xJL6k1SJN4WVe2A= -github.com/Shopify/sarama v1.38.1/go.mod h1:iwv9a67Ha8VNa+TifujYoWGxWnu2kNVAQdSdZ4X2o5g= -github.com/Shopify/toxiproxy/v2 v2.5.0/go.mod h1:yhM2epWtAmel9CB8r2+L+PCmhH6yH2pITaPAo7jxJl0= github.com/actgardner/gogen-avro/v10 v10.2.1 h1:z3pOGblRjAJCYpkIJ8CmbMJdksi4rAhaygw0dyXZ930= github.com/actgardner/gogen-avro/v9 v9.1.0 h1:YZ5tCwV5xnDZrG4uRDQYT2VAWZCRAG3eyQH/WYR2T6Q= -github.com/agnivade/levenshtein v1.1.1/go.mod h1:veldBMzWxcCG2ZvUTKD2kJNRdCk5hVbJomOvKkmgYbo= github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9 h1:7kQgkwGRoLzC9K0oyXdJo7nve/bynv/KwUsxbiTlzAM= github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19 h1:iXUgAaqDcIUGbRoy2TdeofRG/j1zpGRSEmNK05T+bi8= github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b h1:slYM766cy2nI3BwyRiyQj/Ud48djTMtMebDqepE95rw= @@ -675,46 +768,26 @@ github.com/apache/arrow/go/v14 v14.0.2/go.mod h1:u3fgh3EdgN/YQ8cVQRguVW3R+seMybF github.com/apache/thrift v0.16.0 h1:qEy6UW60iVOlUy+b9ZR0d5WzUWYGOo4HfopoyBaNmoY= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6 h1:G1bPvciwNyF7IUmKXNt9Ak3m6u9DE1rF+RmtIkBpVdA= -github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= -github.com/aws/aws-sdk-go v1.44.327 h1:ZS8oO4+7MOBLhkdwIhgtVeDzCeWOlTfKJS7EgggbIEY= -github.com/aws/aws-sdk-go v1.44.327/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v1.18.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= -github.com/aws/aws-sdk-go-v2 v1.20.3/go.mod h1:/RfNgGmRxI+iFOB1OeJUyxiU+9s88k3pfHvDagGEp0M= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.13/go.mod h1:gpAbvyDGQFozTEmlTFO8XcQKHzubdq0LzRyJpG6MiXM= github.com/aws/aws-sdk-go-v2/config v1.18.21/go.mod h1:+jPQiVPz1diRnjj6VGqWcLK6EzNmQ42l7J3OqGTLsSY= github.com/aws/aws-sdk-go-v2/credentials v1.13.20/go.mod h1:xtZnXErtbZ8YGXC3+8WfajpMBn5Ga/3ojZdxHq6iI8o= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.2/go.mod h1:cDh1p6XkSGSwSRIArWRc6+UqAQ7x4alQ0QfpVR6f+co= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.40/go.mod h1:5kKmFhLeOVy6pwPDpDNA6/hK/d6URC98pqDDqHgdBx4= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.34/go.mod h1:RZP0scceAyhMIQ9JvFp7HvkpcgqjL4l/4C+7RAeGbuM= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.33/go.mod h1:zG2FcwjQarWaqXSCGpgcr3RSjZ6dHGguZSppUL0XR7Q= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.34/go.mod h1:Etz2dj6UHYuw+Xw830KfzCfWGMzqvUTCjUj5b76GVDc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.3/go.mod h1:jYLMm3Dh0wbeV3lxth5ryks/O2M/omVXWyYm3YcEVqQ= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.4/go.mod h1:aryF4jxgjhbqpdhj8QybUZI3xYrX8MQIKm4WbOv8Whg= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.93.2/go.mod h1:VX22JN3HQXDtQ3uS4h4TtM+K11vydq58tpHTlsm8TL8= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.20.4/go.mod h1:XlbY5AGZhlipCdhRorT18/HEThKAxo51hMmhixreJoM= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14/go.mod h1:dDilntgHy9WnHXsh7dDtUPgHKEfTJIBUTHM8OWm0f/0= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.35/go.mod h1:YVHrksq36j0sbXCT6rSuQafpfYkMYqy0QTk7JTCTBIU= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.34/go.mod h1:CDPcT6pljRaqz1yLsOgPUvOPOczFvXuJxOKzDzAbF0c= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.34/go.mod h1:ytsF+t+FApY2lFnN51fJKPhH6ICKOPXKEcwwgmJEdWI= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.3/go.mod h1:TXBww3ANB+QRj+/dUoYDvI8d/u4F4WzTxD4mxtDoxrg= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.4/go.mod h1:HnjgmL8TNmYtGcrA3N6EeCnDvlX6CteCdUbZ1wV8QWQ= github.com/aws/aws-sdk-go-v2/service/s3 v1.32.0/go.mod h1:aSl9/LJltSz1cVusiR/Mu8tvI4Sv/5w/WWrJmmkNii0= -github.com/aws/aws-sdk-go-v2/service/sfn v1.19.4/go.mod h1:uWCH4ATwNrkRO40j8Dmy7u/Y1/BVWgCM+YjBNYZeOro= -github.com/aws/aws-sdk-go-v2/service/sns v1.21.4/go.mod h1:bbB779DXXOnPXvB7F3dP7AjuV1Eyr7fNyrA058ExuzY= -github.com/aws/aws-sdk-go-v2/service/sqs v1.24.4/go.mod h1:c1AF/ac4k4xz32FprEk6AqqGFH/Fkub9VUPSrASlllA= github.com/aws/aws-sdk-go-v2/service/sso v1.12.8/go.mod h1:GNIveDnP+aE3jujyUSH5aZ/rktsTM5EvtKnCqBZawdw= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.8/go.mod h1:44qFP1g7pfd+U+sQHLPalAPKnyfTZjJsYR4xIwsJy5o= github.com/aws/aws-sdk-go-v2/service/sts v1.18.9/go.mod h1:yyW88BEPXA2fGFyI2KCcZC3dNpiT0CZAHaF+i656/tQ= -github.com/aws/smithy-go v1.14.2/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/benbjohnson/clock v1.0.3 h1:vkLuvpK4fmtSCuo60+yC63p7y0BmQ8gm5ZXGuBCJyXg= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bitly/go-simplejson v0.5.0 h1:6IH+V8/tVMab511d5bn4M7EwGXZf9Hj6i2xSwkNEM+Y= github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c h1:+0HFd5KSZ/mm3JmhmrDukiId5iR6w4+BdFtfSy4yWIc= @@ -722,27 +795,17 @@ github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdn github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs= -github.com/bradfitz/gomemcache v0.0.0-20230611145640-acc696258285 h1:Dr+ezPI5ivhMn/3WOoB86XzMhie146DNaBbhaQWZHMY= -github.com/bradfitz/gomemcache v0.0.0-20230611145640-acc696258285/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA= github.com/bshuster-repo/logrus-logstash-hook v0.4.1 h1:pgAtgj+A31JBVtEHu2uHuEx0n+2ukqUJnS2vVe5pQNA= -github.com/bsm/ginkgo/v2 v2.9.5/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= -github.com/bsm/gomega v1.26.0/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd h1:rFt+Y/IK1aEZkEHchZRSq9OQbsSzIT/OrI8YFFmRIng= github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b h1:otBG+dV+YK+Soembjv71DPz3uX/V/6MMlSyD9JBQ6kQ= github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0 h1:nvj0OLI3YqYXer/kZD8Ri1aaunCxIEsOst1BVJswV0o= github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= -github.com/bytedance/sonic v1.10.0/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= -github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M= -github.com/cenkalti/backoff/v3 v3.2.2/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 h1:uH66TXeswKn5PW5zdZ39xEwfS9an067BirqA+P4QaLI= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/checkpoint-restore/go-criu/v4 v4.1.0 h1:WW2B2uxx9KWF6bGlHqhm8Okiafwwx7Y2kcpn8lCpjgo= github.com/checkpoint-restore/go-criu/v5 v5.3.0 h1:wpFFOoomK3389ue2lAb0Boag6XPht5QYpipxmSNL4d8= -github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d/go.mod h1:8EPpVsBuRksnlj1mLy4AWzRNQYxauNi62uWcE3to6eA= -github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89 h1:aPflPkRFkVwbW6dmcVqfgwp1i+UWGFH6VgR1Jim5Ygc= github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs= github.com/chromedp/chromedp v0.9.2 h1:dKtNz4kApb06KuSXoTQIyUC2TrA0fhGDwNZf3bcgfKw= @@ -750,14 +813,11 @@ github.com/chromedp/chromedp v0.9.2/go.mod h1:LkSXJKONWTCHAfQasKFUZI+mxqS4tZqhmt github.com/chromedp/sysutil v1.0.0 h1:+ZxhTpfpZlmchB58ih/LBHX52ky7w2VhQVKQMucy3Ic= github.com/chromedp/sysutil v1.0.0/go.mod h1:kgWmDdq8fTzXYcKIBqIYvRRTnYb9aNS9moAV0xufSww= github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM= github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI= github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 h1:kHaBemcxl8o/pQ5VM1c8PVE1PubbNx3mjUr09OqWGCs= @@ -769,20 +829,16 @@ github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible h1:C29Ae4G5GtYyY github.com/circonus-labs/circonusllhist v0.1.3 h1:TJH+oke8D16535+jHExHj4nQvzlZrj7ug5D7I/orNUA= github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= +github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50 h1:DBmgJDC9dTfkVyGgipamEh2BpGYxScCH1TOF1LL1cXc= github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido69INQaVO6d87Qn543Xr6nooe9Kz7oBFM= github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5 h1:xD/lrqdvwsc+O2bjSSi3YqY73Ke3LAiSCx49aCesA0E= github.com/cockroachdb/errors v1.2.4 h1:Lap807SXTH5tri2TivECb/4abUkMZC9zRoLarvcKDqs= github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4= -github.com/confluentinc/confluent-kafka-go v1.9.2 h1:gV/GxhMBUb03tFWkN+7kdhg+zf+QUM+wVkI9zwh770Q= -github.com/confluentinc/confluent-kafka-go v1.9.2/go.mod h1:ptXNqsuDfYbAE/LBW6pnwWZElUoWxHoV8E43DCrliyo= -github.com/confluentinc/confluent-kafka-go/v2 v2.2.0 h1:qy+SfqDauR/TX2qH2VuZqA1rcEAqApBYtHpI6rcqM0U= -github.com/confluentinc/confluent-kafka-go/v2 v2.2.0/go.mod h1:mfGzHbxQ6LRc25qqaLotDHkhdYmeZQ3ctcKNlPUjDW4= github.com/container-orchestrated-devices/container-device-interface v0.5.4 h1:PqQGqJqQttMP5oJ/qNGEg8JttlHqGY3xDbbcKb5T9E8= github.com/container-orchestrated-devices/container-device-interface v0.5.4/go.mod h1:DjE95rfPiiSmG7uVXtg0z6MnPm/Lx4wxKCIts0ZE0vg= github.com/containerd/aufs v1.0.0 h1:2oeJiwX5HstO7shSrPZjrohJZLzK36wvpdmzDRkL/LY= @@ -848,14 +904,9 @@ github.com/d2g/dhcp4client v1.0.0 h1:suYBsYZIkSlUMEz4TAYCczKf62IA2UWC+O8+KtdOhCo github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5 h1:+CpLbZIeUn94m02LdEKPcgErLJ347NUwxPKs5u8ieiY= github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4 h1:itqmmf1PFpC4n5JW+j4BU7X4MTfVurhYRTjODoPb2Y8= github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/denisenkom/go-mssqldb v0.11.0 h1:9rHa233rhdOyrz2GcP9NM+gi2psgJZ4GWDpL/7ND8HI= -github.com/denisenkom/go-mssqldb v0.11.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba h1:p6poVbjHDkKa+wtC8frBMwQtT3BmqGYBjzMwJ63tuR4= github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= -github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= -github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954 h1:RMLoZVzv4GliuWafOuPuQDKSm1SJph7uCRnnS61JAn4= -github.com/dimfeld/httptreemux/v5 v5.5.0/go.mod h1:QeEylH57C0v3VO0tkKraVz9oD3Uu93CKPnTLbsidvSw= github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= github.com/dnephin/pflag v1.0.7 h1:oxONGlWxhmUct0YzKTgrpQv9AUA1wtPBn7zuSjJqptk= github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017 h1:2HQmlpI3yI9deH18Q6xiSOIjXD4sLI55Y/gfpa8/558= @@ -866,73 +917,46 @@ github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1 h1:ZClxb8laGDf5arX github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96 h1:cenwrSVm+Z7QLSV/BsnenAOcDXdX4cMv4wP0B/5QbPg= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= github.com/dvyukov/go-fuzz v0.0.0-20210103155950-6a8e9d1f2415 h1:q1oJaUPdmpDm/VyXosjgPgr6wS7c5iV2p0PwJD73bUI= -github.com/eapache/go-resiliency v1.4.0 h1:3OK9bWpPk5q6pbFAaYSEwD9CLUSHG8bnZuqX2yMt3B0= -github.com/eapache/go-resiliency v1.4.0/go.mod h1:5yPzW0MIvSe0JDsv0v+DvcjEv2FyD6iZYSs1ZI+iQho= -github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 h1:Oy0F4ALJ04o5Qqpdz8XLIpNA3WM/iSIXqxtqo7UGVws= -github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3/go.mod h1:YvSRo5mw33fLEx1+DlK6L2VV43tJt5Eyel9n9XBcR+0= -github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/elastic/elastic-transport-go/v8 v8.1.0 h1:NeqEz1ty4RQz+TVbUrpSU7pZ48XkzGWQj02k5koahIE= -github.com/elastic/elastic-transport-go/v8 v8.1.0/go.mod h1:87Tcz8IVNe6rVSLdBux1o/PEItLtyabHU3naC7IoqKI= -github.com/elastic/go-elasticsearch/v6 v6.8.5/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI= -github.com/elastic/go-elasticsearch/v7 v7.17.1/go.mod h1:OJ4wdbtDNk5g503kvlHLyErCgQwwzmDtaFC4XyOxXA4= -github.com/elastic/go-elasticsearch/v8 v8.4.0 h1:Rn1mcqaIMcNT43hnx2H62cIFZ+B6mjWtzj85BDKrvCE= -github.com/elastic/go-elasticsearch/v8 v8.4.0/go.mod h1:yY52i2Vj0unLz+N3Nwx1gM5LXwoj3h2dgptNGBYkMLA= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= github.com/emicklei/go-restful v2.16.0+incompatible h1:rgqiKNjTnFQA6kkhFe16D8epTksy9HQ1MyrbDXSdYhM= github.com/emicklei/go-restful v2.16.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= -github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q= github.com/envoyproxy/go-control-plane v0.11.1 h1:wSUXTlLfiAQRWs2F+p+EKOY9rUyis1MyGqJ2DIk5HpM= github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= +github.com/envoyproxy/go-control-plane v0.12.0 h1:4X+VP1GHd1Mhj6IB5mMeGbLCleqxjletLK6K0rbxyZI= github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= +github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= -github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= -github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flynn/go-docopt v0.0.0-20140912013429-f6dd2ebbb31e h1:Ss/B3/5wWRh8+emnK0++g5zQzwDTi30W10pKxKc4JXI= github.com/flynn/go-docopt v0.0.0-20140912013429-f6dd2ebbb31e/go.mod h1:HyVoz1Mz5Co8TFO8EupIdlcpwShBmY98dkT2xeHkvEI= github.com/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8= github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNyAWIKUMIwqxEtgHOs5c= github.com/frankban/quicktest v1.14.0 h1:+cqqvzZV87b4adx/5ayVOaYZ2CrvM4ejQvUdBzPPUss= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU= -github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= -github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7 h1:LofdAjjjqCSXMwLGgOgnE+rdPuvX9DxCqaHwKy7i/ko= +github.com/garyburd/redigo v1.6.4 h1:LFu2R3+ZOPgSMWMOL+saa/zXRjw0ID2G8FepO53BGlg= github.com/garyburd/redigo v1.6.4/go.mod h1:rTb6epsqigu3kYKBnaF028A7Tf/Aw5s0cqA47doKKqw= github.com/getkin/kin-openapi v0.76.0 h1:j77zg3Ec+k+r+GA3d8hBoXpAc6KX9TbBPrwQGBIy2sY= github.com/getsentry/raven-go v0.2.0 h1:no+xWJRb5ZI7eE8TWgIq1jLulQiIoLG0IfYxv5JYMGs= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= -github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= -github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= -github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= -github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= github.com/go-asn1-ber/asn1-ber v1.5.1 h1:pDbRAunXzIUXfx4CB2QJFv5IuPiuoW+sWvr/Us009o8= github.com/go-asn1-ber/asn1-ber v1.5.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= -github.com/go-chi/chi v1.5.4 h1:QHdzF2szwjqVV4wmByUnTcsbIg7UGaQ0tPF2t5GcAIs= -github.com/go-chi/chi v1.5.4/go.mod h1:uaf8YgoFazUOkPBG7fxPftUylNumIev9awIWOENIuEg= -github.com/go-chi/chi/v5 v5.0.10 h1:rLz5avzKpjqxrYwXNfmjkrYYXOyLJd37pz53UFHC6vk= -github.com/go-chi/chi/v5 v5.0.10/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-fonts/dejavu v0.1.0 h1:JSajPXURYqpr+Cu8U9bt8K+XcACIHWqWrvWCKyeFmVQ= github.com/go-fonts/latin-modern v0.2.0 h1:5/Tv1Ek/QCr20C6ZOz15vw3g7GELYL98KWr8Hgo+3vk= github.com/go-fonts/liberation v0.2.0 h1:jAkAWJP4S+OsrPLZM4/eC9iW7CtHy+HBXrEwZXWo5VM= @@ -948,8 +972,6 @@ github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81 h1:6zl3BbBhdnMkpSj2 github.com/go-ldap/ldap/v3 v3.4.1 h1:fU/0xli6HY02ocbMuozHAYsaHLcnkLjvho2r5a34BUU= github.com/go-ldap/ldap/v3 v3.4.1/go.mod h1:iYS1MdmrmceOJ1QOTnRXrIs7i3kloqtmGQjRvjKpyMg= github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4= -github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA= @@ -957,29 +979,8 @@ github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXym github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc= github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= github.com/go-pdf/fpdf v0.6.0 h1:MlgtGIfsdMEEQJr2le6b/HNr1ZlQwxyWr77r2aj2U/8= -github.com/go-pg/pg/v10 v10.11.1 h1:vYwbFpqoMpTDphnzIPshPPepdy3VpzD8qo29OFKp4vo= -github.com/go-pg/pg/v10 v10.11.1/go.mod h1:ExJWndhDNNftBdw1Ow83xqpSf4WMSJK8urmXD5VXS1I= -github.com/go-pg/zerochecker v0.2.0 h1:pp7f72c3DobMWOb2ErtZsnrPaSvHd2W4o9//8HtF4mU= -github.com/go-pg/zerochecker v0.2.0/go.mod h1:NJZ4wKL0NmTtz0GKCoJ8kym6Xn/EQzXRl2OnAe7MmDo= -github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= -github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= -github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= -github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.15.1 h1:BSe8uhN+xQ4r5guV/ywQI4gO59C2raYcGffYWZEjZzM= -github.com/go-playground/validator/v10 v10.15.1/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= -github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= -github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= -github.com/go-redis/redis/v7 v7.4.1 h1:PASvf36gyUpr2zdOUS/9Zqc80GbM+9BDyiJSJDDOrTI= -github.com/go-redis/redis/v7 v7.4.1/go.mod h1:JDNMw23GTyLNC4GZu9njt15ctBQVn7xjRfnwdHj/Dcg= -github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI= -github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo= -github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= -github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= github.com/go-text/typesetting v0.0.0-20230329143336-a38d00edd832 h1:yV4rFdcvwZXE0lZZ3EoBWjVysHyVo8DLY8VihDciNN0= github.com/go-text/typesetting v0.0.0-20230329143336-a38d00edd832/go.mod h1:zvWM81wAVW6QfVDI6yxfbCuoLnobSYTuMsrXU/u11y8= github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= @@ -988,54 +989,28 @@ github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.2.1 h1:F2aeBZrm2NDsc7vbovKrWSogd4wvfAxg0FQ89/iqOTk= github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= -github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/gocql/gocql v0.0.0-20220224095938-0eacd3183625/go.mod h1:3gM2c4D3AnkISwBxGnMMsS8Oy4y2lhbPRsH4xnJrHG8= github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e h1:BWhy2j3IXJhjCbC68FptL43tDKIq8FladmaTs3Xs7Z8= github.com/godbus/dbus/v5 v5.0.6 h1:mkgN1ofwASrYnJ5W6U/BxG15eXXXjirgZc7CLqkcaro= -github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofiber/fiber/v2 v2.50.0 h1:ia0JaB+uw3GpNSCR5nvC5dsaxXjRU5OEu36aytx+zGw= -github.com/gofiber/fiber/v2 v2.50.0/go.mod h1:21eytvay9Is7S6z+OgPi7c7n4++tnClWmhpimVHMimw= github.com/gofiber/fiber/v2 v2.52.1 h1:1RoU2NS+b98o1L77sdl5mboGPiW+0Ypsi5oLmcYlgHI= github.com/gofiber/fiber/v2 v2.52.1/go.mod h1:KEOE+cXMhXG0zHc9d8+E38hoX+ZN7bhOtgeF2oT6jrQ= +github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA= github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/googleapis v1.4.0 h1:zgVt4UpGxcqVOw97aRGxT4svlcmdK35fynLNctY32zI= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs= -github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 h1:au07oEsX2xN0ktxqI+Sida1w446QrXBRJ0nee3SNZlA= -github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/gomodule/redigo v1.8.9 h1:Sl3u+2BI/kk+VEatbj0scLdrFhjPmbxOc1myhDP41ws= -github.com/gomodule/redigo v1.8.9/go.mod h1:7ArFNvsTjH8GMMzB4uy1snslv2BwmginuMs06a1uzZE= github.com/google/flatbuffers v2.0.8+incompatible h1:ivUb1cGomAB101ZM1T0nOiWz9pSrTMoa9+EiY7igmkM= github.com/google/flatbuffers v23.5.26+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-containerregistry v0.5.1 h1:/+mFTs4AlwsJ/mJe8NDtKb7BxLtbZFpcn8vDsneEkwQ= github.com/google/go-pkcs11 v0.2.0 h1:5meDPB26aJ98f+K9G21f0AqZwo/S5BJMJh8nuhMbdsI= github.com/google/go-pkcs11 v0.2.0/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= @@ -1043,7 +1018,6 @@ github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9 h1:OF1IPgv+F4Nm github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/s2a-go v0.1.5 h1:8IYp3w9nysqv3JH+NJgXJzGbDHzLOTj43BmSkp+O7qg= @@ -1059,48 +1033,24 @@ github.com/googleapis/enterprise-certificate-proxy v0.2.5/go.mod h1:RxW0N9901Cko github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= github.com/googleapis/gax-go/v2 v2.12.1/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= -github.com/googleapis/gax-go/v2 v2.12.2 h1:mhN09QQW1jEWeMF74zGR81R30z4VJzjZsfkUhuHF+DA= -github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= -github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= -github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8 h1:tlyzajkF3030q6M8SvmJSemC9DTHL/xaMa18b65+JM4= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33 h1:893HsJqtxp9z1SF76gg6hY70hRY1wVlTSnC/h1yUDCo= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/graph-gophers/graphql-go v1.5.0 h1:fDqblo50TEpD0LY7RXk/LFVYEVqo3+tXMNMPSVXA1yc= -github.com/graph-gophers/graphql-go v1.5.0/go.mod h1:YtmJZDLbF1YYNrlNAuiO5zAStUWc3XZT07iGsVqe1Os= -github.com/graphql-go/graphql v0.8.1 h1:p7/Ou/WpmulocJeEx7wjQy611rtXGQaAcXGqanuMMgc= -github.com/graphql-go/graphql v0.8.1/go.mod h1:nKiHzRM0qopJEwCITUuIsxk9PlVlwIiiI8pnJEhordQ= -github.com/graphql-go/handler v0.2.3 h1:CANh8WPnl5M9uA25c2GBhPqJhE53Fg0Iue/fRNla71E= -github.com/graphql-go/handler v0.2.3/go.mod h1:leLF6RpV5uZMN1CdImAxuiayrYYhOk33bZciaUGaXeU= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk= -github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= github.com/hamba/avro v1.5.6 h1:/UBljlJ9hLjkcY7PhpI/bFYb4RMEXHEwHr17gAm/+l8= -github.com/hashicorp/consul/api v1.24.0/go.mod h1:NZJGRFYruc/80wYowkPFCp1LbGmJC9L8izrwfyVx/Wg= -github.com/hashicorp/consul/sdk v0.14.1/go.mod h1:vFt03juSzocLRFo59NkeQHHmQa6+g7oU0pfzdI1mUhg= -github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= -github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-kms-wrapping/entropy/v2 v2.0.0 h1:pSjQfW3vPtrOTcasTUKgCTQT7OGPPTTMVRrOfU6FJD8= github.com/hashicorp/go-kms-wrapping/entropy/v2 v2.0.0/go.mod h1:xvb32K2keAc+R8DSFG2IwDcydK9DBQE+fGA5fsw6hSk= github.com/hashicorp/go-kms-wrapping/v2 v2.0.8 h1:9Q2lu1YbbmiAgvYZ7Pr31RdlVonUpX+mmDL7Z7qTA2U= github.com/hashicorp/go-kms-wrapping/v2 v2.0.8/go.mod h1:qTCjxGig/kjuj3hk1z8pOUrzbse/GxB1tGfbrq8tGJg= -github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-plugin v1.4.8 h1:CHGwpxYDOttQOY7HOWgETU9dyVjOXzniXDqJcYJE1zM= github.com/hashicorp/go-plugin v1.4.8/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= -github.com/hashicorp/go-retryablehttp v0.7.4 h1:ZQgVdpTdAL7WpMIwLzCfbalOcSUdkDZnpUv3/+BxzFA= -github.com/hashicorp/go-retryablehttp v0.7.4/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= -github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-secure-stdlib/base62 v0.1.2 h1:ET4pqyjiGmY09R5y+rSd70J2w45CtbWDNvGqWp/R3Ng= github.com/hashicorp/go-secure-stdlib/base62 v0.1.2/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 h1:p4AKXPPS24tO8Wc8i1gLvSKdmkiSY5xuju57czJ/IJQ= @@ -1110,34 +1060,23 @@ github.com/hashicorp/go-secure-stdlib/password v0.1.1/go.mod h1:9hH302QllNwu1o2T github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.2 h1:phcbL8urUzF/kxA/Oj6awENaRwfWsjP59GW7u2qlDyY= github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.2/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= github.com/hashicorp/go-syslog v1.0.0 h1:KaodqZuhUoZereWVIYmpUgZysurB1kBLX2j0MwMrUAE= -github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= -github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go.net v0.0.1 h1:sNCoNyDEvN1xa+X0baata4RdcpKwcMS6DH+xwfqPgjw= -github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/golang-lru/v2 v2.0.3/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= -github.com/hashicorp/hcl v1.0.1-vault-5 h1:kI3hhbbyzr4dldA8UdTb7ZlVVlI2DACdCfz31RPDgJM= -github.com/hashicorp/hcl v1.0.1-vault-5/go.mod h1:XYhtn6ijBSAj6n4YqAaf7RBPS4I06AItNorpy+MoQNM= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/mdns v1.0.4 h1:sY0CMhFmjIPDMlTB+HfymFHCaYLhgifZ0QhjaYKD/UQ= -github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= -github.com/hashicorp/vault/api v1.9.2 h1:YjkZLJ7K3inKgMZ0wzCU9OHqc+UqMQyXsPXnf3Cl2as= -github.com/hashicorp/vault/api v1.9.2/go.mod h1:jo5Y/ET+hNyz+JnKDt8XLAdKs+AM0G5W0Vp1IrFI8N8= -github.com/hashicorp/vault/sdk v0.9.2/go.mod h1:gG0lA7P++KefplzvcD3vrfCmgxVAM7Z/SqX5NeOL/98= github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87 h1:xixZ2bWeofWV68J+x6AzmKuVM/JWCQwkWm6GW/MUR6I= github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/heetch/avro v0.4.4 h1:5PmgDy1cX/MegMy6btJ4bUFHgT5GLfSYfc5U7+JUQzg= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/iancoleman/orderedmap v0.0.0-20190318233801-ac98e3ecb4b0 h1:i462o439ZjprVSFSZLZxcsoAe592sZB1rci2Z8j4wdk= github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= +github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab h1:BA4a7pe6ZTd9F8kXETBoijjFJ/ntaa//1wiH9BZu4zU= github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= @@ -1146,48 +1085,21 @@ github.com/intel/goresctrl v0.3.0 h1:K2D3GOzihV7xSBedGxONSlaw/un1LZgWsc9IfqipN4c github.com/intel/goresctrl v0.3.0/go.mod h1:fdz3mD85cmP9sHD8JUlrNWAxvwM86CrbmVXltEKd7zk= github.com/invopop/jsonschema v0.7.0 h1:2vgQcBz1n256N+FpX3Jq7Y17AjYt46Ig3zIWyy770So= github.com/j-keck/arping v1.0.2 h1:hlLhuXgQkzIJTZuhMigvG/CuSkaspeaD9hRDk2zuiMI= -github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= -github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= -github.com/jackc/pgx/v5 v5.4.2 h1:u1gmGDwbdRUZiwisBm/Ky2M14uQyUP65bG8+20nnyrg= -github.com/jackc/pgx/v5 v5.4.2/go.mod h1:q6iHT8uDNXWiFNOlRqJzBTaSH3+2xCXkokxHZC5qWFY= github.com/jackc/pgx/v5 v5.5.4 h1:Xp2aQS8uXButQdnCMWNmvx6UysWQQC+u1EoizjguY+8= github.com/jackc/pgx/v5 v5.5.4/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A= github.com/jackc/puddle/v2 v2.2.0/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= -github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= -github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= -github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo= -github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= -github.com/jcmturner/gofork v1.7.6 h1:QH0l3hzAU1tfT3rZCnW5zXl+orbkNMMRGJfdJjHVETg= -github.com/jcmturner/gofork v1.7.6/go.mod h1:1622LH6i/EZqLloHfE7IeZ0uEJwMSUyQ/nDd82IeqRo= -github.com/jcmturner/gokrb5/v8 v8.4.4 h1:x1Sv4HaTpepFkXbt2IkL29DXRf8sOfZXo8eRKh687T8= -github.com/jcmturner/gokrb5/v8 v8.4.4/go.mod h1:1btQEpgT6k+unzCwX1KdWMEwPPkkgBtP+F6aCACiMrs= -github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= -github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= github.com/jhump/gopoet v0.1.0 h1:gYjOPnzHd2nzB37xYQZxj4EIQNpBrBskRqQQ3q4ZgSg= github.com/jhump/goprotoc v0.5.0 h1:Y1UgUX+txUznfqcGdDef8ZOVlyQvnV0pKWZH08RmZuo= github.com/jhump/protoreflect v1.14.1 h1:N88q7JkxTHWFEqReuTsYH1dPIwXxA0ITNQp7avLY10s= +github.com/jinzhu/gorm v1.9.16 h1:+IyIjPEABKRpsu/F8OvDPy9fyQlgsg2luMV2ZIH5i5o= github.com/jinzhu/gorm v1.9.16/go.mod h1:G3LB3wezTOWM2ITLzPxEXgSkOXAntiLHS7UdBefADcs= -github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ= github.com/joefitzgerald/rainbow-reporter v0.1.0 h1:AuMG652zjdzI0YCCnXAqATtRBpGXMcAnrajcaTrSeuo= github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/juju/qthttptest v0.1.1 h1:JPju5P5CDMCy8jmBJV2wGLjDItUsx2KKL514EfOYueM= -github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5 h1:PJr+ZMXIecYc1Ey2zucXdR73SMBtgjPgwa31099IMv0= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kevinmbeaulieu/eq-go v1.0.0 h1:AQgYHURDOmnVJ62jnEk0W/7yFKEn+Lv8RHN6t7mB0Zo= @@ -1197,27 +1109,17 @@ github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= -github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1 h1:0pHpWtx9vcvC0xGZqEQlQdfSQs7WRlAjuPvk3fOZDCo= github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.5 h1:hyz3dwM5QLc1Rfoz4FuWJQG5BN7tc6K1MndAUnGpQr4= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/labstack/echo v3.3.10+incompatible h1:pGRcYk231ExFAyoAjAfD85kQzRJCRI8bbnE7CX5OEgg= github.com/labstack/echo v3.3.10+incompatible/go.mod h1:0INS7j/VjnFxD4E2wkz67b8cVwCLbBmJyDaka6Cmk1s= -github.com/labstack/echo/v4 v4.11.1 h1:dEpLU2FLg4UVmvCGPuk/APjlH6GDpbEPti61srUUUs4= -github.com/labstack/echo/v4 v4.11.1/go.mod h1:YuYRTSM3CHs2ybfrL8Px48bO6BAnYIN4l8wSTMP6BDQ= -github.com/labstack/gommon v0.4.0 h1:y7cvthEAEbU0yHOf4axH8ZG2NH8knB9iNSoTO8dyIk8= -github.com/labstack/gommon v0.4.0/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM= github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80 h1:6Yzfa6GP0rIo/kULo2bwGEkFvCePZ3qHDDTC3/J9Swo= github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs= -github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= -github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.2 h1:AqzbZs4ZoCBp+GtejcpCpcxM3zlSMx29dXbUSeVtJb8= -github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/linkedin/goavro v2.1.0+incompatible h1:DV2aUlj2xZiuxQyvag8Dy7zjY69ENjS66bWkSfdpddY= github.com/linkedin/goavro/v2 v2.11.1 h1:4cuAtbDfqkKnBXp9E+tRkIJGa6W6iAjwonwt8O1f4U0= github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3 h1:jUp75lepDg0phMUJBCmvaeFDldD2N3S1lBuPwUTszio= @@ -1226,30 +1128,17 @@ github.com/logrusorgru/aurora/v3 v3.0.0/go.mod h1:vsR12bk5grlLvLXAYrBsb5Oc/N+LxA github.com/lyft/protoc-gen-star v0.6.1 h1:erE0rdztuaDq3bpGifD95wfoPrSZc95nGA6tbiNYh6M= github.com/lyft/protoc-gen-star/v2 v2.0.3 h1:/3+/2sWyXeMLzKd1bX+ixWKgEMsULrIivpDsuaF441o= github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/marstr/guid v1.1.0 h1:/M4H/1G4avsieL6BbUwCOBzulmoeKVP5ux/3mQNnbyI= github.com/matryer/moq v0.2.7 h1:RtpiPUM8L7ZSCbSwK+QcZH/E9tgqAkFjKQxsRs25b4w= github.com/matryer/moq v0.2.7/go.mod h1:kITsx543GOENm48TUAQyJ9+SAvFSr7iGQXPoth/VUBk= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= -github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= -github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= -github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= -github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2 h1:g+4J5sZg6osfvEfkRZxJ1em0VT95/UOZgi/l7zi1/oE= -github.com/microsoft/go-mssqldb v0.21.0/go.mod h1:+4wZTUnz/SV6nffv+RRRB/ss8jPng5Sho2SmM1l2ts4= -github.com/miekg/dns v1.1.55 h1:GoQ4hpsj0nFLYe+bWiCToyrBEJXkQfOOIvFGFy0lEgo= -github.com/miekg/dns v1.1.55/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY= github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs= github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI= @@ -1257,15 +1146,15 @@ github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible h1:aKW/4cBs+yK6gpqU3K/oIwk9Q/XICqd3zOX/UFuvqmk= github.com/mitchellh/cli v1.1.0 h1:tEElEatulEHDeedTxwckzyYMA5c86fbmNIUL1hBIiTg= +github.com/mitchellh/cli v1.1.5 h1:OxRIeJXpAMztws/XHlN2vu6imG5Dpq+j61AzAX5fLng= github.com/mitchellh/cli v1.1.5/go.mod h1:v8+iFts2sPIKUV1ltktPXMCC8fumSKFItNcD2cLtRR4= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= +github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= github.com/mitchellh/gox v0.4.0 h1:lfGJxY7ToLJQjHHwi0EX6uYBdK78egf954SQl13PQJc= github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= @@ -1277,18 +1166,11 @@ github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/sys/mount v0.3.3 h1:fX1SVkXFJ47XWDoeFW4Sq7PdQJnV2QIDZAqjNqgEjUs= github.com/moby/sys/mountinfo v0.6.2 h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vygl78= -github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= github.com/moby/sys/signal v0.6.0 h1:aDpY94H8VlhTGa9sNYUFCFsMZIUh5wm0B6XkIoJj/iY= github.com/moby/sys/signal v0.7.0 h1:25RW3d5TnQEoKvRbEKUGay6DCQ46IxAVTT9CUMgmsSI= github.com/moby/sys/signal v0.7.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= github.com/moby/sys/symlink v0.2.0 h1:tk1rOM+Ljp0nFmfOIBtlV3rTDlWOwFRhjEeAhZB0nZc= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5 h1:8Q0qkMVC/MmWkpIdlvZgcv2o2jrlF6zqVOh7W5YHdMA= -github.com/montanaflynn/stats v0.6.6 h1:Duep6KMIDpY4Yo11iFsvyqJDyfzLF9+sndUKT+v64GQ= -github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= github.com/mrunalp/fileutils v0.5.0 h1:NKzVxiH7eSk+OQ4M+ZYW1K6h27RUV3MI6NUTsHhU6Z4= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= @@ -1297,25 +1179,14 @@ github.com/ncw/swift v1.0.47 h1:4DQRPj35Y41WogBxyhOXlrI37nzGlyEcsforeudyYPQ= github.com/networkplumbing/go-nft v0.2.0 h1:eKapmyVUt/3VGfhYaDos5yeprm+LPt881UeksmKKZHY= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/nrwiersma/avro-benchmarks v0.0.0-20210913175520-21aec48c8f76 h1:wDbc54qVQ+C5oQZ8Q5VlMbqEt2hrnev2bC/gIGL3Ksk= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5 h1:58+kh9C6jJVXYjt8IE48G2eWl6BjwU5Gj0gqY84fy78= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/ginkgo/v2 v2.1.3 h1:e/3Cwtogj0HA+25nMP1jCMDIf8RtRYbGwGGuBIFztkc= -github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= github.com/onsi/ginkgo/v2 v2.4.0 h1:+Ig9nvqgS5OBSACXNk15PLdp0U9XPYROt9CFzVdFGIs= github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= github.com/onsi/gomega v1.23.0 h1:/oxKu9c2HVap+F3PfKort2Hw5DEU+HGlW8n+tguWsys= github.com/onsi/gomega v1.23.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= @@ -1328,27 +1199,20 @@ github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626/go. github.com/opencontainers/selinux v1.10.1 h1:09LIPVRP3uuZGQvgR+SgMSNBd1Eb3vlRbGqQpoHsF8w= github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU= github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= -github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde h1:x0TT0RDC7UhAVbbWWBzr41ElhJx5tXPWkIHA2HWPRuw= github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= github.com/outcaste-io/ristretto v0.2.1/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.9 h1:uH2qQXheeefCCkuBBSLi7jCiSmj3VRh2+Goq2N7Xxu0= -github.com/pelletier/go-toml/v2 v2.0.9/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/phpdave11/gofpdf v1.4.2 h1:KPKiIbfwbvC/wOncwhrpRdXVj2CZTCFlw4wnoyjtHfQ= github.com/phpdave11/gofpdi v1.0.13 h1:o61duiW8M9sMlkVXWlvP92sZJtGKENvW3VExs6dZukQ= github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4/v4 v4.1.18 h1:xaKrnTkyoqfh1YItXl56+6KJNVYWlEEPuAQW9xsplYQ= -github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/sftp v1.13.1 h1:I2qBYMChEhIjOgazfJmV3/mZM256btk6wkCDRmW7JYs= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021 h1:0XM1XL/OFFJjXsYXlG30spTkV/E9+gmd5GD1w2HE8xM= github.com/prometheus/client_golang v1.11.1 h1:+4eQaD7vAZ6DsfsxB15hbE0odUjGI5ARs9yskGu1v4s= @@ -1356,6 +1220,7 @@ github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= +github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= github.com/prometheus/common v0.30.0 h1:JEkYlQnpzrzQFxi6gnukFPdQ+ac82oRhzMcIduJu/Ug= github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= @@ -1364,13 +1229,7 @@ github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0 github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/redis/go-redis/v9 v9.1.0 h1:137FnGdk+EQdCbye1FW+qOEcY5S+SpY9T0NiuqvtfMY= -github.com/redis/go-redis/v9 v9.1.0/go.mod h1:urWj3He21Dj5k4TK1y59xH8Uj6ATueP8AH1cY3lZl4c= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk= -github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= -github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/clock v0.0.0-20190514195947-2896927a307a h1:3QH7VyOaaiUHNrA9Se4YQIRkDTCw1EJls9xTUCaCeRM= github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= @@ -1380,6 +1239,7 @@ github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245 h1:K1Xf3bKttbF+koVGaX5xngRIZ5bVjbmPnaxE/dR08uY= github.com/ryanuber/columnize v2.1.0+incompatible h1:j1Wcmh8OrK4Q7GXY+V7SVSY8nUWQxHW5TkBe7YUl+2s= +github.com/ryanuber/columnize v2.1.2+incompatible h1:C89EOx/XBWwIXl8wm8OPJBd7kPF25UfsK2X7Ph/zCAk= github.com/ryanuber/columnize v2.1.2+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1 h1:ZFfeKAhIQiiOrQaI3/znw0gOmYpO28Tcu1YaqMa/jtQ= github.com/santhosh-tekuri/jsonschema/v5 v5.2.0 h1:WCcC4vZDS1tYNxjWlwRJZQy28r8CMoggKnxNzxsVDMQ= @@ -1388,86 +1248,46 @@ github.com/sclevine/agouti v3.0.0+incompatible h1:8IBJS6PWz3uTlMP3YBIR5f+KAldcGu github.com/sclevine/spec v1.2.0 h1:1Jwdf9jSfDl9NVmt8ndHqbTZ7XCCPbh1jI3hkDBHVYA= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds= github.com/secure-systems-lab/go-securesystemslib v0.7.0/go.mod h1:/2gYnlnHVQ6xeGtfIqFy7Do03K4cdCY0A/GlJLDKLHI= -github.com/segmentio/kafka-go v0.4.42 h1:qffhBZCz4WcWyNuHEclHjIMLs2slp6mZO8px+5W5tfU= -github.com/segmentio/kafka-go v0.4.42/go.mod h1:d0g15xPMqoUookug0OU75DhGZxXwCFxSLeJ4uphwJzg= +github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9 h1:hp2CYQUINdZMHdvTdXtPOY2ainKl4IoMcpAXEf2xj3Q= github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a h1:pa8hGb/2YqsZKovtsgrwcDH1RZhVbTKCjLp47XpqCDs= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= +github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= +github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v1.1.3 h1:xghbfqPkxzxP3C/f3n5DdpAbdKLj4ZE4BWQI362l53M= github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.7.0 h1:xVKxvI7ouOI5I+U9s2eeiUfMaWBVoXA3AWskkrqK0VM= github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 h1:lIOOHPEbXzO3vnmx2gok1Tfs31Q8GQqKLc8vVqyQq/I= github.com/stoewer/go-strcase v1.2.0 h1:Z2iHWqGXH00XYgqDmNgQbIBxf3wrNq0F3feEy0ainaU= +github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= -github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI= -github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= github.com/tchap/go-patricia v2.2.6+incompatible h1:JvoDL7JSoIP2HDE8AbDH3zC8QBPxmzYe32HHy5yQ+Ck= github.com/tchap/go-patricia/v2 v2.3.1 h1:6rQp39lgIYZ+MHmdEq4xzuk1t7OdC35z/xm0BGhTkes= github.com/tchap/go-patricia/v2 v2.3.1/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= -github.com/tidwall/assert v0.1.0/go.mod h1:QLYtGyeqse53vuELQheYl9dngGCJQ+mTtlxcktb+Kj8= -github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= -github.com/tidwall/buntdb v1.3.0/go.mod h1:lZZrZUWzlyDJKlLQ6DKAy53LnG7m5kHyrEHvvcDmBpU= -github.com/tidwall/gjson v1.16.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/grect v0.1.4/go.mod h1:9FBsaYRaR0Tcy4UwefBX/UDcDcDy9V5jUcxHzv2jd5Q= -github.com/tidwall/lotsa v1.0.2/go.mod h1:X6NiU+4yHA3fE3Puvpnn1XMDrFZrE9JO2/w+UMuqgR8= -github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tidwall/rtred v0.1.2/go.mod h1:hd69WNXQ5RP9vHd7dqekAz+RIdtfBogmglkZSRxCHFQ= -github.com/tidwall/tinyqueue v0.1.1/go.mod h1:O/QNHwrnjqr6IHItYrzoHAKYhBkLI67Q096fQP5zMYw= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 h1:uruHq4dN7GR16kFc5fp3d1RIYzJW5onx8Ybykw2YQFA= -github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo= -github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= -github.com/twitchtv/twirp v8.1.3+incompatible h1:+F4TdErPgSUbMZMwp13Q/KgDVuI7HJXP61mNV3/7iuU= -github.com/twitchtv/twirp v8.1.3+incompatible/go.mod h1:RRJoFSAmTEh2weEqWtpPE3vFK5YBhA6bqp2l1kfCC5A= -github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ugorji/go v1.1.4 h1:j4s+tAvLfL3bZyefP2SEWmhBzmuIlH/eqNuPdFPgngw= -github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= -github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/urfave/cli v1.22.2 h1:gsqYFH8bb9ekPA12kRo0hfjngWQjkJPlN9R0N78BoUo= github.com/urfave/cli v1.22.12 h1:igJgVw1JdKH+trcLWLeLwZjU9fEfPesQ+9/e4MQ44S8= github.com/urfave/cli v1.22.12/go.mod h1:sSBEIC79qR6OvcmsD4U3KABeOTxDqQtdDnaFuUN30b8= github.com/urfave/cli/v2 v2.25.5 h1:d0NIAyhh5shGscroL7ek/Ya9QYQE0KNabJgiUinIQkc= github.com/urfave/cli/v2 v2.25.5/go.mod h1:GHupkWPMM0M/sj1a2b4wUrWBPzazNrIjouW6fmdJLxc= -github.com/urfave/negroni v1.0.0 h1:kIimOitoypq34K7TG7DUaJ9kq/N4Ofuwi1sjz0KipXc= -github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= -github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= -github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= -github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= -github.com/vektah/gqlparser/v2 v2.5.8/go.mod h1:z8xXUff237NntSuH8mLFijZ+1tjV1swDbpDqjJmk6ME= github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5 h1:+UB2BJA852UkGH42H+Oee69djmxS3ANzl2b/JtT1YiA= github.com/vishvananda/netlink v1.2.1-beta.2 h1:Llsql0lnQEbHj0I1OuKyp8otXp0r3q0mPkuhwHfStVs= github.com/vishvananda/netlink v1.2.1-beta.2/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f h1:p4VB7kIXpOQvVn1ZaTIVp+3vuYAXFe3OJEvjbUYJLaA= -github.com/vmihailenco/bufpool v0.1.11 h1:gOq2WmBrq0i2yW5QJ16ykccQ4wH9UyEsgLm6czKAd94= -github.com/vmihailenco/bufpool v0.1.11/go.mod h1:AFf/MOy3l2CFTKbxwt0mp2MwnqjNEs5H/UxrkA5jxTQ= -github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= -github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= -github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vbd1qPqc= -github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= -github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= -github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/willf/bitset v1.1.11 h1:N7Z7E9UvjW+sGsEl7k/SJrvY2reP1A07MrGuCjIOjRE= -github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= -github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= -github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= -github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8= -github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f h1:mvXjJIHRZyhNuGassLTcXTwjiWq7NmjdavZsUnmFybQ= @@ -1477,9 +1297,6 @@ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5 github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43 h1:+lm10QQTNSBd8DVTNGHx7o/IKu9HYDvLMffDhbyLccI= github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50 h1:hlE8//ciYMztlGpl/VA+Zm1AcTPHYkHJPbHqE6WJUXE= @@ -1488,8 +1305,6 @@ github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zenazn/goji v1.0.1 h1:4lbD8Mx2h7IvloP7r2C0D6ltZP6Ufip8Hn0wmSK5LR8= github.com/zenazn/goji v1.0.1/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= -go.einride.tech/aip v0.66.0 h1:XfV+NQX6L7EOYK11yoHHFtndeaWh3KbD9/cN/6iWEt8= -go.einride.tech/aip v0.66.0/go.mod h1:qAhMsfT7plxBX+Oy7Huol6YUvZ0ZzdUz26yZsQwfl1M= go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= @@ -1501,11 +1316,7 @@ go.etcd.io/etcd/client/v3 v3.5.0 h1:62Eh0XOro+rDwkrypAGDfgmNh5Joq+z+W9HZdlXMzek= go.etcd.io/etcd/pkg/v3 v3.5.0 h1:ntrg6vvKRW26JRmHTE0iNlDgYK6JX3hg/4cD62X0ixk= go.etcd.io/etcd/raft/v3 v3.5.0 h1:kw2TmO3yFTgE+F0mdKkG7xMxkit2duBDa2Hu6D/HMlw= go.etcd.io/etcd/server/v3 v3.5.0 h1:jk8D/lwGEDlQU9kZXUFMSANkE22Sg5+mW27ip8xcF9E= -go.mongodb.org/mongo-driver v1.12.1 h1:nLkghSU8fQNaK7oUmDhQFsnrtcoNy7Z6LVFKsEecqgE= -go.mongodb.org/mongo-driver v1.12.1/go.mod h1:/rGBTebI3XYboVmgz+Wv3Bcbl3aD0QF9zl6kDDw18rQ= go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 h1:A/5uWzF44DlIgdm/PQFwfMkW0JX+cIcQi/SwLAmZP5M= -go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0 h1:Ky1MObd188aGbgb5OgNnwGuEEwI9MVIcc7rBW6zk5Ak= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.40.0 h1:5jD3teb4Qh7mx/nfzq4jO2WFFpvXD0vYWFDrdvNWmXk= @@ -1514,20 +1325,14 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.4 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0 h1:UNQQKPfTDe1J81ViolILjTKPr9WetKW6uei2hFgJmFs= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0/go.mod h1:r9vWsPS/3AQItv3OSlEJ/E4mbrhUbbw18meOjArPtKQ= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.48.0/go.mod h1:tIKj3DbO8N9Y2xo52og3irLsPI4GW02DSMtrVgNMgxg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1/go.mod h1:sEGXWArGqc3tVa+ekntsN65DmVbVeW+7lTKTjZF3/Fo= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 h1:sv9kVfal0MK0wBMCOGr+HeJm9v803BkJxGrk2au7j08= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.48.0/go.mod h1:rdENBZMT2OE6Ne/KLwpiXudnAsbdrdBaqBvTN8M8BgA= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo= go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y= go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= go.opentelemetry.io/otel v1.23.0/go.mod h1:YCycw9ZeKhcJFrb34iVSkyT0iczq/zYDtZYFufObyB0= -go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= -go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= go.opentelemetry.io/otel/exporters/otlp v0.20.0 h1:PTNgq9MRmQqqJY0REVbZFvwkYOA85vbdQU/nVfxDyqg= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0 h1:R/OBkMoGgfy2fLhs2QhkCI1w4HLEQX92GCcJB6SSdNk= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0 h1:/fXHZHGvro6MVqV34fJzDhi7sHGpX3Ej/Qjmfn003ho= @@ -1545,36 +1350,27 @@ go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzu go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg= go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY= go.opentelemetry.io/otel/metric v1.23.0/go.mod h1:MqUW2X2a6Q8RN96E2/nqNoT+z9BSms20Jb7Bbp+HiTo= -go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= -go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= go.opentelemetry.io/otel/oteltest v0.20.0 h1:HiITxCawalo5vQzdHfKeZurV8x7ljcqAgiWzF6Vaeaw= go.opentelemetry.io/otel/sdk v1.3.0 h1:3278edCoH89MEJ0Ky8WQXVmDQv3FX4ZJ3Pp+9fJreAI= go.opentelemetry.io/otel/sdk v1.14.0 h1:PDCppFRDq8A1jL9v6KMI6dYesaq+DFcDZvjsoGvxGzY= go.opentelemetry.io/otel/sdk v1.14.0/go.mod h1:bwIC5TjrNG6QDCHNWvW4HLHtUQ4I+VQDsnjhvyZCALM= go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= -go.opentelemetry.io/otel/sdk v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB2Gw= -go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= go.opentelemetry.io/otel/sdk/export/metric v0.20.0 h1:c5VRjxCXdQlx1HjzwGdQHzZaVI82b5EbBgOu2ljD92g= go.opentelemetry.io/otel/sdk/metric v0.20.0 h1:7ao1wpzHRVKf0OQ7GIxiQJA6X7DLX9o14gmVon7mMK8= go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ= go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0= go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= go.opentelemetry.io/otel/trace v1.23.0/go.mod h1:GSGTbIClEsuZrGIzoEHqsVfxgn5UkggkflQwDScNUsk= -go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= -go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw= go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= -go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/zap v1.17.0 h1:MTjgFu6ZLKvY6Pvaqk97GlxNBuMpV4Hy/3P6tRGlI2U= -golang.org/x/arch v0.4.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= @@ -1585,40 +1381,26 @@ golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98y golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= -golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= -golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91 h1:ryT6Nf0R83ZgD8WnFFdfI8wCeyqgdXWN4+CkFVNPAT0= golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91/go.mod h1:VjAR7z0ngyATZTELrBSkxOOHhhlnVUxDye4mcjx5h/8= golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI= golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= -golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= golang.org/x/oauth2 v0.9.0/go.mod h1:qYgFZaFiu6Wg24azG8bdV52QJXJGbZzIIsRCdVKzbLw= golang.org/x/oauth2 v0.11.0 h1:vPL4xzxBM4niKCW6g9whtaWVXTJf1U5e4aZxxFx/gbU= @@ -1627,34 +1409,13 @@ golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCA golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ= golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA= -golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= -golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1665,27 +1426,21 @@ golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2 h1:IRJeR9r1pYWsHKTRe/IInb7lYvbBVIqOgsX/u0mbOWY= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= gonum.org/v1/gonum v0.11.0 h1:f1IJhK4Km5tBJmaiJXtk/PkL4cdVX6J+tGiM187uT5E= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc= gonum.org/v1/plot v0.10.1 h1:dnifSs43YJuNMDzB7v8wV64O4ABBHReuAVAoBxqBqS4= @@ -1700,11 +1455,6 @@ google.golang.org/api v0.162.0 h1:Vhs54HkaEpkMBdgGdOT2P6F0csGG/vxDS0hWHJzmmps= google.golang.org/api v0.162.0/go.mod h1:6SulDkfoBIg4NFmCuZ39XeeAgSHCPecfSUuDyYlAHs0= google.golang.org/api v0.164.0/go.mod h1:2OatzO7ZDQsoS7IFf3rvsE17/TldiU3F/zxFHeqUB5o= google.golang.org/api v0.166.0/go.mod h1:4FcBc686KFi7QI/U51/2GKKevfZMpM17sCdibqe/bSA= -google.golang.org/api v0.169.0 h1:QwWPy71FgMWqJN/l6jVlFHUa29a7dcUy02I8o799nPY= -google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= -google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8 h1:Cpp2P6TPjujNoC5M2KHY6g7wfyLYfIWRZaSdIKfDasA= google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc h1:8DyZCyvI8mE1IdLy/60bS+52xfymkE72wv1asokgtao= google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= @@ -1721,8 +1471,6 @@ google.golang.org/genproto v0.0.0-20231212172506-995d672761c0/go.mod h1:l/k7rMz0 google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:+Rvu7ElI+aLzyDQhpHMFMMltsD6m7nqpuWDd2CwJw3k= google.golang.org/genproto v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= google.golang.org/genproto v0.0.0-20240205150955-31a09d347014/go.mod h1:xEgQu1e4stdSSsxPDK8Azkrk/ECl5HvdPf6nbZrTS5M= -google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y= -google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY= google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo= google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= @@ -1740,13 +1488,12 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240221002015-b0ce06bbee7c/go. google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0= google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8= google.golang.org/genproto/googleapis/api v0.0.0-20240311132316-a219d84964c2/go.mod h1:O1cOfN1Cy6QEYr7VxtjOyP5AdAuR0aJ/MYZaaof623Y= -google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 h1:RFiFrvy37/mpSpdySBDrUdipW/dHwsRwh3J3+A9VgT4= -google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230807174057-1744710a1577 h1:ZX0eQu2J+jOO87sq8fQG8J/Nfp7D7BhHpixIE5EYK/k= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230807174057-1744710a1577/go.mod h1:NjCQG/D8JandXxM57PZbAJL1DCNL6EypA0vPPwfsc7c= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405 h1:o4S3HvTUEXgRsNSUQsALDVog0O9F/U1JJlHmmUN8Uas= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:SCz6T5xjNXM4QFPRwxHcfChp7V+9DcXR3ay2TkHR8Tg= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20240304161311-37d4d3c04a78 h1:YqFWYZXim8bG9v68xU8WjTZmYKb5M5dMeSOWIp6jogI= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240304161311-37d4d3c04a78/go.mod h1:vh/N7795ftP0AkN1w8XKqN4w1OdUKXW5Eummda+ofv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc h1:XSJ8Vk1SWuNr8S18z1NZSziL0CPIXLCCMDOEFtHBOFc= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= @@ -1781,69 +1528,43 @@ google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJai google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE= -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= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/airbrake/gobrake.v2 v2.0.9 h1:7z2uVWwn7oVeeugY1DtlPAy5H+KYgB1KeKTnqjNatLo= gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/avro.v0 v0.0.0-20171217001914-a730b5802183 h1:PGIdqvwfpMUyUP+QAlAnKTSWQ671SmYjoou2/5j7HXk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/cheggaaa/pb.v1 v1.0.25 h1:Ev7yu1/f6+d+b3pi5vPdRPc6nNtP1umSfcWiEfRqv6I= gopkg.in/errgo.v1 v1.0.0 h1:n+7XfCyygBFb8sEjg6692xjC6Us50TFRO54+xYUEwjE= gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2 h1:OAj3g0cR6Dx/R07QgQe8wkA9RNjB2u4i700xBkIT4e0= gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM= gopkg.in/go-playground/validator.v8 v8.18.2 h1:lFB4DoMU6B626w8ny76MV7VX6W2VHct2GVOI3xgiMrQ= gopkg.in/httprequest.v1 v1.2.1 h1:pEPLMdF/gjWHnKxLpuCYaHFjc8vAB2wrYjXrqDVC16E= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= +gopkg.in/jinzhu/gorm.v1 v1.9.2 h1:sTqyEcgrxG68jdeUXA9syQHNdeRhhfaYZ+vcL3x730I= gopkg.in/jinzhu/gorm.v1 v1.9.2/go.mod h1:56JJPUzbikvTVnoyP1nppSkbJ2L8sunqTBDY2fDrmFg= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw= gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= +gopkg.in/olivere/elastic.v3 v3.0.75 h1:u3B8p1VlHF3yNLVOlhIWFT3F1ICcHfM5V6FFJe6pPSo= gopkg.in/olivere/elastic.v3 v3.0.75/go.mod h1:yDEuSnrM51Pc8dM5ov7U8aI/ToR3PG0llA8aRv2qmw0= -gopkg.in/olivere/elastic.v5 v5.0.84 h1:acF/tRSg5geZpE3rqLglkS79CQMIMzOpWZE7hRXIkjs= -gopkg.in/olivere/elastic.v5 v5.0.84/go.mod h1:LXF6q9XNBxpMqrcgax95C6xyARXWbbCXUrtTxrNrxJI= gopkg.in/resty.v1 v1.12.0 h1:CuXP0Pjfw9rOuY6EP+UvtNvt5DSqHpIxILZKT/quCZI= gopkg.in/retry.v1 v1.0.3 h1:a9CArYczAVv6Qs6VGoLMio99GEs7kY9UzSF9+LD+iGs= gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gorm.io/driver/mysql v1.0.1/go.mod h1:KtqSthtg55lFp3S5kUXqlGaelnWpKitn4k1xZTnoiPw= -gorm.io/driver/postgres v1.4.6/go.mod h1:UJChCNLFKeBqQRE+HrkFUbKbq9idPXmTOk2u4Wok8S4= -gorm.io/driver/sqlserver v1.4.2/go.mod h1:XHwBuB4Tlh7DqO0x7Ema8dmyWsQW7wi38VQOAFkrbXY= -gorm.io/gorm v1.25.3/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools/gotestsum v1.8.2 h1:szU3TaSz8wMx/uG+w/A2+4JUPwH903YYaMI9yOOYAyI= gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= -gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= honnef.co/go/tools v0.1.3 h1:qTakTkI6ni6LFD5sBwwsdSO+AQqbSIxOauHTTQKZ/7o= -k8s.io/api v0.23.17 h1:gC11V5AIsNXUUa/xd5RQo7djukvl5O1ZDQKwEYu0H7g= -k8s.io/api v0.23.17/go.mod h1:upM9VIzXUjEyLTmGGi0KnH8kdlPnvgv+fEJ3tggDHfE= k8s.io/api v0.26.2 h1:dM3cinp3PGB6asOySalOZxEG4CZ0IAdJsrYZXE/ovGQ= k8s.io/api v0.26.2/go.mod h1:1kjMQsFE+QHPfskEcVNgL3+Hp88B80uj0QtSOlj8itU= -k8s.io/apimachinery v0.23.17 h1:ipJ0SrpI6EzH8zVw0WhCBldgJhzIamiYIumSGTdFExY= -k8s.io/apimachinery v0.23.17/go.mod h1:87v5Wl9qpHbnapX1PSNgln4oO3dlyjAU3NSIwNhT4Lo= k8s.io/apimachinery v0.26.2 h1:da1u3D5wfR5u2RpLhE/ZtZS2P7QvDgLZTi9wrNZl/tQ= k8s.io/apimachinery v0.26.2/go.mod h1:ats7nN1LExKHvJ9TmwootT00Yz05MuYqPXEXaVeOy5I= k8s.io/apiserver v0.22.5 h1:71krQxCUz218ecb+nPhfDsNB6QgP1/4EMvi1a2uYBlg= k8s.io/apiserver v0.26.2 h1:Pk8lmX4G14hYqJd1poHGC08G03nIHVqdJMR0SD3IH3o= k8s.io/apiserver v0.26.2/go.mod h1:GHcozwXgXsPuOJ28EnQ/jXEM9QeG6HT22YxSNmpYNh8= -k8s.io/client-go v0.23.17 h1:MbW05RO5sy+TFw2ds36SDdNSkJbr8DFVaaVrClSA8Vs= -k8s.io/client-go v0.23.17/go.mod h1:X5yz7nbJHS7q8977AKn8BWKgxeAXjl1sFsgstczUsCM= k8s.io/client-go v0.26.2 h1:s1WkVujHX3kTp4Zn4yGNFK+dlDXy1bAAkIl+cFAiuYI= k8s.io/client-go v0.26.2/go.mod h1:u5EjOuSyBa09yqqyY7m3abZeovO/7D/WehVVlZ2qcqU= k8s.io/code-generator v0.19.7 h1:kM/68Y26Z/u//TFc1ggVVcg62te8A2yQh57jBfD0FWQ= @@ -1854,24 +1575,16 @@ k8s.io/cri-api v0.23.1 h1:0DHL/hpTf4Fp+QkUXFefWcp1fhjXr9OlNdY9X99c+O8= k8s.io/cri-api v0.26.2 h1:Vifw8T4ZFzU5pQ5dj5rdDsPOSzmLAvhVcYEJpbjOYLY= k8s.io/cri-api v0.26.2/go.mod h1:Oo8O7MKFPNDxfDf2LmrF/3Hf30q1C6iliGuv3la3tIA= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c h1:GohjlNKauSai7gN4wsJkeZ3WAJx4Sh+oT/b5IYn5suA= -k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= -k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw= k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 h1:+70TFaan3hfJzs+7VK2o+OGxg8HsuBr/5f6tVAjDu6E= k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280/go.mod h1:+Axhij7bCpeqhklhUTe3xmOn6bWxolyZEeyaFpjGtl4= k8s.io/kubernetes v1.13.0 h1:qTfB+u5M92k2fCCCVP2iuhgwwSOv1EkAkvQY1tQODD8= -k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= -k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5 h1:kmDqav+P+/5e1i9tFfHq1qcF3sOrDp+YEkVDAHu7Jwk= k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI= -mellium.im/sasl v0.3.1 h1:wE0LW6g7U83vhvxjC1IY8DnXM+EU095yeo8XClvCdfo= -mellium.im/sasl v0.3.1/go.mod h1:xm59PUYpZHhgQ9ZqoJ5QaCqzWMi8IeS49dhp6plPCzw= modernc.org/cc/v3 v3.36.3 h1:uISP3F66UlixxWEcKuIWERa4TwrZENHSL8tWxZz8bHg= modernc.org/ccgo/v3 v3.16.9 h1:AXquSwg7GuMk11pIdw7fmO1Y/ybgazVkMhsZWCV0mHM= modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk= @@ -1891,13 +1604,7 @@ rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4= rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY= rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22 h1:fmRfl9WJ4ApJn7LxNuED4m0t18qivVQOxP6aAYG9J6c= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/internal/apps/go.mod b/internal/apps/go.mod index 35befafc06..24a85fdc0a 100644 --- a/internal/apps/go.mod +++ b/internal/apps/go.mod @@ -2,11 +2,9 @@ module github.com/DataDog/dd-trace-go/internal/apps go 1.21 -toolchain go1.21.5 - require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d golang.org/x/sync v0.7.0 ) @@ -53,5 +51,6 @@ require ( google.golang.org/protobuf v1.34.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../contrib/net/http + +replace github.com/DataDog/dd-trace-go/v2 => ../.. diff --git a/internal/apps/go.sum b/internal/apps/go.sum index 66ee5566d9..c4e5fc8720 100644 --- a/internal/apps/go.sum +++ b/internal/apps/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -38,9 +34,8 @@ github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+m github.com/ebitengine/purego v0.7.1 h1:6/55d26lG3o9VCZX8lping+bZcmShseiqlh2bnUDiPA= github.com/ebitengine/purego v0.7.1/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= @@ -138,8 +133,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= -google.golang.org/grpc v1.57.1/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= diff --git a/internal/contrib/httptracemock/httptracemock.go b/internal/contrib/httptracemock/httptracemock.go index 536a0b5544..10240fc14c 100644 --- a/internal/contrib/httptracemock/httptracemock.go +++ b/internal/contrib/httptracemock/httptracemock.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016 Datadog, Inc. + package httptracemock import ( diff --git a/internal/contrib/validationtest/contrib/bradfitz_memcache.go b/internal/contrib/validationtest/contrib/bradfitz_memcache.go index 20af1f6480..0f8d73aa7d 100644 --- a/internal/contrib/validationtest/contrib/bradfitz_memcache.go +++ b/internal/contrib/validationtest/contrib/bradfitz_memcache.go @@ -8,7 +8,7 @@ package validationtest import ( "testing" - memcachetrace "github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/memcache/v2" + memcachetrace "github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2/memcache" "github.com/bradfitz/gomemcache/memcache" "github.com/stretchr/testify/require" diff --git a/internal/contrib/validationtest/go.mod b/internal/contrib/validationtest/go.mod index 047150ce54..8090e3bfc8 100644 --- a/internal/contrib/validationtest/go.mod +++ b/internal/contrib/validationtest/go.mod @@ -1,11 +1,11 @@ module github.com/DataDog/dd-trace-go/v2/internal/contrib/validationtest -go 1.20 +go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/miekg/dns/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/bradfitz/gomemcache v0.0.0-20230611145640-acc696258285 github.com/miekg/dns v1.1.59 github.com/stretchr/testify v1.8.4 @@ -16,7 +16,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -47,7 +46,8 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" -replace "github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2" => "../../bradfitz/gomemcache" -replace "github.com/DataDog/dd-trace-go/contrib/miekg/dns/v2" => "../../miekg/dns" +replace github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2 => ../../../contrib/bradfitz/gomemcache + +replace github.com/DataDog/dd-trace-go/contrib/miekg/dns/v2 => ../../../contrib/miekg/dns + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/internal/contrib/validationtest/go.sum b/internal/contrib/validationtest/go.sum index 1e90303c18..981a5dd784 100644 --- a/internal/contrib/validationtest/go.sum +++ b/internal/contrib/validationtest/go.sum @@ -6,14 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:PBKYiLURTshdGEvXKer4IMXt0z41Q5cwmsjm9gsCxIE= -github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:9EMMNFaVAoEflGg8JEm2kFkBMoOQAiwBTCxuqH1b5L4= -github.com/DataDog/dd-trace-go/contrib/miekg/dns/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:wCrz2xTwH+FP059D/ANHwmCDITLArrDJTiDVhRJXA3w= -github.com/DataDog/dd-trace-go/contrib/miekg/dns/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:C7c1R4plvKzzl/qaZIWJrRC9aSF2QI8Dic42ukTRe8I= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -21,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -44,8 +37,11 @@ github.com/ebitengine/purego v0.7.1 h1:6/55d26lG3o9VCZX8lping+bZcmShseiqlh2bnUDi github.com/ebitengine/purego v0.7.1/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -54,7 +50,9 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/miekg/dns v1.1.59 h1:C9EXc/UToRwKLhK5wKU/I4QVsBUc8kE6MkHBkeypWZs= github.com/miekg/dns v1.1.59/go.mod h1:nZpewl5p6IvctfgrckopVx2OlSEHPRO/U4SYkRklrEk= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= @@ -67,15 +65,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -91,9 +93,11 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= @@ -135,7 +139,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/internal/traceprof/traceproftest/go.mod b/internal/traceprof/traceproftest/go.mod index 8d0bf2337a..66cdbfd9cf 100644 --- a/internal/traceprof/traceproftest/go.mod +++ b/internal/traceprof/traceproftest/go.mod @@ -1,11 +1,11 @@ module github.com/DataDog/dd-trace-go/v2/internal/traceprof/traceproftest -go 1.20 +go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/julienschmidt/httprouter/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b github.com/julienschmidt/httprouter v1.3.0 github.com/stretchr/testify v1.8.4 @@ -48,5 +48,10 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2 => ../../../contrib/google.golang.org/grpc + +replace github.com/DataDog/dd-trace-go/contrib/julienschmidt/httprouter/v2 => ../../../contrib/julienschmidt/httprouter + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. + +replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../../contrib/net/http diff --git a/internal/traceprof/traceproftest/go.sum b/internal/traceprof/traceproftest/go.sum index a65baa389d..ecefc74b49 100644 --- a/internal/traceprof/traceproftest/go.sum +++ b/internal/traceprof/traceproftest/go.sum @@ -6,14 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc v2.0.0-20240516153256-8d6fa2bea61d h1:JNp+Hwy62CgIZWVQ/EZIsbKLKcMa+RgTJJxFH3Zn6yM=/v2 -github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:Lneadai4K0q8JDSgYhxzFyLrQREbJ28qlB8MVG7vPx0=/v2 -github.com/DataDog/dd-trace-go/contrib/julienschmidt/httprouter/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:ag6nILxw9u+Gxl/vVR31EB4k+5zjDgRBWy5kv5xeOAw= -github.com/DataDog/dd-trace-go/contrib/julienschmidt/httprouter/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:ZY2iQlrztc5E8fHTrLzPEVSO5uDu/3O2EG7HNH3at3Y= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -21,6 +13,7 @@ github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65s 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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -44,7 +37,9 @@ github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+Licev github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= @@ -57,7 +52,9 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -68,15 +65,19 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -92,9 +93,11 @@ 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -136,7 +139,9 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/tools/fixmodules/go.mod b/tools/fixmodules/go.mod new file mode 100644 index 0000000000..a2bf7a4f50 --- /dev/null +++ b/tools/fixmodules/go.mod @@ -0,0 +1,3 @@ +module github.com/DataDog/dd-trace-go/v2/scripts/fixmodules + +go 1.21 diff --git a/tools/fixmodules/main.go b/tools/fixmodules/main.go new file mode 100644 index 0000000000..c3a00505dc --- /dev/null +++ b/tools/fixmodules/main.go @@ -0,0 +1,221 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016 Datadog, Inc. + +package main + +import ( + "cmp" + "encoding/json" + "flag" + "fmt" + "log" + "os" + "os/exec" + "path/filepath" + "sort" + "strings" +) + +const goVersion = "1.21" + +func init() { + flag.Usage = func() { + fmt.Fprintf(os.Stderr, "Usage: %s \n", os.Args[0]) + flag.PrintDefaults() + } +} + +// These types come from "go help mod edit" +type ( + Module struct { + Path string + Version string + } + + GoMod struct { + // dir is the directory where the module lives + dir string + + Module ModPath + Go string + Toolchain string + Require []Require + Exclude []Module + Replace []Replace + Retract []Retract + } + + ModPath struct { + Path string + Deprecated string + } + + Require struct { + Path string + Version string + Indirect bool + } + + Replace struct { + Old Module + New Module + } + + Retract struct { + Low string + High string + Rationale string + } +) + +func main() { + flag.Parse() + if flag.NArg() != 1 { + flag.Usage() + os.Exit(2) + } + + root, err := filepath.Abs(flag.Arg(0)) + if err != nil { + log.Fatal(err) + } + if resolved, err := os.Readlink(root); err == nil { + root = resolved + } + log.Printf("finding modules recursively from %s\n", root) + + modules := make(map[string]*GoMod) + if err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { + if err != nil { + return err + } + if !info.IsDir() { + if info.Name() == "go.mod" { + m, err := readModule(path) + if err != nil { + return err + } + modules[m.Module.Path] = m + } + return nil + } + if name := info.Name(); name != root && strings.HasPrefix(name, ".") { + return filepath.SkipDir + } + return nil + }); err != nil { + log.Fatal(err) + } + + for _, modPath := range sortedKeys(modules) { + mod := modules[modPath] + + var replaces []Replace + for _, require := range mod.Require { + // it's a local module + _, ok := modules[require.Path] + if ok { + replaces = append(replaces, getLocalReplace(modules, modPath, require.Path)) + } + } + log.Printf("fixing module: %s", modPath) + if err := fixModule(modules, mod, replaces); err != nil { + log.Fatal(err) + } + } +} + +func getLocalReplace(mods map[string]*GoMod, mod, require string) Replace { + mDir := mods[mod].dir + rDir := mods[require].dir + + rel, err := filepath.Rel(mDir, rDir) + if err != nil { + log.Fatal(err) + } + + return Replace{ + Old: Module{ + Path: require, + }, + New: Module{ + Path: rel, + Version: "", + }, + } +} + +func readModule(path string) (*GoMod, error) { + cmd := exec.Command("go", "mod", "edit", "-json", path) + cmd.Stderr = os.Stderr + output, err := cmd.Output() + if err != nil { + return nil, err + } + m := GoMod{dir: filepath.Dir(path)} + if err := json.Unmarshal(output, &m); err != nil { + return nil, err + } + return &m, nil +} + +func fixModule(mods map[string]*GoMod, mod *GoMod, replaces []Replace) error { + // first, clean previous local replaces + for _, replace := range mod.Replace { + if _, ok := mods[replace.Old.Path]; ok { + args := []string{ + "mod", + "edit", + fmt.Sprintf("-dropreplace=%s", replace.Old.Path), + } + cmd := exec.Command("go", args...) + cmd.Stderr = os.Stderr + cmd.Dir = mod.dir + if err := cmd.Run(); err != nil { + return fmt.Errorf("'go mod edit' dropreplace failed: %w", err) + } + } + } + + // after cleaning up, add the necessary local replaces + for _, replace := range replaces { + args := []string{ + "mod", + "edit", + fmt.Sprintf("-replace=%s=%s", replace.Old.Path, replace.New.Path), + } + cmd := exec.Command("go", args...) + cmd.Stderr = os.Stderr + cmd.Dir = mod.dir + if err := cmd.Run(); err != nil { + return fmt.Errorf("'go mod edit' replace failed: %w", err) + } + } + + cmd := exec.Command("go", "mod", "tidy", "-v", "-go", goVersion) + cmd.Stderr = os.Stderr + cmd.Dir = mod.dir + if err := cmd.Run(); err != nil { + return fmt.Errorf("'go mod tidy' failed: %w", err) + } + + cmd = exec.Command("go", "mod", "edit", "-toolchain", "none") + cmd.Stderr = os.Stderr + cmd.Dir = mod.dir + if err := cmd.Run(); err != nil { + return fmt.Errorf("'go mod edit' toolchain failed: %w", err) + } + + return nil +} + +func sortedKeys[K cmp.Ordered, V any](m map[K]V) []K { + var keys []K + for k := range m { + keys = append(keys, k) + } + sort.Slice(keys, func(i, j int) bool { return keys[i] < keys[j] }) + return keys +} diff --git a/tools/v2check/_stage/go.mod b/tools/v2check/_stage/go.mod index 184a324c73..4bed596194 100644 --- a/tools/v2check/_stage/go.mod +++ b/tools/v2check/_stage/go.mod @@ -1,10 +1,10 @@ module github.com/DataDog/dd-trace-go/v2/tools/v2check/_stage -go 1.20 +go 1.21 require ( - gopkg.in/DataDog/dd-trace-go.v1 v1.62.0 github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + gopkg.in/DataDog/dd-trace-go.v1 v1.62.0 ) require ( @@ -12,7 +12,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -43,5 +42,4 @@ require ( google.golang.org/protobuf v1.33.0 // indirect ) -replace "github.com/DataDog/dd-trace-go/v2" => "../../.." -replace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" => "../../net/http" +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/tools/v2check/_stage/go.sum b/tools/v2check/_stage/go.sum index 3066e72817..fef275e9a0 100644 --- a/tools/v2check/_stage/go.sum +++ b/tools/v2check/_stage/go.sum @@ -6,10 +6,6 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:0O5KQV+GDrI2eE+qAIXdYThGnQGFa5WbvNulRJ0pkA4= -github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:sM9Y73zSNo9h/GphO/AVBg4dzdGW3ifMSKS47XZCDjI= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -99,7 +95,6 @@ github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl github.com/tinylib/msgp v1.1.9 h1:SHf3yoO2sGA0veCJeCBYLHuttAVFHGm2RHgNodW7wQU= github.com/tinylib/msgp v1.1.9/go.mod h1:BCXGB54lDD8qUEPmiG0cQQUANC4IUQyB2ItS2UDlO/k= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= 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= diff --git a/tools/v2check/go.mod b/tools/v2check/go.mod index 15352dae3a..65632ee709 100644 --- a/tools/v2check/go.mod +++ b/tools/v2check/go.mod @@ -1,8 +1,9 @@ module github.com/DataDog/dd-trace-go/v2/tools/v2check -go 1.20 +go 1.21 require ( + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d golang.org/x/tools v0.20.0 gopkg.in/DataDog/dd-trace-go.v1 v1.62.0 ) @@ -12,7 +13,6 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.11 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -38,3 +38,5 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/protobuf v1.33.0 // indirect ) + +replace github.com/DataDog/dd-trace-go/v2 => ../.. diff --git a/tools/v2check/go.sum b/tools/v2check/go.sum index 064e799533..9c8623404e 100644 --- a/tools/v2check/go.sum +++ b/tools/v2check/go.sum @@ -6,14 +6,14 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d h1:zJFACyagf1qVethXJN/r7Pirj7x0kPTfAbV1DE4gWic= -github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d/go.mod h1:cg2/oZQruhcss4synV6mmPB1z78GA41ooXTkKasVAfw= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= github.com/DataDog/go-sqllexer v0.0.11/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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.4 h1:dF52vzXRFSPOj2IjXSWLvXq3jubL4CI69kwYjJ1w5Z8= github.com/DataDog/sketches-go v1.4.4/go.mod h1:XR0ns2RtEEF09mDKXiKZiQg+nfZStrq1ZuL1eezeZe0= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -24,6 +24,9 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= @@ -35,7 +38,12 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -43,6 +51,12 @@ github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -50,12 +64,22 @@ github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2 github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -63,26 +87,30 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/tinylib/msgp v1.1.9 h1:SHf3yoO2sGA0veCJeCBYLHuttAVFHGm2RHgNodW7wQU= github.com/tinylib/msgp v1.1.9/go.mod h1:BCXGB54lDD8qUEPmiG0cQQUANC4IUQyB2ItS2UDlO/k= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= 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= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= -golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -103,8 +131,6 @@ golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA= -golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -120,5 +146,10 @@ google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHh gopkg.in/DataDog/dd-trace-go.v1 v1.62.0 h1:jeZxE4ZlfAc+R0zO5TEmJBwOLet3NThsOfYJeSQg1x0= gopkg.in/DataDog/dd-trace-go.v1 v1.62.0/go.mod h1:YTvYkk3PTsfw0OWrRFxV/IQ5Gy4nZ5TRvxTAP3JcIzs= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= From 950fdd537dd7939299d3d778d6d93191eae9295a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Arg=C3=BCello?= Date: Wed, 31 Jul 2024 10:21:22 +0200 Subject: [PATCH 03/21] contrib-api-v2 basic implementation (#2795) --- contrib/99designs/gqlgen/example_test.go | 27 +- contrib/99designs/gqlgen/go.mod | 4 +- contrib/99designs/gqlgen/go.sum | 18 +- contrib/99designs/gqlgen/option.go | 8 +- contrib/99designs/gqlgen/tracer.go | 58 +--- contrib/99designs/gqlgen/tracer_test.go | 63 +--- contrib/api.go | 60 ---- contrib/aws/aws-sdk-go-v2/aws/aws.go | 58 ++-- contrib/aws/aws-sdk-go-v2/aws/aws_test.go | 170 +--------- contrib/aws/aws-sdk-go-v2/aws/option.go | 8 +- contrib/aws/aws-sdk-go-v2/go.mod | 52 ++-- contrib/aws/aws-sdk-go-v2/go.sum | 118 +++---- contrib/aws/aws-sdk-go/aws/aws.go | 80 ++--- contrib/aws/aws-sdk-go/aws/aws_test.go | 149 +-------- contrib/aws/aws-sdk-go/aws/option.go | 9 +- .../bradfitz/gomemcache/memcache/memcache.go | 14 +- .../gomemcache/memcache/memcache_test.go | 59 +--- .../bradfitz/gomemcache/memcache/option.go | 19 +- .../cloud.google.com/go/pubsub.v1/option.go | 10 +- .../cloud.google.com/go/pubsub.v1/pubsub.go | 18 +- .../go/pubsub.v1/pubsub_test.go | 45 +-- contrib/net/http/http.go | 7 +- contrib/net/http/http_test.go | 103 +++--- .../make_responsewriter/main.go} | 45 ++- .../internal/make_responsewriter/main_test.go | 15 +- contrib/net/http/option.go | 29 +- contrib/net/http/roundtripper_test.go | 65 +--- contrib/net/http/trace.go | 18 +- contrib/net/http/trace_test.go | 4 +- .../aws/tags/tags.go => ddtrace/ext/aws.go | 11 +- .../contrib => ddtrace}/options/options.go | 0 .../options/options_test.go | 0 ddtrace/tracer/context.go | 2 +- go.work | 1 + go.work.sum | 45 +++ .../appsec/emitter/graphqlsec/README.md | 0 .../appsec/emitter/graphqlsec/context.go | 0 .../appsec/emitter/graphqlsec/execution.go | 6 +- .../appsec/emitter/graphqlsec/init.go | 0 .../appsec/emitter/graphqlsec/request.go | 4 +- .../appsec/emitter/graphqlsec/resolve.go | 2 +- .../appsec/emitter/graphqlsec/types/types.go | 0 .../appsec/emitter/httpsec/config.go | 0 .../appsec/emitter/httpsec/http.go | 2 +- .../appsec/emitter/httpsec/init.go | 0 .../appsec/emitter/httpsec/tags.go | 0 .../appsec/emitter/httpsec/tags_test.go | 0 .../appsec/emitter/httpsec/types/types.go | 0 .../httptrace/config.go | 0 .../httptrace/config_test.go | 0 .../httptrace/httptrace.go | 15 +- .../httptrace/httptrace_test.go | 0 instrumentation/instrumentation.go | 109 +++++++ .../internal/namingschema/namingschema.go | 78 +++++ .../namingschematest/aws_sdk_v1_test.go | 141 +++++++++ .../namingschematest/aws_sdk_v2_test.go | 153 +++++++++ .../namingschematest/gcp_pubsub_test.go | 98 ++++++ .../internal/namingschematest/go.mod | 85 +++++ .../internal/namingschematest/go.sum | 230 ++++++++++++++ .../namingschematest/gomemcache_test.go | 99 ++++++ .../internal/namingschematest/gqlgen_test.go | 76 +++++ .../internal/namingschematest/main_test.go | 133 ++++++++ .../namingschematest/net_http_test.go | 90 ++++++ instrumentation/logger.go | 28 ++ instrumentation/packages.go | 292 ++++++++++++++++++ instrumentation/testutils/testutils.go | 57 ++++ .../appsec/listener/graphqlsec/graphql.go | 2 +- internal/appsec/listener/httpsec/http.go | 2 +- internal/contrib/namingschematest/cache.go | 36 --- .../contrib/namingschematest/client_server.go | 41 --- internal/contrib/namingschematest/db.go | 36 --- .../contrib/namingschematest/messaging.go | 38 --- .../namingschematest/namingschematest.go | 158 ---------- internal/contrib/namingschematest/option.go | 28 -- internal/lists/lists.go | 52 ---- internal/log/log.go | 4 + .../namingschematest/namingschematest.go | 84 ----- 77 files changed, 2122 insertions(+), 1449 deletions(-) delete mode 100644 contrib/api.go rename contrib/net/http/{make_responsewriter.go => internal/make_responsewriter/main.go} (66%) rename internal/lists/lists_test.go => contrib/net/http/internal/make_responsewriter/main_test.go (67%) rename internal/contrib/aws/tags/tags.go => ddtrace/ext/aws.go (71%) rename {internal/contrib => ddtrace}/options/options.go (100%) rename {internal/contrib => ddtrace}/options/options_test.go (100%) rename {internal => instrumentation}/appsec/emitter/graphqlsec/README.md (100%) rename {internal => instrumentation}/appsec/emitter/graphqlsec/context.go (100%) rename {internal => instrumentation}/appsec/emitter/graphqlsec/execution.go (77%) rename {internal => instrumentation}/appsec/emitter/graphqlsec/init.go (100%) rename {internal => instrumentation}/appsec/emitter/graphqlsec/request.go (89%) rename {internal => instrumentation}/appsec/emitter/graphqlsec/resolve.go (92%) rename {internal => instrumentation}/appsec/emitter/graphqlsec/types/types.go (100%) rename {internal => instrumentation}/appsec/emitter/httpsec/config.go (100%) rename {internal => instrumentation}/appsec/emitter/httpsec/http.go (98%) rename {internal => instrumentation}/appsec/emitter/httpsec/init.go (100%) rename {internal => instrumentation}/appsec/emitter/httpsec/tags.go (100%) rename {internal => instrumentation}/appsec/emitter/httpsec/tags_test.go (100%) rename {internal => instrumentation}/appsec/emitter/httpsec/types/types.go (100%) rename {internal/contrib => instrumentation}/httptrace/config.go (100%) rename {internal/contrib => instrumentation}/httptrace/config_test.go (100%) rename {internal/contrib => instrumentation}/httptrace/httptrace.go (90%) rename {internal/contrib => instrumentation}/httptrace/httptrace_test.go (100%) create mode 100644 instrumentation/instrumentation.go create mode 100644 instrumentation/internal/namingschema/namingschema.go create mode 100644 instrumentation/internal/namingschematest/aws_sdk_v1_test.go create mode 100644 instrumentation/internal/namingschematest/aws_sdk_v2_test.go create mode 100644 instrumentation/internal/namingschematest/gcp_pubsub_test.go create mode 100644 instrumentation/internal/namingschematest/go.mod create mode 100644 instrumentation/internal/namingschematest/go.sum create mode 100644 instrumentation/internal/namingschematest/gomemcache_test.go create mode 100644 instrumentation/internal/namingschematest/gqlgen_test.go create mode 100644 instrumentation/internal/namingschematest/main_test.go create mode 100644 instrumentation/internal/namingschematest/net_http_test.go create mode 100644 instrumentation/logger.go create mode 100644 instrumentation/packages.go create mode 100644 instrumentation/testutils/testutils.go delete mode 100644 internal/contrib/namingschematest/cache.go delete mode 100644 internal/contrib/namingschematest/client_server.go delete mode 100644 internal/contrib/namingschematest/db.go delete mode 100644 internal/contrib/namingschematest/messaging.go delete mode 100644 internal/contrib/namingschematest/namingschematest.go delete mode 100644 internal/contrib/namingschematest/option.go delete mode 100644 internal/lists/lists.go delete mode 100644 v1internal/namingschematest/namingschematest.go diff --git a/contrib/99designs/gqlgen/example_test.go b/contrib/99designs/gqlgen/example_test.go index e6d11b3fc2..9af60f7485 100644 --- a/contrib/99designs/gqlgen/example_test.go +++ b/contrib/99designs/gqlgen/example_test.go @@ -3,9 +3,28 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2022 Datadog, Inc. -// Package gqlgen provides functions to trace the 99designs/gqlgen package (https://github.com/99designs/gqlgen). package gqlgen_test -// The example was moved into the package godoc to avoid adding its dependencies into dd-trace-go's go.mod file, -// where github.com/BurntSushi/toml would be upgraded to v1, which breaks existing users of the v0, like this is the -// case at Datadog's backend. Such code examples shouldn't introduce breaking changes to dd-trace-go's go.mod file. +import ( + "log" + "net/http" + + "github.com/99designs/gqlgen/graphql/handler/testserver" + + gqlgentrace "github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2" + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" +) + +func Example() { + tracer.Start() + defer tracer.Stop() + + t := gqlgentrace.NewTracer( + gqlgentrace.WithAnalytics(true), + gqlgentrace.WithService("todo.server"), + ) + h := testserver.New() // replace with your own actual server + h.Use(t) + http.Handle("/query", h) + log.Fatal(http.ListenAndServe(":8080", nil)) +} diff --git a/contrib/99designs/gqlgen/go.mod b/contrib/99designs/gqlgen/go.mod index df7e795e22..7844658078 100644 --- a/contrib/99designs/gqlgen/go.mod +++ b/contrib/99designs/gqlgen/go.mod @@ -5,8 +5,8 @@ go 1.21 require ( github.com/99designs/gqlgen v0.17.36 github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/stretchr/testify v1.8.4 - github.com/vektah/gqlparser/v2 v2.5.8 + github.com/stretchr/testify v1.9.0 + github.com/vektah/gqlparser/v2 v2.5.16 ) require ( diff --git a/contrib/99designs/gqlgen/go.sum b/contrib/99designs/gqlgen/go.sum index 74d34e46e1..f236fa1a0c 100644 --- a/contrib/99designs/gqlgen/go.sum +++ b/contrib/99designs/gqlgen/go.sum @@ -63,11 +63,8 @@ github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+l github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/golang-lru/v2 v2.0.3 h1:kmRrRLlInXvng0SmLxmQpQkpbYAvcXm7NPDrgxJa9mE= github.com/hashicorp/golang-lru/v2 v2.0.3/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= @@ -95,22 +92,21 @@ github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= -github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/tinylib/msgp v1.1.9 h1:SHf3yoO2sGA0veCJeCBYLHuttAVFHGm2RHgNodW7wQU= github.com/tinylib/msgp v1.1.9/go.mod h1:BCXGB54lDD8qUEPmiG0cQQUANC4IUQyB2ItS2UDlO/k= -github.com/vektah/gqlparser/v2 v2.5.8 h1:pm6WOnGdzFOCfcQo9L3+xzW51mKrlwTEg4Wr7AH1JW4= -github.com/vektah/gqlparser/v2 v2.5.8/go.mod h1:z8xXUff237NntSuH8mLFijZ+1tjV1swDbpDqjJmk6ME= +github.com/vektah/gqlparser/v2 v2.5.16 h1:1gcmLTvs3JLKXckwCwlUagVn/IlV2bwqle0vJ0vy5p8= +github.com/vektah/gqlparser/v2 v2.5.16/go.mod h1:1lz1OeCqgQbQepsGxPVywrjdBHW2T08PUS3pJqepRww= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= @@ -164,10 +160,8 @@ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/contrib/99designs/gqlgen/option.go b/contrib/99designs/gqlgen/option.go index f2f786be28..cc765cfcd5 100644 --- a/contrib/99designs/gqlgen/option.go +++ b/contrib/99designs/gqlgen/option.go @@ -7,9 +7,9 @@ package gqlgen import ( "math" -) -const defaultServiceName = "graphql" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) type config struct { serviceName string @@ -30,8 +30,8 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - cfg.serviceName = integration.DefaultServiceName() - cfg.analyticsRate = integration.DefaultAnalyticsRate() + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.analyticsRate = instr.AnalyticsRate() cfg.tags = make(map[string]interface{}) } diff --git a/contrib/99designs/gqlgen/tracer.go b/contrib/99designs/gqlgen/tracer.go index 771fc72f5d..9c699b28ea 100644 --- a/contrib/99designs/gqlgen/tracer.go +++ b/contrib/99designs/gqlgen/tracer.go @@ -11,33 +11,6 @@ // any sensitive data in the query will be sent to Datadog as the resource name // of the span. To ensure no sensitive data is included in your spans, always // use parameterized graphql queries with sensitive data in variables. -// -// Usage example: -// -// import ( -// "log" -// "net/http" -// -// "github.com/99designs/gqlgen/_examples/todo" -// "github.com/99designs/gqlgen/graphql/handler" -// -// "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" -// gqlgentrace "github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2" -// ) -// -// func Example() { -// tracer.Start() -// defer tracer.Stop() -// -// t := gqlgentrace.NewTracer( -// gqlgentrace.WithAnalytics(true), -// gqlgentrace.WithService("todo.server"), -// ) -// h := handler.NewDefaultServer(todo.NewExecutableSchema(todo.New())) -// h.Use(t) -// http.Handle("/query", h) -// log.Fatal(http.ListenAndServe(":8080", nil)) -// } package gqlgen import ( @@ -46,24 +19,22 @@ import ( "math" "time" - "github.com/DataDog/dd-trace-go/v2/contrib" - "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" - "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/graphqlsec" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/graphqlsec/types" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/99designs/gqlgen/graphql" "github.com/vektah/gqlparser/v2/ast" + + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/graphqlsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/graphqlsec/types" ) -const componentName = "99designs/gqlgen" +const componentName = instrumentation.Package99DesignsGQLGen -var integration *contrib.Integration +var instr *instrumentation.Instrumentation func init() { - integration = contrib.LoadIntegration(componentName, contrib.WithServiceNameOverrideV0(defaultServiceName, defaultServiceName)) - tracer.MarkIntegrationImported("github.com/99designs/gqlgen") + instr = instrumentation.Load(instrumentation.Package99DesignsGQLGen) } const ( @@ -219,11 +190,16 @@ func (t *gqlTracer) createRootSpan(ctx context.Context, opCtx *graphql.Operation } func serverSpanName(octx *graphql.OperationContext) string { - nameV0 := "graphql.request" + graphqlOperation := "" if octx != nil && octx.Operation != nil { - nameV0 = fmt.Sprintf("%s.%s", ext.SpanTypeGraphQL, octx.Operation.Operation) + graphqlOperation = string(octx.Operation.Operation) } - return namingschema.OpNameOverrideV0(namingschema.GraphqlServer, nameV0) + + return instr.OperationName( + instrumentation.ComponentDefault, + instrumentation.OperationContext{ + "graphql.operation": graphqlOperation, + }) } // Ensure all of these interfaces are implemented. diff --git a/contrib/99designs/gqlgen/tracer_test.go b/contrib/99designs/gqlgen/tracer_test.go index 0e91bd0281..08bff26aa0 100644 --- a/contrib/99designs/gqlgen/tracer_test.go +++ b/contrib/99designs/gqlgen/tracer_test.go @@ -8,17 +8,14 @@ package gqlgen import ( "testing" - "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/lists" - "github.com/99designs/gqlgen/client" "github.com/99designs/gqlgen/graphql" "github.com/99designs/gqlgen/graphql/handler/testserver" "github.com/99designs/gqlgen/graphql/handler/transport" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" + + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" ) type testServerResponse struct { @@ -35,7 +32,7 @@ func TestOptions(t *testing.T) { test: func(assert *assert.Assertions, root *mocktracer.Span) { assert.Equal("graphql.query", root.OperationName()) assert.Equal(query, root.Tag(ext.ResourceName)) - assert.Equal(defaultServiceName, root.Tag(ext.ServiceName)) + assert.Equal("graphql", root.Tag(ext.ServiceName)) assert.Equal(ext.SpanTypeGraphQL, root.Tag(ext.SpanType)) assert.Equal("99designs/gqlgen", root.Tag(ext.Component)) assert.Nil(root.Tag(ext.EventSampleRate)) @@ -159,58 +156,6 @@ func TestChildSpans(t *testing.T) { assert.Zero(root.Tag(ext.Error)) } -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - c := newTestClient(t, testserver.New(), NewTracer(opts...)) - err := c.Post(`{ name }`, &testServerResponse{}) - require.NoError(t, err) - - err = c.Post(`mutation Name() { name }`, &testServerResponse{}) - assert.ErrorContains(t, err, "mutations are not supported") - - return mt.FinishedSpans() - }) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 9) - assert.Equal(t, "graphql.read", spans[0].OperationName()) - assert.Equal(t, "graphql.parse", spans[1].OperationName()) - assert.Equal(t, "graphql.validate", spans[2].OperationName()) - assert.Equal(t, "graphql.field", spans[3].OperationName()) - assert.Equal(t, "graphql.query", spans[4].OperationName()) - assert.Equal(t, "graphql.read", spans[5].OperationName()) - assert.Equal(t, "graphql.parse", spans[6].OperationName()) - assert.Equal(t, "graphql.validate", spans[7].OperationName()) - assert.Equal(t, "graphql.mutation", spans[8].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 9) - assert.Equal(t, "graphql.read", spans[0].OperationName()) - assert.Equal(t, "graphql.parse", spans[1].OperationName()) - assert.Equal(t, "graphql.validate", spans[2].OperationName()) - assert.Equal(t, "graphql.field", spans[3].OperationName()) - assert.Equal(t, "graphql.server.request", spans[4].OperationName()) - assert.Equal(t, "graphql.read", spans[5].OperationName()) - assert.Equal(t, "graphql.parse", spans[6].OperationName()) - assert.Equal(t, "graphql.validate", spans[7].OperationName()) - assert.Equal(t, "graphql.server.request", spans[8].OperationName()) - } - serviceOverride := namingschematest.TestServiceOverride - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: lists.RepeatString("graphql", 9), - WithDDService: lists.RepeatString("graphql", 9), - WithDDServiceAndOverride: lists.RepeatString(serviceOverride, 9), - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} - func newTestClient(t *testing.T, h *testserver.TestServer, tracer graphql.HandlerExtension) *client.Client { t.Helper() h.AddTransport(transport.POST{}) diff --git a/contrib/api.go b/contrib/api.go deleted file mode 100644 index b45b26a727..0000000000 --- a/contrib/api.go +++ /dev/null @@ -1,60 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2016 Datadog, Inc. - -package contrib - -import ( - "sync" - - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" -) - -type Integration struct { - mu sync.RWMutex - defaultServiceName string -} - -func (i *Integration) DefaultServiceName() string { - i.mu.RLock() - defer i.mu.RUnlock() - return i.defaultServiceName -} - -func (i *Integration) DefaultAnalyticsRate() float64 { - return globalconfig.AnalyticsRate() -} - -type Option interface { - apply(*Integration) -} - -type OptionFn func(*Integration) - -func (fn OptionFn) apply(cfg *Integration) { - fn(cfg) -} - -func LoadIntegration(name string, opts ...Option) *Integration { - telemetry.LoadIntegration(name) - integration := &Integration{} - for _, opt := range opts { - opt.apply(integration) - } - return nil -} - -func WithServiceName(fallback string) OptionFn { - return func(i *Integration) { - i.defaultServiceName = namingschema.ServiceName(fallback) - } -} - -func WithServiceNameOverrideV0(fallback, overrideV0 string) OptionFn { - return func(i *Integration) { - i.defaultServiceName = namingschema.ServiceNameOverrideV0(fallback, overrideV0) - } -} diff --git a/contrib/aws/aws-sdk-go-v2/aws/aws.go b/contrib/aws/aws-sdk-go-v2/aws/aws.go index 0d19818484..cdff10cf3e 100644 --- a/contrib/aws/aws-sdk-go-v2/aws/aws.go +++ b/contrib/aws/aws-sdk-go-v2/aws/aws.go @@ -12,13 +12,6 @@ import ( "strings" "time" - "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" - "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/aws/tags" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" - "github.com/aws/aws-sdk-go-v2/aws" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/service/dynamodb" @@ -30,13 +23,18 @@ import ( "github.com/aws/aws-sdk-go-v2/service/sqs" "github.com/aws/smithy-go/middleware" smithyhttp "github.com/aws/smithy-go/transport/http" + + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const componentName = "aws/aws-sdk-go-v2/aws" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/aws/aws-sdk-go-v2") + instr = instrumentation.Load(instrumentation.PackageAWSSDKGoV2) } type spanTimestampKey struct{} @@ -84,18 +82,18 @@ func (mw *traceMiddleware) startTraceMiddleware(stack *middleware.Stack) error { tracer.SpanType(ext.SpanTypeHTTP), tracer.ServiceName(serviceName(mw.cfg, serviceID)), tracer.ResourceName(fmt.Sprintf("%s.%s", serviceID, operation)), - tracer.Tag(tags.OldAWSRegion, awsmiddleware.GetRegion(ctx)), - tracer.Tag(tags.AWSRegion, awsmiddleware.GetRegion(ctx)), - tracer.Tag(tags.AWSOperation, operation), - tracer.Tag(tags.OldAWSService, serviceID), - tracer.Tag(tags.AWSService, serviceID), + tracer.Tag(ext.AWSRegionLegacy, awsmiddleware.GetRegion(ctx)), + tracer.Tag(ext.AWSRegion, awsmiddleware.GetRegion(ctx)), + tracer.Tag(ext.AWSOperation, operation), + tracer.Tag(ext.AWSServiceLegacy, serviceID), + tracer.Tag(ext.AWSService, serviceID), tracer.StartTime(ctx.Value(spanTimestampKey{}).(time.Time)), tracer.Tag(ext.Component, componentName), tracer.Tag(ext.SpanKind, ext.SpanKindClient), } k, v, err := resourceNameFromParams(in, serviceID) if err != nil { - log.Debug("Error: %v", err) + instr.Logger().Debug("Error: %v", err) } else { opts = append(opts, tracer.Tag(k, v)) } @@ -120,19 +118,19 @@ func resourceNameFromParams(requestInput middleware.InitializeInput, awsService switch awsService { case "SQS": - k, v = tags.SQSQueueName, queueName(requestInput) + k, v = ext.SQSQueueName, queueName(requestInput) case "S3": - k, v = tags.S3BucketName, bucketName(requestInput) + k, v = ext.S3BucketName, bucketName(requestInput) case "SNS": k, v = destinationTagValue(requestInput) case "DynamoDB": - k, v = tags.DynamoDBTableName, tableName(requestInput) + k, v = ext.DynamoDBTableName, tableName(requestInput) case "Kinesis": - k, v = tags.KinesisStreamName, streamName(requestInput) + k, v = ext.KinesisStreamName, streamName(requestInput) case "EventBridge": - k, v = tags.EventBridgeRuleName, ruleName(requestInput) + k, v = ext.EventBridgeRuleName, ruleName(requestInput) case "SFN": - k, v = tags.SFNStateMachineName, stateMachineName(requestInput) + k, v = ext.SFNStateMachineName, stateMachineName(requestInput) default: return "", "", fmt.Errorf("attemped to extract ResourceNameFromParams of an unsupported AWS service: %s", awsService) } @@ -177,7 +175,7 @@ func bucketName(requestInput middleware.InitializeInput) string { } func destinationTagValue(requestInput middleware.InitializeInput) (tag string, value string) { - tag = tags.SNSTopicName + tag = ext.SNSTopicName var s string switch params := requestInput.Parameters.(type) { case *sns.PublishInput: @@ -185,7 +183,7 @@ func destinationTagValue(requestInput middleware.InitializeInput) (tag string, v case params.TopicArn != nil: s = *params.TopicArn case params.TargetArn != nil: - tag = tags.SNSTargetName + tag = ext.SNSTargetName s = *params.TargetArn default: return "destination", "empty" @@ -321,7 +319,7 @@ func (mw *traceMiddleware) deserializeTraceMiddleware(stack *middleware.Stack) e url.User = nil // Do not include userinfo in the HTTPURL tag. span.SetTag(ext.HTTPMethod, req.Method) span.SetTag(ext.HTTPURL, url.String()) - span.SetTag(tags.AWSAgent, req.Header.Get("User-Agent")) + span.SetTag(ext.AWSAgent, req.Header.Get("User-Agent")) } // Continue through the middleware chain which eventually sends the request. @@ -334,7 +332,7 @@ func (mw *traceMiddleware) deserializeTraceMiddleware(stack *middleware.Stack) e // Extract the request id. if requestID, ok := awsmiddleware.GetRequestIDMetadata(metadata); ok { - span.SetTag(tags.AWSRequestID, requestID) + span.SetTag(ext.AWSRequestID, requestID) } return out, metadata, err @@ -342,13 +340,17 @@ func (mw *traceMiddleware) deserializeTraceMiddleware(stack *middleware.Stack) e } func spanName(awsService, awsOperation string) string { - return namingschema.AWSOpName(awsService, awsOperation, awsService+".request") + return instr.OperationName(instrumentation.ComponentDefault, instrumentation.OperationContext{ + ext.AWSService: awsService, + ext.AWSOperation: awsOperation, + }) } func serviceName(cfg *config, awsService string) string { if cfg.serviceName != "" { return cfg.serviceName } - defaultName := fmt.Sprintf("aws.%s", awsService) - return namingschema.ServiceNameOverrideV0(defaultName, defaultName) + return instr.ServiceName(instrumentation.ComponentDefault, instrumentation.OperationContext{ + ext.AWSService: awsService, + }) } diff --git a/contrib/aws/aws-sdk-go-v2/aws/aws_test.go b/contrib/aws/aws-sdk-go-v2/aws/aws_test.go index 1f64918de2..597f4d5e32 100644 --- a/contrib/aws/aws-sdk-go-v2/aws/aws_test.go +++ b/contrib/aws/aws-sdk-go-v2/aws/aws_test.go @@ -11,54 +11,23 @@ import ( "net/http" "net/http/httptest" "net/url" - "os" "strings" "testing" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/aws/aws-sdk-go-v2/aws" - awsconfig "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/service/dynamodb" - "github.com/aws/aws-sdk-go-v2/service/ec2" "github.com/aws/aws-sdk-go-v2/service/eventbridge" "github.com/aws/aws-sdk-go-v2/service/kinesis" "github.com/aws/aws-sdk-go-v2/service/s3" "github.com/aws/aws-sdk-go-v2/service/sfn" "github.com/aws/aws-sdk-go-v2/service/sns" "github.com/aws/aws-sdk-go-v2/service/sqs" - "github.com/aws/aws-sdk-go-v2/service/sqs/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) -func newIntegrationTestConfig(t *testing.T, opts ...Option) aws.Config { - if _, ok := os.LookupEnv("INTEGRATION"); !ok { - t.Skip("🚧 Skipping integration test (INTEGRATION environment variable is not set)") - } - awsEndpoint := "http://localhost:4566" // use localstack - awsRegion := "us-east-1" - - customResolver := aws.EndpointResolverWithOptionsFunc(func(service, region string, opts ...interface{}) (aws.Endpoint, error) { - return aws.Endpoint{ - PartitionID: "aws", - URL: awsEndpoint, - SigningRegion: awsRegion, - }, nil - }) - cfg, err := awsconfig.LoadDefaultConfig( - context.Background(), - awsconfig.WithRegion(awsRegion), - awsconfig.WithEndpointResolverWithOptions(customResolver), - awsconfig.WithCredentialsProvider(aws.AnonymousCredentials{}), - ) - require.NoError(t, err, "failed to load AWS config") - AppendMiddleware(&cfg, opts...) - return cfg -} - func TestAppendMiddleware(t *testing.T) { tests := []struct { name string @@ -108,6 +77,7 @@ func TestAppendMiddleware(t *testing.T) { }) spans := mt.FinishedSpans() + require.Len(t, spans, 1) s := spans[0] assert.Equal(t, "SQS.request", s.OperationName()) @@ -182,6 +152,7 @@ func TestAppendMiddlewareSqsDeleteMessage(t *testing.T) { }) spans := mt.FinishedSpans() + require.Len(t, spans, 1) s := spans[0] assert.Equal(t, "SQS.request", s.OperationName()) @@ -206,6 +177,7 @@ func TestAppendMiddlewareSqsDeleteMessage(t *testing.T) { }) } } + func TestAppendMiddlewareSqsReceiveMessage(t *testing.T) { tests := []struct { name string @@ -254,6 +226,7 @@ func TestAppendMiddlewareSqsReceiveMessage(t *testing.T) { }) spans := mt.FinishedSpans() + require.Len(t, spans, 1) s := spans[0] assert.Equal(t, "SQS.request", s.OperationName()) @@ -328,6 +301,7 @@ func TestAppendMiddlewareS3ListObjects(t *testing.T) { }) spans := mt.FinishedSpans() + require.Len(t, spans, 1) s := spans[0] assert.Equal(t, "S3.request", s.OperationName()) @@ -422,6 +396,7 @@ func TestAppendMiddlewareSnsPublish(t *testing.T) { snsClient.Publish(context.Background(), tt.publishInput) spans := mt.FinishedSpans() + require.Len(t, spans, 1) s := spans[0] assert.Equal(t, "SNS.request", s.OperationName()) @@ -487,11 +462,17 @@ func TestAppendMiddlewareDynamodbGetItem(t *testing.T) { AppendMiddleware(&awsCfg) dynamoClient := dynamodb.NewFromConfig(awsCfg) - dynamoClient.Query(context.Background(), &dynamodb.QueryInput{ + _, err := dynamoClient.Query(context.Background(), &dynamodb.QueryInput{ TableName: aws.String("MyTableName"), }) + if tt.expectedStatusCode == 200 { + require.NoError(t, err) + } else { + require.Error(t, err) + } spans := mt.FinishedSpans() + require.Len(t, spans, 1) s := spans[0] assert.Equal(t, "DynamoDB.request", s.OperationName()) @@ -564,6 +545,7 @@ func TestAppendMiddlewareKinesisPutRecord(t *testing.T) { }) spans := mt.FinishedSpans() + require.Len(t, spans, 1) s := spans[0] assert.Equal(t, "Kinesis.request", s.OperationName()) @@ -634,6 +616,7 @@ func TestAppendMiddlewareEventBridgePutRule(t *testing.T) { }) spans := mt.FinishedSpans() + require.Len(t, spans, 1) s := spans[0] assert.Equal(t, "EventBridge.request", s.OperationName()) @@ -704,6 +687,7 @@ func TestAppendMiddlewareSfnDescribeStateMachine(t *testing.T) { }) spans := mt.FinishedSpans() + require.Len(t, spans, 1) s := spans[0] assert.Equal(t, "SFN.request", s.OperationName()) @@ -896,128 +880,6 @@ func TestHTTPCredentials(t *testing.T) { assert.Equal(t, auth, "myuser:mypassword") } -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - awsCfg := newIntegrationTestConfig(t, opts...) - ctx := context.Background() - ec2Client := ec2.NewFromConfig(awsCfg) - s3Client := s3.NewFromConfig(awsCfg) - sqsClient := sqs.NewFromConfig(awsCfg) - snsClient := sns.NewFromConfig(awsCfg) - - _, err := ec2Client.DescribeInstances(ctx, &ec2.DescribeInstancesInput{}) - require.NoError(t, err) - _, err = s3Client.ListBuckets(ctx, &s3.ListBucketsInput{}) - require.NoError(t, err) - _, err = sqsClient.ListQueues(ctx, &sqs.ListQueuesInput{}) - require.NoError(t, err) - _, err = snsClient.ListTopics(ctx, &sns.ListTopicsInput{}) - require.NoError(t, err) - - return mt.FinishedSpans() - }) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 4) - assert.Equal(t, "EC2.request", spans[0].OperationName()) - assert.Equal(t, "S3.request", spans[1].OperationName()) - assert.Equal(t, "SQS.request", spans[2].OperationName()) - assert.Equal(t, "SNS.request", spans[3].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 4) - assert.Equal(t, "aws.ec2.request", spans[0].OperationName()) - assert.Equal(t, "aws.s3.request", spans[1].OperationName()) - assert.Equal(t, "aws.sqs.request", spans[2].OperationName()) - assert.Equal(t, "aws.sns.request", spans[3].OperationName()) - } - serviceOverride := namingschematest.TestServiceOverride - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"aws.EC2", "aws.S3", "aws.SQS", "aws.SNS"}, - WithDDService: []string{"aws.EC2", "aws.S3", "aws.SQS", "aws.SNS"}, - WithDDServiceAndOverride: []string{serviceOverride, serviceOverride, serviceOverride, serviceOverride}, - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} - -func TestMessagingNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - awsCfg := newIntegrationTestConfig(t, opts...) - resourceName := "test-naming-schema-aws-v2" - ctx := context.Background() - sqsClient := sqs.NewFromConfig(awsCfg) - snsClient := sns.NewFromConfig(awsCfg) - - // create a SQS queue - sqsResp, err := sqsClient.CreateQueue(ctx, &sqs.CreateQueueInput{QueueName: aws.String(resourceName)}) - require.NoError(t, err) - - msg := &sqs.SendMessageInput{QueueUrl: sqsResp.QueueUrl, MessageBody: aws.String("body")} - _, err = sqsClient.SendMessage(ctx, msg) - require.NoError(t, err) - - entry := types.SendMessageBatchRequestEntry{Id: aws.String("1"), MessageBody: aws.String("body")} - batchMsg := &sqs.SendMessageBatchInput{QueueUrl: sqsResp.QueueUrl, Entries: []types.SendMessageBatchRequestEntry{entry}} - _, err = sqsClient.SendMessageBatch(ctx, batchMsg) - require.NoError(t, err) - - // create an SNS topic - snsResp, err := snsClient.CreateTopic(ctx, &sns.CreateTopicInput{Name: aws.String(resourceName)}) - require.NoError(t, err) - - _, err = snsClient.Publish(ctx, &sns.PublishInput{TopicArn: snsResp.TopicArn, Message: aws.String("message")}) - require.NoError(t, err) - - return mt.FinishedSpans() - }) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 5) - assert.Equal(t, "SQS.request", spans[0].OperationName()) - assert.Equal(t, "SQS.request", spans[1].OperationName()) - assert.Equal(t, "SQS.request", spans[2].OperationName()) - assert.Equal(t, "SNS.request", spans[3].OperationName()) - assert.Equal(t, "SNS.request", spans[4].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 5) - assert.Equal(t, "aws.sqs.request", spans[0].OperationName()) - assert.Equal(t, "aws.sqs.send", spans[1].OperationName()) - assert.Equal(t, "aws.sqs.send", spans[2].OperationName()) - assert.Equal(t, "aws.sns.request", spans[3].OperationName()) - assert.Equal(t, "aws.sns.send", spans[4].OperationName()) - } - serviceOverride := namingschematest.TestServiceOverride - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"aws.SQS", "aws.SQS", "aws.SQS", "aws.SNS", "aws.SNS"}, - WithDDService: []string{"aws.SQS", "aws.SQS", "aws.SQS", "aws.SNS", "aws.SNS"}, - WithDDServiceAndOverride: repeat(serviceOverride, 5), - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} - -func repeat(s string, n int) []string { - r := make([]string, n) - for i := 0; i < n; i++ { - r[i] = s - } - return r -} - func TestWithErrorCheck(t *testing.T) { tests := []struct { name string diff --git a/contrib/aws/aws-sdk-go-v2/aws/option.go b/contrib/aws/aws-sdk-go-v2/aws/option.go index 7b8ce59b1e..c94453fdb6 100644 --- a/contrib/aws/aws-sdk-go-v2/aws/option.go +++ b/contrib/aws/aws-sdk-go-v2/aws/option.go @@ -7,8 +7,6 @@ package aws import ( "math" - - "github.com/DataDog/dd-trace-go/v2/internal" ) type config struct { @@ -30,11 +28,7 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - if internal.BoolEnv("DD_TRACE_AWS_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.analyticsRate = instr.AnalyticsRate() } // WithService sets the given service name for the dialled connection. diff --git a/contrib/aws/aws-sdk-go-v2/go.mod b/contrib/aws/aws-sdk-go-v2/go.mod index 02e0ec818a..f77e10ed50 100644 --- a/contrib/aws/aws-sdk-go-v2/go.mod +++ b/contrib/aws/aws-sdk-go-v2/go.mod @@ -3,34 +3,33 @@ module github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-beta.2 github.com/aws/aws-sdk-go-v2 v1.30.3 - github.com/aws/aws-sdk-go-v2/config v1.27.26 - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.7 - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.4 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.93.2 - github.com/aws/aws-sdk-go-v2/service/eventbridge v1.20.4 - github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.4 + github.com/aws/aws-sdk-go-v2/config v1.27.27 + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8 + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.3 + github.com/aws/aws-sdk-go-v2/service/eventbridge v1.33.3 + github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.3 github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2 - github.com/aws/aws-sdk-go-v2/service/sfn v1.19.4 - github.com/aws/aws-sdk-go-v2/service/sns v1.21.4 - github.com/aws/aws-sdk-go-v2/service/sqs v1.24.4 + github.com/aws/aws-sdk-go-v2/service/sfn v1.29.3 + github.com/aws/aws-sdk-go-v2/service/sns v1.31.3 + github.com/aws/aws-sdk-go-v2/service/sqs v1.34.3 github.com/aws/smithy-go v1.20.3 - github.com/stretchr/testify v1.8.4 + github.com/stretchr/testify v1.9.0 ) require ( - github.com/DataDog/appsec-internal-go v1.5.0 // indirect - github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect - github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect + github.com/DataDog/appsec-internal-go v1.7.0 // indirect + github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 // indirect + github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect - github.com/DataDog/go-sqllexer v0.0.11 // indirect + github.com/DataDog/go-sqllexer v0.0.12 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect - github.com/DataDog/sketches-go v1.4.5 // indirect + github.com/DataDog/sketches-go v1.4.6 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.26 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.27 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 // indirect @@ -38,10 +37,10 @@ require ( github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.34 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.16 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.22.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.22.4 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -54,19 +53,18 @@ require ( github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/outcaste-io/ristretto v0.2.3 // indirect - github.com/philhofer/fwd v1.1.2 // indirect + github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect - github.com/tinylib/msgp v1.1.9 // indirect + github.com/tinylib/msgp v1.2.0 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect - golang.org/x/net v0.25.0 // indirect - golang.org/x/sys v0.20.0 // indirect + golang.org/x/crypto v0.25.0 // indirect + golang.org/x/net v0.27.0 // indirect + golang.org/x/sys v0.22.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/protobuf v1.34.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect + golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 // indirect + google.golang.org/protobuf v1.34.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/contrib/aws/aws-sdk-go-v2/go.sum b/contrib/aws/aws-sdk-go-v2/go.sum index 59ba04ab93..d4ee11f92d 100644 --- a/contrib/aws/aws-sdk-go-v2/go.sum +++ b/contrib/aws/aws-sdk-go-v2/go.sum @@ -1,88 +1,74 @@ -github.com/DataDog/appsec-internal-go v1.5.0 h1:8kS5zSx5T49uZ8dZTdT19QVAvC/B8ByyZdhQKYQWHno= -github.com/DataDog/appsec-internal-go v1.5.0/go.mod h1:pEp8gjfNLtEOmz+iZqC8bXhu0h4k7NUsW/qiQb34k1U= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 h1:/oxF4p/4XUGNpNw2TE7vDu/pJV3elEAZ+jES0/MWtiI= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1/go.mod h1:AVPQWekk3h9AOC7+plBlNB68Sy6UIGFoMMVUDeSoNoI= -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBpuwNMcqtY1x1I2fCaPH2Br4xPAAjbkM= -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= +github.com/DataDog/appsec-internal-go v1.7.0 h1:iKRNLih83dJeVya3IoUfK+6HLD/hQsIbyBlfvLmAeb0= +github.com/DataDog/appsec-internal-go v1.7.0/go.mod h1:wW0cRfWBo4C044jHGwYiyh5moQV2x0AhnwqMuiX7O/g= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.55.0 h1:q8n6qVTPATzBL02e0rxCOrLFWDNw4as0GcuKWkJENFk= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.55.0/go.mod h1:/C99KWKukVnTtIiYCQ55izSNDQceREb8vSPa3zUn6jc= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.55.0 h1:+T+3WXCFC9g8r4AVBaD3v1LOKSLyKAtl/LtXyCTcm7I= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.55.0/go.mod h1:3yFk56PJ57yS1GqI9HAsS4PSlAeGCC9RQA7jxKzYj6g= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= -github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= -github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= +github.com/DataDog/go-sqllexer v0.0.12 h1:ncvAr5bbwtc7JMezzcU2379oKz1oHhRF1hkR6BSvhqM= +github.com/DataDog/go-sqllexer v0.0.12/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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= -github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= -github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= +github.com/DataDog/sketches-go v1.4.6 h1:acd5fb+QdUzGrosfNLwrIhqyrbMORpvBy7mE+vHlT3I= +github.com/DataDog/sketches-go v1.4.6/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= -github.com/aws/aws-sdk-go-v2 v1.17.8/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= -github.com/aws/aws-sdk-go-v2 v1.20.3/go.mod h1:/RfNgGmRxI+iFOB1OeJUyxiU+9s88k3pfHvDagGEp0M= github.com/aws/aws-sdk-go-v2 v1.30.3 h1:jUeBtG0Ih+ZIFH0F4UkmL9w3cSpaMv9tYYDbzILP8dY= github.com/aws/aws-sdk-go-v2 v1.30.3/go.mod h1:nIQjQVp5sfpQcTc9mPSr1B0PaWK5ByX9MOoDadSN4lc= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.13/go.mod h1:gpAbvyDGQFozTEmlTFO8XcQKHzubdq0LzRyJpG6MiXM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 h1:tW1/Rkad38LA15X4UQtjXZXNKsCgkshC3EbmcUmghTg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3/go.mod h1:UbnqO+zjqk3uIt9yCACHJ9IVNhyhOCnYk8yA19SAWrM= -github.com/aws/aws-sdk-go-v2/config v1.27.26 h1:T1kAefbKuNum/AbShMsZEro6eRkeOT8YILfE9wyjAYQ= -github.com/aws/aws-sdk-go-v2/config v1.27.26/go.mod h1:ivWHkAWFrw/nxty5Fku7soTIVdqZaZ7dw+tc5iGW3GA= -github.com/aws/aws-sdk-go-v2/credentials v1.17.26 h1:tsm8g/nJxi8+/7XyJJcP2dLrnK/5rkFp6+i2nhmz5fk= -github.com/aws/aws-sdk-go-v2/credentials v1.17.26/go.mod h1:3vAM49zkIa3q8WT6o9Ve5Z0vdByDMwmdScO0zvThTgI= +github.com/aws/aws-sdk-go-v2/config v1.27.27 h1:HdqgGt1OAP0HkEDDShEl0oSYa9ZZBSOmKpdpsDMdO90= +github.com/aws/aws-sdk-go-v2/config v1.27.27/go.mod h1:MVYamCg76dFNINkZFu4n4RjDixhVr51HLj4ErWzrVwg= +github.com/aws/aws-sdk-go-v2/credentials v1.17.27 h1:2raNba6gr2IfA0eqqiP2XiQ0UVOpGPgDSi0I9iAP+UI= +github.com/aws/aws-sdk-go-v2/credentials v1.17.27/go.mod h1:gniiwbGahQByxan6YjQUMcW4Aov6bLC3m+evgcoN4r4= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 h1:KreluoV8FZDEtI6Co2xuNk/UqI9iwMrOx/87PBNIKqw= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11/go.mod h1:SeSUYBLsMYFoRvHE0Tjvn7kbxaUhl75CJi1sbfhMxkU= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.7 h1:kNemAUX+bJFBSfPkGVZ8HFOKIadjLoI2Ua1ZKivhGSo= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.7/go.mod h1:71S2C1g/Zjn+ANmyoOqJ586OrPF9uC9iiHt9ZAT+MOw= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.32/go.mod h1:RudqOgadTWdcS3t/erPQo24pcVEoYyqj/kKW5Vya21I= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.40/go.mod h1:5kKmFhLeOVy6pwPDpDNA6/hK/d6URC98pqDDqHgdBx4= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8 h1:u1KOU1S15ufyZqmH/rA3POkiRH6EcDANHj2xHRzq+zc= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8/go.mod h1:WPv2FRnkIOoDv/8j2gSUsI4qDc7392w5anFB/I89GZ8= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 h1:SoNJ4RlFEQEbtDcCEt+QG56MY4fm4W8rYirAmq+/DdU= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15/go.mod h1:U9ke74k1n2bf+RIgoX1SXFed1HLs51OgUSs+Ph0KJP8= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.26/go.mod h1:vq86l7956VgFr0/FWQ2BWnK07QC3WYsepKzy33qqY5U= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.34/go.mod h1:RZP0scceAyhMIQ9JvFp7HvkpcgqjL4l/4C+7RAeGbuM= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 h1:C6WHdGnTDIYETAm5iErQUiVNsclNx9qbJVPIt03B6bI= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15/go.mod h1:ZQLZqhcu+JhSrA9/NXRm8SkDvsycE+JkV3WGY41e+IM= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.3/go.mod h1:jYLMm3Dh0wbeV3lxth5ryks/O2M/omVXWyYm3YcEVqQ= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15 h1:Z5r7SycxmSllHYmaAZPpmN8GviDrSGhMS6bldqtXZPw= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15/go.mod h1:CetW7bDE00QoGEmPUoZuRog07SGVAUVW6LFpNP0YfIg= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.4 h1:x3V1JRHq7q9RUbDpaeNpLH7QoipGpCo3fdnMMuSeABU= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.4/go.mod h1:aryF4jxgjhbqpdhj8QybUZI3xYrX8MQIKm4WbOv8Whg= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.93.2 h1:c6a19AjfhEXKlEX63cnlWtSQ4nzENihHZOG0I3wH6BE= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.93.2/go.mod h1:VX22JN3HQXDtQ3uS4h4TtM+K11vydq58tpHTlsm8TL8= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.20.4 h1:G18wotYZxZ0A5tkqKv6FHCjsF86UQrqNHy5LS+T7JWM= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.20.4/go.mod h1:XlbY5AGZhlipCdhRorT18/HEThKAxo51hMmhixreJoM= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14/go.mod h1:dDilntgHy9WnHXsh7dDtUPgHKEfTJIBUTHM8OWm0f/0= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.3 h1:nEhZKd1JQ4EB1tekcqW1oIVpDC1ZFrjrp/cLC5MXjFQ= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.3/go.mod h1:q9vzW3Xr1KEXa8n4waHiFt1PrppNDlMymlYP+xpsFbY= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.33.3 h1:pjZzcXU25gsD2WmlmlayEsyXIWMVOK3//x4BXvK9c0U= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.33.3/go.mod h1:4ew4HelByABYyBE+8iU8Rzrp5PdBic5yd9nFMhbnwE8= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 h1:dT3MqvGhSoaIhRseqw2I0yH81l7wiR2vjs57O51EAm8= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3/go.mod h1:GlAeCkHwugxdHaueRr4nhPuY+WW+gR8UjlcqzPr1SPI= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17 h1:YPYe6ZmvUfDDDELqEKtAd6bo8zxhkm+XEFEzQisqUIE= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17/go.mod h1:oBtcnYua/CgzCWYN7NZ5j7PotFDaFSUjCYVTtfyn7vw= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.34 h1:JlxVMFDHivlhNOIxd2O/9z4O0wC2zIC4lRB71lejVHU= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.34/go.mod h1:CDPcT6pljRaqz1yLsOgPUvOPOczFvXuJxOKzDzAbF0c= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.26/go.mod h1:Bd4C/4PkVGubtNe5iMXu5BNnaBi/9t/UsFspPt4ram8= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.16 h1:lhAX5f7KpgwyieXjbDnRTjPEUI0l3emSRyxXj1PXP8w= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.16/go.mod h1:AblAlCwvi7Q/SFowvckgN+8M3uFPlopSYeLlbNDArhA= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 h1:HGErhhrxZlQ044RiM+WdoZxp0p+EGM62y3L6pwA4olE= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17/go.mod h1:RkZEx4l0EHYDJpWppMJ3nD9wZJAa8/0lq9aVC+r2UII= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15 h1:246A4lSTXWJw/rmlQI+TT2OcqeDMKBdyjEQrafMaQdA= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15/go.mod h1:haVfg3761/WF7YPuJOER2MP0k4UAXyHaLclKXB6usDg= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.4 h1:UohaQds+Puk9BEbvncXkZduIGYImxohbFpVmSoymXck= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.4/go.mod h1:HnjgmL8TNmYtGcrA3N6EeCnDvlX6CteCdUbZ1wV8QWQ= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.3 h1:ktR7RUdUQ8m9rkgCPRsS7iTJgFp9MXEX0nltrT8bxY4= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.3/go.mod h1:hufTMUGSlcBLGgs6leSPbDfY1sM3mrO2qjtVkPMTDhE= github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2 h1:sZXIzO38GZOU+O0C+INqbH7C2yALwfMWpd64tONS/NE= github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2/go.mod h1:Lcxzg5rojyVPU/0eFwLtcyTaek/6Mtic5B1gJo7e/zE= -github.com/aws/aws-sdk-go-v2/service/sfn v1.19.4 h1:yIyFY2kbCOoHvuivf9minqnP2RLYJgmvQRYxakIb2oI= -github.com/aws/aws-sdk-go-v2/service/sfn v1.19.4/go.mod h1:uWCH4ATwNrkRO40j8Dmy7u/Y1/BVWgCM+YjBNYZeOro= -github.com/aws/aws-sdk-go-v2/service/sns v1.21.4 h1:Asj098jPfIZYzAbk4xVFwVBGij5hgMcli0d+5Pe4aZA= -github.com/aws/aws-sdk-go-v2/service/sns v1.21.4/go.mod h1:bbB779DXXOnPXvB7F3dP7AjuV1Eyr7fNyrA058ExuzY= -github.com/aws/aws-sdk-go-v2/service/sqs v1.24.4 h1:bp8KUUx15mnLMe8SSJqO/kYEn0C2kKfWq/M9SRK9i1E= -github.com/aws/aws-sdk-go-v2/service/sqs v1.24.4/go.mod h1:c1AF/ac4k4xz32FprEk6AqqGFH/Fkub9VUPSrASlllA= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.3 h1:Fv1vD2L65Jnp5QRsdiM64JvUM4Xe+E0JyVsRQKv6IeA= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.3/go.mod h1:ooyCOXjvJEsUw7x+ZDHeISPMhtwI3ZCB7ggFMcFfWLU= +github.com/aws/aws-sdk-go-v2/service/sfn v1.29.3 h1:7BK+k08c5r1oqqHeb6ye0affEQQJ/fimBTGZSjmpjwk= +github.com/aws/aws-sdk-go-v2/service/sfn v1.29.3/go.mod h1:+mtHHxsylrf+kjxcbvfnu6jtyTT8Fa9BlqjQk5XJZ80= +github.com/aws/aws-sdk-go-v2/service/sns v1.31.3 h1:eSTEdxkfle2G98FE+Xl3db/XAXXVTJPNQo9K/Ar8oAI= +github.com/aws/aws-sdk-go-v2/service/sns v1.31.3/go.mod h1:1dn0delSO3J69THuty5iwP0US2Glt0mx2qBBlI13pvw= +github.com/aws/aws-sdk-go-v2/service/sqs v1.34.3 h1:Vjqy5BZCOIsn4Pj8xzyqgGmsSqzz7y/WXbN3RgOoVrc= +github.com/aws/aws-sdk-go-v2/service/sqs v1.34.3/go.mod h1:L0enV3GCRd5iG9B64W35C4/hwsCB00Ib+DKVGTadKHI= +github.com/aws/aws-sdk-go-v2/service/sso v1.22.4 h1:BXx0ZIxvrJdSgSvKTZ+yRBeSqqgPM89VPlulEcl37tM= +github.com/aws/aws-sdk-go-v2/service/sso v1.22.4/go.mod h1:ooyCOXjvJEsUw7x+ZDHeISPMhtwI3ZCB7ggFMcFfWLU= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4 h1:yiwVzJW2ZxZTurVbYWA7QOrAaCYQR72t0wrSBfoesUE= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4/go.mod h1:0oxfLkpz3rQ/CHlx5hB7H69YUpFiI1tql6Q6Ne+1bCw= github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 h1:ZsDKRLXGWHk8WdtyYMoGNO7bTudrvuKpDKgMVRlepGE= github.com/aws/aws-sdk-go-v2/service/sts v1.30.3/go.mod h1:zwySh8fpFyXp9yOr/KVzxOl8SRqgf/IDw5aUt9UKFcQ= -github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/aws/smithy-go v1.14.2/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.20.3 h1:ryHwveWzPV5BIof6fyDvor6V3iUL7nTfiTKXHiW05nE= github.com/aws/smithy-go v1.20.3/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -100,7 +86,6 @@ github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+m github.com/ebitengine/purego v0.7.1 h1:6/55d26lG3o9VCZX8lping+bZcmShseiqlh2bnUDiPA= github.com/ebitengine/purego v0.7.1/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= @@ -124,8 +109,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= -github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= -github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0= +github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 h1:jYi87L8j62qkXzaYHAQAhEapgukhenIMZRBKTNRLHJ4= +github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -143,18 +128,18 @@ github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= -github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tinylib/msgp v1.1.9 h1:SHf3yoO2sGA0veCJeCBYLHuttAVFHGm2RHgNodW7wQU= -github.com/tinylib/msgp v1.1.9/go.mod h1:BCXGB54lDD8qUEPmiG0cQQUANC4IUQyB2ItS2UDlO/k= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/tinylib/msgp v1.2.0 h1:0uKB/662twsVBpYUPbokj4sTSKhWFKB7LopO2kWK8lY= +github.com/tinylib/msgp v1.2.0/go.mod h1:2vIGs3lcUo8izAATNobrCHevYZC/LMsJtw4JPiYPHro= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= @@ -163,14 +148,14 @@ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= +golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= +golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -181,8 +166,8 @@ golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -194,16 +179,15 @@ golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= 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-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= -golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 h1:LLhsEBxRTBLuKlQxFBYUOU8xyFgXv6cOTp2HASDlsDk= +golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/contrib/aws/aws-sdk-go/aws/aws.go b/contrib/aws/aws-sdk-go/aws/aws.go index 2c1047f23e..bc38c44d6d 100644 --- a/contrib/aws/aws-sdk-go/aws/aws.go +++ b/contrib/aws/aws-sdk-go/aws/aws.go @@ -15,11 +15,6 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/aws/tags" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" - "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/dynamodb" @@ -29,20 +24,23 @@ import ( "github.com/aws/aws-sdk-go/service/sfn" "github.com/aws/aws-sdk-go/service/sns" "github.com/aws/aws-sdk-go/service/sqs" + + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const componentName = "aws/aws-sdk-go/aws" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/aws/aws-sdk-go") + instr = instrumentation.Load(instrumentation.PackageAWSSDKGo) } const ( // SendHandlerName is the name of the Datadog NamedHandler for the Send phase of an awsv1 request - SendHandlerName = "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/aws/handlers.Send" / v2 + SendHandlerName = "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/aws/handlers.Send" // CompleteHandlerName is the name of the Datadog NamedHandler for the Complete phase of an awsv1 request - CompleteHandlerName = "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/aws/handlers.Complete" / v2 + CompleteHandlerName = "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/aws/handlers.Complete" ) type handlers struct { @@ -56,7 +54,7 @@ func WrapSession(s *session.Session, opts ...Option) *session.Session { for _, opt := range opts { opt.apply(cfg) } - log.Debug("contrib/aws/aws-sdk-go/aws: Wrapping Session: %#v", cfg) + instr.Logger().Debug("contrib/aws/aws-sdk-go/aws: Wrapping Session: %#v", cfg) h := &handlers{cfg: cfg} s = s.Copy() s.Handlers.Send.PushFrontNamed(request.NamedHandler{ @@ -84,11 +82,11 @@ func (h *handlers) Send(req *request.Request) { tracer.SpanType(ext.SpanTypeHTTP), tracer.ServiceName(h.serviceName(req)), tracer.ResourceName(resourceName(req)), - tracer.Tag(tags.AWSAgent, awsAgent(req)), - tracer.Tag(tags.AWSOperation, awsOperation(req)), - tracer.Tag(tags.OldAWSRegion, region), - tracer.Tag(tags.AWSRegion, region), - tracer.Tag(tags.AWSService, awsService(req)), + tracer.Tag(ext.AWSAgent, awsAgent(req)), + tracer.Tag(ext.AWSOperation, awsOperation(req)), + tracer.Tag(ext.AWSRegionLegacy, region), + tracer.Tag(ext.AWSRegion, region), + tracer.Tag(ext.AWSService, awsService(req)), tracer.Tag(ext.HTTPMethod, req.Operation.HTTPMethod), tracer.Tag(ext.HTTPURL, url.String()), tracer.Tag(ext.Component, componentName), @@ -109,8 +107,8 @@ func (h *handlers) Complete(req *request.Request) { if !ok { return } - span.SetTag(tags.AWSRetryCount, req.RetryCount) - span.SetTag(tags.AWSRequestID, req.RequestID) + span.SetTag(ext.AWSRetryCount, req.RetryCount) + span.SetTag(ext.AWSRequestID, req.RequestID) if req.HTTPResponse != nil { span.SetTag(ext.HTTPCode, strconv.Itoa(req.HTTPResponse.StatusCode)) } @@ -124,14 +122,22 @@ func (h *handlers) serviceName(req *request.Request) string { if h.cfg.serviceName != "" { return h.cfg.serviceName } - defaultName := "aws." + awsService(req) - return namingschema.ServiceNameOverrideV0(defaultName, defaultName) + return instr.ServiceName( + instrumentation.ComponentDefault, + instrumentation.OperationContext{ + ext.AWSService: awsService(req), + }, + ) } func spanName(req *request.Request) string { - svc := awsService(req) - op := awsOperation(req) - return namingschema.AWSOpName(svc, op, svc+".command") + return instr.OperationName( + instrumentation.ComponentDefault, + instrumentation.OperationContext{ + ext.AWSService: awsService(req), + ext.AWSOperation: awsOperation(req), + }, + ) } func awsService(req *request.Request) string { @@ -182,7 +188,7 @@ func extraTagsForService(req *request.Request) map[string]interface{} { return nil } if err != nil { - log.Debug("failed to extract tags for AWS service %q: %v", service, err) + instr.Logger().Debug("failed to extract tags for AWS service %q: %v", service, err) return nil } return extraTags @@ -211,7 +217,7 @@ func sqsTags(params interface{}) (map[string]interface{}, error) { queueName := parts[len(parts)-1] return map[string]interface{}{ - tags.SQSQueueName: queueName, + ext.SQSQueueName: queueName, }, nil } @@ -234,7 +240,7 @@ func s3Tags(params interface{}) (map[string]interface{}, error) { return nil, nil } return map[string]interface{}{ - tags.S3BucketName: bucket, + ext.S3BucketName: bucket, }, nil } @@ -243,22 +249,22 @@ func snsTags(params interface{}) (map[string]interface{}, error) { switch input := params.(type) { case *sns.PublishInput: if input.TopicArn != nil { - destTag, destARN = tags.SNSTopicName, *input.TopicArn + destTag, destARN = ext.SNSTopicName, *input.TopicArn } else { - destTag, destARN = tags.SNSTargetName, *input.TargetArn + destTag, destARN = ext.SNSTargetName, *input.TargetArn } case *sns.GetTopicAttributesInput: - destTag, destARN = tags.SNSTopicName, *input.TopicArn + destTag, destARN = ext.SNSTopicName, *input.TopicArn case *sns.ListSubscriptionsByTopicInput: - destTag, destARN = tags.SNSTopicName, *input.TopicArn + destTag, destARN = ext.SNSTopicName, *input.TopicArn case *sns.RemovePermissionInput: - destTag, destARN = tags.SNSTopicName, *input.TopicArn + destTag, destARN = ext.SNSTopicName, *input.TopicArn case *sns.SetTopicAttributesInput: - destTag, destARN = tags.SNSTopicName, *input.TopicArn + destTag, destARN = ext.SNSTopicName, *input.TopicArn case *sns.SubscribeInput: - destTag, destARN = tags.SNSTopicName, *input.TopicArn + destTag, destARN = ext.SNSTopicName, *input.TopicArn case *sns.CreateTopicInput: - destTag, destName = tags.SNSTopicName, *input.Name + destTag, destName = ext.SNSTopicName, *input.Name default: return nil, nil } @@ -291,7 +297,7 @@ func dynamoDBTags(params interface{}) (map[string]interface{}, error) { return nil, nil } return map[string]interface{}{ - tags.DynamoDBTableName: tableName, + ext.DynamoDBTableName: tableName, }, nil } @@ -320,7 +326,7 @@ func kinesisTags(params interface{}) (map[string]interface{}, error) { return nil, nil } return map[string]interface{}{ - tags.KinesisStreamName: streamName, + ext.KinesisStreamName: streamName, }, nil } @@ -345,7 +351,7 @@ func eventBridgeTags(params interface{}) (map[string]interface{}, error) { return nil, nil } return map[string]interface{}{ - tags.EventBridgeRuleName: ruleName, + ext.EventBridgeRuleName: ruleName, }, nil } @@ -382,7 +388,7 @@ func sfnTags(params interface{}) (map[string]interface{}, error) { stateMachineName = parts[len(parts)-1] } return map[string]interface{}{ - tags.SFNStateMachineName: stateMachineName, + ext.SFNStateMachineName: stateMachineName, }, nil } diff --git a/contrib/aws/aws-sdk-go/aws/aws_test.go b/contrib/aws/aws-sdk-go/aws/aws_test.go index 646c82a22e..91dfd91d1a 100644 --- a/contrib/aws/aws-sdk-go/aws/aws_test.go +++ b/contrib/aws/aws-sdk-go/aws/aws_test.go @@ -17,12 +17,6 @@ import ( "testing" "time" - "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/endpoints" @@ -39,6 +33,11 @@ import ( "github.com/aws/aws-sdk-go/service/sqs" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" ) func newIntegrationTestSession(t *testing.T, opts ...Option) *session.Session { @@ -144,18 +143,6 @@ func TestAnalyticsSettings(t *testing.T) { assertRate(t, mt, nil) }) - t.Run("global", func(t *testing.T) { - t.Skip("global flag disabled") - mt := mocktracer.Start() - defer mt.Stop() - - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) - - assertRate(t, mt, 0.4) - }) - t.Run("enabled", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() @@ -174,10 +161,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) - + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) } @@ -507,127 +491,6 @@ func TestExtraTagsForService(t *testing.T) { }) } -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - s := newIntegrationTestSession(t, opts...) - ec2Client := ec2.New(s) - s3Client := s3.New(s) - sqsClient := sqs.New(s) - snsClient := sns.New(s) - - _, err := ec2Client.DescribeInstances(&ec2.DescribeInstancesInput{}) - require.NoError(t, err) - _, err = s3Client.ListBuckets(&s3.ListBucketsInput{}) - require.NoError(t, err) - _, err = sqsClient.ListQueues(&sqs.ListQueuesInput{}) - require.NoError(t, err) - _, err = snsClient.ListTopics(&sns.ListTopicsInput{}) - require.NoError(t, err) - - return mt.FinishedSpans() - }) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 4) - assert.Equal(t, "ec2.command", spans[0].OperationName()) - assert.Equal(t, "s3.command", spans[1].OperationName()) - assert.Equal(t, "sqs.command", spans[2].OperationName()) - assert.Equal(t, "sns.command", spans[3].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 4) - assert.Equal(t, "aws.ec2.request", spans[0].OperationName()) - assert.Equal(t, "aws.s3.request", spans[1].OperationName()) - assert.Equal(t, "aws.sqs.request", spans[2].OperationName()) - assert.Equal(t, "aws.sns.request", spans[3].OperationName()) - } - serviceOverride := namingschematest.TestServiceOverride - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"aws.ec2", "aws.s3", "aws.sqs", "aws.sns"}, - WithDDService: []string{"aws.ec2", "aws.s3", "aws.sqs", "aws.sns"}, - WithDDServiceAndOverride: []string{serviceOverride, serviceOverride, serviceOverride, serviceOverride}, - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} - -func TestMessagingNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - s := newIntegrationTestSession(t, opts...) - resourceName := "test-naming-schema-aws-v1" - sqsClient := sqs.New(s) - snsClient := sns.New(s) - - // create a SQS queue - sqsResp, err := sqsClient.CreateQueue(&sqs.CreateQueueInput{QueueName: aws.String(resourceName)}) - require.NoError(t, err) - - msg := &sqs.SendMessageInput{QueueUrl: sqsResp.QueueUrl, MessageBody: aws.String("body")} - _, err = sqsClient.SendMessage(msg) - require.NoError(t, err) - - batchMsg := &sqs.SendMessageBatchInput{QueueUrl: sqsResp.QueueUrl} - entry := &sqs.SendMessageBatchRequestEntry{Id: aws.String("1"), MessageBody: aws.String("body")} - batchMsg.SetEntries([]*sqs.SendMessageBatchRequestEntry{entry}) - _, err = sqsClient.SendMessageBatch(batchMsg) - require.NoError(t, err) - - // create an SNS topic - snsResp, err := snsClient.CreateTopic(&sns.CreateTopicInput{Name: aws.String(resourceName)}) - require.NoError(t, err) - - _, err = snsClient.Publish(&sns.PublishInput{TopicArn: snsResp.TopicArn, Message: aws.String("message")}) - require.NoError(t, err) - - return mt.FinishedSpans() - }) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 5) - assert.Equal(t, "sqs.command", spans[0].OperationName()) - assert.Equal(t, "sqs.command", spans[1].OperationName()) - assert.Equal(t, "sqs.command", spans[2].OperationName()) - assert.Equal(t, "sns.command", spans[3].OperationName()) - assert.Equal(t, "sns.command", spans[4].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 5) - assert.Equal(t, "aws.sqs.request", spans[0].OperationName()) - assert.Equal(t, "aws.sqs.send", spans[1].OperationName()) - assert.Equal(t, "aws.sqs.send", spans[2].OperationName()) - assert.Equal(t, "aws.sns.request", spans[3].OperationName()) - assert.Equal(t, "aws.sns.send", spans[4].OperationName()) - } - serviceOverride := namingschematest.TestServiceOverride - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"aws.sqs", "aws.sqs", "aws.sqs", "aws.sns", "aws.sns"}, - WithDDService: []string{"aws.sqs", "aws.sqs", "aws.sqs", "aws.sns", "aws.sns"}, - WithDDServiceAndOverride: repeat(serviceOverride, 5), - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} - -func repeat(s string, n int) []string { - r := make([]string, n) - for i := 0; i < n; i++ { - r[i] = s - } - return r -} - func prepareSQS(t *testing.T, sess *session.Session, queueName string) string { t.Helper() c := sqs.New(sess) diff --git a/contrib/aws/aws-sdk-go/aws/option.go b/contrib/aws/aws-sdk-go/aws/option.go index c8a7aba2ec..e7349e455c 100644 --- a/contrib/aws/aws-sdk-go/aws/option.go +++ b/contrib/aws/aws-sdk-go/aws/option.go @@ -7,8 +7,6 @@ package aws import ( "math" - - "github.com/DataDog/dd-trace-go/v2/internal" ) type config struct { @@ -30,12 +28,7 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_AWS_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.analyticsRate = instr.AnalyticsRate() } // WithService sets the given service name for the dialled connection. diff --git a/contrib/bradfitz/gomemcache/memcache/memcache.go b/contrib/bradfitz/gomemcache/memcache/memcache.go index 3ae50aa204..db0a908ca6 100644 --- a/contrib/bradfitz/gomemcache/memcache/memcache.go +++ b/contrib/bradfitz/gomemcache/memcache/memcache.go @@ -15,19 +15,19 @@ import ( "context" "math" + "github.com/bradfitz/gomemcache/memcache" + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" - - "github.com/bradfitz/gomemcache/memcache" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const componentName = "bradfitz/gomemcache/memcache" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/bradfitz/gomemcache") + instr = instrumentation.Load(instrumentation.PackageBradfitzGoMemcache) } // WrapClient wraps a memcache.Client so that all requests are traced using the @@ -38,7 +38,7 @@ func WrapClient(client *memcache.Client, opts ...ClientOption) *Client { for _, opt := range opts { opt.apply(cfg) } - log.Debug("contrib/bradfitz/gomemcache/memcache: Wrapping Client: %#v", cfg) + instr.Logger().Debug("contrib/bradfitz/gomemcache/memcache: Wrapping Client: %#v", cfg) return &Client{ Client: client, cfg: cfg, diff --git a/contrib/bradfitz/gomemcache/memcache/memcache_test.go b/contrib/bradfitz/gomemcache/memcache/memcache_test.go index c213658455..406122b23e 100644 --- a/contrib/bradfitz/gomemcache/memcache/memcache_test.go +++ b/contrib/bradfitz/gomemcache/memcache/memcache_test.go @@ -15,15 +15,13 @@ import ( "testing" "time" + "github.com/bradfitz/gomemcache/memcache" + "github.com/stretchr/testify/assert" + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - - "github.com/bradfitz/gomemcache/memcache" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" ) func TestMemcache(t *testing.T) { @@ -145,10 +143,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) - + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -170,53 +165,11 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) - + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) } -func TestNamingSchema(t *testing.T) { - li := makeFakeServer(t) - defer li.Close() - addr := li.Addr().String() - - genSpans := func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []ClientOption - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - client := getClient(addr, opts...) - defer client.DeleteAll() - err := client.Add(&memcache.Item{Key: "key1", Value: []byte("value1")}) - require.NoError(t, err) - - spans := mt.FinishedSpans() - require.Len(t, spans, 1) - return spans - } - assertV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "memcached.query", spans[0].OperationName()) - } - assertV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "memcached.command", spans[0].OperationName()) - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"memcached"}, - WithDDService: []string{"memcached"}, - WithDDServiceAndOverride: []string{namingschematest.TestServiceOverride}, - } - t.Run("service name", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("operation name", namingschematest.NewSpanNameTest(genSpans, assertV0, assertV1)) -} - func makeFakeServer(t *testing.T) net.Listener { li, err := net.Listen("tcp", "127.0.0.1:0") if err != nil { diff --git a/contrib/bradfitz/gomemcache/memcache/option.go b/contrib/bradfitz/gomemcache/memcache/option.go index d16a9a3f40..08d79bac52 100644 --- a/contrib/bradfitz/gomemcache/memcache/option.go +++ b/contrib/bradfitz/gomemcache/memcache/option.go @@ -8,12 +8,7 @@ package memcache import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" -) - -const ( - defaultServiceName = "memcached" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) type clientConfig struct { @@ -35,15 +30,9 @@ func (fn ClientOptionFn) apply(cfg *clientConfig) { } func defaults(cfg *clientConfig) { - cfg.serviceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.operationName = namingschema.OpName(namingschema.MemcachedOutbound) - - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_MEMCACHE_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.operationName = instr.OperationName(instrumentation.ComponentDefault, nil) + cfg.analyticsRate = instr.AnalyticsRate() } // WithService sets the given service name for the dialled connection. diff --git a/contrib/cloud.google.com/go/pubsub.v1/option.go b/contrib/cloud.google.com/go/pubsub.v1/option.go index 7ac6721456..796fc47a2c 100644 --- a/contrib/cloud.google.com/go/pubsub.v1/option.go +++ b/contrib/cloud.google.com/go/pubsub.v1/option.go @@ -5,9 +5,7 @@ package pubsub -import ( - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" -) +import "github.com/DataDog/dd-trace-go/v2/instrumentation" type config struct { serviceName string @@ -18,9 +16,9 @@ type config struct { func defaultConfig() *config { return &config{ - serviceName: namingschema.ServiceNameOverrideV0("", ""), - publishSpanName: namingschema.OpName(namingschema.GCPPubSubOutbound), - receiveSpanName: namingschema.OpName(namingschema.GCPPubSubInbound), + serviceName: instr.ServiceName(instrumentation.ComponentConsumer, nil), + publishSpanName: instr.OperationName(instrumentation.ComponentProducer, nil), + receiveSpanName: instr.OperationName(instrumentation.ComponentConsumer, nil), measured: false, } } diff --git a/contrib/cloud.google.com/go/pubsub.v1/pubsub.go b/contrib/cloud.google.com/go/pubsub.v1/pubsub.go index d35885f241..d9e577ab76 100644 --- a/contrib/cloud.google.com/go/pubsub.v1/pubsub.go +++ b/contrib/cloud.google.com/go/pubsub.v1/pubsub.go @@ -10,19 +10,19 @@ import ( "context" "sync" + "cloud.google.com/go/pubsub" + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" - - "cloud.google.com/go/pubsub" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const componentName = "cloud.google.com/go/pubsub.v1" +const componentName = instrumentation.PackageCloudGoogleComPubsub + +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported(componentName) + instr = instrumentation.Load(instrumentation.PackageCloudGoogleComPubsub) } // Publish publishes a message on the specified topic and returns a PublishResult. @@ -60,7 +60,7 @@ func Publish(ctx context.Context, t *pubsub.Topic, msg *pubsub.Message, opts ... msg.Attributes = make(map[string]string) } if err := tracer.Inject(span.Context(), tracer.TextMapCarrier(msg.Attributes)); err != nil { - log.Debug("contrib/cloud.google.com/go/pubsub.v1/: failed injecting tracing attributes: %v", err) + instr.Logger().Debug("contrib/cloud.google.com/go/pubsub.v1/: failed injecting tracing attributes: %v", err) } span.SetTag("num_attributes", len(msg.Attributes)) return &PublishResult{ @@ -95,7 +95,7 @@ func WrapReceiveHandler(s *pubsub.Subscription, f func(context.Context, *pubsub. for _, opt := range opts { opt.apply(cfg) } - log.Debug("contrib/cloud.google.com/go/pubsub.v1: Wrapping Receive Handler: %#v", cfg) + instr.Logger().Debug("contrib/cloud.google.com/go/pubsub.v1: Wrapping Receive Handler: %#v", cfg) return func(ctx context.Context, msg *pubsub.Message) { parentSpanCtx, _ := tracer.Extract(tracer.TextMapCarrier(msg.Attributes)) opts := []tracer.StartSpanOption{ diff --git a/contrib/cloud.google.com/go/pubsub.v1/pubsub_test.go b/contrib/cloud.google.com/go/pubsub.v1/pubsub_test.go index 54088b9e02..dbbbce1aa8 100644 --- a/contrib/cloud.google.com/go/pubsub.v1/pubsub_test.go +++ b/contrib/cloud.google.com/go/pubsub.v1/pubsub_test.go @@ -11,13 +11,11 @@ import ( "testing" "time" + "cloud.google.com/go/pubsub" + "cloud.google.com/go/pubsub/pstest" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - - "cloud.google.com/go/pubsub" - "cloud.google.com/go/pubsub/pstest" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "google.golang.org/api/option" @@ -262,45 +260,6 @@ func filterTags(m map[string]interface{}) map[string]interface{} { return m } -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - ctx, cancel, mt, topic, sub := setup(t) - - _, err := Publish(ctx, topic, &pubsub.Message{Data: []byte("hello"), OrderingKey: "xxx"}, opts...).Get(ctx) - require.NoError(t, err) - - err = sub.Receive(ctx, WrapReceiveHandler(sub, func(ctx context.Context, msg *pubsub.Message) { - msg.Ack() - cancel() - }, opts...)) - require.NoError(t, err) - - return mt.FinishedSpans() - }) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "pubsub.publish", spans[0].OperationName()) - assert.Equal(t, "pubsub.receive", spans[1].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "gcp.pubsub.send", spans[0].OperationName()) - assert.Equal(t, "gcp.pubsub.process", spans[1].OperationName()) - } - serviceOverride := namingschematest.TestServiceOverride - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"", ""}, - WithDDService: []string{"", ""}, - WithDDServiceAndOverride: []string{serviceOverride, serviceOverride}, - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} - func setup(t *testing.T) (context.Context, context.CancelFunc, mocktracer.Tracer, *pubsub.Topic, *pubsub.Subscription) { mt := mocktracer.Start() t.Cleanup(mt.Stop) diff --git a/contrib/net/http/http.go b/contrib/net/http/http.go index 562bbf1592..4228185baa 100644 --- a/contrib/net/http/http.go +++ b/contrib/net/http/http.go @@ -11,8 +11,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/log" + "github.com/DataDog/dd-trace-go/v2/instrumentation/httptrace" ) // ServeMux is an HTTP request multiplexer that traces all the incoming requests. @@ -31,7 +30,7 @@ func NewServeMux(opts ...Option) *ServeMux { } cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.SpanKind, ext.SpanKindServer)) cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.Component, componentName)) - log.Debug("contrib/net/http: Configuring ServeMux: %#v", cfg) + instr.Logger().Debug("contrib/net/http: Configuring ServeMux: %#v", cfg) return &ServeMux{ ServeMux: http.NewServeMux(), cfg: cfg, @@ -74,7 +73,7 @@ func WrapHandler(h http.Handler, service, resource string, opts ...Option) http. } cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.SpanKind, ext.SpanKindServer)) cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.Component, componentName)) - log.Debug("contrib/net/http: Wrapping Handler: Service: %s, Resource: %s, %#v", service, resource, cfg) + instr.Logger().Debug("contrib/net/http: Wrapping Handler: Service: %s, Resource: %s, %#v", service, resource, cfg) return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { if cfg.ignoreRequest(req) { h.ServeHTTP(w, req) diff --git a/contrib/net/http/http_test.go b/contrib/net/http/http_test.go index 08b0cda302..212c79da13 100644 --- a/contrib/net/http/http_test.go +++ b/contrib/net/http/http_test.go @@ -12,15 +12,14 @@ import ( "sync" "testing" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" - - "github.com/stretchr/testify/assert" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" ) func TestWithHeaderTags(t *testing.T) { @@ -35,81 +34,92 @@ func TestWithHeaderTags(t *testing.T) { router(opts...).ServeHTTP(w, r) return r } + t.Run("default-off", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - htArgs := []string{"h!e@a-d.e*r", "2header", "3header", "x-datadog-header"} + + headerTags := instrumentation.NewHeaderTags([]string{"h!e@a-d.e*r", "2header", "3header", "x-datadog-header"}) setupReq() spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - _, tag := normalizer.HeaderTag(arg) + + headerTags.Iter(func(_ string, tag string) { assert.NotContains(s.Tags(), tag) - } + }) }) t.Run("integration", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() htArgs := []string{"h!e@a-d.e*r", "2header:tag"} + headerTags := instrumentation.NewHeaderTags(htArgs) + r := setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) + headerTags.Iter(func(header string, tag string) { assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + }) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) t.Run("global", func(t *testing.T) { + htArgs := []string{"3header"} + testutils.SetGlobalHeaderTags(t, htArgs...) + headerTags := instrumentation.NewHeaderTags(htArgs) + mt := mocktracer.Start() defer mt.Stop() - header, tag := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(header, tag) - r := setupReq() spans := mt.FinishedSpans() assert := assert.New(t) - assert.Equal(len(spans), 1) + require.Len(t, spans, 1) s := spans[0] - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) + headerTags.Iter(func(header string, tag string) { + assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) + }) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) t.Run("override", func(t *testing.T) { + htArgsGlobal := []string{"3header"} + testutils.SetGlobalHeaderTags(t, htArgsGlobal...) + headerTagsGlobal := instrumentation.NewHeaderTags(htArgsGlobal) + mt := mocktracer.Start() defer mt.Stop() - globalH, globalT := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(globalH, globalT) - htArgs := []string{"h!e@a-d.e*r", "2header:tag"} + headerTags := instrumentation.NewHeaderTags(htArgs) + r := setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) - assert.Equal(len(spans), 1) + require.Len(t, spans, 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) + headerTags.Iter(func(header string, tag string) { assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + }) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") - assert.NotContains(s.Tags(), globalT) + headerTagsGlobal.Iter(func(_ string, tag string) { + assert.NotContains(s.Tags(), tag) + }) }) t.Run("wrap-handler", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() htArgs := []string{"h!e@a-d.e*r", "2header", "3header"} + headerTags := instrumentation.NewHeaderTags(htArgs) handler := WrapHandler(http.HandlerFunc(handler200), "my-service", "my-resource", WithHeaderTags(htArgs), @@ -135,10 +145,9 @@ func TestWithHeaderTags(t *testing.T) { s := spans[0] assert.Equal("http.request", s.OperationName()) - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) + headerTags.Iter(func(header string, tag string) { assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + }) }) } @@ -375,9 +384,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) test(t, mt, 0.4) }) @@ -400,9 +407,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) test(t, mt, 0.23, WithAnalyticsRate(0.23)) }) @@ -457,26 +462,6 @@ func TestIgnoreRequestOption(t *testing.T) { } } -func TestServerNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - mux := NewServeMux(opts...) - mux.HandleFunc("/200", handler200) - r := httptest.NewRequest("GET", "http://localhost/200", nil) - w := httptest.NewRecorder() - mux.ServeHTTP(w, r) - - return mt.FinishedSpans() - }) - namingschematest.NewHTTPServerTest(genSpans, "http.router")(t) -} - func router(muxOpts ...Option) http.Handler { defaultOpts := []Option{ WithService("my-service"), @@ -496,12 +481,14 @@ func handler500(w http.ResponseWriter, _ *http.Request) { http.Error(w, "500!", http.StatusInternalServerError) } +type discardLogger struct{} + +func (discardLogger) Log(_ string) {} + func BenchmarkHttpServeTrace(b *testing.B) { - err := tracer.Start(tracer.WithLogger(log.DiscardLogger{})) + err := tracer.Start(tracer.WithLogger(discardLogger{}), tracer.WithHeaderTags([]string{"3header"})) assert.NoError(b, err) defer tracer.Stop() - header, tag := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(header, tag) r := httptest.NewRequest("GET", "/200", nil) r.Header.Set("h!e@a-d.e*r", "val") diff --git a/contrib/net/http/make_responsewriter.go b/contrib/net/http/internal/make_responsewriter/main.go similarity index 66% rename from contrib/net/http/make_responsewriter.go rename to contrib/net/http/internal/make_responsewriter/main.go index 3531325d62..a7e12c5a7d 100644 --- a/contrib/net/http/make_responsewriter.go +++ b/contrib/net/http/internal/make_responsewriter/main.go @@ -3,28 +3,22 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016 Datadog, Inc. -//go:build ignore -// +build ignore - // This program generates wrapper implementations of http.ResponseWriter that // also satisfy http.Flusher, http.Pusher, http.CloseNotifier and http.Hijacker, // based on whether or not the passed in http.ResponseWriter also satisfies // them. - package main import ( "os" "text/template" - - "github.com/DataDog/dd-trace-go/v2/internal/lists" ) func main() { interfaces := []string{"Flusher", "Pusher", "CloseNotifier", "Hijacker"} var combos [][][]string for pick := len(interfaces); pick > 0; pick-- { - combos = append(combos, lists.Combinations(interfaces, pick)) + combos = append(combos, combinations(interfaces, pick)) } template.Must(template.New("").Parse(tpl)).Execute(os.Stdout, map[string]interface{}{ "Interfaces": interfaces, @@ -32,6 +26,43 @@ func main() { }) } +// combinations returns all possible unique selections of size `pick` of a list +// of strings for which order does not matter +// +// an example: +// +// Combinations([cat, dog, bird], 2): +// [cat] -> Combinations([dog, bird], 1) +// [cat, dog] +// [cat, bird] +// [dog] -> Combinations([bird], 1) +// [dog, bird] +// [bird] -> Combinations([], 0) +// n/a +func combinations(list []string, pick int) (all [][]string) { + switch pick { + case 0: + // nothing to do + case 1: + for i := range list { + all = append(all, list[i:i+1]) + } + default: + // we recursively find combinations by taking each item in the list + // and then finding the combinations at (pick-1) for the remaining + // items in the list + // the reason we start at [i+1:], is because the order of the items in + // the list doesn't matter, so this will remove all the duplicates we + // would get otherwise + for i := range list { + for _, next := range combinations(list[i+1:], pick-1) { + all = append(all, append([]string{list[i]}, next...)) + } + } + } + return all +} + var tpl = `// Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). diff --git a/internal/lists/lists_test.go b/contrib/net/http/internal/make_responsewriter/main_test.go similarity index 67% rename from internal/lists/lists_test.go rename to contrib/net/http/internal/make_responsewriter/main_test.go index 27352cc5bc..07a0be9bf8 100644 --- a/internal/lists/lists_test.go +++ b/contrib/net/http/internal/make_responsewriter/main_test.go @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016 Datadog, Inc. -package lists +package main import ( "testing" @@ -11,9 +11,9 @@ import ( "github.com/stretchr/testify/assert" ) -func TestCombinations(t *testing.T) { +func Test_combinations(t *testing.T) { { - combos := Combinations([]string{"cat", "dog", "bird", "mouse"}, 3) + combos := combinations([]string{"cat", "dog", "bird", "mouse"}, 3) assert.Equal(t, [][]string{ {"cat", "dog", "bird"}, {"cat", "dog", "mouse"}, @@ -22,7 +22,7 @@ func TestCombinations(t *testing.T) { }, combos) } { - combos := Combinations([]string{"cat", "dog", "bird", "mouse"}, 2) + combos := combinations([]string{"cat", "dog", "bird", "mouse"}, 2) assert.Equal(t, [][]string{ {"cat", "dog"}, {"cat", "bird"}, @@ -33,7 +33,7 @@ func TestCombinations(t *testing.T) { }, combos) } { - combos := Combinations([]string{"cat", "dog", "bird", "mouse"}, 1) + combos := combinations([]string{"cat", "dog", "bird", "mouse"}, 1) assert.Equal(t, [][]string{ {"cat"}, {"dog"}, @@ -42,8 +42,3 @@ func TestCombinations(t *testing.T) { }, combos) } } - -func TestRepeatString(t *testing.T) { - sl := RepeatString("abc", 3) - assert.Equal(t, []string{"abc", "abc", "abc"}, sl) -} diff --git a/contrib/net/http/option.go b/contrib/net/http/option.go index ea978cd830..acef4bd9c8 100644 --- a/contrib/net/http/option.go +++ b/contrib/net/http/option.go @@ -11,14 +11,9 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "http.router" - type commonConfig struct { analyticsRate float64 ignoreRequest func(*http.Request) bool @@ -30,7 +25,7 @@ type commonConfig struct { type config struct { commonConfig finishOpts []tracer.FinishOption - headerTags *internal.LockMap + headerTags instrumentation.HeaderTags } // Option describes options for http.ServeMux. @@ -57,13 +52,12 @@ func (o HandlerOptionFn) apply(cfg *config) { } func defaults(cfg *config) { - if internal.BoolEnv("DD_TRACE_HTTP_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = globalconfig.AnalyticsRate() + cfg.analyticsRate = instr.AnalyticsRate() + if math.IsNaN(cfg.analyticsRate) { + cfg.analyticsRate = instr.GlobalAnalyticsRate() } - cfg.serviceName = namingschema.ServiceName(defaultServiceName) - cfg.headerTags = globalconfig.HeaderTagMap() + cfg.serviceName = instr.ServiceName(instrumentation.ComponentServer, nil) + cfg.headerTags = instr.HTTPHeadersAsTags() cfg.spanOpts = []tracer.StartSpanOption{tracer.Measured()} if !math.IsNaN(cfg.analyticsRate) { cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.EventSampleRate, cfg.analyticsRate)) @@ -92,9 +86,8 @@ func WithService(name string) OptionFn { // Using this feature can risk exposing sensitive data such as authorization tokens to Datadog. // Special headers can not be sub-selected. E.g., an entire Cookie header would be transmitted, without the ability to choose specific Cookies. func WithHeaderTags(headers []string) HandlerOptionFn { - headerTagsMap := normalizer.HeaderTagSlice(headers) return func(cfg *config) { - cfg.headerTags = internal.NewLockMap(headerTagsMap) + cfg.headerTags = instrumentation.NewHeaderTags(headers) } } @@ -180,13 +173,13 @@ func newRoundTripperConfig() *roundTripperConfig { defaultResourceNamer := func(_ *http.Request) string { return "http.request" } - spanName := namingschema.OpName(namingschema.HTTPClient) + spanName := instr.OperationName(instrumentation.ComponentClient, nil) defaultSpanNamer := func(_ *http.Request) string { return spanName } sharedCfg := commonConfig{ - serviceName: namingschema.ServiceNameOverrideV0("", ""), - analyticsRate: globalconfig.AnalyticsRate(), + serviceName: instr.ServiceName(instrumentation.ComponentClient, nil), + analyticsRate: instr.GlobalAnalyticsRate(), resourceNamer: defaultResourceNamer, ignoreRequest: func(_ *http.Request) bool { return false }, } diff --git a/contrib/net/http/roundtripper_test.go b/contrib/net/http/roundtripper_test.go index 6830d0b738..af20bec21e 100644 --- a/contrib/net/http/roundtripper_test.go +++ b/contrib/net/http/roundtripper_test.go @@ -16,14 +16,13 @@ import ( "testing" "time" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" ) func TestWrapRoundTripperAllowNilTransport(t *testing.T) { @@ -325,18 +324,6 @@ func TestRoundTripperAnalyticsSettings(t *testing.T) { assertRate(t, mt, nil) }) - t.Run("global", func(t *testing.T) { - t.Skip("global flag disabled") - mt := mocktracer.Start() - defer mt.Stop() - - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) - - assertRate(t, mt, 0.4) - }) - t.Run("enabled", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() @@ -352,13 +339,11 @@ func TestRoundTripperAnalyticsSettings(t *testing.T) { }) t.Run("override", func(t *testing.T) { + testutils.SetGlobalAnalyticsRate(t, 0.4) + mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) - assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) } @@ -580,41 +565,3 @@ func TestRoundTripperPropagation(t *testing.T) { assert.Nil(t, err) defer resp.Body.Close() } - -func TestClientNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []RoundTripperOption - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("")) })) - defer srv.Close() - - c := WrapClient(&http.Client{}, opts...) - req, err := http.NewRequest(http.MethodGet, srv.URL+"/200", nil) - require.NoError(t, err) - resp, err := c.Do(req) - require.NoError(t, err) - defer resp.Body.Close() - - return mt.FinishedSpans() - }) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "http.request", spans[0].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "http.client.request", spans[0].OperationName()) - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{""}, - WithDDService: []string{""}, - WithDDServiceAndOverride: []string{namingschematest.TestServiceOverride}, - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} diff --git a/contrib/net/http/trace.go b/contrib/net/http/trace.go index a7e8b78a70..1f663539e2 100644 --- a/contrib/net/http/trace.go +++ b/contrib/net/http/trace.go @@ -5,25 +5,25 @@ package http // import "github.com/DataDog/dd-trace-go/contrib/net/http/v2" -//go:generate sh -c "go run make_responsewriter.go | gofmt > trace_gen.go" +//go:generate sh -c "go run ./internal/make_responsewriter | gofmt > trace_gen.go" import ( "net/http" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/ddtrace/options" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/httpsec" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/options" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/httptrace" ) const componentName = "net/http" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported(componentName) + instr = instrumentation.Load(instrumentation.PackageNetHTTP) } // ServeConfig specifies the tracing configuration when using TraceAndServe. @@ -71,7 +71,7 @@ func TraceAndServe(h http.Handler, w http.ResponseWriter, r *http.Request, cfg * defer func() { httptrace.FinishRequestSpan(span, ddrw.status, cfg.FinishOpts...) }() - if appsec.Enabled() { + if instr.AppSecEnabled() { h = httpsec.WrapHandler(h, span, cfg.RouteParams, nil) } h.ServeHTTP(rw, r.WithContext(ctx)) diff --git a/contrib/net/http/trace_test.go b/contrib/net/http/trace_test.go index 408534be10..5dc008f2ed 100644 --- a/contrib/net/http/trace_test.go +++ b/contrib/net/http/trace_test.go @@ -12,11 +12,11 @@ import ( "net/http/httptest" "testing" + "github.com/stretchr/testify/assert" + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - - "github.com/stretchr/testify/assert" ) func TestTraceAndServe(t *testing.T) { diff --git a/internal/contrib/aws/tags/tags.go b/ddtrace/ext/aws.go similarity index 71% rename from internal/contrib/aws/tags/tags.go rename to ddtrace/ext/aws.go index 2631158736..5665b07912 100644 --- a/internal/contrib/aws/tags/tags.go +++ b/ddtrace/ext/aws.go @@ -1,15 +1,14 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2023 Datadog, Inc. +// Copyright 2016 Datadog, Inc. -package tags +package ext +// Tags specific to AWS. const ( - // OldAWSService is a duplicate tag that will be phased out in favor of AWSService. - OldAWSService = "aws.service" - // OldAWSRegion is a duplicate tag that will be phased out in favor of AWSRegion. - OldAWSRegion = "aws.region" + AWSServiceLegacy = "aws.service" + AWSRegionLegacy = "aws.region" AWSAgent = "aws.agent" AWSService = "aws_service" diff --git a/internal/contrib/options/options.go b/ddtrace/options/options.go similarity index 100% rename from internal/contrib/options/options.go rename to ddtrace/options/options.go diff --git a/internal/contrib/options/options_test.go b/ddtrace/options/options_test.go similarity index 100% rename from internal/contrib/options/options_test.go rename to ddtrace/options/options_test.go diff --git a/ddtrace/tracer/context.go b/ddtrace/tracer/context.go index e99943518f..ab644f4da0 100644 --- a/ddtrace/tracer/context.go +++ b/ddtrace/tracer/context.go @@ -8,8 +8,8 @@ package tracer import ( "context" + "github.com/DataDog/dd-trace-go/v2/ddtrace/options" "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/options" ) // ContextWithSpan returns a copy of the given context which includes the span s. diff --git a/go.work b/go.work index 92c02824aa..3b23bf95b7 100644 --- a/go.work +++ b/go.work @@ -52,6 +52,7 @@ use ( ./contrib/twitchtv/twirp ./contrib/urfave/negroni ./contrib/valyala/fasthttp + ./instrumentation/internal/namingschematest ./internal/apps ./internal/contrib/validationtest ./internal/traceprof/traceproftest diff --git a/go.work.sum b/go.work.sum index 690c46bc76..137bb0ce59 100644 --- a/go.work.sum +++ b/go.work.sum @@ -723,6 +723,8 @@ github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c h1:/IBSNwUN8+eKzU github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU= github.com/AzureAD/microsoft-authentication-library-for-go v0.8.1 h1:oPdPEZFSbl7oSPEAIPMPBMUmiL+mqgzBJwM/9qYcwNg= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= +github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= github.com/DataDog/datadog-agent/pkg/util/log v0.49.0 h1:cyOCabSFaOKGGkpYv985xkAdUjvhtL2zfjd0pigUJX4= github.com/DataDog/datadog-agent/pkg/util/log v0.49.0/go.mod h1:h0DfsKCkiQYZzVKCpODobZia0OkHAGN98sTSlqoA7so= @@ -746,6 +748,8 @@ github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3 h1:4FA+QBay github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= +github.com/PuerkitoBio/goquery v1.9.2 h1:4/wZksC3KgkQw7SQgkKotmKljk0M6V8TUvA8Wb4yPeE= +github.com/PuerkitoBio/goquery v1.9.2/go.mod h1:GHPCaP0ODyyxqcNoFGYlAprUFH81NuRPd0GX3Zu2Mvk= github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d h1:UrqY+r/OJnIp5u0s1SbQ8dVfLCZJsnvazdBP5hS4iRs= @@ -759,6 +763,8 @@ github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2c github.com/alexflint/go-filemutex v1.1.0 h1:IAWuUuRYL2hETx5b8vCgwnD+xSdlsTQY6s2JjBsqLdg= github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= +github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsViSLyss= +github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU= github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= github.com/apache/arrow/go/v10 v10.0.1 h1:n9dERvixoC/1JjDmBcs9FPaEryoANa2sCgVFo6ez9cI= github.com/apache/arrow/go/v11 v11.0.0 h1:hqauxvFQxww+0mEU/2XHG6LT7eZternCZq+A5Yly2uM= @@ -772,19 +778,33 @@ github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= +github.com/aws/aws-sdk-go-v2 v1.17.8/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2 v1.18.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10/go.mod h1:VeTZetY5KRJLuD/7fkQXMU6Mw7H5m/KP2J5Iy9osMno= +github.com/aws/aws-sdk-go-v2/config v1.18.21 h1:ENTXWKwE8b9YXgQCsruGLhvA9bhg+RqAsL9XEMEsa2c= github.com/aws/aws-sdk-go-v2/config v1.18.21/go.mod h1:+jPQiVPz1diRnjj6VGqWcLK6EzNmQ42l7J3OqGTLsSY= github.com/aws/aws-sdk-go-v2/credentials v1.13.20/go.mod h1:xtZnXErtbZ8YGXC3+8WfajpMBn5Ga/3ojZdxHq6iI8o= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.2/go.mod h1:cDh1p6XkSGSwSRIArWRc6+UqAQ7x4alQ0QfpVR6f+co= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.32/go.mod h1:RudqOgadTWdcS3t/erPQo24pcVEoYyqj/kKW5Vya21I= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.26/go.mod h1:vq86l7956VgFr0/FWQ2BWnK07QC3WYsepKzy33qqY5U= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.33/go.mod h1:zG2FcwjQarWaqXSCGpgcr3RSjZ6dHGguZSppUL0XR7Q= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.34/go.mod h1:Etz2dj6UHYuw+Xw830KfzCfWGMzqvUTCjUj5b76GVDc= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.24/go.mod h1:+fFaIjycTmpV6hjmPTbyU9Kp5MI/lA+bbibcAtmlhYA= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.93.2 h1:c6a19AjfhEXKlEX63cnlWtSQ4nzENihHZOG0I3wH6BE= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.93.2/go.mod h1:VX22JN3HQXDtQ3uS4h4TtM+K11vydq58tpHTlsm8TL8= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.27/go.mod h1:Zz0kvhcSlu3NX4XJkaGgdjaa+u7a9LYuy8JKxA5v3RM= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.35/go.mod h1:YVHrksq36j0sbXCT6rSuQafpfYkMYqy0QTk7JTCTBIU= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.26/go.mod h1:Bd4C/4PkVGubtNe5iMXu5BNnaBi/9t/UsFspPt4ram8= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.34/go.mod h1:ytsF+t+FApY2lFnN51fJKPhH6ICKOPXKEcwwgmJEdWI= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.1/go.mod h1:VXBHSxdN46bsJrkniN68psSwbyBKsazQfU2yX/iSDso= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.3/go.mod h1:TXBww3ANB+QRj+/dUoYDvI8d/u4F4WzTxD4mxtDoxrg= +github.com/aws/aws-sdk-go-v2/service/s3 v1.32.0 h1:NAc8WQsVQ3+kz3rU619mlz8NcbpZI6FVJHQfH33QK0g= github.com/aws/aws-sdk-go-v2/service/s3 v1.32.0/go.mod h1:aSl9/LJltSz1cVusiR/Mu8tvI4Sv/5w/WWrJmmkNii0= github.com/aws/aws-sdk-go-v2/service/sso v1.12.8/go.mod h1:GNIveDnP+aE3jujyUSH5aZ/rktsTM5EvtKnCqBZawdw= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.8/go.mod h1:44qFP1g7pfd+U+sQHLPalAPKnyfTZjJsYR4xIwsJy5o= github.com/aws/aws-sdk-go-v2/service/sts v1.18.9/go.mod h1:yyW88BEPXA2fGFyI2KCcZC3dNpiT0CZAHaF+i656/tQ= +github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/benbjohnson/clock v1.0.3 h1:vkLuvpK4fmtSCuo60+yC63p7y0BmQ8gm5ZXGuBCJyXg= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= @@ -895,6 +915,8 @@ github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg= github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= +github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= @@ -1131,6 +1153,8 @@ github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLO github.com/marstr/guid v1.1.0 h1:/M4H/1G4avsieL6BbUwCOBzulmoeKVP5ux/3mQNnbyI= github.com/matryer/moq v0.2.7 h1:RtpiPUM8L7ZSCbSwK+QcZH/E9tgqAkFjKQxsRs25b4w= github.com/matryer/moq v0.2.7/go.mod h1:kITsx543GOENm48TUAQyJ9+SAvFSr7iGQXPoth/VUBk= +github.com/matryer/moq v0.3.4 h1:czCFIos9rI2tyOehN9ktc/6bQ76N9J4xQ2n3dk063ac= +github.com/matryer/moq v0.3.4/go.mod h1:wqm9QObyoMuUtH81zFfs3EK6mXEcByy+TjvSROOXJ2U= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= @@ -1283,6 +1307,8 @@ github.com/urfave/cli v1.22.12 h1:igJgVw1JdKH+trcLWLeLwZjU9fEfPesQ+9/e4MQ44S8= github.com/urfave/cli v1.22.12/go.mod h1:sSBEIC79qR6OvcmsD4U3KABeOTxDqQtdDnaFuUN30b8= github.com/urfave/cli/v2 v2.25.5 h1:d0NIAyhh5shGscroL7ek/Ya9QYQE0KNabJgiUinIQkc= github.com/urfave/cli/v2 v2.25.5/go.mod h1:GHupkWPMM0M/sj1a2b4wUrWBPzazNrIjouW6fmdJLxc= +github.com/urfave/cli/v2 v2.27.2 h1:6e0H+AkS+zDckwPCUrZkKX38mRaau4nL2uipkJpbkcI= +github.com/urfave/cli/v2 v2.27.2/go.mod h1:g0+79LmHHATl7DAcHO99smiR/T7uGLw84w8Y42x+4eM= github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5 h1:+UB2BJA852UkGH42H+Oee69djmxS3ANzl2b/JtT1YiA= github.com/vishvananda/netlink v1.2.1-beta.2 h1:Llsql0lnQEbHj0I1OuKyp8otXp0r3q0mPkuhwHfStVs= github.com/vishvananda/netlink v1.2.1-beta.2/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= @@ -1297,6 +1323,8 @@ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5 github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= +github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 h1:+qGGcbkzsfDQNPPe9UDgpxAWQrhbbBXOYJFQDq/dtJw= +github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913/go.mod h1:4aEEwZQutDLsQv2Deui4iYQ6DWTxR14g6m8Wv88+Xqk= github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43 h1:+lm10QQTNSBd8DVTNGHx7o/IKu9HYDvLMffDhbyLccI= github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50 h1:hlE8//ciYMztlGpl/VA+Zm1AcTPHYkHJPbHqE6WJUXE= @@ -1383,6 +1411,8 @@ golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91 h1:ryT6Nf0R83ZgD8WnFFdfI8wCeyqgdXWN4+CkFVNPAT0= golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91/go.mod h1:VjAR7z0ngyATZTELrBSkxOOHhhlnVUxDye4mcjx5h/8= golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI= @@ -1394,7 +1424,10 @@ golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= +golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= @@ -1428,12 +1461,21 @@ golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2 h1:IRJeR9r1pYWsHKTRe/IInb7lYvbBVIqOgsX/u0mbOWY= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= +golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457 h1:zf5N6UOrA487eEFacMePxjXAJctxKmyjKUsjA11Uzuk= +golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= +golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= +golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= @@ -1441,6 +1483,9 @@ golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8 golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= gonum.org/v1/gonum v0.11.0 h1:f1IJhK4Km5tBJmaiJXtk/PkL4cdVX6J+tGiM187uT5E= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc= gonum.org/v1/plot v0.10.1 h1:dnifSs43YJuNMDzB7v8wV64O4ABBHReuAVAoBxqBqS4= diff --git a/internal/appsec/emitter/graphqlsec/README.md b/instrumentation/appsec/emitter/graphqlsec/README.md similarity index 100% rename from internal/appsec/emitter/graphqlsec/README.md rename to instrumentation/appsec/emitter/graphqlsec/README.md diff --git a/internal/appsec/emitter/graphqlsec/context.go b/instrumentation/appsec/emitter/graphqlsec/context.go similarity index 100% rename from internal/appsec/emitter/graphqlsec/context.go rename to instrumentation/appsec/emitter/graphqlsec/context.go diff --git a/internal/appsec/emitter/graphqlsec/execution.go b/instrumentation/appsec/emitter/graphqlsec/execution.go similarity index 77% rename from internal/appsec/emitter/graphqlsec/execution.go rename to instrumentation/appsec/emitter/graphqlsec/execution.go index 0def2df03a..27507122ce 100644 --- a/internal/appsec/emitter/graphqlsec/execution.go +++ b/instrumentation/appsec/emitter/graphqlsec/execution.go @@ -3,17 +3,13 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016 Datadog, Inc. -// Package graphql is the GraphQL instrumentation API and contract for AppSec -// defining an abstract run-time representation of AppSec middleware. GraphQL -// integrations must use this package to enable AppSec features for GraphQL, -// which listens to this package's operation events. package graphqlsec import ( "context" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/graphqlsec/types" "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/graphqlsec/types" "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" ) diff --git a/internal/appsec/emitter/graphqlsec/init.go b/instrumentation/appsec/emitter/graphqlsec/init.go similarity index 100% rename from internal/appsec/emitter/graphqlsec/init.go rename to instrumentation/appsec/emitter/graphqlsec/init.go diff --git a/internal/appsec/emitter/graphqlsec/request.go b/instrumentation/appsec/emitter/graphqlsec/request.go similarity index 89% rename from internal/appsec/emitter/graphqlsec/request.go rename to instrumentation/appsec/emitter/graphqlsec/request.go index 9d3cc37a56..f6bfea2f14 100644 --- a/internal/appsec/emitter/graphqlsec/request.go +++ b/instrumentation/appsec/emitter/graphqlsec/request.go @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016 Datadog, Inc. -// Package graphql is the GraphQL instrumentation API and contract for AppSec +// Package graphqlsec is the GraphQL instrumentation API and contract for AppSec // defining an abstract run-time representation of AppSec middleware. GraphQL // integrations must use this package to enable AppSec features for GraphQL, // which listens to this package's operation events. @@ -12,8 +12,8 @@ package graphqlsec import ( "context" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/graphqlsec/types" "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/graphqlsec/types" "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" ) diff --git a/internal/appsec/emitter/graphqlsec/resolve.go b/instrumentation/appsec/emitter/graphqlsec/resolve.go similarity index 92% rename from internal/appsec/emitter/graphqlsec/resolve.go rename to instrumentation/appsec/emitter/graphqlsec/resolve.go index 057c9f7d1b..b64698f2bd 100644 --- a/internal/appsec/emitter/graphqlsec/resolve.go +++ b/instrumentation/appsec/emitter/graphqlsec/resolve.go @@ -8,8 +8,8 @@ package graphqlsec import ( "context" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/graphqlsec/types" "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/graphqlsec/types" "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" ) diff --git a/internal/appsec/emitter/graphqlsec/types/types.go b/instrumentation/appsec/emitter/graphqlsec/types/types.go similarity index 100% rename from internal/appsec/emitter/graphqlsec/types/types.go rename to instrumentation/appsec/emitter/graphqlsec/types/types.go diff --git a/internal/appsec/emitter/httpsec/config.go b/instrumentation/appsec/emitter/httpsec/config.go similarity index 100% rename from internal/appsec/emitter/httpsec/config.go rename to instrumentation/appsec/emitter/httpsec/config.go diff --git a/internal/appsec/emitter/httpsec/http.go b/instrumentation/appsec/emitter/httpsec/http.go similarity index 98% rename from internal/appsec/emitter/httpsec/http.go rename to instrumentation/appsec/emitter/httpsec/http.go index d398ead5d3..64319e3969 100644 --- a/internal/appsec/emitter/httpsec/http.go +++ b/instrumentation/appsec/emitter/httpsec/http.go @@ -18,8 +18,8 @@ import ( "strings" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec/types" "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/httpsec/types" "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/sharedsec" "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener" "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" diff --git a/internal/appsec/emitter/httpsec/init.go b/instrumentation/appsec/emitter/httpsec/init.go similarity index 100% rename from internal/appsec/emitter/httpsec/init.go rename to instrumentation/appsec/emitter/httpsec/init.go diff --git a/internal/appsec/emitter/httpsec/tags.go b/instrumentation/appsec/emitter/httpsec/tags.go similarity index 100% rename from internal/appsec/emitter/httpsec/tags.go rename to instrumentation/appsec/emitter/httpsec/tags.go diff --git a/internal/appsec/emitter/httpsec/tags_test.go b/instrumentation/appsec/emitter/httpsec/tags_test.go similarity index 100% rename from internal/appsec/emitter/httpsec/tags_test.go rename to instrumentation/appsec/emitter/httpsec/tags_test.go diff --git a/internal/appsec/emitter/httpsec/types/types.go b/instrumentation/appsec/emitter/httpsec/types/types.go similarity index 100% rename from internal/appsec/emitter/httpsec/types/types.go rename to instrumentation/appsec/emitter/httpsec/types/types.go diff --git a/internal/contrib/httptrace/config.go b/instrumentation/httptrace/config.go similarity index 100% rename from internal/contrib/httptrace/config.go rename to instrumentation/httptrace/config.go diff --git a/internal/contrib/httptrace/config_test.go b/instrumentation/httptrace/config_test.go similarity index 100% rename from internal/contrib/httptrace/config_test.go rename to instrumentation/httptrace/config_test.go diff --git a/internal/contrib/httptrace/httptrace.go b/instrumentation/httptrace/httptrace.go similarity index 90% rename from internal/contrib/httptrace/httptrace.go rename to instrumentation/httptrace/httptrace.go index 72851ac8d4..cef6a8a568 100644 --- a/internal/contrib/httptrace/httptrace.go +++ b/instrumentation/httptrace/httptrace.go @@ -16,15 +16,20 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" ) var ( cfg = newConfig() ) +var instr *instrumentation.Instrumentation + +func init() { + instr = instrumentation.Load(instrumentation.PackageNetHTTP) +} + // StartRequestSpan starts an HTTP request span with the standard list of HTTP request span tags (http.method, http.url, // http.useragent). Any further span start option can be added with opts. func StartRequestSpan(r *http.Request, opts ...tracer.StartSpanOption) (*tracer.Span, context.Context) { @@ -57,7 +62,7 @@ func StartRequestSpan(r *http.Request, opts ...tracer.StartSpanOption) (*tracer. } }) nopts = append(nopts, opts...) - return tracer.StartSpanFromContext(r.Context(), namingschema.OpName(namingschema.HTTPServer), nopts...) + return tracer.StartSpanFromContext(r.Context(), instr.OperationName(instrumentation.ComponentServer, nil), nopts...) } // FinishRequestSpan finishes the given HTTP request span and sets the expected response-related tags such as the status @@ -112,13 +117,13 @@ func urlFromRequest(r *http.Request) string { // HeaderTagsFromRequest matches req headers to user-defined list of header tags // and creates span tags based on the header tag target and the req header value -func HeaderTagsFromRequest(req *http.Request, headerCfg *internal.LockMap) tracer.StartSpanOption { +func HeaderTagsFromRequest(req *http.Request, headerTags instrumentation.HeaderTags) tracer.StartSpanOption { var tags []struct { key string val string } - headerCfg.Iter(func(header, tag string) { + headerTags.Iter(func(header, tag string) { if vs, ok := req.Header[header]; ok { tags = append(tags, struct { key string diff --git a/internal/contrib/httptrace/httptrace_test.go b/instrumentation/httptrace/httptrace_test.go similarity index 100% rename from internal/contrib/httptrace/httptrace_test.go rename to instrumentation/httptrace/httptrace_test.go diff --git a/instrumentation/instrumentation.go b/instrumentation/instrumentation.go new file mode 100644 index 0000000000..ada2f429fb --- /dev/null +++ b/instrumentation/instrumentation.go @@ -0,0 +1,109 @@ +package instrumentation + +import ( + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/internal" + "github.com/DataDog/dd-trace-go/v2/internal/appsec" + "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "math" +) + +// OperationContext holds metadata about an instrumentation operation. +type OperationContext map[string]string + +// Load attempts to load the requested package instrumentation. It panics if the package has not been registered. +func Load(pkg Package) *Instrumentation { + info, ok := packages[pkg] + if !ok { + panic("instrumentation package: " + pkg + " was not found. If this is an external package, you must" + + "call instrumentation.Register first") + } + + telemetry.LoadIntegration(string(pkg)) + tracer.MarkIntegrationImported(info.TracedPackage) + + return &Instrumentation{ + pkg: pkg, + logger: logger{}, + info: info, + } +} + +func Register(name string, info PackageInfo) error { + info.external = true + return nil +} + +// Instrumentation represents instrumentation for a package. +type Instrumentation struct { + pkg Package + logger Logger + info PackageInfo +} + +// ServiceName returns the default service name to be set for the given instrumentation component. +func (i *Instrumentation) ServiceName(component Component, opCtx OperationContext) string { + cfg := namingschema.GetConfig() + + n, ok := i.info.naming[component] + if !ok { + return cfg.DDService + } + + useDDService := cfg.NamingSchemaVersion == namingschema.VersionV1 || cfg.RemoveFakeServiceNames || n.useDDServiceV0 || n.buildServiceNameV0 == nil + if useDDService && cfg.DDService != "" { + return cfg.DDService + } + return n.buildServiceNameV0(opCtx) +} + +// OperationName returns the operation name to be set for the given instrumentation component. +func (i *Instrumentation) OperationName(component Component, opCtx OperationContext) string { + op, ok := i.info.naming[component] + if !ok { + return "" + } + + cfg := namingschema.GetConfig() + switch cfg.NamingSchemaVersion { + case namingschema.VersionV1: + return op.buildOpNameV1(opCtx) + default: + return op.buildOpNameV0(opCtx) + } +} + +func (i *Instrumentation) Logger() Logger { + return i.logger +} + +func (i *Instrumentation) AnalyticsRate() float64 { + if internal.BoolEnv("DD_TRACE_"+i.info.EnvVarPrefix+"_ANALYTICS_ENABLED", false) { + return 1.0 + } + return math.NaN() +} + +func (i *Instrumentation) GlobalAnalyticsRate() float64 { + return globalconfig.AnalyticsRate() +} + +func (i *Instrumentation) AppSecEnabled() bool { + return appsec.Enabled() +} + +type HeaderTags interface { + Iter(f func(header string, tag string)) +} + +func NewHeaderTags(headers []string) HeaderTags { + headerTagsMap := normalizer.HeaderTagSlice(headers) + return internal.NewLockMap(headerTagsMap) +} + +func (i *Instrumentation) HTTPHeadersAsTags() HeaderTags { + return globalconfig.HeaderTagMap() +} diff --git a/instrumentation/internal/namingschema/namingschema.go b/instrumentation/internal/namingschema/namingschema.go new file mode 100644 index 0000000000..b5ec9c696c --- /dev/null +++ b/instrumentation/internal/namingschema/namingschema.go @@ -0,0 +1,78 @@ +package namingschema + +import ( + "os" + "strings" + "sync/atomic" + + "github.com/DataDog/dd-trace-go/v2/internal" + "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/internal/log" +) + +type Version int + +const ( + VersionV0 Version = iota + VersionV1 +) + +var ( + activeNamingSchema int32 + removeFakeServiceNames bool + testMode *bool +) + +type Config struct { + NamingSchemaVersion Version + RemoveFakeServiceNames bool + DDService string +} + +func init() { + LoadFromEnv() +} + +func LoadFromEnv() { + schemaVersionStr := os.Getenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA") + if v, ok := parseVersionString(schemaVersionStr); ok { + setVersion(v) + } else { + setVersion(VersionV0) + log.Warn("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA=%s is not a valid value, setting to default of v%d", schemaVersionStr, v) + } + // Allow DD_TRACE_SPAN_ATTRIBUTE_SCHEMA=v0 users to disable default integration (contrib AKA v0) service names. + // These default service names are always disabled for v1 onwards. + removeFakeServiceNames = internal.BoolEnv("DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED", false) +} + +func GetConfig() Config { + if testMode == nil { + v := internal.BoolEnv("__DD_TRACE_NAMING_SCHEMA_TEST", false) + testMode = &v + } + if *testMode { + LoadFromEnv() + globalconfig.SetServiceName(os.Getenv("DD_SERVICE")) + } + return Config{ + NamingSchemaVersion: Version(atomic.LoadInt32(&activeNamingSchema)), + RemoveFakeServiceNames: removeFakeServiceNames, + DDService: globalconfig.ServiceName(), + } +} + +func setVersion(v Version) { + atomic.StoreInt32(&activeNamingSchema, int32(v)) +} + +func parseVersionString(v string) (Version, bool) { + switch strings.ToLower(v) { + case "", "v0": + return VersionV0, true + case "v1": + return VersionV1, true + default: + return VersionV0, false + } +} diff --git a/instrumentation/internal/namingschematest/aws_sdk_v1_test.go b/instrumentation/internal/namingschematest/aws_sdk_v1_test.go new file mode 100644 index 0000000000..4db3452a0a --- /dev/null +++ b/instrumentation/internal/namingschematest/aws_sdk_v1_test.go @@ -0,0 +1,141 @@ +package namingschematest + +import ( + "testing" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/ec2" + "github.com/aws/aws-sdk-go/service/s3" + "github.com/aws/aws-sdk-go/service/sns" + "github.com/aws/aws-sdk-go/service/sqs" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + awstrace "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2/aws" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +func awsSDKV1Session(opts ...awstrace.Option) *session.Session { + cfg := aws.NewConfig(). + WithRegion("us-east-1"). + WithDisableSSL(true). + WithCredentials(credentials.AnonymousCredentials). + WithEndpoint("http://localhost:4566"). // use localstack + WithS3ForcePathStyle(true) + + return awstrace.WrapSession(session.Must(session.NewSession(cfg)), opts...) +} + +var ( + awsSDKV1 = testCase{ + name: instrumentation.PackageAWSSDKGo, + genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []awstrace.Option + if serviceOverride != "" { + opts = append(opts, awstrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + s := awsSDKV1Session(opts...) + ec2Client := ec2.New(s) + s3Client := s3.New(s) + sqsClient := sqs.New(s) + snsClient := sns.New(s) + + _, err := ec2Client.DescribeInstances(&ec2.DescribeInstancesInput{}) + require.NoError(t, err) + _, err = s3Client.ListBuckets(&s3.ListBucketsInput{}) + require.NoError(t, err) + _, err = sqsClient.ListQueues(&sqs.ListQueuesInput{}) + require.NoError(t, err) + _, err = snsClient.ListTopics(&sns.ListTopicsInput{}) + require.NoError(t, err) + + return mt.FinishedSpans() + }, + wantServiceNameV0: serviceNameAssertions{ + defaults: []string{"aws.ec2", "aws.s3", "aws.sqs", "aws.sns"}, + ddService: []string{"aws.ec2", "aws.s3", "aws.sqs", "aws.sns"}, + serviceOverride: []string{testServiceOverride, testServiceOverride, testServiceOverride, testServiceOverride}, + }, + assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 4) + assert.Equal(t, "ec2.command", spans[0].OperationName()) + assert.Equal(t, "s3.command", spans[1].OperationName()) + assert.Equal(t, "sqs.command", spans[2].OperationName()) + assert.Equal(t, "sns.command", spans[3].OperationName()) + }, + assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 4) + assert.Equal(t, "aws.ec2.request", spans[0].OperationName()) + assert.Equal(t, "aws.s3.request", spans[1].OperationName()) + assert.Equal(t, "aws.sqs.request", spans[2].OperationName()) + assert.Equal(t, "aws.sns.request", spans[3].OperationName()) + }, + } + + awsSDKV1Messaging = testCase{ + name: instrumentation.PackageAWSSDKGo + "_messaging", + genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []awstrace.Option + if serviceOverride != "" { + opts = append(opts, awstrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + s := awsSDKV1Session(opts...) + resourceName := "test-naming-schema-aws-v1" + sqsClient := sqs.New(s) + snsClient := sns.New(s) + + // create a SQS queue + sqsResp, err := sqsClient.CreateQueue(&sqs.CreateQueueInput{QueueName: aws.String(resourceName)}) + require.NoError(t, err) + + msg := &sqs.SendMessageInput{QueueUrl: sqsResp.QueueUrl, MessageBody: aws.String("body")} + _, err = sqsClient.SendMessage(msg) + require.NoError(t, err) + + batchMsg := &sqs.SendMessageBatchInput{QueueUrl: sqsResp.QueueUrl} + entry := &sqs.SendMessageBatchRequestEntry{Id: aws.String("1"), MessageBody: aws.String("body")} + batchMsg.SetEntries([]*sqs.SendMessageBatchRequestEntry{entry}) + _, err = sqsClient.SendMessageBatch(batchMsg) + require.NoError(t, err) + + // create an SNS topic + snsResp, err := snsClient.CreateTopic(&sns.CreateTopicInput{Name: aws.String(resourceName)}) + require.NoError(t, err) + + _, err = snsClient.Publish(&sns.PublishInput{TopicArn: snsResp.TopicArn, Message: aws.String("message")}) + require.NoError(t, err) + + return mt.FinishedSpans() + }, + assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 5) + assert.Equal(t, "sqs.command", spans[0].OperationName()) + assert.Equal(t, "sqs.command", spans[1].OperationName()) + assert.Equal(t, "sqs.command", spans[2].OperationName()) + assert.Equal(t, "sns.command", spans[3].OperationName()) + assert.Equal(t, "sns.command", spans[4].OperationName()) + }, + assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 5) + assert.Equal(t, "aws.sqs.request", spans[0].OperationName()) + assert.Equal(t, "aws.sqs.send", spans[1].OperationName()) + assert.Equal(t, "aws.sqs.send", spans[2].OperationName()) + assert.Equal(t, "aws.sns.request", spans[3].OperationName()) + assert.Equal(t, "aws.sns.send", spans[4].OperationName()) + }, + wantServiceNameV0: serviceNameAssertions{ + defaults: []string{"aws.sqs", "aws.sqs", "aws.sqs", "aws.sns", "aws.sns"}, + ddService: []string{"aws.sqs", "aws.sqs", "aws.sqs", "aws.sns", "aws.sns"}, + serviceOverride: repeatString(testServiceOverride, 5), + }, + } +) diff --git a/instrumentation/internal/namingschematest/aws_sdk_v2_test.go b/instrumentation/internal/namingschematest/aws_sdk_v2_test.go new file mode 100644 index 0000000000..0ad34d87db --- /dev/null +++ b/instrumentation/internal/namingschematest/aws_sdk_v2_test.go @@ -0,0 +1,153 @@ +package namingschematest + +import ( + "context" + "testing" + + "github.com/aws/aws-sdk-go-v2/aws" + awsconfig "github.com/aws/aws-sdk-go-v2/config" + "github.com/aws/aws-sdk-go-v2/service/ec2" + "github.com/aws/aws-sdk-go-v2/service/s3" + "github.com/aws/aws-sdk-go-v2/service/sns" + "github.com/aws/aws-sdk-go-v2/service/sqs" + "github.com/aws/aws-sdk-go-v2/service/sqs/types" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + awstrace "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2/aws" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +func awsSDKV2Config(t *testing.T, opts ...awstrace.Option) aws.Config { + awsEndpoint := "http://localhost:4566" // use localstack + awsRegion := "us-east-1" + + customResolver := aws.EndpointResolverWithOptionsFunc(func(service, region string, opts ...interface{}) (aws.Endpoint, error) { + return aws.Endpoint{ + PartitionID: "aws", + URL: awsEndpoint, + SigningRegion: awsRegion, + }, nil + }) + cfg, err := awsconfig.LoadDefaultConfig( + context.Background(), + awsconfig.WithRegion(awsRegion), + awsconfig.WithEndpointResolverWithOptions(customResolver), + awsconfig.WithCredentialsProvider(aws.AnonymousCredentials{}), + ) + require.NoError(t, err, "failed to load AWS config") + awstrace.AppendMiddleware(&cfg, opts...) + return cfg +} + +var ( + awsSDKV2 = testCase{ + name: instrumentation.PackageAWSSDKGoV2, + genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []awstrace.Option + if serviceOverride != "" { + opts = append(opts, awstrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + awsCfg := awsSDKV2Config(t, opts...) + ctx := context.Background() + ec2Client := ec2.NewFromConfig(awsCfg) + s3Client := s3.NewFromConfig(awsCfg) + sqsClient := sqs.NewFromConfig(awsCfg) + snsClient := sns.NewFromConfig(awsCfg) + + _, err := ec2Client.DescribeInstances(ctx, &ec2.DescribeInstancesInput{}) + require.NoError(t, err) + _, err = s3Client.ListBuckets(ctx, &s3.ListBucketsInput{}) + require.NoError(t, err) + _, err = sqsClient.ListQueues(ctx, &sqs.ListQueuesInput{}) + require.NoError(t, err) + _, err = snsClient.ListTopics(ctx, &sns.ListTopicsInput{}) + require.NoError(t, err) + + return mt.FinishedSpans() + }, + assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 4) + assert.Equal(t, "EC2.request", spans[0].OperationName()) + assert.Equal(t, "S3.request", spans[1].OperationName()) + assert.Equal(t, "SQS.request", spans[2].OperationName()) + assert.Equal(t, "SNS.request", spans[3].OperationName()) + }, + assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 4) + assert.Equal(t, "aws.ec2.request", spans[0].OperationName()) + assert.Equal(t, "aws.s3.request", spans[1].OperationName()) + assert.Equal(t, "aws.sqs.request", spans[2].OperationName()) + assert.Equal(t, "aws.sns.request", spans[3].OperationName()) + }, + wantServiceNameV0: serviceNameAssertions{ + defaults: []string{"aws.EC2", "aws.S3", "aws.SQS", "aws.SNS"}, + ddService: []string{"aws.EC2", "aws.S3", "aws.SQS", "aws.SNS"}, + serviceOverride: []string{testServiceOverride, testServiceOverride, testServiceOverride, testServiceOverride}, + }, + } + awsSDKV2Messaging = testCase{ + name: instrumentation.PackageAWSSDKGoV2 + "_messaging", + genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []awstrace.Option + if serviceOverride != "" { + opts = append(opts, awstrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + awsCfg := awsSDKV2Config(t, opts...) + resourceName := "test-naming-schema-aws-v2" + ctx := context.Background() + sqsClient := sqs.NewFromConfig(awsCfg) + snsClient := sns.NewFromConfig(awsCfg) + + // create a SQS queue + sqsResp, err := sqsClient.CreateQueue(ctx, &sqs.CreateQueueInput{QueueName: aws.String(resourceName)}) + require.NoError(t, err) + + msg := &sqs.SendMessageInput{QueueUrl: sqsResp.QueueUrl, MessageBody: aws.String("body")} + _, err = sqsClient.SendMessage(ctx, msg) + require.NoError(t, err) + + entry := types.SendMessageBatchRequestEntry{Id: aws.String("1"), MessageBody: aws.String("body")} + batchMsg := &sqs.SendMessageBatchInput{QueueUrl: sqsResp.QueueUrl, Entries: []types.SendMessageBatchRequestEntry{entry}} + _, err = sqsClient.SendMessageBatch(ctx, batchMsg) + require.NoError(t, err) + + // create an SNS topic + snsResp, err := snsClient.CreateTopic(ctx, &sns.CreateTopicInput{Name: aws.String(resourceName)}) + require.NoError(t, err) + + _, err = snsClient.Publish(ctx, &sns.PublishInput{TopicArn: snsResp.TopicArn, Message: aws.String("message")}) + require.NoError(t, err) + + return mt.FinishedSpans() + }, + assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 5) + assert.Equal(t, "SQS.request", spans[0].OperationName()) + assert.Equal(t, "SQS.request", spans[1].OperationName()) + assert.Equal(t, "SQS.request", spans[2].OperationName()) + assert.Equal(t, "SNS.request", spans[3].OperationName()) + assert.Equal(t, "SNS.request", spans[4].OperationName()) + }, + assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 5) + assert.Equal(t, "aws.sqs.request", spans[0].OperationName()) + assert.Equal(t, "aws.sqs.send", spans[1].OperationName()) + assert.Equal(t, "aws.sqs.send", spans[2].OperationName()) + assert.Equal(t, "aws.sns.request", spans[3].OperationName()) + assert.Equal(t, "aws.sns.send", spans[4].OperationName()) + }, + wantServiceNameV0: serviceNameAssertions{ + defaults: []string{"aws.SQS", "aws.SQS", "aws.SQS", "aws.SNS", "aws.SNS"}, + ddService: []string{"aws.SQS", "aws.SQS", "aws.SQS", "aws.SNS", "aws.SNS"}, + serviceOverride: repeatString(testServiceOverride, 5), + }, + } +) diff --git a/instrumentation/internal/namingschematest/gcp_pubsub_test.go b/instrumentation/internal/namingschematest/gcp_pubsub_test.go new file mode 100644 index 0000000000..9111d7f6b2 --- /dev/null +++ b/instrumentation/internal/namingschematest/gcp_pubsub_test.go @@ -0,0 +1,98 @@ +package namingschematest + +import ( + "cloud.google.com/go/pubsub" + "cloud.google.com/go/pubsub/pstest" + "context" + pubsubtrace "github.com/DataDog/dd-trace-go/contrib/cloud.google.com/go/pubsub.v1/v2" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "google.golang.org/api/option" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/credentials/insecure" + "google.golang.org/grpc/status" + "testing" + "time" +) + +var gcpPubsub = testCase{ + name: instrumentation.PackageCloudGoogleComPubsub, + genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + mt := mocktracer.Start() + defer mt.Stop() + + var opts []pubsubtrace.Option + if serviceOverride != "" { + opts = append(opts, pubsubtrace.WithService(serviceOverride)) + } + topic, sub := newTestGCPPubsub(t) + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + _, err := pubsubtrace.Publish(ctx, topic, &pubsub.Message{Data: []byte("hello"), OrderingKey: "xxx"}, opts...).Get(ctx) + require.NoError(t, err) + + done := make(chan struct{}) + go func() { + err := sub.Receive(ctx, pubsubtrace.WrapReceiveHandler(sub, func(ctx context.Context, msg *pubsub.Message) { + msg.Ack() + close(done) + }, opts...)) + if err != nil { + if st, ok := status.FromError(err); !ok || st.Code() != codes.Canceled { + t.Logf("sub.Receive failed: %v", err) + } + } + }() + + <-done + cancel() + return mt.FinishedSpans() + }, + wantServiceNameV0: serviceNameAssertions{ + defaults: []string{"", ""}, + ddService: []string{"", ""}, + serviceOverride: []string{testServiceOverride, testServiceOverride}, + }, + assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "pubsub.publish", spans[0].OperationName()) + assert.Equal(t, "pubsub.receive", spans[1].OperationName()) + }, + assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "gcp.pubsub.send", spans[0].OperationName()) + assert.Equal(t, "gcp.pubsub.process", spans[1].OperationName()) + }, +} + +func newTestGCPPubsub(t *testing.T) (*pubsub.Topic, *pubsub.Subscription) { + srv := pstest.NewServer() + t.Cleanup(func() { assert.NoError(t, srv.Close()) }) + + ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second) + defer cancel() + + conn, err := grpc.NewClient(srv.Addr, grpc.WithTransportCredentials(insecure.NewCredentials())) + require.NoError(t, err) + t.Cleanup(func() { assert.NoError(t, conn.Close()) }) + + client, err := pubsub.NewClient(ctx, "project", option.WithGRPCConn(conn)) + require.NoError(t, err) + + _, err = client.CreateTopic(ctx, "topic") + require.NoError(t, err) + + topic := client.Topic("topic") + topic.EnableMessageOrdering = true + _, err = client.CreateSubscription(ctx, "subscription", pubsub.SubscriptionConfig{ + Topic: topic, + }) + require.NoError(t, err) + + sub := client.Subscription("subscription") + return topic, sub +} diff --git a/instrumentation/internal/namingschematest/go.mod b/instrumentation/internal/namingschematest/go.mod new file mode 100644 index 0000000000..d057a3eefb --- /dev/null +++ b/instrumentation/internal/namingschematest/go.mod @@ -0,0 +1,85 @@ +module github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest + +go 1.22.5 + +replace ( + github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2 => ../../../contrib/99designs/gqlgen + github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2 => ../../../contrib/aws/aws-sdk-go-v2 + github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2 => ../../../contrib/aws/aws-sdk-go + github.com/DataDog/dd-trace-go/v2 => ../../../ +) + +require ( + github.com/99designs/gqlgen v0.17.49 + github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/aws/aws-sdk-go v1.54.20 + github.com/aws/aws-sdk-go-v2 v1.30.3 + github.com/aws/aws-sdk-go-v2/config v1.27.27 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.171.0 + github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2 + github.com/aws/aws-sdk-go-v2/service/sns v1.31.3 + github.com/aws/aws-sdk-go-v2/service/sqs v1.34.3 + github.com/stretchr/testify v1.9.0 +) + +require ( + github.com/DataDog/appsec-internal-go v1.5.0 // indirect + github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect + github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect + github.com/DataDog/datadog-go/v5 v5.5.0 // indirect + github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect + github.com/DataDog/go-sqllexer v0.0.11 // indirect + github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect + github.com/DataDog/sketches-go v1.4.5 // indirect + github.com/Microsoft/go-winio v0.6.2 // indirect + github.com/agnivade/levenshtein v1.1.1 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.27 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15 // indirect + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.4 // indirect + github.com/aws/aws-sdk-go-v2/service/eventbridge v1.20.4 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.34 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sfn v1.19.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.22.4 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 // indirect + github.com/aws/smithy-go v1.20.3 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/ebitengine/purego v0.7.1 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/gorilla/websocket v1.5.0 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/outcaste-io/ristretto v0.2.3 // indirect + github.com/philhofer/fwd v1.1.2 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect + github.com/sosodev/duration v1.3.1 // indirect + github.com/tinylib/msgp v1.1.9 // indirect + github.com/vektah/gqlparser/v2 v2.5.16 // indirect + go.uber.org/atomic v1.11.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/time v0.5.0 // indirect + golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect + google.golang.org/protobuf v1.34.1 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/instrumentation/internal/namingschematest/go.sum b/instrumentation/internal/namingschematest/go.sum new file mode 100644 index 0000000000..1162a25af0 --- /dev/null +++ b/instrumentation/internal/namingschematest/go.sum @@ -0,0 +1,230 @@ +github.com/99designs/gqlgen v0.17.49 h1:b3hNGexHd33fBSAd4NDT/c3NCcQzcAVkknhN9ym36YQ= +github.com/99designs/gqlgen v0.17.49/go.mod h1:tC8YFVZMed81x7UJ7ORUwXF4Kn6SXuucFqQBhN8+BU0= +github.com/DataDog/appsec-internal-go v1.5.0 h1:8kS5zSx5T49uZ8dZTdT19QVAvC/B8ByyZdhQKYQWHno= +github.com/DataDog/appsec-internal-go v1.5.0/go.mod h1:pEp8gjfNLtEOmz+iZqC8bXhu0h4k7NUsW/qiQb34k1U= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 h1:/oxF4p/4XUGNpNw2TE7vDu/pJV3elEAZ+jES0/MWtiI= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1/go.mod h1:AVPQWekk3h9AOC7+plBlNB68Sy6UIGFoMMVUDeSoNoI= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBpuwNMcqtY1x1I2fCaPH2Br4xPAAjbkM= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= +github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= +github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= +github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= +github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= +github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= +github.com/DataDog/go-sqllexer v0.0.11/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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= +github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= +github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= +github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= +github.com/agnivade/levenshtein v1.1.1 h1:QY8M92nrzkmr798gCo3kmMyqXFzdQVpxLlGPRBij0P8= +github.com/agnivade/levenshtein v1.1.1/go.mod h1:veldBMzWxcCG2ZvUTKD2kJNRdCk5hVbJomOvKkmgYbo= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= +github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= +github.com/aws/aws-sdk-go v1.54.20 h1:FZ2UcXya7bUkvkpf7TaPmiL7EubK0go1nlXGLRwEsoo= +github.com/aws/aws-sdk-go v1.54.20/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= +github.com/aws/aws-sdk-go-v2 v1.20.3/go.mod h1:/RfNgGmRxI+iFOB1OeJUyxiU+9s88k3pfHvDagGEp0M= +github.com/aws/aws-sdk-go-v2 v1.30.3 h1:jUeBtG0Ih+ZIFH0F4UkmL9w3cSpaMv9tYYDbzILP8dY= +github.com/aws/aws-sdk-go-v2 v1.30.3/go.mod h1:nIQjQVp5sfpQcTc9mPSr1B0PaWK5ByX9MOoDadSN4lc= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.13/go.mod h1:gpAbvyDGQFozTEmlTFO8XcQKHzubdq0LzRyJpG6MiXM= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 h1:tW1/Rkad38LA15X4UQtjXZXNKsCgkshC3EbmcUmghTg= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3/go.mod h1:UbnqO+zjqk3uIt9yCACHJ9IVNhyhOCnYk8yA19SAWrM= +github.com/aws/aws-sdk-go-v2/config v1.27.27 h1:HdqgGt1OAP0HkEDDShEl0oSYa9ZZBSOmKpdpsDMdO90= +github.com/aws/aws-sdk-go-v2/config v1.27.27/go.mod h1:MVYamCg76dFNINkZFu4n4RjDixhVr51HLj4ErWzrVwg= +github.com/aws/aws-sdk-go-v2/credentials v1.17.27 h1:2raNba6gr2IfA0eqqiP2XiQ0UVOpGPgDSi0I9iAP+UI= +github.com/aws/aws-sdk-go-v2/credentials v1.17.27/go.mod h1:gniiwbGahQByxan6YjQUMcW4Aov6bLC3m+evgcoN4r4= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 h1:KreluoV8FZDEtI6Co2xuNk/UqI9iwMrOx/87PBNIKqw= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11/go.mod h1:SeSUYBLsMYFoRvHE0Tjvn7kbxaUhl75CJi1sbfhMxkU= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8 h1:u1KOU1S15ufyZqmH/rA3POkiRH6EcDANHj2xHRzq+zc= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8/go.mod h1:WPv2FRnkIOoDv/8j2gSUsI4qDc7392w5anFB/I89GZ8= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.40/go.mod h1:5kKmFhLeOVy6pwPDpDNA6/hK/d6URC98pqDDqHgdBx4= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 h1:SoNJ4RlFEQEbtDcCEt+QG56MY4fm4W8rYirAmq+/DdU= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15/go.mod h1:U9ke74k1n2bf+RIgoX1SXFed1HLs51OgUSs+Ph0KJP8= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.34/go.mod h1:RZP0scceAyhMIQ9JvFp7HvkpcgqjL4l/4C+7RAeGbuM= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 h1:C6WHdGnTDIYETAm5iErQUiVNsclNx9qbJVPIt03B6bI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15/go.mod h1:ZQLZqhcu+JhSrA9/NXRm8SkDvsycE+JkV3WGY41e+IM= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.3/go.mod h1:jYLMm3Dh0wbeV3lxth5ryks/O2M/omVXWyYm3YcEVqQ= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15 h1:Z5r7SycxmSllHYmaAZPpmN8GviDrSGhMS6bldqtXZPw= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15/go.mod h1:CetW7bDE00QoGEmPUoZuRog07SGVAUVW6LFpNP0YfIg= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.4 h1:x3V1JRHq7q9RUbDpaeNpLH7QoipGpCo3fdnMMuSeABU= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.4/go.mod h1:aryF4jxgjhbqpdhj8QybUZI3xYrX8MQIKm4WbOv8Whg= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.171.0 h1:r398oizT1O8AdQGpnxOMOIstEAAb3PPW5QZsL8w4Ujc= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.171.0/go.mod h1:9KdiRVKTZyPRTlbX3i41FxTV+5OatZ7xOJCN4lleX7g= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.20.4 h1:G18wotYZxZ0A5tkqKv6FHCjsF86UQrqNHy5LS+T7JWM= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.20.4/go.mod h1:XlbY5AGZhlipCdhRorT18/HEThKAxo51hMmhixreJoM= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14/go.mod h1:dDilntgHy9WnHXsh7dDtUPgHKEfTJIBUTHM8OWm0f/0= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 h1:dT3MqvGhSoaIhRseqw2I0yH81l7wiR2vjs57O51EAm8= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3/go.mod h1:GlAeCkHwugxdHaueRr4nhPuY+WW+gR8UjlcqzPr1SPI= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17 h1:YPYe6ZmvUfDDDELqEKtAd6bo8zxhkm+XEFEzQisqUIE= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17/go.mod h1:oBtcnYua/CgzCWYN7NZ5j7PotFDaFSUjCYVTtfyn7vw= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.34 h1:JlxVMFDHivlhNOIxd2O/9z4O0wC2zIC4lRB71lejVHU= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.34/go.mod h1:CDPcT6pljRaqz1yLsOgPUvOPOczFvXuJxOKzDzAbF0c= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 h1:HGErhhrxZlQ044RiM+WdoZxp0p+EGM62y3L6pwA4olE= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17/go.mod h1:RkZEx4l0EHYDJpWppMJ3nD9wZJAa8/0lq9aVC+r2UII= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15 h1:246A4lSTXWJw/rmlQI+TT2OcqeDMKBdyjEQrafMaQdA= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15/go.mod h1:haVfg3761/WF7YPuJOER2MP0k4UAXyHaLclKXB6usDg= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.4 h1:UohaQds+Puk9BEbvncXkZduIGYImxohbFpVmSoymXck= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.4/go.mod h1:HnjgmL8TNmYtGcrA3N6EeCnDvlX6CteCdUbZ1wV8QWQ= +github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2 h1:sZXIzO38GZOU+O0C+INqbH7C2yALwfMWpd64tONS/NE= +github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2/go.mod h1:Lcxzg5rojyVPU/0eFwLtcyTaek/6Mtic5B1gJo7e/zE= +github.com/aws/aws-sdk-go-v2/service/sfn v1.19.4 h1:yIyFY2kbCOoHvuivf9minqnP2RLYJgmvQRYxakIb2oI= +github.com/aws/aws-sdk-go-v2/service/sfn v1.19.4/go.mod h1:uWCH4ATwNrkRO40j8Dmy7u/Y1/BVWgCM+YjBNYZeOro= +github.com/aws/aws-sdk-go-v2/service/sns v1.31.3 h1:eSTEdxkfle2G98FE+Xl3db/XAXXVTJPNQo9K/Ar8oAI= +github.com/aws/aws-sdk-go-v2/service/sns v1.31.3/go.mod h1:1dn0delSO3J69THuty5iwP0US2Glt0mx2qBBlI13pvw= +github.com/aws/aws-sdk-go-v2/service/sqs v1.34.3 h1:Vjqy5BZCOIsn4Pj8xzyqgGmsSqzz7y/WXbN3RgOoVrc= +github.com/aws/aws-sdk-go-v2/service/sqs v1.34.3/go.mod h1:L0enV3GCRd5iG9B64W35C4/hwsCB00Ib+DKVGTadKHI= +github.com/aws/aws-sdk-go-v2/service/sso v1.22.4 h1:BXx0ZIxvrJdSgSvKTZ+yRBeSqqgPM89VPlulEcl37tM= +github.com/aws/aws-sdk-go-v2/service/sso v1.22.4/go.mod h1:ooyCOXjvJEsUw7x+ZDHeISPMhtwI3ZCB7ggFMcFfWLU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4 h1:yiwVzJW2ZxZTurVbYWA7QOrAaCYQR72t0wrSBfoesUE= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4/go.mod h1:0oxfLkpz3rQ/CHlx5hB7H69YUpFiI1tql6Q6Ne+1bCw= +github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 h1:ZsDKRLXGWHk8WdtyYMoGNO7bTudrvuKpDKgMVRlepGE= +github.com/aws/aws-sdk-go-v2/service/sts v1.30.3/go.mod h1:zwySh8fpFyXp9yOr/KVzxOl8SRqgf/IDw5aUt9UKFcQ= +github.com/aws/smithy-go v1.14.2/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/smithy-go v1.20.3 h1:ryHwveWzPV5BIof6fyDvor6V3iUL7nTfiTKXHiW05nE= +github.com/aws/smithy-go v1.20.3/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= +github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dgryski/trifles v0.0.0-20200323201526-dd97f9abfb48 h1:fRzb/w+pyskVMQ+UbP35JkH8yB7MYb4q/qhBarqZE6g= +github.com/dgryski/trifles v0.0.0-20200323201526-dd97f9abfb48/go.mod h1:if7Fbed8SFyPtHLHbg49SI7NAdJiC5WIA09pe59rfAA= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/ebitengine/purego v0.7.1 h1:6/55d26lG3o9VCZX8lping+bZcmShseiqlh2bnUDiPA= +github.com/ebitengine/purego v0.7.1/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= +github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= +github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= +github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= +github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= +github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= +github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= +github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sosodev/duration v1.3.1 h1:qtHBDMQ6lvMQsL15g4aopM4HEfOaYuhWBw3NPTtlqq4= +github.com/sosodev/duration v1.3.1/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg= +github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/tinylib/msgp v1.1.9 h1:SHf3yoO2sGA0veCJeCBYLHuttAVFHGm2RHgNodW7wQU= +github.com/tinylib/msgp v1.1.9/go.mod h1:BCXGB54lDD8qUEPmiG0cQQUANC4IUQyB2ItS2UDlO/k= +github.com/vektah/gqlparser/v2 v2.5.16 h1:1gcmLTvs3JLKXckwCwlUagVn/IlV2bwqle0vJ0vy5p8= +github.com/vektah/gqlparser/v2 v2.5.16/go.mod h1:1lz1OeCqgQbQepsGxPVywrjdBHW2T08PUS3pJqepRww= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +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= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +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-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= +google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= +google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/instrumentation/internal/namingschematest/gomemcache_test.go b/instrumentation/internal/namingschematest/gomemcache_test.go new file mode 100644 index 0000000000..351ce10a15 --- /dev/null +++ b/instrumentation/internal/namingschematest/gomemcache_test.go @@ -0,0 +1,99 @@ +package namingschematest + +import ( + "bufio" + "fmt" + "net" + "strings" + "testing" + "time" + + "github.com/bradfitz/gomemcache/memcache" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + memcachetrace "github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2/memcache" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var gomemcache = testCase{ + name: instrumentation.PackageBradfitzGoMemcache, + genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + li := startMemcacheTestServer(t) + defer li.Close() + addr := li.Addr().String() + + var opts []memcachetrace.ClientOption + if serviceOverride != "" { + opts = append(opts, memcachetrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + client := memcachetrace.WrapClient(memcache.New(addr), opts...) + client.Timeout = 2 * time.Second // Default timeout is 100ms, it can be short for the CI runner. + + defer client.DeleteAll() + err := client.Add(&memcache.Item{Key: "key1", Value: []byte("value1")}) + require.NoError(t, err) + + spans := mt.FinishedSpans() + require.Len(t, spans, 1) + return spans + }, + wantServiceNameV0: serviceNameAssertions{ + defaults: []string{"memcached"}, + ddService: []string{"memcached"}, + serviceOverride: []string{testServiceOverride}, + }, + assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "memcached.query", spans[0].OperationName()) + }, + assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "memcached.command", spans[0].OperationName()) + }, +} + +func startMemcacheTestServer(t *testing.T) net.Listener { + li, err := net.Listen("tcp", "127.0.0.1:0") + require.NoError(t, err) + + go func() { + for { + c, err := li.Accept() + if err != nil { + break + } + go func() { + defer c.Close() + + // the memcache textual protocol is line-oriented with each + // command being space separated: + // + // command1 arg1 arg2 + // command2 arg1 arg2 + // ... + // + s := bufio.NewScanner(c) + for s.Scan() { + args := strings.Split(s.Text(), " ") + switch args[0] { + case "add": + if !s.Scan() { + return + } + fmt.Fprintf(c, "STORED\r\n") + default: + fmt.Fprintf(c, "SERVER ERROR unknown command: %v \r\n", args[0]) + return + } + } + }() + } + }() + + return li +} diff --git a/instrumentation/internal/namingschematest/gqlgen_test.go b/instrumentation/internal/namingschematest/gqlgen_test.go new file mode 100644 index 0000000000..6bed65d01a --- /dev/null +++ b/instrumentation/internal/namingschematest/gqlgen_test.go @@ -0,0 +1,76 @@ +package namingschematest + +import ( + "testing" + + "github.com/99designs/gqlgen/client" + "github.com/99designs/gqlgen/graphql" + "github.com/99designs/gqlgen/graphql/handler/testserver" + "github.com/99designs/gqlgen/graphql/handler/transport" + gqlgentrace "github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var gqlgen = testCase{ + name: instrumentation.Package99DesignsGQLGen, + genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + type testServerResponse struct { + Name string + } + newTestClient := func(t *testing.T, h *testserver.TestServer, tracer graphql.HandlerExtension) *client.Client { + t.Helper() + h.AddTransport(transport.POST{}) + h.Use(tracer) + return client.New(h) + } + + var opts []gqlgentrace.Option + if serviceOverride != "" { + opts = append(opts, gqlgentrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + c := newTestClient(t, testserver.New(), gqlgentrace.NewTracer(opts...)) + err := c.Post(`{ name }`, &testServerResponse{}) + require.NoError(t, err) + + err = c.Post(`mutation { name }`, &testServerResponse{}) + require.ErrorContains(t, err, "mutations are not supported") + + return mt.FinishedSpans() + }, + wantServiceNameV0: serviceNameAssertions{ + defaults: repeatString("graphql", 9), + ddService: repeatString("graphql", 9), + serviceOverride: repeatString(testServiceOverride, 9), + }, + assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 9) + assert.Equal(t, "graphql.read", spans[0].OperationName()) + assert.Equal(t, "graphql.parse", spans[1].OperationName()) + assert.Equal(t, "graphql.validate", spans[2].OperationName()) + assert.Equal(t, "graphql.field", spans[3].OperationName()) + assert.Equal(t, "graphql.query", spans[4].OperationName()) + assert.Equal(t, "graphql.read", spans[5].OperationName()) + assert.Equal(t, "graphql.parse", spans[6].OperationName()) + assert.Equal(t, "graphql.validate", spans[7].OperationName()) + assert.Equal(t, "graphql.mutation", spans[8].OperationName()) + }, + assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 9) + assert.Equal(t, "graphql.read", spans[0].OperationName()) + assert.Equal(t, "graphql.parse", spans[1].OperationName()) + assert.Equal(t, "graphql.validate", spans[2].OperationName()) + assert.Equal(t, "graphql.field", spans[3].OperationName()) + assert.Equal(t, "graphql.server.request", spans[4].OperationName()) + assert.Equal(t, "graphql.read", spans[5].OperationName()) + assert.Equal(t, "graphql.parse", spans[6].OperationName()) + assert.Equal(t, "graphql.validate", spans[7].OperationName()) + assert.Equal(t, "graphql.server.request", spans[8].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/main_test.go b/instrumentation/internal/namingschematest/main_test.go new file mode 100644 index 0000000000..8c3290daf2 --- /dev/null +++ b/instrumentation/internal/namingschematest/main_test.go @@ -0,0 +1,133 @@ +package namingschematest + +import ( + "os" + "strings" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +const ( + testDDService = "dd-service" + testServiceOverride = "service-override" +) + +type assertSpansFn func(t *testing.T, spans []*mocktracer.Span) + +type serviceNameAssertions struct { + defaults []string + ddService []string + serviceOverride []string +} + +type testCase struct { + name instrumentation.Package + genSpans func(t *testing.T, serviceOverride string) []*mocktracer.Span + wantServiceNameV0 serviceNameAssertions + assertOpV0 assertSpansFn + assertOpV1 assertSpansFn +} + +func TestNamingSchema(t *testing.T) { + if _, ok := os.LookupEnv("INTEGRATION"); !ok { + t.Skip("🚧 Skipping integration test (INTEGRATION environment variable is not set)") + } + t.Setenv("__DD_TRACE_NAMING_SCHEMA_TEST", "1") + + testCases := []testCase{ + gqlgen, + awsSDKV1, + awsSDKV1Messaging, + awsSDKV2, + awsSDKV2Messaging, + netHTTPServer, + netHTTPClient, + gomemcache, + gcpPubsub, + } + for _, tc := range testCases { + t.Run(strings.ReplaceAll(string(tc.name), "/", "_"), func(t *testing.T) { + t.Run("ServiceName", func(t *testing.T) { + // v0 + t.Run("v0_defaults", func(t *testing.T) { + t.Setenv("DD_SERVICE", "") + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v0") + spans := tc.genSpans(t, "") + assertServiceNames(t, spans, tc.wantServiceNameV0.defaults) + }) + t.Run("v0_dd_service", func(t *testing.T) { + t.Setenv("DD_SERVICE", testDDService) + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v0") + spans := tc.genSpans(t, "") + assertServiceNames(t, spans, tc.wantServiceNameV0.ddService) + }) + t.Run("v0_dd_service_and_override", func(t *testing.T) { + t.Setenv("DD_SERVICE", testDDService) + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v0") + spans := tc.genSpans(t, testServiceOverride) + assertServiceNames(t, spans, tc.wantServiceNameV0.serviceOverride) + }) + + // v1 + t.Run("v1_defaults", func(t *testing.T) { + t.Setenv("DD_SERVICE", "") + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v1") + spans := tc.genSpans(t, "") + assertServiceNames(t, spans, tc.wantServiceNameV0.defaults) + }) + t.Run("v1_dd_service", func(t *testing.T) { + t.Setenv("DD_SERVICE", testDDService) + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v1") + spans := tc.genSpans(t, "") + assertServiceNames(t, spans, repeatString(testDDService, len(tc.wantServiceNameV0.ddService))) + }) + t.Run("v1_dd_service_and_override", func(t *testing.T) { + t.Setenv("DD_SERVICE", testDDService) + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v1") + spans := tc.genSpans(t, testServiceOverride) + assertServiceNames(t, spans, repeatString(testServiceOverride, len(tc.wantServiceNameV0.serviceOverride))) + }) + }) + + t.Run("SpanName", func(t *testing.T) { + t.Run("v0", func(t *testing.T) { + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v0") + spans := tc.genSpans(t, "") + tc.assertOpV0(t, spans) + }) + t.Run("v1", func(t *testing.T) { + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v1") + spans := tc.genSpans(t, "") + tc.assertOpV1(t, spans) + }) + }) + }) + } +} + +func assertServiceNames(t *testing.T, spans []*mocktracer.Span, wantServiceNames []string) { + t.Helper() + require.Len(t, spans, len(wantServiceNames), "the number of spans and number of assertions should be the same") + for i := 0; i < len(spans); i++ { + want, got, spanName := wantServiceNames[i], spans[i].Tag(ext.ServiceName), spans[i].OperationName() + if want == "" { + assert.Empty(t, got, "expected empty service name tag for span: %s", spanName) + } else { + assert.Equal(t, want, got, "incorrect service name for span: %s", spanName) + } + } +} + +func repeatString(s string, n int) []string { + r := make([]string, 0, n) + for i := 0; i < n; i++ { + r = append(r, s) + } + return r +} diff --git a/instrumentation/internal/namingschematest/net_http_test.go b/instrumentation/internal/namingschematest/net_http_test.go new file mode 100644 index 0000000000..a6d9839c96 --- /dev/null +++ b/instrumentation/internal/namingschematest/net_http_test.go @@ -0,0 +1,90 @@ +package namingschematest + +import ( + "net/http" + "net/http/httptest" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + httptrace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var ( + netHTTPServer = testCase{ + name: instrumentation.PackageNetHTTP + "_server", + genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []httptrace.Option + if serviceOverride != "" { + opts = append(opts, httptrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + mux := httptrace.NewServeMux(opts...) + mux.HandleFunc("/200", handler200) + r := httptest.NewRequest("GET", "http://localhost/200", nil) + w := httptest.NewRecorder() + mux.ServeHTTP(w, r) + + return mt.FinishedSpans() + }, + wantServiceNameV0: serviceNameAssertions{ + defaults: []string{"http.router"}, + ddService: []string{testDDService}, + serviceOverride: []string{testServiceOverride}, + }, + assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.request", spans[0].OperationName()) + }, + assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.server.request", spans[0].OperationName()) + }, + } + + netHTTPClient = testCase{ + name: instrumentation.PackageNetHTTP + "_client", + genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []httptrace.RoundTripperOption + if serviceOverride != "" { + opts = append(opts, httptrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + srv := httptest.NewServer(http.HandlerFunc(handler200)) + defer srv.Close() + + c := httptrace.WrapClient(&http.Client{}, opts...) + req, err := http.NewRequest(http.MethodGet, srv.URL+"/200", nil) + require.NoError(t, err) + resp, err := c.Do(req) + require.NoError(t, err) + defer resp.Body.Close() + + return mt.FinishedSpans() + }, + wantServiceNameV0: serviceNameAssertions{ + defaults: []string{""}, + ddService: []string{""}, + serviceOverride: []string{testServiceOverride}, + }, + assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.request", spans[0].OperationName()) + }, + assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.client.request", spans[0].OperationName()) + }, + } +) + +func handler200(w http.ResponseWriter, _ *http.Request) { + w.Write([]byte("OK\n")) +} diff --git a/instrumentation/logger.go b/instrumentation/logger.go new file mode 100644 index 0000000000..a364dde1df --- /dev/null +++ b/instrumentation/logger.go @@ -0,0 +1,28 @@ +package instrumentation + +import "github.com/DataDog/dd-trace-go/v2/internal/log" + +type Logger interface { + Debug(msg string, args ...any) + Info(msg string, args ...any) + Warn(msg string, args ...any) + Error(msg string, args ...any) +} + +type logger struct{} + +func (l logger) Debug(msg string, args ...any) { + log.Debug(msg, args...) +} + +func (l logger) Info(msg string, args ...any) { + log.Info(msg, args...) +} + +func (l logger) Warn(msg string, args ...any) { + log.Warn(msg, args...) +} + +func (l logger) Error(msg string, args ...any) { + log.Error(msg, args...) +} diff --git a/instrumentation/packages.go b/instrumentation/packages.go new file mode 100644 index 0000000000..ba339b651b --- /dev/null +++ b/instrumentation/packages.go @@ -0,0 +1,292 @@ +package instrumentation + +import ( + "fmt" + "strings" + + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" +) + +type Package string + +const ( + Package99DesignsGQLGen Package = "99designs/gqlgen" + PackageAWSSDKGo Package = "aws/aws-sdk-go" + PackageAWSSDKGoV2 Package = "aws/aws-sdk-go-v2" + PackageBradfitzGoMemcache Package = "bradfitz/gomemcache" + PackageCloudGoogleComPubsub Package = "cloud.google.com/go/pubsub.v1" + PackageConfluentKafkaGo Package = "confluentinc/confluent-kafka-go/kafka" + PackageConfluentKafkaGoV2 Package = "confluentinc/confluent-kafka-go/kafka.v2" + + // TODO: ... + + PackageNetHTTP Package = "net/http" + PackageIBMSarama Package = "IBM/sarama" +) + +type Component int + +const ( + ComponentDefault Component = iota + ComponentServer + ComponentClient + ComponentProducer + ComponentConsumer +) + +type componentNames struct { + useDDServiceV0 bool + buildServiceNameV0 func(opCtx OperationContext) string + buildOpNameV0 func(opCtx OperationContext) string + buildOpNameV1 func(opCtx OperationContext) string +} + +type PackageInfo struct { + external bool + + TracedPackage string + EnvVarPrefix string + + naming map[Component]componentNames +} + +var packages = map[Package]PackageInfo{ + Package99DesignsGQLGen: { + TracedPackage: "github.com/99designs/gqlgen", + EnvVarPrefix: "GQLGEN", + naming: map[Component]componentNames{ + ComponentDefault: { + buildServiceNameV0: staticName("graphql"), + buildOpNameV0: func(opCtx OperationContext) string { + name := "graphql.request" + if graphqlOp, ok := opCtx["graphql.operation"]; ok { + name = fmt.Sprintf("%s.%s", ext.SpanTypeGraphQL, graphqlOp) + } + return name + }, + buildOpNameV1: staticName("graphql.server.request"), + }, + }, + }, + PackageAWSSDKGo: { + TracedPackage: "github.com/aws/aws-sdk-go", + EnvVarPrefix: "AWS", + naming: map[Component]componentNames{ + ComponentDefault: { + buildServiceNameV0: awsBuildDefaultServiceNameV0, + buildOpNameV0: func(opCtx OperationContext) string { + awsService, ok := opCtx[ext.AWSService] + if !ok { + return "" + } + return awsService + ".command" + }, + buildOpNameV1: awsBuildOpNameV1, + }, + }, + }, + PackageAWSSDKGoV2: { + TracedPackage: "github.com/aws/aws-sdk-go-v2", + EnvVarPrefix: "AWS", + naming: map[Component]componentNames{ + ComponentDefault: { + buildServiceNameV0: awsBuildDefaultServiceNameV0, + buildOpNameV0: func(opCtx OperationContext) string { + awsService, ok := opCtx[ext.AWSService] + if !ok { + return "" + } + return awsService + ".request" + }, + buildOpNameV1: awsBuildOpNameV1, + }, + }, + }, + PackageBradfitzGoMemcache: { + TracedPackage: "github.com/bradfitz/gomemcache", + EnvVarPrefix: "MEMCACHE", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("memcached"), + buildOpNameV0: staticName("memcached.query"), + buildOpNameV1: staticName("memcached.command"), + }, + }, + }, + PackageCloudGoogleComPubsub: { + TracedPackage: "", + EnvVarPrefix: "GCP_PUBSUB", + naming: map[Component]componentNames{ + ComponentConsumer: { + useDDServiceV0: false, + buildServiceNameV0: staticName(""), + buildOpNameV0: staticName("pubsub.receive"), + buildOpNameV1: staticName("gcp.pubsub.process"), + }, + ComponentProducer: { + useDDServiceV0: false, + buildServiceNameV0: staticName(""), + buildOpNameV0: staticName("pubsub.publish"), + buildOpNameV1: staticName("gcp.pubsub.send"), + }, + }, + }, + PackageNetHTTP: { + external: false, + TracedPackage: "net/http", + EnvVarPrefix: "HTTP", + naming: map[Component]componentNames{ + ComponentServer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("http.router"), + buildOpNameV0: staticName("http.request"), + buildOpNameV1: staticName("http.server.request"), + }, + ComponentClient: { + buildServiceNameV0: staticName(""), + buildOpNameV0: staticName("http.request"), + buildOpNameV1: staticName("http.client.request"), + }, + }, + }, +} + +func staticName(name string) func(OperationContext) string { + return func(_ OperationContext) string { + return name + } +} + +func awsBuildDefaultServiceNameV0(opCtx OperationContext) string { + awsService, ok := opCtx[ext.AWSService] + if !ok { + return "" + } + return "aws." + awsService +} + +func awsBuildOpNameV1(opCtx OperationContext) string { + awsService, ok := opCtx[ext.AWSService] + if !ok { + return "" + } + awsOp, ok := opCtx[ext.AWSOperation] + if !ok { + return "" + } + op := "request" + if isAWSMessagingSendOp(awsService, awsOp) { + op = "send" + } + return fmt.Sprintf("aws.%s.%s", strings.ToLower(awsService), op) +} + +func isAWSMessagingSendOp(awsService, awsOperation string) bool { + s, op := strings.ToLower(awsService), strings.ToLower(awsOperation) + if s == "sqs" { + return strings.HasPrefix(op, "sendmessage") + } + if s == "sns" { + return op == "publish" + } + return false +} + +// +//func opV1(t IntegrationType) string { +// switch t { +// // Client/Server +// case HTTPClient: +// return "http.client.request" +// case HTTPServer: +// return "http.server.request" +// case GRPCClient: +// return "grpc.client.request" +// case GRPCServer: +// return "grpc.server.request" +// case GraphqlServer: +// return "graphql.server.request" +// case TwirpClient: +// return "twirp.client.request" +// case TwirpServer: +// return "twirp.server.request" +// +// // Messaging +// case KafkaOutbound: +// return "kafka.send" +// case KafkaInbound: +// return "kafka.process" +// case GCPPubSubInbound: +// return "gcp.pubsub.process" +// case GCPPubSubOutbound: +// return "gcp.pubsub.send" +// +// // Cache +// case MemcachedOutbound: +// return "memcached.command" +// case RedisOutbound: +// return "redis.command" +// +// // Database +// case ElasticSearchOutbound: +// return "elasticsearch.query" +// case MongoDBOutbound: +// return "mongodb.query" +// case CassandraOutbound: +// return "cassandra.query" +// case LevelDBOutbound: +// return "leveldb.query" +// case BuntDBOutbound: +// return "buntdb.query" +// case ConsulOutbound: +// return "consul.query" +// case VaultOutbound: +// return "vault.query" +// } +// return "" +//} +// +//func opV0(t IntegrationType) string { +// switch t { +// case HTTPClient, HTTPServer: +// return "http.request" +// case GRPCClient: +// return "grpc.client" +// case GRPCServer: +// return "grpc.server" +// case GraphqlServer: +// return "graphql.request" +// case TwirpClient: +// return "twirp.request" +// case TwirpServer: +// return "twirp.request" +// case KafkaOutbound: +// return "kafka.produce" +// case KafkaInbound: +// return "kafka.consume" +// case GCPPubSubInbound: +// return "pubsub.receive" +// case GCPPubSubOutbound: +// return "pubsub.publish" +// case MemcachedOutbound: +// return "memcached.query" +// case RedisOutbound: +// return "redis.command" +// case ElasticSearchOutbound: +// return "elasticsearch.query" +// case MongoDBOutbound: +// return "mongodb.query" +// case CassandraOutbound: +// return "cassandra.query" +// case LevelDBOutbound: +// return "leveldb.query" +// case BuntDBOutbound: +// return "buntdb.query" +// case ConsulOutbound: +// return "consul.command" +// case VaultOutbound: +// return "http.request" +// } +// return "" +//} diff --git a/instrumentation/testutils/testutils.go b/instrumentation/testutils/testutils.go new file mode 100644 index 0000000000..5892f52884 --- /dev/null +++ b/instrumentation/testutils/testutils.go @@ -0,0 +1,57 @@ +package testutils + +import ( + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "testing" + + "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" +) + +func SetGlobalServiceName(t *testing.T, val string) { + t.Helper() + prev := globalconfig.ServiceName() + t.Cleanup(func() { + globalconfig.SetServiceName(prev) + }) + globalconfig.SetServiceName(val) +} + +func SetGlobalAnalyticsRate(t *testing.T, val float64) { + t.Helper() + prev := globalconfig.AnalyticsRate() + t.Cleanup(func() { + globalconfig.SetAnalyticsRate(prev) + }) + globalconfig.SetAnalyticsRate(val) +} + +func SetGlobalHeaderTags(t *testing.T, headers ...string) { + t.Helper() + + setValue := func(val []string) { + globalconfig.ClearHeaderTags() + for _, h := range val { + header, tag := normalizer.HeaderTag(h) + globalconfig.SetHeaderTag(header, tag) + } + } + + var prev []string + globalconfig.HeaderTagMap().Iter(func(_ string, tag string) { + prev = append(prev, tag) + }) + + t.Cleanup(func() { + setValue(prev) + }) + setValue(headers) +} + +type discardLogger struct{} + +func (d discardLogger) Log(_ string) {} + +func DiscardLogger() tracer.Logger { + return discardLogger{} +} diff --git a/internal/appsec/listener/graphqlsec/graphql.go b/internal/appsec/listener/graphqlsec/graphql.go index 1187ed8a62..fdeb912bcb 100644 --- a/internal/appsec/listener/graphqlsec/graphql.go +++ b/internal/appsec/listener/graphqlsec/graphql.go @@ -12,9 +12,9 @@ import ( waf "github.com/DataDog/go-libddwaf/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/graphqlsec/types" "github.com/DataDog/dd-trace-go/v2/internal/appsec/config" "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/graphqlsec/types" "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/sharedsec" "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener" shared "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener/sharedsec" diff --git a/internal/appsec/listener/httpsec/http.go b/internal/appsec/listener/httpsec/http.go index 9a4c046560..b87dfcf029 100644 --- a/internal/appsec/listener/httpsec/http.go +++ b/internal/appsec/listener/httpsec/http.go @@ -14,9 +14,9 @@ import ( waf "github.com/DataDog/go-libddwaf/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec/types" "github.com/DataDog/dd-trace-go/v2/internal/appsec/config" "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/httpsec/types" "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/sharedsec" "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener" shared "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener/sharedsec" diff --git a/internal/contrib/namingschematest/cache.go b/internal/contrib/namingschematest/cache.go deleted file mode 100644 index 9c37e30079..0000000000 --- a/internal/contrib/namingschematest/cache.go +++ /dev/null @@ -1,36 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2023 Datadog, Inc. - -package namingschematest - -import ( - "testing" - - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -// NewRedisTest creates a new test for Redis naming schema. -func NewRedisTest(genSpans GenSpansFn, defaultServiceName string) func(t *testing.T) { - return func(t *testing.T) { - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "redis.command", spans[0].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "redis.command", spans[0].OperationName()) - } - wantServiceNameV0 := ServiceNameAssertions{ - WithDefaults: []string{defaultServiceName}, - WithDDService: []string{defaultServiceName}, - WithDDServiceAndOverride: []string{TestServiceOverride}, - } - t.Run("ServiceName", NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) - } -} diff --git a/internal/contrib/namingschematest/client_server.go b/internal/contrib/namingschematest/client_server.go deleted file mode 100644 index 884d59d223..0000000000 --- a/internal/contrib/namingschematest/client_server.go +++ /dev/null @@ -1,41 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2023 Datadog, Inc. - -package namingschematest - -import ( - "testing" - - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -// NewHTTPServerTest creates a new test for HTTP server naming schema. -func NewHTTPServerTest(genSpans GenSpansFn, defaultName string, opts ...Option) func(t *testing.T) { - cfg := newConfig() - cfg.wantServiceName[namingschema.SchemaV0] = ServiceNameAssertions{ - WithDefaults: []string{defaultName}, - WithDDService: []string{TestDDService}, - WithDDServiceAndOverride: []string{TestServiceOverride}, - } - for _, opt := range opts { - opt(cfg) - } - return func(t *testing.T) { - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "http.request", spans[0].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "http.server.request", spans[0].OperationName()) - } - t.Run("ServiceName", NewServiceNameTest(genSpans, cfg.wantServiceName[namingschema.SchemaV0])) - t.Run("SpanName", NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) - } -} diff --git a/internal/contrib/namingschematest/db.go b/internal/contrib/namingschematest/db.go deleted file mode 100644 index 345a59bade..0000000000 --- a/internal/contrib/namingschematest/db.go +++ /dev/null @@ -1,36 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2023 Datadog, Inc. - -package namingschematest - -import ( - "testing" - - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -// NewMongoDBTest creates a new test for MongoDB naming schema. -func NewMongoDBTest(genSpans GenSpansFn, defaultServiceName string) func(t *testing.T) { - return func(t *testing.T) { - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "mongodb.query", spans[0].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "mongodb.query", spans[0].OperationName()) - } - wantServiceNameV0 := ServiceNameAssertions{ - WithDefaults: []string{defaultServiceName}, - WithDDService: []string{defaultServiceName}, - WithDDServiceAndOverride: []string{TestServiceOverride}, - } - t.Run("ServiceName", NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) - } -} diff --git a/internal/contrib/namingschematest/messaging.go b/internal/contrib/namingschematest/messaging.go deleted file mode 100644 index 3caf5c6ab7..0000000000 --- a/internal/contrib/namingschematest/messaging.go +++ /dev/null @@ -1,38 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2023 Datadog, Inc. - -package namingschematest - -import ( - "testing" - - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -// NewKafkaTest creates a new test for Kafka naming schema. -func NewKafkaTest(genSpans GenSpansFn) func(t *testing.T) { - return func(t *testing.T) { - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "kafka.produce", spans[0].OperationName()) - assert.Equal(t, "kafka.consume", spans[1].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "kafka.send", spans[0].OperationName()) - assert.Equal(t, "kafka.process", spans[1].OperationName()) - } - wantServiceNameV0 := ServiceNameAssertions{ - WithDefaults: []string{"kafka", "kafka"}, - WithDDService: []string{"kafka", TestDDService}, - WithDDServiceAndOverride: []string{TestServiceOverride, TestServiceOverride}, - } - t.Run("ServiceName", NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) - } -} diff --git a/internal/contrib/namingschematest/namingschematest.go b/internal/contrib/namingschematest/namingschematest.go deleted file mode 100644 index f88b9ecea6..0000000000 --- a/internal/contrib/namingschematest/namingschematest.go +++ /dev/null @@ -1,158 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2023 Datadog, Inc. - -// Package namingschematest provides utilities to test naming schemas across different integrations. -package namingschematest - -import ( - "testing" - - "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/lists" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -// GenSpansFn is used across different functions from this package to generate spans. It should be implemented in the -// tests that use this package. -// The provided serviceOverride string should be used to set the specific integration's WithService option (if -// available) when initializing and configuring the package. -type GenSpansFn func(t *testing.T, serviceOverride string) []*mocktracer.Span - -// ServiceNameAssertions contains assertions for different test cases used inside the generated test -// from NewServiceNameTest. -// []string fields in this struct represent the assertions to be made against the returned []mocktracer.Span from -// GenSpansFn in the same order. -type ServiceNameAssertions struct { - // WithDefaults is used for the test case where defaults are used. - WithDefaults []string - // WithDDService is used when the global DD_SERVICE configuration is enabled (in this case, the test will set the - // value to TestDDService from this package). - WithDDService []string - // WithDDServiceAndOverride is used for the test case where the global DD_SERVICE configuration is enabled and the - // contrib specific `WithService` option is used (in this case, the test will set DD_SERVICE and serviceOverride - // to the TestDDService and TestServiceOverride constants from this package, respectively). - WithDDServiceAndOverride []string -} - -const ( - // TestDDService is a constant used in the test returned by NewServiceNameTest to set the value of DD_SERVICE. - TestDDService = "dd-service" - // TestServiceOverride is a constant used in the test returned by NewServiceNameTest to set the value of - // the integration's WithService option. - TestServiceOverride = "service-override" -) - -// NewServiceNameTest generates a new test for span service names using the naming schema versioning. -func NewServiceNameTest(genSpans GenSpansFn, wantV0 ServiceNameAssertions) func(t *testing.T) { - return func(t *testing.T) { - testCases := []struct { - name string - serviceNameOverride string - ddService string - // the assertions are a slice that should match the number of spans returned by the genSpans function. - wantV0 []string - wantV1 []string - }{ - { - name: "WithDefaults", - serviceNameOverride: "", - ddService: "", - wantV0: wantV0.WithDefaults, - wantV1: wantV0.WithDefaults, // defaults should be the same for v1 - }, - { - name: "WithGlobalDDService", - serviceNameOverride: "", - ddService: TestDDService, - wantV0: wantV0.WithDDService, - wantV1: lists.RepeatString(TestDDService, len(wantV0.WithDDService)), - }, - { - name: "WithGlobalDDServiceAndOverride", - serviceNameOverride: TestServiceOverride, - ddService: TestDDService, - wantV0: wantV0.WithDDServiceAndOverride, - wantV1: lists.RepeatString(TestServiceOverride, len(wantV0.WithDDServiceAndOverride)), - }, - } - for _, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { - if tc.ddService != "" { - reset := withDDService(tc.ddService) - defer reset() - } - t.Run("v0", func(t *testing.T) { - reset := withNamingSchemaVersion(namingschema.SchemaV0) - defer reset() - spans := genSpans(t, tc.serviceNameOverride) - assertServiceNames(t, spans, tc.wantV0) - }) - t.Run("v1", func(t *testing.T) { - reset := withNamingSchemaVersion(namingschema.SchemaV1) - defer reset() - spans := genSpans(t, tc.serviceNameOverride) - assertServiceNames(t, spans, tc.wantV1) - }) - }) - } - } -} - -func assertServiceNames(t *testing.T, spans []*mocktracer.Span, wantServiceNames []string) { - t.Helper() - require.Len(t, spans, len(wantServiceNames), "the number of spans and number of assertions should be the same") - for i := 0; i < len(spans); i++ { - want, got, spanName := wantServiceNames[i], spans[i].Tag(ext.ServiceName), spans[i].OperationName() - if want == "" { - assert.Empty(t, got, "expected empty service name tag for span: %s", spanName) - } else { - assert.Equal(t, want, got, "incorrect service name for span: %s", spanName) - } - } -} - -func withNamingSchemaVersion(version namingschema.Version) func() { - prevVersion := namingschema.GetVersion() - reset := func() { namingschema.SetVersion(prevVersion) } - namingschema.SetVersion(version) - return reset -} - -func withDDService(ddService string) func() { - prevName := globalconfig.ServiceName() - reset := func() { globalconfig.SetServiceName(prevName) } - globalconfig.SetServiceName(ddService) - return reset -} - -// AssertSpansFn allows to make assertions on the generated spans. -type AssertSpansFn func(t *testing.T, spans []*mocktracer.Span) - -// NewSpanNameTest returns a new test that runs the provided assertion functions for each schema version. -func NewSpanNameTest(genSpans GenSpansFn, assertV0 AssertSpansFn, assertV1 AssertSpansFn) func(t *testing.T) { - return func(t *testing.T) { - t.Run("v0", func(t *testing.T) { - version := namingschema.GetVersion() - defer namingschema.SetVersion(version) - namingschema.SetVersion(namingschema.SchemaV0) - - spans := genSpans(t, "") - assertV0(t, spans) - }) - t.Run("v1", func(t *testing.T) { - version := namingschema.GetVersion() - defer namingschema.SetVersion(version) - namingschema.SetVersion(namingschema.SchemaV1) - - spans := genSpans(t, "") - assertV1(t, spans) - }) - } -} diff --git a/internal/contrib/namingschematest/option.go b/internal/contrib/namingschematest/option.go deleted file mode 100644 index d2df19da29..0000000000 --- a/internal/contrib/namingschematest/option.go +++ /dev/null @@ -1,28 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2023 Datadog, Inc. - -package namingschematest - -import "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - -type config struct { - wantServiceName map[namingschema.Version]ServiceNameAssertions -} - -func newConfig() *config { - return &config{ - wantServiceName: make(map[namingschema.Version]ServiceNameAssertions, 0), - } -} - -// Option is a type used to customize behavior of functions in this package. -type Option func(*config) - -// WithServiceNameAssertions allows you to override the service name assertions for a specific naming schema version. -func WithServiceNameAssertions(v namingschema.Version, s ServiceNameAssertions) Option { - return func(cfg *config) { - cfg.wantServiceName[v] = s - } -} diff --git a/internal/lists/lists.go b/internal/lists/lists.go deleted file mode 100644 index a8a4eaf29f..0000000000 --- a/internal/lists/lists.go +++ /dev/null @@ -1,52 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2016 Datadog, Inc. - -package lists - -// Combinations returns all possible unique selections of size `pick` of a list -// of strings for which order does not matter -// -// an example: -// -// Combinations([cat, dog, bird], 2): -// [cat] -> Combinations([dog, bird], 1) -// [cat, dog] -// [cat, bird] -// [dog] -> Combinations([bird], 1) -// [dog, bird] -// [bird] -> Combinations([], 0) -// n/a -func Combinations(list []string, pick int) (all [][]string) { - switch pick { - case 0: - // nothing to do - case 1: - for i := range list { - all = append(all, list[i:i+1]) - } - default: - // we recursively find combinations by taking each item in the list - // and then finding the combinations at (pick-1) for the remaining - // items in the list - // the reason we start at [i+1:], is because the order of the items in - // the list doesn't matter, so this will remove all the duplicates we - // would get otherwise - for i := range list { - for _, next := range Combinations(list[i+1:], pick-1) { - all = append(all, append([]string{list[i]}, next...)) - } - } - } - return all -} - -// RepeatString returns a new slice with the string s repeated n times. -func RepeatString(s string, n int) []string { - r := make([]string, 0, n) - for i := 0; i < n; i++ { - r = append(r, s) - } - return r -} diff --git a/internal/log/log.go b/internal/log/log.go index c3ad618877..adbc51e442 100644 --- a/internal/log/log.go +++ b/internal/log/log.go @@ -55,6 +55,10 @@ var prefixMsg = fmt.Sprintf("Datadog Tracer %s", version.Tag) type Logger interface { // Log prints the given message. Log(msg string) + //Debug(msg string, args ...any) + //Info(msg string, args ...any) + //Warn(msg string, args ...any) + //Error(msg string, args ...any) } var ( diff --git a/v1internal/namingschematest/namingschematest.go b/v1internal/namingschematest/namingschematest.go deleted file mode 100644 index 99f47ba60f..0000000000 --- a/v1internal/namingschematest/namingschematest.go +++ /dev/null @@ -1,84 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2024 Datadog, Inc. - -// Package namingschematest provides support for automated testing of Go packages using the v1 API. -// Note that this package is for dd-trace-go.v1 internal testing utilities only. -// This package is not intended for use by external consumers, no API stability is guaranteed. -package namingschematest - -import ( - "testing" - - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" -) - -// GenSpansFn is used across different functions from this package to generate spans. It should be implemented in the -// tests that use this package. -// The provided serviceOverride string should be used to set the specific integration's WithService option (if -// available) when initializing and configuring the package. -// This type is not intended for use by external consumers, no API stability is guaranteed. -type GenSpansFn = namingschematest.GenSpansFn - -// ServiceNameAssertions contains assertions for different test cases used inside the generated test -// from NewServiceNameTest. -// []string fields in this struct represent the assertions to be made against the returned []mocktracer.Span from -// GenSpansFn in the same order. -// This type is not intended for use by external consumers, no API stability is guaranteed. -type ServiceNameAssertions = namingschematest.ServiceNameAssertions - -// NewServiceNameTest generates a new test for span service names using the naming schema versioning. -// This function is not intended for use by external consumers, no API stability is guaranteed. -func NewServiceNameTest(genSpans GenSpansFn, wantV0 ServiceNameAssertions) func(t *testing.T) { - return namingschematest.NewServiceNameTest(genSpans, wantV0) -} - -// AssertSpansFn allows to make assertions on the generated spans. -// This type is not intended for use by external consumers, no API stability is guaranteed. -type AssertSpansFn = namingschematest.AssertSpansFn - -// NewSpanNameTest returns a new test that runs the provided assertion functions for each schema version. -// This function is not intended for use by external consumers, no API stability is guaranteed. -func NewSpanNameTest(genSpans GenSpansFn, assertV0 AssertSpansFn, assertV1 AssertSpansFn) func(t *testing.T) { - return namingschematest.NewSpanNameTest(genSpans, assertV0, assertV1) -} - -// NewKafkaTest creates a new test for Kafka naming schema. -// This function is not intended for use by external consumers, no API stability is guaranteed. -func NewKafkaTest(genSpans GenSpansFn) func(t *testing.T) { - return namingschematest.NewKafkaTest(genSpans) -} - -// Option is a type used to customize behavior of functions in this package. -// This type is not intended for use by external consumers, no API stability is guaranteed. -type Option = namingschematest.Option - -// NewHTTPServerTest creates a new test for HTTP server naming schema. -// This function is not intended for use by external consumers, no API stability is guaranteed. -func NewHTTPServerTest(genSpans GenSpansFn, defaultName string, opts ...Option) func(t *testing.T) { - return namingschematest.NewHTTPServerTest(genSpans, defaultName, opts...) -} - -// Version is a type used to represent the different versions of the naming schema. -// This type is not intended for use by external consumers, no API stability is guaranteed. -type Version = namingschema.Version - -// WithServiceNameAssertions allows you to override the service name assertions for a specific naming schema version. -// This function is not intended for use by external consumers, no API stability is guaranteed. -func WithServiceNameAssertions(v Version, s ServiceNameAssertions) Option { - return namingschematest.WithServiceNameAssertions(v, s) -} - -// NewMongoDBTest creates a new test for MongoDB naming schema. -// This function is not intended for use by external consumers, no API stability is guaranteed. -func NewMongoDBTest(genSpans GenSpansFn, defaultServiceName string) func(t *testing.T) { - return namingschematest.NewMongoDBTest(genSpans, defaultServiceName) -} - -// NewRedisTest creates a new test for Redis naming schema. -// This function is not intended for use by external consumers, no API stability is guaranteed. -func NewRedisTest(genSpans GenSpansFn, defaultServiceName string) func(t *testing.T) { - return namingschematest.NewRedisTest(genSpans, defaultServiceName) -} From cd879f6544ecad4e31af22b0bae37d2e43244a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Mon, 12 Aug 2024 11:53:15 +0200 Subject: [PATCH 04/21] Migrating contribs to new Contrib API (urfave/negroni, valyala/fasthttp) (#2813) --- contrib/database/sql/conn.go | 2 +- contrib/gin-gonic/gin/gintrace.go | 2 +- contrib/go-chi/chi.v5/chi.go | 2 +- contrib/go-chi/chi/chi.go | 2 +- contrib/gorilla/mux/mux.go | 2 +- .../julienschmidt/httprouter/httprouter.go | 2 +- contrib/labstack/echo.v4/echotrace.go | 2 +- contrib/net/http/trace.go | 2 +- contrib/urfave/negroni/negroni.go | 18 ++--- contrib/urfave/negroni/negroni_test.go | 80 ++++++------------- contrib/urfave/negroni/option.go | 23 ++---- contrib/valyala/fasthttp/fasthttp.go | 16 ++-- contrib/valyala/fasthttp/fasthttp_test.go | 2 +- contrib/valyala/fasthttp/option.go | 8 +- ddtrace/tracer/context.go | 2 +- .../fasthttptrace/fasthttpheaderscarrier.go | 0 .../fasthttpheaderscarrier_test.go | 0 .../fasthttptrace/fasthttptrace.go | 0 .../fasthttptrace/fasthttptrace_test.go | 0 .../internal/namingschematest/main_test.go | 1 + .../internal/namingschematest/negroni_test.go | 58 ++++++++++++++ .../options/options.go | 0 .../options/options_test.go | 0 instrumentation/packages.go | 27 +++++++ 24 files changed, 148 insertions(+), 103 deletions(-) rename {internal/contrib => instrumentation}/fasthttptrace/fasthttpheaderscarrier.go (100%) rename {internal/contrib => instrumentation}/fasthttptrace/fasthttpheaderscarrier_test.go (100%) rename {internal/contrib => instrumentation}/fasthttptrace/fasthttptrace.go (100%) rename {internal/contrib => instrumentation}/fasthttptrace/fasthttptrace_test.go (100%) create mode 100644 instrumentation/internal/namingschematest/negroni_test.go rename {ddtrace => instrumentation}/options/options.go (100%) rename {ddtrace => instrumentation}/options/options_test.go (100%) diff --git a/contrib/database/sql/conn.go b/contrib/database/sql/conn.go index 5831987dda..07d6fbef62 100644 --- a/contrib/database/sql/conn.go +++ b/contrib/database/sql/conn.go @@ -13,7 +13,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/options" + "github.com/DataDog/dd-trace-go/v2/instrumentation/options" "github.com/DataDog/dd-trace-go/v2/internal/log" ) diff --git a/contrib/gin-gonic/gin/gintrace.go b/contrib/gin-gonic/gin/gintrace.go index b24e7780d5..9151181dd5 100644 --- a/contrib/gin-gonic/gin/gintrace.go +++ b/contrib/gin-gonic/gin/gintrace.go @@ -12,9 +12,9 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/options" "github.com/DataDog/dd-trace-go/v2/internal/appsec" "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/options" "github.com/DataDog/dd-trace-go/v2/internal/log" "github.com/DataDog/dd-trace-go/v2/internal/telemetry" diff --git a/contrib/go-chi/chi.v5/chi.go b/contrib/go-chi/chi.v5/chi.go index 0a0aeebcc2..25e221e966 100644 --- a/contrib/go-chi/chi.v5/chi.go +++ b/contrib/go-chi/chi.v5/chi.go @@ -13,9 +13,9 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/options" "github.com/DataDog/dd-trace-go/v2/internal/appsec" "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/options" "github.com/DataDog/dd-trace-go/v2/internal/log" "github.com/DataDog/dd-trace-go/v2/internal/telemetry" diff --git a/contrib/go-chi/chi/chi.go b/contrib/go-chi/chi/chi.go index 69b609260d..2f87f09e26 100644 --- a/contrib/go-chi/chi/chi.go +++ b/contrib/go-chi/chi/chi.go @@ -13,9 +13,9 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/options" "github.com/DataDog/dd-trace-go/v2/internal/appsec" "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/options" "github.com/DataDog/dd-trace-go/v2/internal/log" "github.com/DataDog/dd-trace-go/v2/internal/telemetry" diff --git a/contrib/gorilla/mux/mux.go b/contrib/gorilla/mux/mux.go index 0cd5e739bd..ce3811a2c3 100644 --- a/contrib/gorilla/mux/mux.go +++ b/contrib/gorilla/mux/mux.go @@ -12,8 +12,8 @@ import ( httptrace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/options" httptraceinternal "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/options" "github.com/DataDog/dd-trace-go/v2/internal/log" "github.com/DataDog/dd-trace-go/v2/internal/telemetry" diff --git a/contrib/julienschmidt/httprouter/httprouter.go b/contrib/julienschmidt/httprouter/httprouter.go index 44fc486dd5..e737ce6dc7 100644 --- a/contrib/julienschmidt/httprouter/httprouter.go +++ b/contrib/julienschmidt/httprouter/httprouter.go @@ -14,8 +14,8 @@ import ( httptrace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/options" httptraceinternal "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/options" "github.com/DataDog/dd-trace-go/v2/internal/log" "github.com/DataDog/dd-trace-go/v2/internal/telemetry" diff --git a/contrib/labstack/echo.v4/echotrace.go b/contrib/labstack/echo.v4/echotrace.go index 90005f1ed9..1c5d223ef4 100644 --- a/contrib/labstack/echo.v4/echotrace.go +++ b/contrib/labstack/echo.v4/echotrace.go @@ -18,8 +18,8 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/options" "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/options" "github.com/DataDog/dd-trace-go/v2/internal/log" "github.com/DataDog/dd-trace-go/v2/internal/telemetry" diff --git a/contrib/net/http/trace.go b/contrib/net/http/trace.go index 1f663539e2..3624057301 100644 --- a/contrib/net/http/trace.go +++ b/contrib/net/http/trace.go @@ -11,11 +11,11 @@ import ( "net/http" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" - "github.com/DataDog/dd-trace-go/v2/ddtrace/options" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec" "github.com/DataDog/dd-trace-go/v2/instrumentation/httptrace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/options" ) const componentName = "net/http" diff --git a/contrib/urfave/negroni/negroni.go b/contrib/urfave/negroni/negroni.go index 3de5e216d9..65461bd8d0 100644 --- a/contrib/urfave/negroni/negroni.go +++ b/contrib/urfave/negroni/negroni.go @@ -13,19 +13,19 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/options" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/httptrace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/options" "github.com/urfave/negroni" ) -const componentName = "urfave/negroni" +const component = instrumentation.PackageUrfaveNegroni + +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/urfave/negroni") + instr = instrumentation.Load(instrumentation.PackageUrfaveNegroni) } // DatadogMiddleware returns middleware that will trace incoming requests. @@ -69,9 +69,9 @@ func Middleware(opts ...Option) *DatadogMiddleware { for _, fn := range opts { fn.apply(cfg) } - cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.Component, componentName)) + cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.Component, component)) cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.SpanKind, ext.SpanKindServer)) - log.Debug("contrib/urgave/negroni: Configuring Middleware: %#v", cfg) + instr.Logger().Debug("contrib/urgave/negroni: Configuring Middleware: %#v", cfg) m := DatadogMiddleware{ cfg: cfg, diff --git a/contrib/urfave/negroni/negroni_test.go b/contrib/urfave/negroni/negroni_test.go index 53267f6753..f3c56a4d1e 100644 --- a/contrib/urfave/negroni/negroni_test.go +++ b/contrib/urfave/negroni/negroni_test.go @@ -17,12 +17,10 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "github.com/urfave/negroni" ) @@ -68,32 +66,32 @@ func TestWithHeaderTags(t *testing.T) { t.Run("default-off", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - htArgs := []string{"h!e@a-d.e*r", "2header", "3header", "x-datadog-header"} + headerTags := instrumentation.NewHeaderTags([]string{"h!e@a-d.e*r", "2header", "3header", "x-datadog-header"}) setupReq() spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - _, tag := normalizer.HeaderTag(arg) + headerTags.Iter(func(header string, tag string) { assert.NotContains(s.Tags(), tag) - } + }) }) t.Run("integration", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() htArgs := []string{"h!e@a-d.e*r", "2header:tag"} + headerTags := instrumentation.NewHeaderTags(htArgs) + r := setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) + headerTags.Iter(func(header string, tag string) { assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + }) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) @@ -101,8 +99,9 @@ func TestWithHeaderTags(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - header, tag := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(header, tag) + htArgs := []string{"3header"} + testutils.SetGlobalHeaderTags(t, htArgs...) + headerTags := instrumentation.NewHeaderTags(htArgs) r := setupReq() spans := mt.FinishedSpans() @@ -110,7 +109,9 @@ func TestWithHeaderTags(t *testing.T) { assert.Equal(len(spans), 1) s := spans[0] - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) + headerTags.Iter(func(header string, tag string) { + assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) + }) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) @@ -118,22 +119,21 @@ func TestWithHeaderTags(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - globalH, globalT := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(globalH, globalT) - + testutils.SetGlobalHeaderTags(t, "3header") htArgs := []string{"h!e@a-d.e*r", "2header:tag"} + headerTags := instrumentation.NewHeaderTags(htArgs) + r := setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) + headerTags.Iter(func(header string, tag string) { assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + }) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") - assert.NotContains(s.Tags(), globalT) + assert.NotContains(s.Tags(), "3header") }) } @@ -371,10 +371,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) - + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -394,9 +391,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) } @@ -440,8 +435,7 @@ func TestServiceName(t *testing.T) { }) t.Run("global", func(t *testing.T) { - globalconfig.SetServiceName("global-service") - defer globalconfig.SetServiceName("") + testutils.SetGlobalServiceName(t, "global-service") mt := mocktracer.Start() defer mt.Stop() @@ -460,29 +454,3 @@ func TestServiceName(t *testing.T) { assertServiceName(t, mt, router, "my-service") }) } - -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - mux := http.NewServeMux() - mux.HandleFunc("/user", func(w http.ResponseWriter, r *http.Request) { - _, err := w.Write([]byte("ok")) - require.NoError(t, err) - }) - router := negroni.New() - router.Use(Middleware(opts...)) - router.UseHandler(mux) - r := httptest.NewRequest("GET", "/200", nil) - w := httptest.NewRecorder() - router.ServeHTTP(w, r) - - return mt.FinishedSpans() - }) - namingschematest.NewHTTPServerTest(genSpans, "negroni.router")(t) -} diff --git a/contrib/urfave/negroni/option.go b/contrib/urfave/negroni/option.go index 48c143d95a..02e9f33cf9 100644 --- a/contrib/urfave/negroni/option.go +++ b/contrib/urfave/negroni/option.go @@ -11,21 +11,16 @@ import ( "net/http" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "negroni.router" - type config struct { serviceName string spanOpts []tracer.StartSpanOption // additional span options to be applied analyticsRate float64 isStatusError func(statusCode int) bool resourceNamer func(r *http.Request) string - headerTags *internal.LockMap + headerTags instrumentation.HeaderTags } // Option describes options for the Negroni integration. @@ -41,13 +36,12 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - cfg.serviceName = namingschema.ServiceName(defaultServiceName) - if internal.BoolEnv("DD_TRACE_NEGRONI_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = globalconfig.AnalyticsRate() + cfg.serviceName = instr.ServiceName(instrumentation.ComponentServer, nil) + cfg.analyticsRate = instr.AnalyticsRate() + if math.IsNaN(cfg.analyticsRate) { + cfg.analyticsRate = instr.GlobalAnalyticsRate() } - cfg.headerTags = globalconfig.HeaderTagMap() + cfg.headerTags = instr.HTTPHeadersAsTags() cfg.isStatusError = isServerError cfg.resourceNamer = defaultResourceNamer } @@ -119,8 +113,7 @@ func defaultResourceNamer(_ *http.Request) string { // Using this feature can risk exposing sensitive data such as authorization tokens to Datadog. // Special headers can not be sub-selected. E.g., an entire Cookie header would be transmitted, without the ability to choose specific Cookies. func WithHeaderTags(headers []string) OptionFn { - headerTagsMap := normalizer.HeaderTagSlice(headers) return func(cfg *config) { - cfg.headerTags = internal.NewLockMap(headerTagsMap) + cfg.headerTags = instrumentation.NewHeaderTags(headers) } } diff --git a/contrib/valyala/fasthttp/fasthttp.go b/contrib/valyala/fasthttp/fasthttp.go index 468d4ce672..43bfa14a49 100644 --- a/contrib/valyala/fasthttp/fasthttp.go +++ b/contrib/valyala/fasthttp/fasthttp.go @@ -14,16 +14,16 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/fasthttptrace" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/fasthttptrace" ) -const componentName = "valyala/fasthttp.v1" +const component = instrumentation.PackageValyalaFastHTTP + +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported(componentName) + instr = instrumentation.Load(instrumentation.PackageValyalaFastHTTP) } // WrapHandler wraps a fasthttp.RequestHandler with tracing middleware @@ -32,7 +32,7 @@ func WrapHandler(h fasthttp.RequestHandler, opts ...Option) fasthttp.RequestHand for _, fn := range opts { fn.apply(cfg) } - log.Debug("contrib/valyala/fasthttp.v1: Configuring Middleware: cfg: %#v", cfg) + instr.Logger().Debug("contrib/valyala/fasthttp.v1: Configuring Middleware: cfg: %#v", cfg) spanOpts := []tracer.StartSpanOption{ tracer.ServiceName(cfg.serviceName), } @@ -62,7 +62,7 @@ func WrapHandler(h fasthttp.RequestHandler, opts ...Option) fasthttp.RequestHand func defaultSpanOptions(fctx *fasthttp.RequestCtx) []tracer.StartSpanOption { opts := []tracer.StartSpanOption{ - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, component), tracer.Tag(ext.SpanKind, ext.SpanKindServer), tracer.SpanType(ext.SpanTypeWeb), tracer.Tag(ext.HTTPMethod, string(fctx.Method())), diff --git a/contrib/valyala/fasthttp/fasthttp_test.go b/contrib/valyala/fasthttp/fasthttp_test.go index 1d948180b3..7651c95b68 100644 --- a/contrib/valyala/fasthttp/fasthttp_test.go +++ b/contrib/valyala/fasthttp/fasthttp_test.go @@ -121,7 +121,7 @@ func TestTrace200(t *testing.T) { assert.Equal("200", span.Tag(ext.HTTPCode)) assert.Equal("GET", span.Tag(ext.HTTPMethod)) assert.Equal(addr+"/any", span.Tag(ext.HTTPURL)) - assert.Equal(componentName, span.Tag(ext.Component)) + assert.Equal(string(component), span.Tag(ext.Component)) assert.Equal(ext.SpanKindServer, span.Tag(ext.SpanKind)) } diff --git a/contrib/valyala/fasthttp/option.go b/contrib/valyala/fasthttp/option.go index fb1e65f8f9..57c2f0a1f5 100644 --- a/contrib/valyala/fasthttp/option.go +++ b/contrib/valyala/fasthttp/option.go @@ -9,11 +9,9 @@ import ( "github.com/valyala/fasthttp" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "fasthttp" - type config struct { serviceName string spanName string @@ -37,8 +35,8 @@ func (fn OptionFn) apply(cfg *config) { func newConfig() *config { return &config{ - serviceName: namingschema.ServiceName(defaultServiceName), - spanName: namingschema.OpName(namingschema.HTTPServer), + serviceName: instr.ServiceName(instrumentation.ComponentServer, nil), + spanName: instr.OperationName(instrumentation.ComponentServer, nil), isStatusError: defaultIsServerError, resourceNamer: defaultResourceNamer, ignoreRequest: defaultIgnoreRequest, diff --git a/ddtrace/tracer/context.go b/ddtrace/tracer/context.go index ab644f4da0..3753465382 100644 --- a/ddtrace/tracer/context.go +++ b/ddtrace/tracer/context.go @@ -8,7 +8,7 @@ package tracer import ( "context" - "github.com/DataDog/dd-trace-go/v2/ddtrace/options" + "github.com/DataDog/dd-trace-go/v2/instrumentation/options" "github.com/DataDog/dd-trace-go/v2/internal" ) diff --git a/internal/contrib/fasthttptrace/fasthttpheaderscarrier.go b/instrumentation/fasthttptrace/fasthttpheaderscarrier.go similarity index 100% rename from internal/contrib/fasthttptrace/fasthttpheaderscarrier.go rename to instrumentation/fasthttptrace/fasthttpheaderscarrier.go diff --git a/internal/contrib/fasthttptrace/fasthttpheaderscarrier_test.go b/instrumentation/fasthttptrace/fasthttpheaderscarrier_test.go similarity index 100% rename from internal/contrib/fasthttptrace/fasthttpheaderscarrier_test.go rename to instrumentation/fasthttptrace/fasthttpheaderscarrier_test.go diff --git a/internal/contrib/fasthttptrace/fasthttptrace.go b/instrumentation/fasthttptrace/fasthttptrace.go similarity index 100% rename from internal/contrib/fasthttptrace/fasthttptrace.go rename to instrumentation/fasthttptrace/fasthttptrace.go diff --git a/internal/contrib/fasthttptrace/fasthttptrace_test.go b/instrumentation/fasthttptrace/fasthttptrace_test.go similarity index 100% rename from internal/contrib/fasthttptrace/fasthttptrace_test.go rename to instrumentation/fasthttptrace/fasthttptrace_test.go diff --git a/instrumentation/internal/namingschematest/main_test.go b/instrumentation/internal/namingschematest/main_test.go index 8c3290daf2..2b3d6bb0f5 100644 --- a/instrumentation/internal/namingschematest/main_test.go +++ b/instrumentation/internal/namingschematest/main_test.go @@ -50,6 +50,7 @@ func TestNamingSchema(t *testing.T) { netHTTPClient, gomemcache, gcpPubsub, + urfaveNegroni, } for _, tc := range testCases { t.Run(strings.ReplaceAll(string(tc.name), "/", "_"), func(t *testing.T) { diff --git a/instrumentation/internal/namingschematest/negroni_test.go b/instrumentation/internal/namingschematest/negroni_test.go new file mode 100644 index 0000000000..bb196e6da6 --- /dev/null +++ b/instrumentation/internal/namingschematest/negroni_test.go @@ -0,0 +1,58 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "net/http" + "net/http/httptest" + "testing" + + negronitrace "github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/urfave/negroni" +) + +var urfaveNegroni = testCase{ + name: instrumentation.PackageUrfaveNegroni, + genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []negronitrace.Option + if serviceOverride != "" { + opts = append(opts, negronitrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + mux := http.NewServeMux() + mux.HandleFunc("/user", func(w http.ResponseWriter, r *http.Request) { + _, err := w.Write([]byte("ok")) + require.NoError(t, err) + }) + router := negroni.New() + router.Use(negronitrace.Middleware(opts...)) + router.UseHandler(mux) + r := httptest.NewRequest("GET", "/200", nil) + w := httptest.NewRecorder() + router.ServeHTTP(w, r) + + return mt.FinishedSpans() + }, + wantServiceNameV0: serviceNameAssertions{ + defaults: []string{"negroni.router"}, + ddService: []string{testDDService}, + serviceOverride: []string{testServiceOverride}, + }, + assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.request", spans[0].OperationName()) + }, + assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.server.request", spans[0].OperationName()) + }, +} diff --git a/ddtrace/options/options.go b/instrumentation/options/options.go similarity index 100% rename from ddtrace/options/options.go rename to instrumentation/options/options.go diff --git a/ddtrace/options/options_test.go b/instrumentation/options/options_test.go similarity index 100% rename from ddtrace/options/options_test.go rename to instrumentation/options/options_test.go diff --git a/instrumentation/packages.go b/instrumentation/packages.go index ba339b651b..1e27ab03b8 100644 --- a/instrumentation/packages.go +++ b/instrumentation/packages.go @@ -22,6 +22,9 @@ const ( PackageNetHTTP Package = "net/http" PackageIBMSarama Package = "IBM/sarama" + + PackageValyalaFastHTTP Package = "valyala/fasthttp" + PackageUrfaveNegroni Package = "urfave/negroni" ) type Component int @@ -150,6 +153,30 @@ var packages = map[Package]PackageInfo{ }, }, }, + PackageValyalaFastHTTP: { + TracedPackage: "github.com/valyala/fasthttp", + EnvVarPrefix: "FASTHTTP", + naming: map[Component]componentNames{ + ComponentServer: { + useDDServiceV0: false, + buildServiceNameV0: staticName("fasthttp"), + buildOpNameV0: staticName("http.request"), + buildOpNameV1: staticName("http.server.request"), + }, + }, + }, + PackageUrfaveNegroni: { + TracedPackage: "github.com/urfave/negroni", + EnvVarPrefix: "NEGRONI", + naming: map[Component]componentNames{ + ComponentServer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("negroni.router"), + buildOpNameV0: staticName("http.request"), + buildOpNameV1: staticName("http.server.request"), + }, + }, + }, } func staticName(name string) func(OperationContext) string { From adf58cf5a801e6624594e49c38492200bd59d8ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Arg=C3=BCello?= Date: Mon, 19 Aug 2024 15:07:30 +0200 Subject: [PATCH 05/21] v2: migrate contribs to new instrumentation api (2) (#2816) --- .github/workflows/unit-integration-tests.yml | 4 +- appsec/appsec.go | 2 +- contrib/99designs/gqlgen/option.go | 2 +- contrib/aws/aws-sdk-go-v2/aws/option.go | 2 +- contrib/aws/aws-sdk-go/aws/option.go | 2 +- .../bradfitz/gomemcache/memcache/option.go | 2 +- .../confluent-kafka-go/kafka.v2/kafka.go | 22 +- .../confluent-kafka-go/kafka.v2/kafka_test.go | 33 +- .../confluent-kafka-go/kafka.v2/option.go | 22 +- .../kafka.v2/option_test.go | 12 +- .../confluent-kafka-go/kafka/kafka.go | 19 +- .../confluent-kafka-go/kafka/kafka_test.go | 26 +- .../confluent-kafka-go/kafka/option.go | 22 +- .../confluent-kafka-go/kafka/option_test.go | 14 +- contrib/database/sql/conn.go | 3 +- contrib/database/sql/exec_trace_test.go | 154 ---- contrib/database/sql/go.mod | 1 - contrib/database/sql/internal/dsn.go | 18 +- contrib/database/sql/metrics.go | 14 +- contrib/database/sql/metrics_test.go | 41 +- contrib/database/sql/option.go | 43 +- contrib/database/sql/option_test.go | 14 +- contrib/database/sql/propagation_test.go | 21 +- contrib/database/sql/sql.go | 27 +- contrib/database/sql/sql_test.go | 153 +--- contrib/database/sql/tx.go | 4 +- contrib/dimfeld/httptreemux.v5/httptreemux.go | 16 +- .../httptreemux.v5/httptreemux_test.go | 27 +- contrib/dimfeld/httptreemux.v5/option.go | 6 +- .../go-elasticsearch.v6/elastictrace.go | 7 +- .../elastictrace_v6_test.go | 18 +- .../elastictrace_v7_test.go | 13 +- .../elastictrace_v8_test.go | 60 +- contrib/elastic/go-elasticsearch.v6/option.go | 16 +- contrib/emicklei/go-restful.v3/option.go | 23 +- contrib/emicklei/go-restful.v3/restful.go | 16 +- .../emicklei/go-restful.v3/restful_test.go | 99 +-- contrib/gin-gonic/gin/appsec.go | 2 +- contrib/gin-gonic/gin/appsec_test.go | 20 +- contrib/gin-gonic/gin/gintrace.go | 19 +- contrib/gin-gonic/gin/gintrace_test.go | 81 +- contrib/gin-gonic/gin/option.go | 23 +- contrib/globalsign/mgo/mgo.go | 14 +- contrib/globalsign/mgo/mgo_test.go | 33 +- contrib/globalsign/mgo/option.go | 18 +- contrib/go-chi/chi.v5/appsec.go | 2 +- contrib/go-chi/chi.v5/option.go | 2 +- contrib/go-chi/chi/appsec.go | 2 +- .../mongo-driver/mongo/mongo.go | 10 +- .../mongo-driver/mongo/mongo_test.go | 42 +- .../mongo-driver/mongo/option.go | 16 +- contrib/gorm.io/gorm.v1/gorm_test.go | 2 +- contrib/jmoiron/sqlx/sql_test.go | 2 +- contrib/labstack/echo.v4/appsec.go | 4 +- contrib/net/http/option.go | 5 +- contrib/urfave/negroni/option.go | 5 +- ddtrace/mocktracer/mocktracer.go | 7 +- docker-compose.yaml | 28 +- go.work.sum | 468 +++++++++++- instrumentation/instrumentation.go | 44 +- .../namingschematest/aws_sdk_v1_test.go | 42 +- .../namingschematest/aws_sdk_v2_test.go | 42 +- .../confluent_kafka_go_test.go | 89 +++ .../confluent_kafka_v2_test.go | 83 ++ .../internal/namingschematest/database_sql.go | 146 ++++ .../namingschematest/elastic_v6_test.go | 61 ++ .../namingschematest/gcp_pubsub_test.go | 38 +- .../internal/namingschematest/gin_test.go | 50 ++ .../internal/namingschematest/go.mod | 163 +++- .../internal/namingschematest/go.sum | 716 +++++++++++++++++- .../namingschematest/go_restful_v3_test.go | 61 ++ .../namingschematest/gomemcache_test.go | 24 +- .../internal/namingschematest/gqlgen_test.go | 26 +- .../namingschematest/harness/harness.go | 120 +++ .../namingschematest/harness/kafka.go | 39 + .../namingschematest/harness/utils.go | 14 + .../namingschematest/httptreemux_v5_test.go | 55 ++ .../internal/namingschematest/main_test.go | 132 +--- .../internal/namingschematest/mgo_test.go | 49 ++ .../namingschematest/mongodriver_test.go | 57 ++ .../internal/namingschematest/negroni_test.go | 26 +- .../namingschematest/net_http_test.go | 42 +- instrumentation/logger.go | 5 + instrumentation/packages.go | 258 ++++--- .../testutils/sql/sql.go | 2 +- instrumentation/testutils/testutils.go | 26 +- .../contrib/httptracemock/httptracemock.go | 4 +- tools/fixmodules/main.go | 188 ++++- 88 files changed, 2938 insertions(+), 1447 deletions(-) delete mode 100644 contrib/database/sql/exec_trace_test.go create mode 100644 instrumentation/internal/namingschematest/confluent_kafka_go_v1/confluent_kafka_go_test.go create mode 100644 instrumentation/internal/namingschematest/confluent_kafka_v2_test.go create mode 100644 instrumentation/internal/namingschematest/database_sql.go create mode 100644 instrumentation/internal/namingschematest/elastic_v6_test.go create mode 100644 instrumentation/internal/namingschematest/gin_test.go create mode 100644 instrumentation/internal/namingschematest/go_restful_v3_test.go create mode 100644 instrumentation/internal/namingschematest/harness/harness.go create mode 100644 instrumentation/internal/namingschematest/harness/kafka.go create mode 100644 instrumentation/internal/namingschematest/harness/utils.go create mode 100644 instrumentation/internal/namingschematest/httptreemux_v5_test.go create mode 100644 instrumentation/internal/namingschematest/mgo_test.go create mode 100644 instrumentation/internal/namingschematest/mongodriver_test.go rename internal/contrib/sqltest/sqltest.go => instrumentation/testutils/sql/sql.go (98%) diff --git a/.github/workflows/unit-integration-tests.yml b/.github/workflows/unit-integration-tests.yml index 8640b563d8..ccbb6be7c6 100644 --- a/.github/workflows/unit-integration-tests.yml +++ b/.github/workflows/unit-integration-tests.yml @@ -89,7 +89,7 @@ jobs: ports: - 9042:9042 mysql: - image: circleci/mysql:5.7 + image: cimg/mysql:8.0 env: MYSQL_ROOT_PASSWORD: admin MYSQL_PASSWORD: test @@ -98,7 +98,7 @@ jobs: ports: - 3306:3306 postgres: - image: circleci/postgres:9.5 + image: cimg/postgres:16.4 env: POSTGRES_PASSWORD: postgres POSTGRES_USER: postgres diff --git a/appsec/appsec.go b/appsec/appsec.go index db4f6fda44..bf086c6806 100644 --- a/appsec/appsec.go +++ b/appsec/appsec.go @@ -17,8 +17,8 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec" "github.com/DataDog/dd-trace-go/v2/internal/appsec" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/httpsec" "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/sharedsec" "github.com/DataDog/dd-trace-go/v2/internal/log" ) diff --git a/contrib/99designs/gqlgen/option.go b/contrib/99designs/gqlgen/option.go index cc765cfcd5..5e20962bf5 100644 --- a/contrib/99designs/gqlgen/option.go +++ b/contrib/99designs/gqlgen/option.go @@ -31,7 +31,7 @@ func (fn OptionFn) apply(cfg *config) { func defaults(cfg *config) { cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) - cfg.analyticsRate = instr.AnalyticsRate() + cfg.analyticsRate = instr.AnalyticsRate(false) cfg.tags = make(map[string]interface{}) } diff --git a/contrib/aws/aws-sdk-go-v2/aws/option.go b/contrib/aws/aws-sdk-go-v2/aws/option.go index c94453fdb6..25230684eb 100644 --- a/contrib/aws/aws-sdk-go-v2/aws/option.go +++ b/contrib/aws/aws-sdk-go-v2/aws/option.go @@ -28,7 +28,7 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - cfg.analyticsRate = instr.AnalyticsRate() + cfg.analyticsRate = instr.AnalyticsRate(false) } // WithService sets the given service name for the dialled connection. diff --git a/contrib/aws/aws-sdk-go/aws/option.go b/contrib/aws/aws-sdk-go/aws/option.go index e7349e455c..20d65d51a1 100644 --- a/contrib/aws/aws-sdk-go/aws/option.go +++ b/contrib/aws/aws-sdk-go/aws/option.go @@ -28,7 +28,7 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - cfg.analyticsRate = instr.AnalyticsRate() + cfg.analyticsRate = instr.AnalyticsRate(false) } // WithService sets the given service name for the dialled connection. diff --git a/contrib/bradfitz/gomemcache/memcache/option.go b/contrib/bradfitz/gomemcache/memcache/option.go index 08d79bac52..061aaf73d1 100644 --- a/contrib/bradfitz/gomemcache/memcache/option.go +++ b/contrib/bradfitz/gomemcache/memcache/option.go @@ -32,7 +32,7 @@ func (fn ClientOptionFn) apply(cfg *clientConfig) { func defaults(cfg *clientConfig) { cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) cfg.operationName = instr.OperationName(instrumentation.ComponentDefault, nil) - cfg.analyticsRate = instr.AnalyticsRate() + cfg.analyticsRate = instr.AnalyticsRate(false) } // WithService sets the given service name for the dialled connection. diff --git a/contrib/confluentinc/confluent-kafka-go/kafka.v2/kafka.go b/contrib/confluentinc/confluent-kafka-go/kafka.v2/kafka.go index a413dd560f..50e2ed8adc 100644 --- a/contrib/confluentinc/confluent-kafka-go/kafka.v2/kafka.go +++ b/contrib/confluentinc/confluent-kafka-go/kafka.v2/kafka.go @@ -11,26 +11,24 @@ import ( "math" "time" + "github.com/confluentinc/confluent-kafka-go/v2/kafka" + "github.com/DataDog/dd-trace-go/v2/datastreams" "github.com/DataDog/dd-trace-go/v2/datastreams/options" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" - - "github.com/confluentinc/confluent-kafka-go/v2/kafka" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const ( - // make sure these 3 are updated to V2 for the V2 version. - componentName = "confluentinc/confluent-kafka-go/kafka.v2" - packageName = "contrib/confluentinc/confluent-kafka-go/kafka.v2" - integrationName = "github.com/confluentinc/confluent-kafka-go/v2" + componentName = instrumentation.PackageConfluentKafkaGoV2 + pkgPath = "contrib/confluentinc/confluent-kafka-go/kafka" ) +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported(integrationName) + instr = instrumentation.Load(instrumentation.PackageConfluentKafkaGoV2) } // NewConsumer calls kafka.NewConsumer and wraps the resulting Consumer. @@ -67,7 +65,7 @@ func WrapConsumer(c *kafka.Consumer, opts ...Option) *Consumer { Consumer: c, cfg: newConfig(opts...), } - log.Debug("%s: Wrapping Consumer: %#v", packageName, wrapped.cfg) + instr.Logger().Debug("%s: Wrapping Consumer: %#v", pkgPath, wrapped.cfg) wrapped.events = wrapped.traceEventsChannel(c.Events()) return wrapped } @@ -265,7 +263,7 @@ func WrapProducer(p *kafka.Producer, opts ...Option) *Producer { events: p.Events(), libraryVersion: version, } - log.Debug("%s: Wrapping Producer: %#v", packageName, wrapped.cfg) + instr.Logger().Debug("%s: Wrapping Producer: %#v", pkgPath, wrapped.cfg) wrapped.produceChannel = wrapped.traceProduceChannel(p.ProduceChannel()) if wrapped.cfg.dataStreamsEnabled { wrapped.events = wrapped.traceEventsChannel(p.Events()) diff --git a/contrib/confluentinc/confluent-kafka-go/kafka.v2/kafka_test.go b/contrib/confluentinc/confluent-kafka-go/kafka.v2/kafka_test.go index 764c9ca859..77305ab60b 100644 --- a/contrib/confluentinc/confluent-kafka-go/kafka.v2/kafka_test.go +++ b/contrib/confluentinc/confluent-kafka-go/kafka.v2/kafka_test.go @@ -14,16 +14,14 @@ import ( "testing" "time" + "github.com/confluentinc/confluent-kafka-go/v2/kafka" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/DataDog/dd-trace-go/v2/datastreams" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - internaldsm "github.com/DataDog/dd-trace-go/v2/internal/datastreams" - - "github.com/confluentinc/confluent-kafka-go/v2/kafka" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) var ( @@ -92,7 +90,7 @@ func produceThenConsume(t *testing.T, consumerAction consumerActionFn, producerO if c.cfg.dataStreamsEnabled { backlogs := mt.SentDSMBacklogs() - toMap := func(b []internaldsm.Backlog) map[string]struct{} { + toMap := func(b []mocktracer.DSMBacklog) map[string]struct{} { m := make(map[string]struct{}) for _, b := range backlogs { m[strings.Join(b.Tags, "")] = struct{}{} @@ -166,7 +164,7 @@ func TestConsumerChannel(t *testing.T) { assert.Equal(t, float64(1), s.Tag(ext.MessagingKafkaPartition)) assert.Equal(t, 0.3, s.Tag(ext.EventSampleRate)) assert.Equal(t, strconv.Itoa(i+1), s.Tag("offset")) - assert.Equal(t, componentName, s.Tag(ext.Component)) + assert.Equal(t, "confluentinc/confluent-kafka-go/kafka.v2", s.Tag(ext.Component)) assert.Equal(t, ext.SpanKindConsumer, s.Tag(ext.SpanKind)) assert.Equal(t, "kafka", s.Tag(ext.MessagingSystem)) } @@ -237,7 +235,7 @@ func TestConsumerFunctional(t *testing.T) { assert.Equal(t, 0.1, s0.Tag(ext.EventSampleRate)) assert.Equal(t, "queue", s0.Tag(ext.SpanType)) assert.Equal(t, float64(0), s0.Tag(ext.MessagingKafkaPartition)) - assert.Equal(t, componentName, s0.Tag(ext.Component)) + assert.Equal(t, "confluentinc/confluent-kafka-go/kafka.v2", s0.Tag(ext.Component)) assert.Equal(t, ext.SpanKindProducer, s0.Tag(ext.SpanKind)) assert.Equal(t, "kafka", s0.Tag(ext.MessagingSystem)) assert.Equal(t, "127.0.0.1", s0.Tag(ext.KafkaBootstrapServers)) @@ -249,7 +247,7 @@ func TestConsumerFunctional(t *testing.T) { assert.Equal(t, nil, s1.Tag(ext.EventSampleRate)) assert.Equal(t, "queue", s1.Tag(ext.SpanType)) assert.Equal(t, float64(0), s1.Tag(ext.MessagingKafkaPartition)) - assert.Equal(t, componentName, s1.Tag(ext.Component)) + assert.Equal(t, "confluentinc/confluent-kafka-go/kafka.v2", s1.Tag(ext.Component)) assert.Equal(t, ext.SpanKindConsumer, s1.Tag(ext.SpanKind)) assert.Equal(t, "kafka", s1.Tag(ext.MessagingSystem)) assert.Equal(t, "127.0.0.1", s1.Tag(ext.KafkaBootstrapServers)) @@ -312,18 +310,3 @@ func TestCustomTags(t *testing.T) { assert.Equal(t, "bar", s.Tag("foo")) assert.Equal(t, "key1", s.Tag("key")) } - -func TestNamingSchema(t *testing.T) { - genSpans := func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - consumerAction := consumerActionFn(func(c *Consumer) (*kafka.Message, error) { - return c.ReadMessage(3000 * time.Millisecond) - }) - spans, _ := produceThenConsume(t, consumerAction, opts, opts) - return spans - } - namingschematest.NewKafkaTest(genSpans)(t) -} diff --git a/contrib/confluentinc/confluent-kafka-go/kafka.v2/option.go b/contrib/confluentinc/confluent-kafka-go/kafka.v2/option.go index 15c98366bc..e46555a4d9 100644 --- a/contrib/confluentinc/confluent-kafka-go/kafka.v2/option.go +++ b/contrib/confluentinc/confluent-kafka-go/kafka.v2/option.go @@ -11,13 +11,10 @@ import ( "net" "strings" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/confluentinc/confluent-kafka-go/v2/kafka" -) -const defaultServiceName = "kafka" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) type config struct { ctx context.Context @@ -48,17 +45,14 @@ func newConfig(opts ...Option) *config { cfg := &config{ ctx: context.Background(), // analyticsRate: globalconfig.AnalyticsRate(), - analyticsRate: math.NaN(), - } - cfg.dataStreamsEnabled = internal.BoolEnv("DD_DATA_STREAMS_ENABLED", false) - if internal.BoolEnv("DD_TRACE_KAFKA_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 + analyticsRate: instr.AnalyticsRate(false), } + cfg.dataStreamsEnabled = instr.DataStreamsEnabled() - cfg.consumerServiceName = namingschema.ServiceName(defaultServiceName) - cfg.producerServiceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.consumerSpanName = namingschema.OpName(namingschema.KafkaInbound) - cfg.producerSpanName = namingschema.OpName(namingschema.KafkaOutbound) + cfg.consumerServiceName = instr.ServiceName(instrumentation.ComponentConsumer, nil) + cfg.producerServiceName = instr.ServiceName(instrumentation.ComponentProducer, nil) + cfg.consumerSpanName = instr.OperationName(instrumentation.ComponentConsumer, nil) + cfg.producerSpanName = instr.OperationName(instrumentation.ComponentProducer, nil) for _, opt := range opts { if opt == nil { diff --git a/contrib/confluentinc/confluent-kafka-go/kafka.v2/option_test.go b/contrib/confluentinc/confluent-kafka-go/kafka.v2/option_test.go index 332a30e2bc..7c4f40450f 100644 --- a/contrib/confluentinc/confluent-kafka-go/kafka.v2/option_test.go +++ b/contrib/confluentinc/confluent-kafka-go/kafka.v2/option_test.go @@ -9,9 +9,9 @@ import ( "math" "testing" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/stretchr/testify/assert" + + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" ) func TestDataStreamsActivation(t *testing.T) { @@ -43,9 +43,7 @@ func TestAnalyticsSettings(t *testing.T) { t.Run("global", func(t *testing.T) { t.Skip("global flag disabled") - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) cfg := newConfig() assert.Equal(t, 0.4, cfg.analyticsRate) @@ -57,9 +55,7 @@ func TestAnalyticsSettings(t *testing.T) { }) t.Run("override", func(t *testing.T) { - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) cfg := newConfig(WithAnalyticsRate(0.2)) assert.Equal(t, 0.2, cfg.analyticsRate) diff --git a/contrib/confluentinc/confluent-kafka-go/kafka/kafka.go b/contrib/confluentinc/confluent-kafka-go/kafka/kafka.go index acc56c0ec3..8793edb702 100644 --- a/contrib/confluentinc/confluent-kafka-go/kafka/kafka.go +++ b/contrib/confluentinc/confluent-kafka-go/kafka/kafka.go @@ -15,22 +15,19 @@ import ( "github.com/DataDog/dd-trace-go/v2/datastreams/options" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" - + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/confluentinc/confluent-kafka-go/kafka" ) const ( - // make sure these 3 are updated to V2 for the V2 version. - componentName = "confluentinc/confluent-kafka-go/kafka" - packageName = "contrib/confluentinc/confluent-kafka-go/kafka" - integrationName = "github.com/confluentinc/confluent-kafka-go" + componentName = instrumentation.PackageConfluentKafkaGo + pkgPath = "contrib/confluentinc/confluent-kafka-go/kafka" ) +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported(integrationName) + instr = instrumentation.Load(instrumentation.PackageConfluentKafkaGo) } // NewConsumer calls kafka.NewConsumer and wraps the resulting Consumer. @@ -67,7 +64,7 @@ func WrapConsumer(c *kafka.Consumer, opts ...Option) *Consumer { Consumer: c, cfg: newConfig(opts...), } - log.Debug("%s: Wrapping Consumer: %#v", packageName, wrapped.cfg) + instr.Logger().Debug("%s: Wrapping Consumer: %#v", pkgPath, wrapped.cfg) wrapped.events = wrapped.traceEventsChannel(c.Events()) return wrapped } @@ -265,7 +262,7 @@ func WrapProducer(p *kafka.Producer, opts ...Option) *Producer { events: p.Events(), libraryVersion: version, } - log.Debug("%s: Wrapping Producer: %#v", packageName, wrapped.cfg) + instr.Logger().Debug("%s: Wrapping Producer: %#v", pkgPath, wrapped.cfg) wrapped.produceChannel = wrapped.traceProduceChannel(p.ProduceChannel()) if wrapped.cfg.dataStreamsEnabled { wrapped.events = wrapped.traceEventsChannel(p.Events()) diff --git a/contrib/confluentinc/confluent-kafka-go/kafka/kafka_test.go b/contrib/confluentinc/confluent-kafka-go/kafka/kafka_test.go index 915fcf45c4..5fe0659997 100644 --- a/contrib/confluentinc/confluent-kafka-go/kafka/kafka_test.go +++ b/contrib/confluentinc/confluent-kafka-go/kafka/kafka_test.go @@ -18,9 +18,6 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - internaldsm "github.com/DataDog/dd-trace-go/v2/internal/datastreams" - "github.com/confluentinc/confluent-kafka-go/kafka" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -92,7 +89,7 @@ func produceThenConsume(t *testing.T, consumerAction consumerActionFn, producerO if c.cfg.dataStreamsEnabled { backlogs := mt.SentDSMBacklogs() - toMap := func(b []internaldsm.Backlog) map[string]struct{} { + toMap := func(b []mocktracer.DSMBacklog) map[string]struct{} { m := make(map[string]struct{}) for _, b := range backlogs { m[strings.Join(b.Tags, "")] = struct{}{} @@ -166,7 +163,7 @@ func TestConsumerChannel(t *testing.T) { assert.Equal(t, float64(1), s.Tag(ext.MessagingKafkaPartition)) assert.Equal(t, 0.3, s.Tag(ext.EventSampleRate)) assert.Equal(t, strconv.Itoa(i+1), s.Tag("offset")) - assert.Equal(t, componentName, s.Tag(ext.Component)) + assert.Equal(t, "confluentinc/confluent-kafka-go/kafka", s.Tag(ext.Component)) assert.Equal(t, ext.SpanKindConsumer, s.Tag(ext.SpanKind)) assert.Equal(t, "kafka", s.Tag(ext.MessagingSystem)) } @@ -237,7 +234,7 @@ func TestConsumerFunctional(t *testing.T) { assert.Equal(t, 0.1, s0.Tag(ext.EventSampleRate)) assert.Equal(t, "queue", s0.Tag(ext.SpanType)) assert.Equal(t, float64(0), s0.Tag(ext.MessagingKafkaPartition)) - assert.Equal(t, componentName, s0.Tag(ext.Component)) + assert.Equal(t, "confluentinc/confluent-kafka-go/kafka", s0.Tag(ext.Component)) assert.Equal(t, ext.SpanKindProducer, s0.Tag(ext.SpanKind)) assert.Equal(t, "kafka", s0.Tag(ext.MessagingSystem)) assert.Equal(t, "127.0.0.1", s0.Tag(ext.KafkaBootstrapServers)) @@ -249,7 +246,7 @@ func TestConsumerFunctional(t *testing.T) { assert.Equal(t, nil, s1.Tag(ext.EventSampleRate)) assert.Equal(t, "queue", s1.Tag(ext.SpanType)) assert.Equal(t, float64(0), s1.Tag(ext.MessagingKafkaPartition)) - assert.Equal(t, componentName, s1.Tag(ext.Component)) + assert.Equal(t, "confluentinc/confluent-kafka-go/kafka", s1.Tag(ext.Component)) assert.Equal(t, ext.SpanKindConsumer, s1.Tag(ext.SpanKind)) assert.Equal(t, "kafka", s1.Tag(ext.MessagingSystem)) assert.Equal(t, "127.0.0.1", s1.Tag(ext.KafkaBootstrapServers)) @@ -312,18 +309,3 @@ func TestCustomTags(t *testing.T) { assert.Equal(t, "bar", s.Tag("foo")) assert.Equal(t, "key1", s.Tag("key")) } - -func TestNamingSchema(t *testing.T) { - genSpans := func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - consumerAction := consumerActionFn(func(c *Consumer) (*kafka.Message, error) { - return c.ReadMessage(3000 * time.Millisecond) - }) - spans, _ := produceThenConsume(t, consumerAction, opts, opts) - return spans - } - namingschematest.NewKafkaTest(genSpans)(t) -} diff --git a/contrib/confluentinc/confluent-kafka-go/kafka/option.go b/contrib/confluentinc/confluent-kafka-go/kafka/option.go index 8ff5ef6594..d8b5ac5d97 100644 --- a/contrib/confluentinc/confluent-kafka-go/kafka/option.go +++ b/contrib/confluentinc/confluent-kafka-go/kafka/option.go @@ -11,13 +11,10 @@ import ( "net" "strings" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/confluentinc/confluent-kafka-go/kafka" -) -const defaultServiceName = "kafka" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) type config struct { ctx context.Context @@ -48,17 +45,14 @@ func newConfig(opts ...Option) *config { cfg := &config{ ctx: context.Background(), // analyticsRate: globalconfig.AnalyticsRate(), - analyticsRate: math.NaN(), - } - cfg.dataStreamsEnabled = internal.BoolEnv("DD_DATA_STREAMS_ENABLED", false) - if internal.BoolEnv("DD_TRACE_KAFKA_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 + analyticsRate: instr.AnalyticsRate(false), } + cfg.dataStreamsEnabled = instr.DataStreamsEnabled() - cfg.consumerServiceName = namingschema.ServiceName(defaultServiceName) - cfg.producerServiceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.consumerSpanName = namingschema.OpName(namingschema.KafkaInbound) - cfg.producerSpanName = namingschema.OpName(namingschema.KafkaOutbound) + cfg.consumerServiceName = instr.ServiceName(instrumentation.ComponentConsumer, nil) + cfg.producerServiceName = instr.ServiceName(instrumentation.ComponentProducer, nil) + cfg.consumerSpanName = instr.OperationName(instrumentation.ComponentConsumer, nil) + cfg.producerSpanName = instr.OperationName(instrumentation.ComponentProducer, nil) for _, opt := range opts { if opt == nil { diff --git a/contrib/confluentinc/confluent-kafka-go/kafka/option_test.go b/contrib/confluentinc/confluent-kafka-go/kafka/option_test.go index 332a30e2bc..33d38b52b9 100644 --- a/contrib/confluentinc/confluent-kafka-go/kafka/option_test.go +++ b/contrib/confluentinc/confluent-kafka-go/kafka/option_test.go @@ -9,9 +9,9 @@ import ( "math" "testing" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/stretchr/testify/assert" + + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" ) func TestDataStreamsActivation(t *testing.T) { @@ -43,10 +43,7 @@ func TestAnalyticsSettings(t *testing.T) { t.Run("global", func(t *testing.T) { t.Skip("global flag disabled") - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) - + testutils.SetGlobalAnalyticsRate(t, 0.4) cfg := newConfig() assert.Equal(t, 0.4, cfg.analyticsRate) }) @@ -57,10 +54,7 @@ func TestAnalyticsSettings(t *testing.T) { }) t.Run("override", func(t *testing.T) { - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) - + testutils.SetGlobalAnalyticsRate(t, 0.4) cfg := newConfig(WithAnalyticsRate(0.2)) assert.Equal(t, 0.2, cfg.analyticsRate) }) diff --git a/contrib/database/sql/conn.go b/contrib/database/sql/conn.go index 07d6fbef62..e12f2c9590 100644 --- a/contrib/database/sql/conn.go +++ b/contrib/database/sql/conn.go @@ -14,7 +14,6 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" "github.com/DataDog/dd-trace-go/v2/instrumentation/options" - "github.com/DataDog/dd-trace-go/v2/internal/log" ) var _ driver.Conn = (*TracedConn)(nil) @@ -255,7 +254,7 @@ func (tc *TracedConn) injectComments(ctx context.Context, query string, mode tra carrier := tracer.SQLCommentCarrier{Query: query, Mode: mode, DBServiceName: tc.cfg.serviceName, PeerDBHostname: tc.meta[ext.TargetHost], PeerDBName: tc.meta[ext.DBName]} if err := carrier.Inject(spanCtx); err != nil { // this should never happen - log.Warn("contrib/database/sql: failed to inject query comments: %v", err) + instr.Logger().Warn("contrib/database/sql: failed to inject query comments: %v", err) } return carrier.Query, carrier.SpanID } diff --git a/contrib/database/sql/exec_trace_test.go b/contrib/database/sql/exec_trace_test.go deleted file mode 100644 index fa985a7646..0000000000 --- a/contrib/database/sql/exec_trace_test.go +++ /dev/null @@ -1,154 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2023 Datadog, Inc. - -// TODO: gotraceui does not currently handle Go 1.21 execution tracer changes, -// so we need to skip this test for that version. We still have coverage for -// older Go versions due to our support policy, and Go 1.21 shouldn't fundamentally -// change the behavior this test is covering. Remove this build constraint -// once gotraceui supports Go 1.21 -// -//go:build !go1.21 - -package sql - -import ( - "bytes" - "context" - "io" - "net/http" - "runtime/trace" - "testing" - "time" - - "github.com/DataDog/dd-trace-go/contrib/database/sql/v2/internal" - "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/httpmem" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - gotraceui "honnef.co/go/gotraceui/trace" -) - -func TestExecutionTraceAnnotations(t *testing.T) { - if trace.IsEnabled() { - t.Skip("execution tracing is already enabled") - } - - // In-memory server & client which discards everything, to avoid - // slowness from unnecessary network I/O - s, c := httpmem.ServerAndClient(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {})) - defer s.Close() - tracer.Start(tracer.WithHTTPClient(c), tracer.WithLogStartup(false)) - defer tracer.Stop() - - buf := new(bytes.Buffer) - require.NoError(t, trace.Start(buf), "starting execution tracing") - - // sleepDuration is the amount of time our mock DB operations should - // take. We are going to assert that the execution trace tasks - // corresponding with the duration are at least as long as this. In - // reality they could be longer than this due to slow CI, scheduling - // jitter, etc., but we know that they should be at least this long. - const sleepDuration = 10 * time.Millisecond - - Register("mock", &internal.MockDriver{ - Hook: func() { - time.Sleep(sleepDuration) - }, - }) - db, err := Open("mock", "") - require.NoError(t, err, "opening mock db") - - span, ctx := tracer.StartSpanFromContext(context.Background(), "parent") - _, err = db.ExecContext(ctx, "foobar") - require.NoError(t, err, "executing mock statement") - conn, err := db.Conn(ctx) - require.NoError(t, err, "connecting to DB") - rows, err := conn.QueryContext(ctx, "foobar") - require.NoError(t, err, "executing mock query") - rows.Close() - stmt, err := conn.PrepareContext(ctx, "prepared") - require.NoError(t, err, "preparing mock statement") - _, err = stmt.ExecContext(ctx) - require.NoError(t, err, "executing mock perpared statement") - rows, err = stmt.QueryContext(ctx) - require.NoError(t, err, "executing mock perpared query") - rows.Close() - tx, err := conn.BeginTx(ctx, nil) - require.NoError(t, err, "beginning mock transaction") - _, err = tx.ExecContext(ctx, "foobar") - require.NoError(t, err, "executing query in mock transaction") - require.NoError(t, tx.Commit(), "commiting mock transaction") - require.NoError(t, conn.Close()) - - span.Finish() - - trace.Stop() - - tasks, err := tasksFromTrace(buf) - require.NoError(t, err, "getting tasks from trace") - - expectedParentChildTasks := []string{"Connect", "Exec", "Query", "Prepare", "Exec", "Query", "Begin", "Exec"} - var foundParent, foundPrepared bool - for id, task := range tasks { - t.Logf("task %d: %+v", id, task) - switch task.name { - case "parent": - foundParent = true - var gotParentChildTasks []string - for _, id := range tasks[id].children { - gotParentChildTasks = append(gotParentChildTasks, tasks[id].name) - } - assert.ElementsMatch(t, expectedParentChildTasks, gotParentChildTasks) - case "Prepare": - foundPrepared = true - assert.GreaterOrEqual(t, task.duration, sleepDuration, "task %s", task.name) - case "Connect", "Exec", "Begin", "Commit", "Query": - assert.GreaterOrEqual(t, task.duration, sleepDuration, "task %s", task.name) - default: - continue - } - } - assert.True(t, foundParent, "need parent task") - assert.True(t, foundPrepared, "need prepared statement task") -} - -type traceTask struct { - name string - duration time.Duration - parent int - children []int -} - -func tasksFromTrace(r io.Reader) (map[int]traceTask, error) { - execTrace, err := gotraceui.Parse(r, nil) - if err != nil { - return nil, err - } - - tasks := make(map[int]traceTask) - for _, ev := range execTrace.Events { - switch ev.Type { - case gotraceui.EvUserTaskCreate: - if ev.Link == -1 { - continue - } - id := int(ev.Args[0]) - parent := int(ev.Args[1]) - if parent != 0 { - t := tasks[parent] - t.children = append(t.children, id) - tasks[parent] = t - } - name := execTrace.Strings[ev.Args[2]] - tasks[id] = traceTask{ - name: name, - parent: parent, - duration: time.Duration(execTrace.Events[ev.Link].Ts - ev.Ts), - } - } - } - return tasks, nil -} diff --git a/contrib/database/sql/go.mod b/contrib/database/sql/go.mod index 4eb04b808f..a7d172ed97 100644 --- a/contrib/database/sql/go.mod +++ b/contrib/database/sql/go.mod @@ -10,7 +10,6 @@ require ( github.com/lib/pq v1.10.2 github.com/mattn/go-sqlite3 v1.14.16 github.com/stretchr/testify v1.8.4 - honnef.co/go/gotraceui v0.2.0 ) require ( diff --git a/contrib/database/sql/internal/dsn.go b/contrib/database/sql/internal/dsn.go index ea4d48e1d1..58b15556a0 100644 --- a/contrib/database/sql/internal/dsn.go +++ b/contrib/database/sql/internal/dsn.go @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016 Datadog, Inc. -package internal // import "github.com/DataDog/dd-trace-go/contrib/database/sql/v2/internal" +package internal import ( "net" @@ -11,9 +11,15 @@ import ( "strings" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" - "github.com/DataDog/dd-trace-go/v2/internal/log" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) +var instr *instrumentation.Instrumentation + +func init() { + instr = instrumentation.Load(instrumentation.PackageDatabaseSQL) +} + // ParseDSN parses various supported DSN types into a map of key/value pairs which can be used as valid tags. func ParseDSN(driverName, dsn string) (meta map[string]string, err error) { meta = make(map[string]string) @@ -21,19 +27,19 @@ func ParseDSN(driverName, dsn string) (meta map[string]string, err error) { case "mysql": meta, err = parseMySQLDSN(dsn) if err != nil { - log.Debug("Error parsing DSN for mysql: %v", err) + instr.Logger().Debug("Error parsing DSN for mysql: %v", err) return } case "postgres", "pgx": meta, err = parsePostgresDSN(dsn) if err != nil { - log.Debug("Error parsing DSN for postgres: %v", err) + instr.Logger().Debug("Error parsing DSN for postgres: %v", err) return } case "sqlserver": meta, err = parseSQLServerDSN(dsn) if err != nil { - log.Debug("Error parsing DSN for sqlserver: %v", err) + instr.Logger().Debug("Error parsing DSN for sqlserver: %v", err) return } default: @@ -41,7 +47,7 @@ func ParseDSN(driverName, dsn string) (meta map[string]string, err error) { u, e := url.Parse(dsn) if e != nil { // dsn is not a valid URL, so just ignore - log.Debug("Error parsing driver name from DSN: %v", e) + instr.Logger().Debug("Error parsing driver name from DSN: %v", e) return } if driverName != u.Scheme { diff --git a/contrib/database/sql/metrics.go b/contrib/database/sql/metrics.go index d5caf750f6..da93a2c013 100644 --- a/contrib/database/sql/metrics.go +++ b/contrib/database/sql/metrics.go @@ -9,9 +9,7 @@ import ( "database/sql" "time" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/log" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const tracerPrefix = "datadog.tracer." @@ -33,10 +31,10 @@ var interval = 10 * time.Second // pollDBStats calls (*DB).Stats on the db at a predetermined interval. It pushes the DBStats off to the statsd client. // the caller should always ensure that db & statsd are non-nil -func pollDBStats(statsd internal.StatsdClient, db *sql.DB) { - log.Debug("DB stats will be gathered and sent every %v.", interval) +func pollDBStats(statsd instrumentation.StatsdClient, db *sql.DB) { + instr.Logger().Debug("DB stats will be gathered and sent every %v.", interval) for range time.NewTicker(interval).C { - log.Debug("Reporting DB.Stats metrics...") + instr.Logger().Debug("Reporting DB.Stats metrics...") stat := db.Stats() statsd.Gauge(MaxOpenConnections, float64(stat.MaxOpenConnections), []string{}, 1) statsd.Gauge(OpenConnections, float64(stat.OpenConnections), []string{}, 1) @@ -50,8 +48,8 @@ func pollDBStats(statsd internal.StatsdClient, db *sql.DB) { } } -func statsTags(c *config) []string { - tags := globalconfig.StatsTags() +func (c *config) statsdExtraTags() []string { + var tags []string if c.serviceName != "" { tags = append(tags, "service:"+c.serviceName) } diff --git a/contrib/database/sql/metrics_test.go b/contrib/database/sql/metrics_test.go index 7e2b675eae..11f319f09f 100644 --- a/contrib/database/sql/metrics_test.go +++ b/contrib/database/sql/metrics_test.go @@ -8,59 +8,28 @@ package sql import ( "testing" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" "github.com/stretchr/testify/assert" ) -func (cfg *config) applyTags() { +func applyTags(cfg *config) { cfg.serviceName = "my-svc" cfg.tags = make(map[string]interface{}) cfg.tags["tag"] = "value" } -func setGlobalCfgTags() { - globalconfig.SetStatsTags([]string{"globaltag:globalvalue"}) -} - -func resetGlobalConfig() { - globalconfig.SetStatsTags([]string{}) -} - // Test that statsTags(*config) returns tags from the provided *config + whatever is on the globalconfig func TestStatsTags(t *testing.T) { t.Run("default none", func(t *testing.T) { - resetGlobalConfig() cfg := new(config) - tags := statsTags(cfg) + tags := cfg.statsdExtraTags() assert.Len(t, tags, 0) }) - t.Run("cfg only", func(t *testing.T) { - resetGlobalConfig() + t.Run("add tags from config", func(t *testing.T) { cfg := new(config) - cfg.applyTags() - tags := statsTags(cfg) + applyTags(cfg) + tags := cfg.statsdExtraTags() assert.Len(t, tags, 2) assert.Contains(t, tags, "service:my-svc") assert.Contains(t, tags, "tag:value") }) - t.Run("inherit globalconfig", func(t *testing.T) { - resetGlobalConfig() - cfg := new(config) - setGlobalCfgTags() - tags := statsTags(cfg) - assert.Len(t, tags, 1) - assert.Contains(t, tags, "globaltag:globalvalue") - }) - t.Run("both", func(t *testing.T) { - resetGlobalConfig() - cfg := new(config) - cfg.applyTags() - setGlobalCfgTags() - tags := statsTags(cfg) - assert.Len(t, tags, 3) - assert.Contains(t, tags, "globaltag:globalvalue") - assert.Contains(t, tags, "service:my-svc") - assert.Contains(t, tags, "tag:value") - }) - resetGlobalConfig() } diff --git a/contrib/database/sql/option.go b/contrib/database/sql/option.go index 26187b7962..62b1731b42 100644 --- a/contrib/database/sql/option.go +++ b/contrib/database/sql/option.go @@ -7,17 +7,14 @@ package sql import ( "database/sql/driver" - "fmt" "math" "os" "reflect" "strings" + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) type config struct { @@ -31,7 +28,7 @@ type config struct { tags map[string]interface{} dbmPropagationMode tracer.DBMPropagationMode dbStats bool - statsdClient internal.StatsdClient + statsdClient instrumentation.StatsdClient } // checkStatsdRequired adds a statsdclient onto the config if dbstats is enabled @@ -40,12 +37,11 @@ func (c *config) checkStatsdRequired() { if c.dbStats && c.statsdClient == nil { // contrib/database/sql's statsdclient should always inherit its address from the tracer's statsdclient via the globalconfig // destination is not user-configurable - sc, err := internal.NewStatsdClient(globalconfig.DogstatsdAddr(), statsTags(c)) + sc, err := instr.StatsdClient(c.statsdExtraTags()) if err == nil { c.statsdClient = sc - log.Debug("Metrics from the database/sql contrib will be sent to %v", globalconfig.DogstatsdAddr()) } else { - log.Warn("Error creating statsd client for database/sql contrib; DB Stats disabled: %v", err) + instr.Logger().Warn("Error creating statsd client for database/sql contrib; DB Stats disabled: %v", err) c.dbStats = false } } @@ -57,7 +53,7 @@ func (c *config) checkDBMPropagation(driverName string, driver driver.Driver, ds dsn = c.dsn } if dbSystem, ok := dbmFullModeUnsupported(driverName, driver, dsn); ok { - log.Warn("Using DBM_PROPAGATION_MODE in 'full' mode is not supported for %s, downgrading to 'service' mode. "+ + instr.Logger().Warn("Using DBM_PROPAGATION_MODE in 'full' mode is not supported for %s, downgrading to 'service' mode. "+ "See https://docs.datadoghq.com/database_monitoring/connect_dbm_and_apm/ for more info.", dbSystem, ) @@ -143,17 +139,13 @@ type registerConfig = config func defaults(cfg *config, driverName string, rc *registerConfig) { // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_SQL_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.analyticsRate = instr.AnalyticsRate(false) mode := os.Getenv("DD_DBM_PROPAGATION_MODE") if mode == "" { mode = os.Getenv("DD_TRACE_SQL_COMMENT_INJECTION_MODE") } cfg.dbmPropagationMode = tracer.DBMPropagationMode(mode) - cfg.serviceName = getServiceName(driverName, rc) + cfg.serviceName = defaultServiceName(driverName, rc) cfg.spanName = getSpanName(driverName) if rc != nil { // use registered config as the default value for some options @@ -170,14 +162,16 @@ func defaults(cfg *config, driverName string, rc *registerConfig) { } } -func getServiceName(driverName string, rc *registerConfig) string { - defaultServiceName := fmt.Sprintf("%s.db", driverName) +func defaultServiceName(driverName string, rc *registerConfig) string { + registerService := "" if rc != nil { - // if service name was set during Register, we use that value as default instead of - // the one calculated above. - defaultServiceName = rc.serviceName + // if service name was set during Register, we use that value as default. + registerService = rc.serviceName } - return namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) + return instr.ServiceName(instrumentation.ComponentDefault, instrumentation.OperationContext{ + "driverName": driverName, + "registerService": registerService, + }) } func getSpanName(driverName string) string { @@ -185,7 +179,10 @@ func getSpanName(driverName string) string { if normalizedDBSystem, ok := normalizeDBSystem(driverName); ok { dbSystem = normalizedDBSystem } - return namingschema.DBOpName(dbSystem, fmt.Sprintf("%s.query", driverName)) + return instr.OperationName(instrumentation.ComponentDefault, instrumentation.OperationContext{ + "driverName": driverName, + ext.DBSystem: dbSystem, + }) } // WithService sets the given service name when registering a driver, diff --git a/contrib/database/sql/option_test.go b/contrib/database/sql/option_test.go index bf72ef734b..9b6d276091 100644 --- a/contrib/database/sql/option_test.go +++ b/contrib/database/sql/option_test.go @@ -8,18 +8,16 @@ package sql import ( "testing" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/datadog-go/v5/statsd" "github.com/stretchr/testify/assert" + + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" ) func TestAnalyticsSettings(t *testing.T) { t.Run("global", func(t *testing.T) { t.Skip("global flag disabled") - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) cfg := new(registerConfig) defaults(cfg, "", nil) @@ -34,9 +32,7 @@ func TestAnalyticsSettings(t *testing.T) { }) t.Run("override", func(t *testing.T) { - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) cfg := new(registerConfig) defaults(cfg, "", nil) @@ -73,7 +69,7 @@ func TestCheckStatsdRequired(t *testing.T) { assert.True(t, ok) }) t.Run("invalid address", func(t *testing.T) { - globalconfig.SetDogstatsdAddr("unreachable/socket/path/dsd.socket") + testutils.SetGlobalDogstatsdAddr(t, "unreachable/socket/path/dsd.socket") cfg := new(config) cfg.dbStats = true cfg.checkStatsdRequired() diff --git a/contrib/database/sql/propagation_test.go b/contrib/database/sql/propagation_test.go index aeb28a3e82..6e3298d8ec 100644 --- a/contrib/database/sql/propagation_test.go +++ b/contrib/database/sql/propagation_test.go @@ -15,23 +15,18 @@ import ( "regexp" "testing" - "github.com/DataDog/dd-trace-go/contrib/database/sql/v2/internal" - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - mssql "github.com/denisenkom/go-mssqldb" "github.com/go-sql-driver/mysql" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + + "github.com/DataDog/dd-trace-go/contrib/database/sql/v2/internal" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" ) func TestDBMPropagation(t *testing.T) { - // Ensure the global service name is set to the previous value after we finish the test, since the - // tracer.WithService option overrides it. - prevServiceName := globalconfig.ServiceName() - defer globalconfig.SetServiceName(prevServiceName) - testCases := []struct { name string opts []Option @@ -155,13 +150,15 @@ func TestDBMPropagation(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - tracer.Start( - tracer.WithService("test-service"), + err := tracer.Start( tracer.WithEnv("test-env"), tracer.WithServiceVersion("1.0.0"), tracer.WithHTTPClient(&http.Client{Transport: &mockRoundTripper{}}), + tracer.WithLogger(testutils.DiscardLogger()), ) + require.NoError(t, err) defer tracer.Stop() + testutils.SetGlobalServiceName(t, "test-service") d := &internal.MockDriver{} Register("test", d, tc.opts...) diff --git a/contrib/database/sql/sql.go b/contrib/database/sql/sql.go index 7731579c41..269df3877b 100644 --- a/contrib/database/sql/sql.go +++ b/contrib/database/sql/sql.go @@ -19,21 +19,23 @@ import ( "context" "database/sql" "database/sql/driver" + "os" "reflect" "sync" "time" sqlinternal "github.com/DataDog/dd-trace-go/contrib/database/sql/v2/internal" - "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const componentName = "database/sql" +const componentName = instrumentation.PackageDatabaseSQL + +var instr *instrumentation.Instrumentation + +var testMode *bool func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported(componentName) + instr = instrumentation.Load(instrumentation.PackageDatabaseSQL) } // registeredDrivers holds a registry of all drivers registered via the sqltrace package. @@ -116,15 +118,24 @@ func Register(driverName string, driver driver.Driver, opts ...Option) { if driver == nil { panic("sqltrace: Register driver is nil") } + if testMode == nil { + _, ok := os.LookupEnv("__DD_TRACE_SQL_TEST") + testMode = &ok + } + testModeEnabled := *testMode if registeredDrivers.isRegistered(driverName) { // already registered, don't change things - return + if !testModeEnabled { + return + } + // if we are in test mode, just unregister the driver and replace it + unregister(driverName) } cfg := new(config) defaults(cfg, driverName, nil) processOptions(cfg, driverName, driver, "", opts...) - log.Debug("contrib/database/sql: Registering driver: %s %#v", driverName, cfg) + instr.Logger().Debug("contrib/database/sql: Registering driver: %s %#v", driverName, cfg) registeredDrivers.add(driverName, driver, cfg) } diff --git a/contrib/database/sql/sql_test.go b/contrib/database/sql/sql_test.go index b7f02771aa..b00d59bb76 100644 --- a/contrib/database/sql/sql_test.go +++ b/contrib/database/sql/sql_test.go @@ -17,18 +17,17 @@ import ( "testing" "time" - "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/sqltest" - "github.com/DataDog/dd-trace-go/v2/internal/statsdtest" - mssql "github.com/denisenkom/go-mssqldb" "github.com/go-sql-driver/mysql" "github.com/lib/pq" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" + sqltest "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils/sql" ) // tableName holds the SQL table that these tests will be run against. It must be unique cross-repo. @@ -278,10 +277,10 @@ func TestOpenOptions(t *testing.T) { }) t.Run("WithDBStats", func(t *testing.T) { - var tg statsdtest.TestStatsdClient + m := testutils.NewMockStatsdClient() Register(driverName, &pq.Driver{}) defer unregister(driverName) - _, err := Open(driverName, dsn, withStatsdClient(&tg), WithDBStats()) + _, err := Open(driverName, dsn, withStatsdClient(&m), WithDBStats()) require.NoError(t, err) // The polling interval has been reduced to 500ms for the sake of this test, so at least one round of `pollDBStats` should be complete in 1s @@ -291,7 +290,7 @@ func TestOpenOptions(t *testing.T) { if time.Now().After(deadline) { t.Fatalf("Stats not collected in expected interval of %v", interval) } - calls := tg.CallNames() + calls := m.CallNames() // if the expected volume of stats has been collected, ensure 9/9 of the DB Stats are included if len(calls) >= len(wantStats) { for _, s := range wantStats { @@ -308,7 +307,7 @@ func TestOpenOptions(t *testing.T) { }) } -func withStatsdClient(s internal.StatsdClient) OptionFn { +func withStatsdClient(s instrumentation.StatsdClient) OptionFn { return func(c *config) { c.statsdClient = s } @@ -397,135 +396,3 @@ func TestRegister(_ *testing.T) { unregister("test" + strconv.FormatInt(int64(i), 10)) } } - -func TestNamingSchema(t *testing.T) { - newGenSpansFunc := func(t *testing.T, driverName string, registerOverride bool) namingschematest.GenSpansFn { - return func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var registerOpts []Option - // serviceOverride has higher priority than the registerOverride parameter. - if serviceOverride != "" { - registerOpts = append(registerOpts, WithService(serviceOverride)) - } else if registerOverride { - registerOpts = append(registerOpts, WithService("register-override")) - } - var openOpts []Option - if serviceOverride != "" { - openOpts = append(openOpts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - var ( - dv driver.Driver - dsn string - ) - switch driverName { - case "sqlserver": - dv = &mssql.Driver{} - dsn = "sqlserver://sa:myPassw0rd@127.0.0.1:1433?database=master" - case "postgres": - dv = &pq.Driver{} - dsn = "postgres://postgres:postgres@127.0.0.1:5432/postgres?sslmode=disable" - case "mysql": - dv = &mysql.MySQLDriver{} - dsn = "test:test@tcp(127.0.0.1:3306)/test" - default: - t.Fatal("unknown driver: ", driverName) - } - Register(driverName, dv, registerOpts...) - defer unregister(driverName) - db, err := Open(driverName, dsn, openOpts...) - require.NoError(t, err) - - err = db.Ping() - require.NoError(t, err) - - spans := mt.FinishedSpans() - require.Len(t, spans, 2) - return spans - } - } - t.Run("SQLServer", func(t *testing.T) { - genSpans := newGenSpansFunc(t, "sqlserver", false) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "sqlserver.query", spans[0].OperationName()) - assert.Equal(t, "sqlserver.query", spans[1].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "mssql.query", spans[0].OperationName()) - assert.Equal(t, "mssql.query", spans[1].OperationName()) - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"sqlserver.db", "sqlserver.db"}, - WithDDService: []string{"sqlserver.db", "sqlserver.db"}, - WithDDServiceAndOverride: []string{namingschematest.TestServiceOverride, namingschematest.TestServiceOverride}, - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) - }) - t.Run("Postgres", func(t *testing.T) { - genSpans := newGenSpansFunc(t, "postgres", false) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "postgres.query", spans[0].OperationName()) - assert.Equal(t, "postgres.query", spans[1].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "postgresql.query", spans[0].OperationName()) - assert.Equal(t, "postgresql.query", spans[1].OperationName()) - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"postgres.db", "postgres.db"}, - WithDDService: []string{"postgres.db", "postgres.db"}, - WithDDServiceAndOverride: []string{namingschematest.TestServiceOverride, namingschematest.TestServiceOverride}, - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) - }) - t.Run("PostgresWithRegisterOverride", func(t *testing.T) { - genSpans := newGenSpansFunc(t, "postgres", true) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "postgres.query", spans[0].OperationName()) - assert.Equal(t, "postgres.query", spans[1].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "postgresql.query", spans[0].OperationName()) - assert.Equal(t, "postgresql.query", spans[1].OperationName()) - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - // when the WithService option is set during Register and not providing a service name when opening - // the DB connection, that value is used as default instead of postgres.db. - WithDefaults: []string{"register-override", "register-override"}, - // in v0, DD_SERVICE is ignored for this integration. - WithDDService: []string{"register-override", "register-override"}, - WithDDServiceAndOverride: []string{namingschematest.TestServiceOverride, namingschematest.TestServiceOverride}, - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) - }) - t.Run("MySQL", func(t *testing.T) { - genSpans := newGenSpansFunc(t, "mysql", false) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "mysql.query", spans[0].OperationName()) - assert.Equal(t, "mysql.query", spans[1].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "mysql.query", spans[0].OperationName()) - assert.Equal(t, "mysql.query", spans[1].OperationName()) - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"mysql.db", "mysql.db"}, - WithDDService: []string{"mysql.db", "mysql.db"}, - WithDDServiceAndOverride: []string{namingschematest.TestServiceOverride, namingschematest.TestServiceOverride}, - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) - }) -} diff --git a/contrib/database/sql/tx.go b/contrib/database/sql/tx.go index 6b5947c534..a3a0b8ceba 100644 --- a/contrib/database/sql/tx.go +++ b/contrib/database/sql/tx.go @@ -10,8 +10,6 @@ import ( "database/sql/driver" "runtime/trace" "time" - - "github.com/DataDog/dd-trace-go/v2/internal" ) var _ driver.Tx = (*tracedTx)(nil) @@ -38,7 +36,7 @@ func startTraceTask(ctx context.Context, name string) (context.Context, func()) return ctx, noopTaskEnd } ctx, task := trace.NewTask(ctx, name) - return internal.WithExecutionTraced(ctx), task.End + return instr.WithExecutionTraced(ctx), task.End } // Commit sends a span at the end of the transaction diff --git a/contrib/dimfeld/httptreemux.v5/httptreemux.go b/contrib/dimfeld/httptreemux.v5/httptreemux.go index 608da7c5fb..f207fc85fb 100644 --- a/contrib/dimfeld/httptreemux.v5/httptreemux.go +++ b/contrib/dimfeld/httptreemux.v5/httptreemux.go @@ -10,20 +10,20 @@ import ( "net/http" "strings" + "github.com/dimfeld/httptreemux/v5" + httptrace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" - - "github.com/dimfeld/httptreemux/v5" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const componentName = "dimfeld/httptreemux.v5" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/dimfeld/httptreemux/v5") + instr = instrumentation.Load(instrumentation.PackageDimfeldHTTPTreeMuxV5) } // Router is a traced version of httptreemux.TreeMux. @@ -42,7 +42,7 @@ func New(opts ...RouterOption) *Router { cfg.spanOpts = append(cfg.spanOpts, tracer.Measured()) cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.SpanKind, ext.SpanKindServer)) cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.Component, componentName)) - log.Debug("contrib/dimfeld/httptreemux.v5: Configuring Router: %#v", cfg) + instr.Logger().Debug("contrib/dimfeld/httptreemux.v5: Configuring Router: %#v", cfg) return &Router{httptreemux.New(), cfg} } @@ -77,7 +77,7 @@ func NewWithContext(opts ...RouterOption) *ContextRouter { cfg.spanOpts = append(cfg.spanOpts, tracer.Measured()) cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.SpanKind, ext.SpanKindServer)) cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.Component, componentName)) - log.Debug("contrib/dimfeld/httptreemux.v5: Configuring ContextRouter: %#v", cfg) + instr.Logger().Debug("contrib/dimfeld/httptreemux.v5: Configuring ContextRouter: %#v", cfg) return &ContextRouter{httptreemux.NewContextMux(), cfg} } diff --git a/contrib/dimfeld/httptreemux.v5/httptreemux_test.go b/contrib/dimfeld/httptreemux.v5/httptreemux_test.go index abdc67a1f9..6f1c681f33 100644 --- a/contrib/dimfeld/httptreemux.v5/httptreemux_test.go +++ b/contrib/dimfeld/httptreemux.v5/httptreemux_test.go @@ -10,13 +10,12 @@ import ( "net/http/httptest" "testing" + "github.com/dimfeld/httptreemux/v5" + "github.com/stretchr/testify/assert" + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - - "github.com/dimfeld/httptreemux/v5" - "github.com/stretchr/testify/assert" ) func TestHttpTracer200(t *testing.T) { @@ -218,26 +217,6 @@ func TestResourceNamer(t *testing.T) { assert.Zero(s.Tag(ext.Error)) } -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []RouterOption - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - mux := New(opts...) - mux.GET("/200", handler200) - r := httptest.NewRequest("GET", "/200", nil) - w := httptest.NewRecorder() - mux.ServeHTTP(w, r) - - return mt.FinishedSpans() - }) - namingschematest.NewHTTPServerTest(genSpans, "http.router")(t) -} - func TestTrailingSlashRoutesWithBehaviorRedirect301(t *testing.T) { t.Run("GET unknown", func(t *testing.T) { assert := assert.New(t) diff --git a/contrib/dimfeld/httptreemux.v5/option.go b/contrib/dimfeld/httptreemux.v5/option.go index 53488417cd..a96dc86996 100644 --- a/contrib/dimfeld/httptreemux.v5/option.go +++ b/contrib/dimfeld/httptreemux.v5/option.go @@ -12,11 +12,9 @@ import ( "github.com/dimfeld/httptreemux/v5" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "http.router" - type routerConfig struct { serviceName string spanOpts []tracer.StartSpanOption @@ -36,7 +34,7 @@ func (fn RouterOptionFn) apply(cfg *routerConfig) { } func defaults(cfg *routerConfig) { - cfg.serviceName = namingschema.ServiceName(defaultServiceName) + cfg.serviceName = instr.ServiceName(instrumentation.ComponentServer, nil) cfg.resourceNamer = defaultResourceNamer } diff --git a/contrib/elastic/go-elasticsearch.v6/elastictrace.go b/contrib/elastic/go-elasticsearch.v6/elastictrace.go index d8ad21c8c7..569ba1faa0 100644 --- a/contrib/elastic/go-elasticsearch.v6/elastictrace.go +++ b/contrib/elastic/go-elasticsearch.v6/elastictrace.go @@ -20,14 +20,15 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const componentName = "elastic/go-elasticsearch.v6" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/elastic/go-elasticsearch/v6") + instr = instrumentation.Load(instrumentation.PackageGoElasticSearchV6) } // NewRoundTripper returns a new http.Client which traces requests under the given service name. diff --git a/contrib/elastic/go-elasticsearch.v6/elastictrace_v6_test.go b/contrib/elastic/go-elasticsearch.v6/elastictrace_v6_test.go index ac4b8a4cc9..2fcfc962e8 100644 --- a/contrib/elastic/go-elasticsearch.v6/elastictrace_v6_test.go +++ b/contrib/elastic/go-elasticsearch.v6/elastictrace_v6_test.go @@ -10,13 +10,13 @@ import ( "strings" "testing" - "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - elasticsearch6 "github.com/elastic/go-elasticsearch/v6" esapi6 "github.com/elastic/go-elasticsearch/v6/esapi" "github.com/stretchr/testify/assert" + + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" ) func checkGETTraceV6(assert *assert.Assertions, mt mocktracer.Tracer) { @@ -222,10 +222,7 @@ func TestAnalyticsSettingsV6(t *testing.T) { t.Skip("global flag disabled") mt := mocktracer.Start() defer mt.Stop() - - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -247,10 +244,7 @@ func TestAnalyticsSettingsV6(t *testing.T) { t.Run("override", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) diff --git a/contrib/elastic/go-elasticsearch.v6/elastictrace_v7_test.go b/contrib/elastic/go-elasticsearch.v6/elastictrace_v7_test.go index 7ac4ea9ce9..dc8b4cbce0 100644 --- a/contrib/elastic/go-elasticsearch.v6/elastictrace_v7_test.go +++ b/contrib/elastic/go-elasticsearch.v6/elastictrace_v7_test.go @@ -12,8 +12,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" elasticsearch7 "github.com/elastic/go-elasticsearch/v7" esapi7 "github.com/elastic/go-elasticsearch/v7/esapi" "github.com/stretchr/testify/assert" @@ -222,10 +221,7 @@ func TestAnalyticsSettingsV7(t *testing.T) { t.Skip("global flag disabled") mt := mocktracer.Start() defer mt.Stop() - - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -247,10 +243,7 @@ func TestAnalyticsSettingsV7(t *testing.T) { t.Run("override", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) diff --git a/contrib/elastic/go-elasticsearch.v6/elastictrace_v8_test.go b/contrib/elastic/go-elasticsearch.v6/elastictrace_v8_test.go index ada7521459..5ba15d6838 100644 --- a/contrib/elastic/go-elasticsearch.v6/elastictrace_v8_test.go +++ b/contrib/elastic/go-elasticsearch.v6/elastictrace_v8_test.go @@ -7,18 +7,15 @@ package elastic import ( "context" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "strings" "testing" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - elasticsearch8 "github.com/elastic/go-elasticsearch/v8" esapi8 "github.com/elastic/go-elasticsearch/v8/esapi" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) func checkGETTraceV8(assert *assert.Assertions, mt mocktracer.Tracer) { @@ -219,10 +216,7 @@ func TestAnalyticsSettingsV8(t *testing.T) { t.Skip("global flag disabled") mt := mocktracer.Start() defer mt.Stop() - - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -244,56 +238,8 @@ func TestAnalyticsSettingsV8(t *testing.T) { t.Run("override", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) } - -func TestNamingSchema(t *testing.T) { - genSpans := func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []ClientOption - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - cfg := elasticsearch8.Config{ - Transport: NewRoundTripper(opts...), - Addresses: []string{ - elasticV8URL, - }, - } - client, err := elasticsearch8.NewClient(cfg) - require.NoError(t, err) - - _, err = esapi8.IndexRequest{ - Index: "twitter", - DocumentID: "1", - Body: strings.NewReader(`{"user": "test", "message": "hello"}`), - }.Do(context.Background(), client) - require.NoError(t, err) - - spans := mt.FinishedSpans() - require.Len(t, spans, 1) - return spans - } - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "elasticsearch.query", spans[0].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "elasticsearch.query", spans[0].OperationName()) - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"elastic.client"}, - WithDDService: []string{"elastic.client"}, - WithDDServiceAndOverride: []string{namingschematest.TestServiceOverride}, - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} diff --git a/contrib/elastic/go-elasticsearch.v6/option.go b/contrib/elastic/go-elasticsearch.v6/option.go index f7d924f1cf..41ab3271fa 100644 --- a/contrib/elastic/go-elasticsearch.v6/option.go +++ b/contrib/elastic/go-elasticsearch.v6/option.go @@ -6,15 +6,11 @@ package elastic import ( + "github.com/DataDog/dd-trace-go/v2/instrumentation" "math" "net/http" - - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" ) -const defaultServiceName = "elastic.client" - type clientConfig struct { serviceName string operationName string @@ -36,15 +32,11 @@ func (fn ClientOptionFn) apply(cfg *clientConfig) { } func defaults(cfg *clientConfig) { - cfg.serviceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.operationName = namingschema.OpName(namingschema.ElasticSearchOutbound) + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.operationName = instr.OperationName(instrumentation.ComponentDefault, nil) cfg.transport = http.DefaultTransport cfg.resourceNamer = quantize - if internal.BoolEnv("DD_TRACE_ELASTIC_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.analyticsRate = instr.AnalyticsRate(false) } // WithTransport sets the given transport as an http.Transport for the client. diff --git a/contrib/emicklei/go-restful.v3/option.go b/contrib/emicklei/go-restful.v3/option.go index ae2f2a97b5..4311ad5287 100644 --- a/contrib/emicklei/go-restful.v3/option.go +++ b/contrib/emicklei/go-restful.v3/option.go @@ -8,30 +8,20 @@ package restful import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "go-restful" - type config struct { serviceName string analyticsRate float64 - headerTags *internal.LockMap + headerTags instrumentation.HeaderTags } func newConfig() *config { - rate := globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_RESTFUL_ANALYTICS_ENABLED", false) { - rate = 1.0 - } - serviceName := namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) return &config{ - serviceName: serviceName, - analyticsRate: rate, - headerTags: globalconfig.HeaderTagMap(), + serviceName: instr.ServiceName(instrumentation.ComponentServer, nil), + analyticsRate: instr.AnalyticsRate(true), + headerTags: instr.HTTPHeadersAsTags(), } } @@ -82,8 +72,7 @@ func WithAnalyticsRate(rate float64) OptionFn { // Using this feature can risk exposing sensitive data such as authorization tokens to Datadog. // Special headers can not be sub-selected. E.g., an entire Cookie header would be transmitted, without the ability to choose specific Cookies. func WithHeaderTags(headers []string) OptionFn { - headerTagsMap := normalizer.HeaderTagSlice(headers) return func(cfg *config) { - cfg.headerTags = internal.NewLockMap(headerTagsMap) + cfg.headerTags = instrumentation.NewHeaderTags(headers) } } diff --git a/contrib/emicklei/go-restful.v3/restful.go b/contrib/emicklei/go-restful.v3/restful.go index f43af78eee..a1b33cc27d 100644 --- a/contrib/emicklei/go-restful.v3/restful.go +++ b/contrib/emicklei/go-restful.v3/restful.go @@ -9,20 +9,20 @@ package restful import ( "math" + "github.com/emicklei/go-restful/v3" + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" - - "github.com/emicklei/go-restful/v3" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/httptrace" ) const componentName = "emicklei/go-restful.v3" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/emicklei/go-restful/v3") + instr = instrumentation.Load(instrumentation.PackageEmickleiGoRestfulV3) } // FilterFunc returns a restful.FilterFunction which will automatically trace incoming request. @@ -31,7 +31,7 @@ func FilterFunc(configOpts ...Option) restful.FilterFunction { for _, opt := range configOpts { opt.apply(cfg) } - log.Debug("contrib/emicklei/go-restful/v3: Creating tracing filter: %#v", cfg) + instr.Logger().Debug("contrib/emicklei/go-restful/v3: Creating tracing filter: %#v", cfg) spanOpts := []tracer.StartSpanOption{tracer.ServiceName(cfg.serviceName)} return func(req *restful.Request, resp *restful.Response, chain *restful.FilterChain) { spanOpts := append( diff --git a/contrib/emicklei/go-restful.v3/restful_test.go b/contrib/emicklei/go-restful.v3/restful_test.go index 21245dbbe4..e2d6c5369d 100644 --- a/contrib/emicklei/go-restful.v3/restful_test.go +++ b/contrib/emicklei/go-restful.v3/restful_test.go @@ -10,20 +10,16 @@ import ( "math" "net/http" "net/http/httptest" - "strings" "testing" + "github.com/emicklei/go-restful/v3" + "github.com/stretchr/testify/assert" + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" - - "github.com/emicklei/go-restful/v3" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" ) func TestWithHeaderTags(t *testing.T) { @@ -58,10 +54,10 @@ func TestWithHeaderTags(t *testing.T) { assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - _, tag := normalizer.HeaderTag(arg) + + instrumentation.NewHeaderTags(htArgs).Iter(func(_ string, tag string) { assert.NotContains(s.Tags(), tag) - } + }) }) t.Run("integration", func(t *testing.T) { @@ -69,16 +65,14 @@ func TestWithHeaderTags(t *testing.T) { defer mt.Stop() htArgs := []string{"h!e@a-d.e*r", "2header:tag"} - r := setupReq(WithHeaderTags(htArgs)) + _ = setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + assert.Equal("val,val2", s.Tags()["http.request.headers.h_e_a-d_e_r"]) + assert.Equal("2val", s.Tags()["tag"]) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) @@ -86,17 +80,16 @@ func TestWithHeaderTags(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - header, tag := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(header, tag) - globalconfig.SetHeaderTag("other", tag) + testutils.SetGlobalHeaderTags(t, "3header", "other") - r := setupReq() + _ = setupReq() spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) + assert.Equal("3val", s.Tags()["http.request.headers.3header"]) + assert.NotContains(s.Tags(), "http.request.headers.other") assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) @@ -104,22 +97,19 @@ func TestWithHeaderTags(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - globalH, globalT := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(globalH, globalT) + testutils.SetGlobalHeaderTags(t, "3header") htArgs := []string{"h!e@a-d.e*r", "2header:tag"} - r := setupReq(WithHeaderTags(htArgs)) + _ = setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + assert.Equal("val,val2", s.Tags()["http.request.headers.h_e_a-d_e_r"]) + assert.Equal("2val", s.Tags()["tag"]) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") - assert.NotContains(s.Tags(), globalT) + assert.NotContains(s.Tags(), "http.request.headers.3header") }) } @@ -247,17 +237,14 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - assertRate(t, mt, globalconfig.AnalyticsRate()) + assertRate(t, mt, math.NaN()) }) t.Run("global", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) - + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -279,47 +266,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) - + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) } - -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - ws := new(restful.WebService) - ws.Filter(FilterFunc(opts...)) - ws.Route(ws.GET("/user/{id}").Param(restful.PathParameter("id", "user ID")). - To(func(request *restful.Request, response *restful.Response) { - _, err := response.Write([]byte(request.PathParameter("id"))) - require.NoError(t, err) - })) - container := restful.NewContainer() - container.Add(ws) - - r := httptest.NewRequest("GET", "/user/200", nil) - w := httptest.NewRecorder() - container.ServeHTTP(w, r) - - return mt.FinishedSpans() - }) - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"go-restful"}, - WithDDService: []string{"go-restful"}, - WithDDServiceAndOverride: []string{namingschematest.TestServiceOverride}, - } - namingschematest.NewHTTPServerTest( - genSpans, - "go-restful", - namingschematest.WithServiceNameAssertions(namingschema.SchemaV0, wantServiceNameV0), - )(t) -} diff --git a/contrib/gin-gonic/gin/appsec.go b/contrib/gin-gonic/gin/appsec.go index 5b08871e66..07aac056de 100644 --- a/contrib/gin-gonic/gin/appsec.go +++ b/contrib/gin-gonic/gin/appsec.go @@ -9,7 +9,7 @@ import ( "net/http" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/httpsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec" "github.com/gin-gonic/gin" ) diff --git a/contrib/gin-gonic/gin/appsec_test.go b/contrib/gin-gonic/gin/appsec_test.go index c1ab1d4b8e..b3f6a76d91 100644 --- a/contrib/gin-gonic/gin/appsec_test.go +++ b/contrib/gin-gonic/gin/appsec_test.go @@ -13,19 +13,17 @@ import ( "strings" "testing" - pappsec "github.com/DataDog/dd-trace-go/v2/appsec" + "github.com/DataDog/dd-trace-go/v2/appsec" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec" - + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/gin-gonic/gin" "github.com/stretchr/testify/require" ) func TestAppSec(t *testing.T) { - appsec.Start() - defer appsec.Stop() - if !appsec.Enabled() { + testutils.StartAppSec(t) + if !instr.AppSecEnabled() { t.Skip("appsec disabled") } @@ -38,7 +36,7 @@ func TestAppSec(t *testing.T) { c.String(200, "Hello Params!\n") }) r.Any("/body", func(c *gin.Context) { - pappsec.MonitorParsedHTTPBody(c.Request.Context(), "$globals") + appsec.MonitorParsedHTTPBody(c.Request.Context(), "$globals") c.String(200, "Hello Body!\n") }) @@ -149,8 +147,7 @@ func TestAppSec(t *testing.T) { } func TestControlFlow(t *testing.T) { - appsec.Start() - defer appsec.Stop() + testutils.StartAppSec(t) middlewareResponseBody := "Hello Middleware" middlewareResponseStatus := 433 handlerResponseBody := "Hello Handler" @@ -374,9 +371,8 @@ func TestControlFlow(t *testing.T) { func TestBlocking(t *testing.T) { t.Setenv("DD_APPSEC_RULES", "../../../internal/appsec/testdata/blocking.json") - appsec.Start() - defer appsec.Stop() - if !appsec.Enabled() { + testutils.StartAppSec(t) + if !instr.AppSecEnabled() { t.Skip("AppSec needs to be enabled for this test") } diff --git a/contrib/gin-gonic/gin/gintrace.go b/contrib/gin-gonic/gin/gintrace.go index 9151181dd5..3bd21d4ab2 100644 --- a/contrib/gin-gonic/gin/gintrace.go +++ b/contrib/gin-gonic/gin/gintrace.go @@ -10,22 +10,21 @@ import ( "fmt" "math" + "github.com/gin-gonic/gin" + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/httptrace" "github.com/DataDog/dd-trace-go/v2/instrumentation/options" - "github.com/DataDog/dd-trace-go/v2/internal/appsec" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" - - "github.com/gin-gonic/gin" ) const componentName = "gin-gonic/gin" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/gin-gonic/gin") + instr = instrumentation.Load(instrumentation.PackageGinGonicGin) } // Middleware returns middleware that will trace incoming requests. If service is empty then the @@ -35,7 +34,7 @@ func Middleware(service string, opts ...Option) gin.HandlerFunc { for _, opt := range opts { opt.apply(cfg) } - log.Debug("contrib/gin-gonic/gin: Configuring Middleware: Service: %s, %#v", cfg.serviceName, cfg) + instr.Logger().Debug("contrib/gin-gonic/gin: Configuring Middleware: Service: %s, %#v", cfg.serviceName, cfg) spanOpts := []tracer.StartSpanOption{ tracer.ServiceName(cfg.serviceName), tracer.Tag(ext.Component, componentName), @@ -61,7 +60,7 @@ func Middleware(service string, opts ...Option) gin.HandlerFunc { c.Request = c.Request.WithContext(ctx) // Use AppSec if enabled by user - if appsec.Enabled() { + if instr.AppSecEnabled() { useAppSec(c, span) } diff --git a/contrib/gin-gonic/gin/gintrace_test.go b/contrib/gin-gonic/gin/gintrace_test.go index 8dbbb44ce4..97b62729a6 100644 --- a/contrib/gin-gonic/gin/gintrace_test.go +++ b/contrib/gin-gonic/gin/gintrace_test.go @@ -14,16 +14,15 @@ import ( "strings" "testing" - "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" - "github.com/gin-gonic/gin" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" ) func init() { @@ -360,9 +359,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -385,9 +382,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) @@ -466,63 +461,59 @@ func TestWithHeaderTags(t *testing.T) { assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - _, tag := normalizer.HeaderTag(arg) + + instrumentation.NewHeaderTags(htArgs).Iter(func(_ string, tag string) { assert.NotContains(s.Tags(), tag) - } + }) }) t.Run("integration", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() + htArgs := []string{"h!e@a-d.e*r", "2header:tag"} - r := setupReq(WithHeaderTags(htArgs)) + _ = setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + + assert.Equal("val,val2", s.Tags()["http.request.headers.h_e_a-d_e_r"]) + assert.Equal("2val", s.Tags()["tag"]) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) t.Run("global", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - header, tag := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(header, tag) + testutils.SetGlobalHeaderTags(t, "3header") - r := setupReq() + _ = setupReq() spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) + assert.Equal("3val", s.Tags()["http.request.headers.3header"]) + assert.NotContains(s.Tags(), "http.request.headers.other") assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) - t.Run("override", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - globalH, globalT := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(globalH, globalT) + testutils.SetGlobalHeaderTags(t, "3header") htArgs := []string{"h!e@a-d.e*r", "2header:tag"} - r := setupReq(WithHeaderTags(htArgs)) + _ = setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + assert.Equal("val,val2", s.Tags()["http.request.headers.h_e_a-d_e_r"]) + assert.Equal("2val", s.Tags()["tag"]) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") - assert.NotContains(s.Tags(), globalT) + assert.NotContains(s.Tags(), "http.request.headers.3header") }) } @@ -585,8 +576,7 @@ func TestServiceName(t *testing.T) { }) t.Run("global", func(t *testing.T) { - globalconfig.SetServiceName("global-service") - defer globalconfig.SetServiceName("") + testutils.SetGlobalServiceName(t, "global-service") assert := assert.New(t) mt := mocktracer.Start() @@ -647,22 +637,3 @@ func TestServiceName(t *testing.T) { assert.Equal("my-service", span.Tag(ext.ServiceName)) }) } - -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - mt := mocktracer.Start() - defer mt.Stop() - - mux := gin.New() - mux.Use(Middleware(serviceOverride)) - mux.GET("/200", func(c *gin.Context) { - c.Status(200) - }) - r := httptest.NewRequest("GET", "/200", nil) - w := httptest.NewRecorder() - mux.ServeHTTP(w, r) - - return mt.FinishedSpans() - }) - namingschematest.NewHTTPServerTest(genSpans, "gin.router")(t) -} diff --git a/contrib/gin-gonic/gin/option.go b/contrib/gin-gonic/gin/option.go index b6dd3aa40e..e0b98f9861 100644 --- a/contrib/gin-gonic/gin/option.go +++ b/contrib/gin-gonic/gin/option.go @@ -9,38 +9,30 @@ import ( "math" "net/http" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" - "github.com/gin-gonic/gin" -) -const defaultServiceName = "gin.router" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) type config struct { analyticsRate float64 resourceNamer func(c *gin.Context) string serviceName string ignoreRequest func(c *gin.Context) bool - headerTags *internal.LockMap + headerTags instrumentation.HeaderTags } func newConfig(serviceName string) *config { if serviceName == "" { - serviceName = namingschema.ServiceName(defaultServiceName) - } - rate := globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_GIN_ANALYTICS_ENABLED", false) { - rate = 1.0 + serviceName = instr.ServiceName(instrumentation.ComponentServer, nil) } + rate := instr.AnalyticsRate(true) return &config{ analyticsRate: rate, resourceNamer: defaultResourceNamer, serviceName: serviceName, ignoreRequest: func(_ *gin.Context) bool { return false }, - headerTags: globalconfig.HeaderTagMap(), + headerTags: instr.HTTPHeadersAsTags(), } } @@ -92,9 +84,8 @@ func WithResourceNamer(namer func(c *gin.Context) string) OptionFn { // Using this feature can risk exposing sensitive data such as authorization tokens to Datadog. // Special headers can not be sub-selected. E.g., an entire Cookie header would be transmitted, without the ability to choose specific Cookies. func WithHeaderTags(headers []string) OptionFn { - headerTagsMap := normalizer.HeaderTagSlice(headers) return func(cfg *config) { - cfg.headerTags = internal.NewLockMap(headerTagsMap) + cfg.headerTags = instrumentation.NewHeaderTags(headers) } } diff --git a/contrib/globalsign/mgo/mgo.go b/contrib/globalsign/mgo/mgo.go index 4a7c337e69..dd75ec72b6 100644 --- a/contrib/globalsign/mgo/mgo.go +++ b/contrib/globalsign/mgo/mgo.go @@ -11,19 +11,19 @@ import ( "net" "strings" + "github.com/globalsign/mgo" + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" - - "github.com/globalsign/mgo" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const componentName = "globalsign/mgo" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/globalsign/mgo") + instr = instrumentation.Load(instrumentation.PackageGlobalsignMgo) } // Dial opens a connection to a MongoDB server and configures it @@ -61,7 +61,7 @@ func Dial(url string, opts ...DialOption) (*Session, error) { for _, fn := range opts { fn.apply(s.cfg) } - log.Debug("contrib/globalsign/mgo: Dialing: %s, %#v", url, s.cfg) + instr.Logger().Debug("contrib/globalsign/mgo: Dialing: %s, %#v", url, s.cfg) return s, err } diff --git a/contrib/globalsign/mgo/mgo_test.go b/contrib/globalsign/mgo/mgo_test.go index 8dc3bcdc14..a99f6d4ddd 100644 --- a/contrib/globalsign/mgo/mgo_test.go +++ b/contrib/globalsign/mgo/mgo_test.go @@ -14,8 +14,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/globalsign/mgo" "github.com/globalsign/mgo/bson" @@ -532,9 +531,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -557,36 +554,12 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) } -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []DialOption - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - session, err := Dial("localhost:27017", opts...) - require.NoError(t, err) - err = session. - DB("my_db"). - C("MyCollection"). - Insert(bson.D{bson.DocElem{Name: "entity", Value: bson.DocElem{Name: "index", Value: 0}}}) - require.NoError(t, err) - - return mt.FinishedSpans() - }) - namingschematest.NewMongoDBTest(genSpans, "mongodb")(t) -} - func TestIssue2165(t *testing.T) { assert := assert.New(t) insert := func(collection *Collection) { diff --git a/contrib/globalsign/mgo/option.go b/contrib/globalsign/mgo/option.go index 2c1f21b1f5..ee3efc7919 100644 --- a/contrib/globalsign/mgo/option.go +++ b/contrib/globalsign/mgo/option.go @@ -9,12 +9,9 @@ import ( "context" "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "mongodb" - type mongoConfig struct { ctx context.Context serviceName string @@ -23,16 +20,11 @@ type mongoConfig struct { } func newConfig() *mongoConfig { - rate := math.NaN() - if internal.BoolEnv("DD_TRACE_GIN_ANALYTICS_ENABLED", false) { - rate = 1.0 - } return &mongoConfig{ - serviceName: namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName), - spanName: namingschema.OpName(namingschema.MongoDBOutbound), - ctx: context.Background(), - // analyticsRate: globalconfig.AnalyticsRate(), - analyticsRate: rate, + serviceName: instr.ServiceName(instrumentation.ComponentDefault, nil), + spanName: instr.OperationName(instrumentation.ComponentDefault, nil), + ctx: context.Background(), + analyticsRate: instr.AnalyticsRate(false), } } diff --git a/contrib/go-chi/chi.v5/appsec.go b/contrib/go-chi/chi.v5/appsec.go index 72714aa0c3..c662f3fdff 100644 --- a/contrib/go-chi/chi.v5/appsec.go +++ b/contrib/go-chi/chi.v5/appsec.go @@ -9,7 +9,7 @@ import ( "net/http" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/httpsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec" "github.com/go-chi/chi/v5" ) diff --git a/contrib/go-chi/chi.v5/option.go b/contrib/go-chi/chi.v5/option.go index 52a6385b3f..600ca07353 100644 --- a/contrib/go-chi/chi.v5/option.go +++ b/contrib/go-chi/chi.v5/option.go @@ -10,8 +10,8 @@ import ( "net/http" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec" "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/httpsec" "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" "github.com/DataDog/dd-trace-go/v2/internal/namingschema" "github.com/DataDog/dd-trace-go/v2/internal/normalizer" diff --git a/contrib/go-chi/chi/appsec.go b/contrib/go-chi/chi/appsec.go index 2ae08780c7..56221086f1 100644 --- a/contrib/go-chi/chi/appsec.go +++ b/contrib/go-chi/chi/appsec.go @@ -9,7 +9,7 @@ import ( "net/http" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/httpsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec" "github.com/go-chi/chi" ) diff --git a/contrib/go.mongodb.org/mongo-driver/mongo/mongo.go b/contrib/go.mongodb.org/mongo-driver/mongo/mongo.go index 6073b39fa1..9deda88534 100644 --- a/contrib/go.mongodb.org/mongo-driver/mongo/mongo.go +++ b/contrib/go.mongodb.org/mongo-driver/mongo/mongo.go @@ -18,8 +18,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/event" @@ -27,9 +26,10 @@ import ( const componentName = "go.mongodb.org/mongo-driver/mongo" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("go.mongodb.org/mongo-driver") + instr = instrumentation.Load(instrumentation.PackageGoMongoDBOrgMongoDriver) } type spanKey struct { @@ -105,7 +105,7 @@ func NewMonitor(opts ...Option) *event.CommandMonitor { for _, opt := range opts { opt.apply(cfg) } - log.Debug("contrib/go.mongodb.org/mongo-driver/mongo: Creating Monitor: %#v", cfg) + instr.Logger().Debug("contrib/go.mongodb.org/mongo-driver/mongo: Creating Monitor: %#v", cfg) m := &monitor{ spans: make(map[spanKey]*tracer.Span), cfg: cfg, diff --git a/contrib/go.mongodb.org/mongo-driver/mongo/mongo_test.go b/contrib/go.mongodb.org/mongo-driver/mongo/mongo_test.go index 2da56ba885..b19dc006dd 100644 --- a/contrib/go.mongodb.org/mongo-driver/mongo/mongo_test.go +++ b/contrib/go.mongodb.org/mongo-driver/mongo/mongo_test.go @@ -12,17 +12,15 @@ import ( "testing" "time" - "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" + + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" ) func TestMain(m *testing.M) { @@ -132,36 +130,8 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) } - -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - addr := fmt.Sprintf("mongodb://localhost:27017/?connect=direct") - mongopts := options.Client() - mongopts.Monitor = NewMonitor(opts...) - mongopts.ApplyURI(addr) - client, err := mongo.Connect(context.Background(), mongopts) - require.NoError(t, err) - _, err = client. - Database("test-database"). - Collection("test-collection"). - InsertOne(context.Background(), bson.D{{Key: "test-item", Value: "test-value"}}) - require.NoError(t, err) - - return mt.FinishedSpans() - }) - namingschematest.NewMongoDBTest(genSpans, "mongo")(t) -} diff --git a/contrib/go.mongodb.org/mongo-driver/mongo/option.go b/contrib/go.mongodb.org/mongo-driver/mongo/option.go index de502d5047..7437f073c1 100644 --- a/contrib/go.mongodb.org/mongo-driver/mongo/option.go +++ b/contrib/go.mongodb.org/mongo-driver/mongo/option.go @@ -8,12 +8,9 @@ package mongo import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "mongo" - type config struct { serviceName string spanName string @@ -33,14 +30,9 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - cfg.serviceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.spanName = namingschema.OpName(namingschema.MongoDBOutbound) - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_MONGO_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.spanName = instr.OperationName(instrumentation.ComponentDefault, nil) + cfg.analyticsRate = instr.AnalyticsRate(false) } // WithService sets the given service name for the dialled connection. diff --git a/contrib/gorm.io/gorm.v1/gorm_test.go b/contrib/gorm.io/gorm.v1/gorm_test.go index 22eeba0f0b..aef65fc604 100644 --- a/contrib/gorm.io/gorm.v1/gorm_test.go +++ b/contrib/gorm.io/gorm.v1/gorm_test.go @@ -16,7 +16,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/sqltest" + sqltest "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils/sql" "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" "github.com/go-sql-driver/mysql" diff --git a/contrib/jmoiron/sqlx/sql_test.go b/contrib/jmoiron/sqlx/sql_test.go index 9d0ef5235f..18619fb449 100644 --- a/contrib/jmoiron/sqlx/sql_test.go +++ b/contrib/jmoiron/sqlx/sql_test.go @@ -13,7 +13,7 @@ import ( sqltrace "github.com/DataDog/dd-trace-go/contrib/database/sql/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/sqltest" + sqltest "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils/sql" mssql "github.com/denisenkom/go-mssqldb" "github.com/go-sql-driver/mysql" diff --git a/contrib/labstack/echo.v4/appsec.go b/contrib/labstack/echo.v4/appsec.go index e61af8f29e..933495d8b7 100644 --- a/contrib/labstack/echo.v4/appsec.go +++ b/contrib/labstack/echo.v4/appsec.go @@ -9,8 +9,8 @@ import ( "net/http" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/httpsec" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/httpsec/types" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec/types" "github.com/labstack/echo/v4" ) diff --git a/contrib/net/http/option.go b/contrib/net/http/option.go index acef4bd9c8..f139f693c9 100644 --- a/contrib/net/http/option.go +++ b/contrib/net/http/option.go @@ -52,10 +52,7 @@ func (o HandlerOptionFn) apply(cfg *config) { } func defaults(cfg *config) { - cfg.analyticsRate = instr.AnalyticsRate() - if math.IsNaN(cfg.analyticsRate) { - cfg.analyticsRate = instr.GlobalAnalyticsRate() - } + cfg.analyticsRate = instr.AnalyticsRate(true) cfg.serviceName = instr.ServiceName(instrumentation.ComponentServer, nil) cfg.headerTags = instr.HTTPHeadersAsTags() cfg.spanOpts = []tracer.StartSpanOption{tracer.Measured()} diff --git a/contrib/urfave/negroni/option.go b/contrib/urfave/negroni/option.go index 02e9f33cf9..f713f033e1 100644 --- a/contrib/urfave/negroni/option.go +++ b/contrib/urfave/negroni/option.go @@ -37,10 +37,7 @@ func (fn OptionFn) apply(cfg *config) { func defaults(cfg *config) { cfg.serviceName = instr.ServiceName(instrumentation.ComponentServer, nil) - cfg.analyticsRate = instr.AnalyticsRate() - if math.IsNaN(cfg.analyticsRate) { - cfg.analyticsRate = instr.GlobalAnalyticsRate() - } + cfg.analyticsRate = instr.AnalyticsRate(true) cfg.headerTags = instr.HTTPHeadersAsTags() cfg.isStatusError = isServerError cfg.resourceNamer = defaultResourceNamer diff --git a/ddtrace/mocktracer/mocktracer.go b/ddtrace/mocktracer/mocktracer.go index 76ab8d0812..ddc876e626 100644 --- a/ddtrace/mocktracer/mocktracer.go +++ b/ddtrace/mocktracer/mocktracer.go @@ -26,6 +26,9 @@ import ( var _ tracer.Tracer = (*mocktracer)(nil) var _ Tracer = (*mocktracer)(nil) +// DSMBacklog is an alias to datastreams.Backlog +type DSMBacklog = datastreams.Backlog + // Tracer exposes an interface for querying the currently running mock tracer. type Tracer interface { tracer.Tracer @@ -37,7 +40,7 @@ type Tracer interface { // FinishedSpans returns the set of finished spans. FinishedSpans() []*Span - SentDSMBacklogs() []datastreams.Backlog + SentDSMBacklogs() []DSMBacklog // Reset resets the spans and services recorded in the tracer. This is // especially useful when running tests in a loop, where a clean start @@ -71,7 +74,7 @@ type mocktracer struct { dsmProcessor *datastreams.Processor } -func (t *mocktracer) SentDSMBacklogs() []datastreams.Backlog { +func (t *mocktracer) SentDSMBacklogs() []DSMBacklog { t.dsmProcessor.Flush() return t.dsmTransport.backlogs } diff --git a/docker-compose.yaml b/docker-compose.yaml index a8b5174e81..ac3c4e9c1d 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,4 +1,3 @@ -version: "3.3" # optional since v1.27.0 services: cassandra: image: cassandra:3.7 @@ -7,7 +6,7 @@ services: ports: - "9042:9042" mysql: - image: circleci/mysql:5.7 + image: cimg/mysql:8.0 environment: MYSQL_ROOT_PASSWORD: admin MYSQL_PASSWORD: test @@ -16,7 +15,7 @@ services: ports: - "3306:3306" postgres: - image: circleci/postgres:9.5 + image: cimg/postgres:16.4 environment: POSTGRES_PASSWORD: postgres POSTGRES_USER: postgres @@ -124,20 +123,23 @@ services: ports: - "11211:11211" zookeeper: - image: bitnami/zookeeper:latest + image: confluentinc/cp-zookeeper:7.7.0 environment: - ALLOW_ANONYMOUS_LOGIN: "yes" + ZOOKEEPER_CLIENT_PORT: "2181" + ZOOKEEPER_TICK_TIME: "2000" ports: - "2181:2181" - kafka2: - image: darccio/kafka:2.13-2.8.1 + kafka: + image: confluentinc/cp-kafka:7.7.0 environment: - KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 - KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 - KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092 - #KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT,LISTENER_NAME:PLAINTEXT - KAFKA_CREATE_TOPICS: gotest:1:1,gosegtest:1:1 - KAFKA_BROKER_ID: 1 + KAFKA_BROKER_ID: "1" + KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181" + KAFKA_LISTENERS: "PLAINTEXT://0.0.0.0:9092" + KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT://localhost:9092" + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "PLAINTEXT:PLAINTEXT" + KAFKA_INTER_BROKER_LISTENER_NAME: "PLAINTEXT" + KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: "1" + KAFKA_GROUP_ID: "gotest" depends_on: - zookeeper ports: diff --git a/go.work.sum b/go.work.sum index 137bb0ce59..af1b47ec67 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1,4 +1,5 @@ bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512 h1:SRsZGA7aFnCZETmov57jwPrWuTmaZK6+4R4v5FUe1/c= +cel.dev/expr v0.15.0/go.mod h1:TRSuuV7DlVCE/uwv5QbAiW/v8l5O8C4eEPHeu7gf7Sg= 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.8/go.mod h1:Iz8AkXJf1qmxC3Oxoep8R1T36w8B92yU29PcBhHO5fk= @@ -6,48 +7,57 @@ 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 v0.112.0 h1:tpFCD7hpHFlQ8yPwT3x+QeXqc2T6+n6T+hmABHfDUSM= cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= +cloud.google.com/go v0.112.2/go.mod h1:iEqjp//KquGIJV/m+Pk3xecgKNhV+ry+vVTsy4TbDms= +cloud.google.com/go v0.114.0/go.mod h1:ZV9La5YYxctro1HTPug5lXH/GefROyW8PPD4T8n9J8E= cloud.google.com/go/accessapproval v1.7.3 h1:MOfZ2ncDO+nctNmOYqN8kCb8kHkVJU1nqGNGDa7qGQk= cloud.google.com/go/accessapproval v1.7.3/go.mod h1:4l8+pwIxGTNqSf4T3ds8nLO94NQf0W/KnMNuQ9PbnP8= cloud.google.com/go/accessapproval v1.7.4 h1:ZvLvJ952zK8pFHINjpMBY5k7LTAp/6pBf50RDMRgBUI= cloud.google.com/go/accessapproval v1.7.4/go.mod h1:/aTEh45LzplQgFYdQdwPMR9YdX0UlhBmvB84uAmQKUc= cloud.google.com/go/accessapproval v1.7.5 h1:uzmAMSgYcnlHa9X9YSQZ4Q1wlfl4NNkZyQgho1Z6p04= cloud.google.com/go/accessapproval v1.7.5/go.mod h1:g88i1ok5dvQ9XJsxpUInWWvUBrIZhyPDPbk4T01OoJ0= +cloud.google.com/go/accessapproval v1.7.11/go.mod h1:KGK3+CLDWm4BvjN0wFtZqdFUGhxlTvTF6PhAwQJGL4M= cloud.google.com/go/accesscontextmanager v1.8.3 h1:4vUQZ3OqH3YWo18AgQgvked8NSszsZQfURsYurRHoZI= cloud.google.com/go/accesscontextmanager v1.8.3/go.mod h1:4i/JkF2JiFbhLnnpnfoTX5vRXfhf9ukhU1ANOTALTOQ= cloud.google.com/go/accesscontextmanager v1.8.4 h1:Yo4g2XrBETBCqyWIibN3NHNPQKUfQqti0lI+70rubeE= cloud.google.com/go/accesscontextmanager v1.8.4/go.mod h1:ParU+WbMpD34s5JFEnGAnPBYAgUHozaTmDJU7aCU9+M= cloud.google.com/go/accesscontextmanager v1.8.5 h1:2GLNaNu9KRJhJBFTIVRoPwk6xE5mUDgD47abBq4Zp/I= cloud.google.com/go/accesscontextmanager v1.8.5/go.mod h1:TInEhcZ7V9jptGNqN3EzZ5XMhT6ijWxTGjzyETwmL0Q= +cloud.google.com/go/accesscontextmanager v1.8.11/go.mod h1:nwPysISS3KR5qXipAU6cW/UbDavDdTBBgPohbkhGSok= cloud.google.com/go/aiplatform v1.51.2 h1:DhbEMbUZTbsIQBhErvo5GlQCymVM50aoP3UDcrnxuOo= cloud.google.com/go/aiplatform v1.51.2/go.mod h1:hCqVYB3mY45w99TmetEoe8eCQEwZEp9WHxeZdcv9phw= cloud.google.com/go/aiplatform v1.54.0 h1:wH7OYl9Vq/5tupok0BPTFY9xaTLb0GxkReHtB5PF7cI= cloud.google.com/go/aiplatform v1.54.0/go.mod h1:pwZMGvqe0JRkI1GWSZCtnAfrR4K1bv65IHILGA//VEU= cloud.google.com/go/aiplatform v1.60.0 h1:0cSrii1ZeLr16MbBoocyy5KVnrSdiQ3KN/vtrTe7RqE= cloud.google.com/go/aiplatform v1.60.0/go.mod h1:eTlGuHOahHprZw3Hio5VKmtThIOak5/qy6pzdsqcQnM= +cloud.google.com/go/aiplatform v1.68.0/go.mod h1:105MFA3svHjC3Oazl7yjXAmIR89LKhRAeNdnDKJczME= cloud.google.com/go/analytics v0.21.5 h1:ccW5bYKOrgXAbvIT/mxqk2rou7CfrUdl5G5bJDmDeVA= cloud.google.com/go/analytics v0.21.5/go.mod h1:BQtOBHWTlJ96axpPPnw5CvGJ6i3Ve/qX2fTxR8qWyr8= cloud.google.com/go/analytics v0.21.6 h1:fnV7B8lqyEYxCU0LKk+vUL7mTlqRAq4uFlIthIdr/iA= cloud.google.com/go/analytics v0.21.6/go.mod h1:eiROFQKosh4hMaNhF85Oc9WO97Cpa7RggD40e/RBy8w= cloud.google.com/go/analytics v0.23.0 h1:Q+y94XH84jM8SK8O7qiY/PJRexb6n7dRbQ6PiUa4YGM= cloud.google.com/go/analytics v0.23.0/go.mod h1:YPd7Bvik3WS95KBok2gPXDqQPHy08TsCQG6CdUCb+u0= +cloud.google.com/go/analytics v0.23.6/go.mod h1:cFz5GwWHrWQi8OHKP9ep3Z4pvHgGcG9lPnFQ+8kXsNo= cloud.google.com/go/apigateway v1.6.3 h1:8zRrVIaGC5dQeq3lBUn7Kchea8ao0bUILXeY8kBzF3M= cloud.google.com/go/apigateway v1.6.3/go.mod h1:k68PXWpEs6BVDTtnLQAyG606Q3mz8pshItwPXjgv44Y= cloud.google.com/go/apigateway v1.6.4 h1:VVIxCtVerchHienSlaGzV6XJGtEM9828Erzyr3miUGs= cloud.google.com/go/apigateway v1.6.4/go.mod h1:0EpJlVGH5HwAN4VF4Iec8TAzGN1aQgbxAWGJsnPCGGY= cloud.google.com/go/apigateway v1.6.5 h1:sPXnpk+6TneKIrjCjcpX5YGsAKy3PTdpIchoj8/74OE= cloud.google.com/go/apigateway v1.6.5/go.mod h1:6wCwvYRckRQogyDDltpANi3zsCDl6kWi0b4Je+w2UiI= +cloud.google.com/go/apigateway v1.6.11/go.mod h1:4KsrYHn/kSWx8SNUgizvaz+lBZ4uZfU7mUDsGhmkWfM= cloud.google.com/go/apigeeconnect v1.6.3 h1:piXKIidKtP/FQ44dnYXGF+WSDsegdPmj/EKk6Hc3sR4= cloud.google.com/go/apigeeconnect v1.6.3/go.mod h1:peG0HFQ0si2bN15M6QSjEW/W7Gy3NYkWGz7pFz13cbo= cloud.google.com/go/apigeeconnect v1.6.4 h1:jSoGITWKgAj/ssVogNE9SdsTqcXnryPzsulENSRlusI= cloud.google.com/go/apigeeconnect v1.6.4/go.mod h1:CapQCWZ8TCjnU0d7PobxhpOdVz/OVJ2Hr/Zcuu1xFx0= cloud.google.com/go/apigeeconnect v1.6.5 h1:CrfIKv9Go3fh/QfQgisU3MeP90Ww7l/sVGmr3TpECo8= cloud.google.com/go/apigeeconnect v1.6.5/go.mod h1:MEKm3AiT7s11PqTfKE3KZluZA9O91FNysvd3E6SJ6Ow= +cloud.google.com/go/apigeeconnect v1.6.11/go.mod h1:iMQLTeKxtKL+sb0D+pFlS/TO6za2IUOh/cwMEtn/4g0= cloud.google.com/go/apigeeregistry v0.8.1 h1:GuexCawKvjXeeLgBYJoS1m7TCWvbYrmb9KNZjf5EdxA= cloud.google.com/go/apigeeregistry v0.8.1/go.mod h1:MW4ig1N4JZQsXmBSwH4rwpgDonocz7FPBSw6XPGHmYw= cloud.google.com/go/apigeeregistry v0.8.2 h1:DSaD1iiqvELag+lV4VnnqUUFd8GXELu01tKVdWZrviE= cloud.google.com/go/apigeeregistry v0.8.2/go.mod h1:h4v11TDGdeXJDJvImtgK2AFVvMIgGWjSb0HRnBSjcX8= cloud.google.com/go/apigeeregistry v0.8.3 h1:C+QU2K+DzDjk4g074ouwHQGkoff1h5OMQp6sblCVreQ= cloud.google.com/go/apigeeregistry v0.8.3/go.mod h1:aInOWnqF4yMQx8kTjDqHNXjZGh/mxeNlAf52YqtASUs= +cloud.google.com/go/apigeeregistry v0.8.9/go.mod h1:4XivwtSdfSO16XZdMEQDBCMCWDp3jkCBRhVgamQfLSA= cloud.google.com/go/apikeys v0.6.0 h1:B9CdHFZTFjVti89tmyXXrO+7vSNo2jvZuHG8zD5trdQ= cloud.google.com/go/appengine v1.8.3 h1:7hfqb1kKeB/jAyzOiBB00cQ71GYYLal85VH+uJhE5kc= cloud.google.com/go/appengine v1.8.3/go.mod h1:2oUPZ1LVZ5EXi+AF1ihNAF+S8JrzQ3till5m9VQkrsk= @@ -55,102 +65,124 @@ cloud.google.com/go/appengine v1.8.4 h1:Qub3fqR7iA1daJWdzjp/Q0Jz0fUG0JbMc7Ui4E9I cloud.google.com/go/appengine v1.8.4/go.mod h1:TZ24v+wXBujtkK77CXCpjZbnuTvsFNT41MUaZ28D6vg= cloud.google.com/go/appengine v1.8.5 h1:l2SviT44zWQiOv8bPoMBzW0vOcMO22iO0s+nVtVhdts= cloud.google.com/go/appengine v1.8.5/go.mod h1:uHBgNoGLTS5di7BvU25NFDuKa82v0qQLjyMJLuPQrVo= +cloud.google.com/go/appengine v1.8.11/go.mod h1:xET3coaDUj+OP4TgnZlgQ+rG2R9fG2nblya13czP56Q= cloud.google.com/go/area120 v0.8.3 h1:wcVVp8EmTVVXJNU8QHDOZOHC5iJYNoU0jw8daZyvPQg= cloud.google.com/go/area120 v0.8.3/go.mod h1:5zj6pMzVTH+SVHljdSKC35sriR/CVvQZzG/Icdyriw0= cloud.google.com/go/area120 v0.8.4 h1:YnSO8m02pOIo6AEOgiOoUDVbw4pf+bg2KLHi4rky320= cloud.google.com/go/area120 v0.8.4/go.mod h1:jfawXjxf29wyBXr48+W+GyX/f8fflxp642D/bb9v68M= cloud.google.com/go/area120 v0.8.5 h1:vTs08KPLN/iMzTbxpu5ciL06KcsrVPMjz4IwcQyZ4uY= cloud.google.com/go/area120 v0.8.5/go.mod h1:BcoFCbDLZjsfe4EkCnEq1LKvHSK0Ew/zk5UFu6GMyA0= +cloud.google.com/go/area120 v0.8.11/go.mod h1:VBxJejRAJqeuzXQBbh5iHBYUkIjZk5UzFZLCXmzap2o= cloud.google.com/go/artifactregistry v1.14.4 h1:rE++Rall/sWmbWkkQEfNoXC7GkCP7hqqd7NeDNEfGqI= cloud.google.com/go/artifactregistry v1.14.4/go.mod h1:SJJcZTMv6ce0LDMUnihCN7WSrI+kBSFV0KIKo8S8aYU= cloud.google.com/go/artifactregistry v1.14.6 h1:/hQaadYytMdA5zBh+RciIrXZQBWK4vN7EUsrQHG+/t8= cloud.google.com/go/artifactregistry v1.14.6/go.mod h1:np9LSFotNWHcjnOgh8UVK0RFPCTUGbO0ve3384xyHfE= cloud.google.com/go/artifactregistry v1.14.7 h1:W9sVlyb1VRcUf83w7aM3yMsnp4HS4PoyGqYQNG0O5lI= cloud.google.com/go/artifactregistry v1.14.7/go.mod h1:0AUKhzWQzfmeTvT4SjfI4zjot72EMfrkvL9g9aRjnnM= +cloud.google.com/go/artifactregistry v1.14.13/go.mod h1:zQ/T4xoAFPtcxshl+Q4TJBgsy7APYR/BLd2z3xEAqRA= cloud.google.com/go/asset v1.15.2 h1:B3OhouMFZNnUpB26Ex1izZ3OBh9R3iAGWO8raLOZ0jA= cloud.google.com/go/asset v1.15.2/go.mod h1:B6H5tclkXvXz7PD22qCA2TDxSVQfasa3iDlM89O2NXs= cloud.google.com/go/asset v1.15.3 h1:uI8Bdm81s0esVWbWrTHcjFDFKNOa9aB7rI1vud1hO84= cloud.google.com/go/asset v1.15.3/go.mod h1:yYLfUD4wL4X589A9tYrv4rFrba0QlDeag0CMcM5ggXU= cloud.google.com/go/asset v1.17.2 h1:xgFnBP3luSbUcC9RWJvb3Zkt+y/wW6PKwPHr3ssnIP8= cloud.google.com/go/asset v1.17.2/go.mod h1:SVbzde67ehddSoKf5uebOD1sYw8Ab/jD/9EIeWg99q4= +cloud.google.com/go/asset v1.19.5/go.mod h1:sqyLOYaLLfc4ACcn3YxqHno+J7lRt9NJTdO50zCUcY0= cloud.google.com/go/assuredworkloads v1.11.3 h1:1eef9dFe2ylYw/6Nv6vP2t4xEeUHGIZDKRBwFbsiQUs= cloud.google.com/go/assuredworkloads v1.11.3/go.mod h1:vEjfTKYyRUaIeA0bsGJceFV2JKpVRgyG2op3jfa59Zs= cloud.google.com/go/assuredworkloads v1.11.4 h1:FsLSkmYYeNuzDm8L4YPfLWV+lQaUrJmH5OuD37t1k20= cloud.google.com/go/assuredworkloads v1.11.4/go.mod h1:4pwwGNwy1RP0m+y12ef3Q/8PaiWrIDQ6nD2E8kvWI9U= cloud.google.com/go/assuredworkloads v1.11.5 h1:gCrN3IyvqY3cP0wh2h43d99CgH3G+WYs9CeuFVKChR8= cloud.google.com/go/assuredworkloads v1.11.5/go.mod h1:FKJ3g3ZvkL2D7qtqIGnDufFkHxwIpNM9vtmhvt+6wqk= +cloud.google.com/go/assuredworkloads v1.11.11/go.mod h1:vaYs6+MHqJvLKYgZBOsuuOhBgNNIguhRU0Kt7JTGcnI= +cloud.google.com/go/auth v0.3.0/go.mod h1:lBv6NKTWp8E3LPzmO1TbiiRKc4drLOfHsgmlH9ogv5w= +cloud.google.com/go/auth v0.5.1/go.mod h1:vbZT8GjzDf3AVqCcQmqeeM32U9HBFc32vVVAbwDsa6s= +cloud.google.com/go/auth v0.7.2/go.mod h1:VEc4p5NNxycWQTMQEDQF0bd6aTMb6VgYDXEwiJJQAbs= +cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q= cloud.google.com/go/automl v1.13.3 h1:8gL+S9PpsYrqa9v7PDGMWEb42EWLGlxjdjMOB7/wU1c= cloud.google.com/go/automl v1.13.3/go.mod h1:Y8KwvyAZFOsMAPqUCfNu1AyclbC6ivCUF/MTwORymyY= cloud.google.com/go/automl v1.13.4 h1:i9tOKXX+1gE7+rHpWKjiuPfGBVIYoWvLNIGpWgPtF58= cloud.google.com/go/automl v1.13.4/go.mod h1:ULqwX/OLZ4hBVfKQaMtxMSTlPx0GqGbWN8uA/1EqCP8= cloud.google.com/go/automl v1.13.5 h1:ijiJy9sYWh75WrqImXsfWc1e3HR3iO+ef9fvW03Ig/4= cloud.google.com/go/automl v1.13.5/go.mod h1:MDw3vLem3yh+SvmSgeYUmUKqyls6NzSumDm9OJ3xJ1Y= +cloud.google.com/go/automl v1.13.11/go.mod h1:oMJdXRDOVC+Eq3PnGhhxSut5Hm9TSyVx1aLEOgerOw8= cloud.google.com/go/baremetalsolution v1.2.2 h1:nS60vlA7w2GTXpQ7a6y5z4jjJF46kshx3G2V99WLsbA= cloud.google.com/go/baremetalsolution v1.2.2/go.mod h1:O5V6Uu1vzVelYahKfwEWRMaS3AbCkeYHy3145s1FkhM= cloud.google.com/go/baremetalsolution v1.2.3 h1:oQiFYYCe0vwp7J8ZmF6siVKEumWtiPFJMJcGuyDVRUk= cloud.google.com/go/baremetalsolution v1.2.3/go.mod h1:/UAQ5xG3faDdy180rCUv47e0jvpp3BFxT+Cl0PFjw5g= cloud.google.com/go/baremetalsolution v1.2.4 h1:LFydisRmS7hQk9P/YhekwuZGqb45TW4QavcrMToWo5A= cloud.google.com/go/baremetalsolution v1.2.4/go.mod h1:BHCmxgpevw9IEryE99HbYEfxXkAEA3hkMJbYYsHtIuY= +cloud.google.com/go/baremetalsolution v1.2.10/go.mod h1:eO2c2NMRy5ytcNPhG78KPsWGNsX5W/tUsCOWmYihx6I= cloud.google.com/go/batch v1.6.1 h1:wa8ZC1wMJLqnwWsGiVsntBIEYcIP+HUyAcKc0DhoDE4= cloud.google.com/go/batch v1.6.1/go.mod h1:urdpD13zPe6YOK+6iZs/8/x2VBRofvblLpx0t57vM98= cloud.google.com/go/batch v1.6.3 h1:mPiIH20a5NU02rucbAmLeO4sLPO9hrTK0BLjdHyW8xw= cloud.google.com/go/batch v1.6.3/go.mod h1:J64gD4vsNSA2O5TtDB5AAux3nJ9iV8U3ilg3JDBYejU= cloud.google.com/go/batch v1.8.0 h1:2HK4JerwVaIcCh/lJiHwh6+uswPthiMMWhiSWLELayk= cloud.google.com/go/batch v1.8.0/go.mod h1:k8V7f6VE2Suc0zUM4WtoibNrA6D3dqBpB+++e3vSGYc= +cloud.google.com/go/batch v1.9.2/go.mod h1:smqwS4sleDJVAEzBt/TzFfXLktmWjFNugGDWl8coKX4= cloud.google.com/go/beyondcorp v1.0.2 h1:/TrG41OifURpA7weWrG9CROcBapc0exDiDaL9ZgplXE= cloud.google.com/go/beyondcorp v1.0.2/go.mod h1:m8cpG7caD+5su+1eZr+TSvF6r21NdLJk4f9u4SP2Ntc= cloud.google.com/go/beyondcorp v1.0.3 h1:VXf9SnrnSmj2BF2cHkoTHvOUp8gjsz1KJFOMW7czdsY= cloud.google.com/go/beyondcorp v1.0.3/go.mod h1:HcBvnEd7eYr+HGDd5ZbuVmBYX019C6CEXBonXbCVwJo= cloud.google.com/go/beyondcorp v1.0.4 h1:qs0J0O9Ol2h1yA0AU+r7l3hOCPzs2MjE1d6d/kaHIKo= cloud.google.com/go/beyondcorp v1.0.4/go.mod h1:Gx8/Rk2MxrvWfn4WIhHIG1NV7IBfg14pTKv1+EArVcc= +cloud.google.com/go/beyondcorp v1.0.10/go.mod h1:G09WxvxJASbxbrzaJUMVvNsB1ZiaKxpbtkjiFtpDtbo= cloud.google.com/go/bigquery v1.56.0 h1:LHIc9E7Kw+ftFpQFKzZYBB88IAFz7qONawXXx0F3QBo= cloud.google.com/go/bigquery v1.56.0/go.mod h1:KDcsploXTEY7XT3fDQzMUZlpQLHzE4itubHrnmhUrZA= cloud.google.com/go/bigquery v1.57.1 h1:FiULdbbzUxWD0Y4ZGPSVCDLvqRSyCIO6zKV7E2nf5uA= cloud.google.com/go/bigquery v1.57.1/go.mod h1:iYzC0tGVWt1jqSzBHqCr3lrRn0u13E8e+AqowBsDgug= cloud.google.com/go/bigquery v1.59.1 h1:CpT+/njKuKT3CEmswm6IbhNu9u35zt5dO4yPDLW+nG4= cloud.google.com/go/bigquery v1.59.1/go.mod h1:VP1UJYgevyTwsV7desjzNzDND5p6hZB+Z8gZJN1GQUc= +cloud.google.com/go/bigquery v1.62.0/go.mod h1:5ee+ZkF1x/ntgCsFQJAQTM3QkAZOecfCmvxhkJsWRSA= +cloud.google.com/go/bigtable v1.27.2-0.20240730134218-123c88616251/go.mod h1:avmXcmxVbLJAo9moICRYMgDyTTPoV0MA0lHKnyqV4fQ= cloud.google.com/go/billing v1.17.3 h1:PIpLB0uqYRKyzbPZNQV+FxvBcKtZH+Io9eK/lC8bRSE= cloud.google.com/go/billing v1.17.3/go.mod h1:z83AkoZ7mZwBGT3yTnt6rSGI1OOsHSIi6a5M3mJ8NaU= cloud.google.com/go/billing v1.17.4 h1:77/4kCqzH6Ou5CCDzNmqmboE+WvbwFBJmw1QZQz19AI= cloud.google.com/go/billing v1.17.4/go.mod h1:5DOYQStCxquGprqfuid/7haD7th74kyMBHkjO/OvDtk= cloud.google.com/go/billing v1.18.2 h1:oWUEQvuC4JvtnqLZ35zgzdbuHt4Itbftvzbe6aEyFdE= cloud.google.com/go/billing v1.18.2/go.mod h1:PPIwVsOOQ7xzbADCwNe8nvK776QpfrOAUkvKjCUcpSE= +cloud.google.com/go/billing v1.18.9/go.mod h1:bKTnh8MBfCMUT1fzZ936CPN9rZG7ZEiHB2J3SjIjByc= cloud.google.com/go/binaryauthorization v1.7.2 h1:pSb8eiGofANJbRNTwQDiLJhMjng4tvFEVDEbaf2UWwM= cloud.google.com/go/binaryauthorization v1.7.2/go.mod h1:kFK5fQtxEp97m92ziy+hbu+uKocka1qRRL8MVJIgjv0= cloud.google.com/go/binaryauthorization v1.7.3 h1:3R6WYn1JKIaVicBmo18jXubu7xh4mMkmbIgsTXk0cBA= cloud.google.com/go/binaryauthorization v1.7.3/go.mod h1:VQ/nUGRKhrStlGr+8GMS8f6/vznYLkdK5vaKfdCIpvU= cloud.google.com/go/binaryauthorization v1.8.1 h1:1jcyh2uIUwSZkJ/JmL8kd5SUkL/Krbv8zmYLEbAz6kY= cloud.google.com/go/binaryauthorization v1.8.1/go.mod h1:1HVRyBerREA/nhI7yLang4Zn7vfNVA3okoAR9qYQJAQ= +cloud.google.com/go/binaryauthorization v1.8.7/go.mod h1:cRj4teQhOme5SbWQa96vTDATQdMftdT5324BznxANtg= cloud.google.com/go/certificatemanager v1.7.3 h1:dOD0bZPTwtFo/h8CwCBpu/m3B4ugm2GFhcym/tuoaJg= cloud.google.com/go/certificatemanager v1.7.3/go.mod h1:T/sZYuC30PTag0TLo28VedIRIj1KPGcOQzjWAptHa00= cloud.google.com/go/certificatemanager v1.7.4 h1:5YMQ3Q+dqGpwUZ9X5sipsOQ1fLPsxod9HNq0+nrqc6I= cloud.google.com/go/certificatemanager v1.7.4/go.mod h1:FHAylPe/6IIKuaRmHbjbdLhGhVQ+CWHSD5Jq0k4+cCE= cloud.google.com/go/certificatemanager v1.7.5 h1:UMBr/twXvH3jcT5J5/YjRxf2tvwTYIfrpemTebe0txc= cloud.google.com/go/certificatemanager v1.7.5/go.mod h1:uX+v7kWqy0Y3NG/ZhNvffh0kuqkKZIXdvlZRO7z0VtM= +cloud.google.com/go/certificatemanager v1.8.5/go.mod h1:r2xINtJ/4xSz85VsqvjY53qdlrdCjyniib9Jp98ZKKM= cloud.google.com/go/channel v1.17.2 h1:LcaJyv6riQA39bvkPigOJvvNJM7Ls5x0hjZAqcuxq60= cloud.google.com/go/channel v1.17.2/go.mod h1:aT2LhnftnyfQceFql5I/mP8mIbiiJS4lWqgXA815zMk= cloud.google.com/go/channel v1.17.3 h1:Rd4+fBrjiN6tZ4TR8R/38elkyEkz6oogGDr7jDyjmMY= cloud.google.com/go/channel v1.17.3/go.mod h1:QcEBuZLGGrUMm7kNj9IbU1ZfmJq2apotsV83hbxX7eE= cloud.google.com/go/channel v1.17.5 h1:/omiBnyFjm4S1ETHoOmJbL7LH7Ljcei4rYG6Sj3hc80= cloud.google.com/go/channel v1.17.5/go.mod h1:FlpaOSINDAXgEext0KMaBq/vwpLMkkPAw9b2mApQeHc= +cloud.google.com/go/channel v1.17.11/go.mod h1:gjWCDBcTGQce/BSMoe2lAqhlq0dIRiZuktvBKXUawp0= cloud.google.com/go/cloudbuild v1.14.2 h1:Go7wFI+P5QyuSt1sZtb8wx+M+MGjyfR+xgOzjuZMDF8= cloud.google.com/go/cloudbuild v1.14.2/go.mod h1:Bn6RO0mBYk8Vlrt+8NLrru7WXlQ9/RDWz2uo5KG1/sg= cloud.google.com/go/cloudbuild v1.15.0 h1:9IHfEMWdCklJ1cwouoiQrnxmP0q3pH7JUt8Hqx4Qbck= cloud.google.com/go/cloudbuild v1.15.0/go.mod h1:eIXYWmRt3UtggLnFGx4JvXcMj4kShhVzGndL1LwleEM= cloud.google.com/go/cloudbuild v1.15.1 h1:ZB6oOmJo+MTov9n629fiCrO9YZPOg25FZvQ7gIHu5ng= cloud.google.com/go/cloudbuild v1.15.1/go.mod h1:gIofXZSu+XD2Uy+qkOrGKEx45zd7s28u/k8f99qKals= +cloud.google.com/go/cloudbuild v1.16.5/go.mod h1:HXLpZ8QeYZgmDIWpbl9Gs22p6o6uScgQ/cV9HF9cIZU= cloud.google.com/go/clouddms v1.7.2 h1:qxyV8j7ckzzt5gcX1u5qkteKBDMd9Q29TPs7uZVV6bA= cloud.google.com/go/clouddms v1.7.2/go.mod h1:Rk32TmWmHo64XqDvW7jgkFQet1tUKNVzs7oajtJT3jU= cloud.google.com/go/clouddms v1.7.3 h1:xe/wJKz55VO1+L891a1EG9lVUgfHr9Ju/I3xh1nwF84= cloud.google.com/go/clouddms v1.7.3/go.mod h1:fkN2HQQNUYInAU3NQ3vRLkV2iWs8lIdmBKOx4nrL6Hc= cloud.google.com/go/clouddms v1.7.4 h1:Sr0Zo5EAcPQiCBgHWICg3VGkcdS/LLP1d9SR7qQBM/s= cloud.google.com/go/clouddms v1.7.4/go.mod h1:RdrVqoFG9RWI5AvZ81SxJ/xvxPdtcRhFotwdE79DieY= +cloud.google.com/go/clouddms v1.7.10/go.mod h1:PzHELq0QDyA7VaD9z6mzh2mxeBz4kM6oDe8YxMxd4RA= cloud.google.com/go/cloudtasks v1.12.3 h1:ajm0DZTTaGKeawbwuFXZfPC7IIeLg6eYJFH125i18tE= cloud.google.com/go/cloudtasks v1.12.3/go.mod h1:GPVXhIOSGEaR+3xT4Fp72ScI+HjHffSS4B8+BaBB5Ys= cloud.google.com/go/cloudtasks v1.12.4 h1:5xXuFfAjg0Z5Wb81j2GAbB3e0bwroCeSF+5jBn/L650= cloud.google.com/go/cloudtasks v1.12.4/go.mod h1:BEPu0Gtt2dU6FxZHNqqNdGqIG86qyWKBPGnsb7udGY0= cloud.google.com/go/cloudtasks v1.12.6 h1:EUt1hIZ9bLv8Iz9yWaCrqgMnIU+Tdh0yXM1MMVGhjfE= cloud.google.com/go/cloudtasks v1.12.6/go.mod h1:b7c7fe4+TJsFZfDyzO51F7cjq7HLUlRi/KZQLQjDsaY= +cloud.google.com/go/cloudtasks v1.12.12/go.mod h1:8UmM+duMrQpzzRREo0i3x3TrFjsgI/3FQw3664/JblA= cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute v1.23.1/go.mod h1:CqB3xpmPKKt3OJpW2ndFIXnA9A4xAy/F3Xp1ixncW78= @@ -158,60 +190,72 @@ cloud.google.com/go/compute v1.23.2 h1:nWEMDhgbBkBJjfpVySqU4jgWdc22PLR0o4vEexZHe cloud.google.com/go/compute v1.23.4/go.mod h1:/EJMj55asU6kAFnuZET8zqgwgJ9FvXWXOkkfQZa4ioI= cloud.google.com/go/compute v1.24.0 h1:phWcR2eWzRJaL/kOiJwfFsPs4BaKq1j6vnpZrc1YlVg= cloud.google.com/go/compute v1.24.0/go.mod h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40= +cloud.google.com/go/compute v1.27.4 h1:XM8ulx6crjdl09XBfji7viFgZOEQuIxBwKmjRH9Rtmc= +cloud.google.com/go/compute v1.27.4/go.mod h1:7JZS+h21ERAGHOy5qb7+EPyXlQwzshzrx1x6L9JhTqU= +cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/contactcenterinsights v1.11.2 h1:xTLvUYWMwNdQeAr9FECdenht43In0s/KAyFHSuKuZR4= cloud.google.com/go/contactcenterinsights v1.11.2/go.mod h1:A9PIR5ov5cRcd28KlDbmmXE8Aay+Gccer2h4wzkYFso= cloud.google.com/go/contactcenterinsights v1.12.0 h1:wP41IUA4ucMVooj/TP53jd7vbNjWrDkAPOeulVJGT5U= cloud.google.com/go/contactcenterinsights v1.12.0/go.mod h1:HHX5wrz5LHVAwfI2smIotQG9x8Qd6gYilaHcLLLmNis= cloud.google.com/go/contactcenterinsights v1.13.0 h1:6Vs/YnDG5STGjlWMEjN/xtmft7MrOTOnOZYUZtGTx0w= cloud.google.com/go/contactcenterinsights v1.13.0/go.mod h1:ieq5d5EtHsu8vhe2y3amtZ+BE+AQwX5qAy7cpo0POsI= +cloud.google.com/go/contactcenterinsights v1.13.6/go.mod h1:mL+DbN3pMQGaAbDC4wZhryLciwSwHf5Tfk4Itr72Zyk= cloud.google.com/go/container v1.26.2 h1:vNQsufqH93Df+U1kNNgjQ6UIQ1v4FUdQ9QHdDiiDuss= cloud.google.com/go/container v1.26.2/go.mod h1:YlO84xCt5xupVbLaMY4s3XNE79MUJ+49VmkInr6HvF4= cloud.google.com/go/container v1.28.0 h1:/o82CFWXIYnT9p/07SnRgybqL3Pmmu86jYIlzlJVUBY= cloud.google.com/go/container v1.28.0/go.mod h1:b1A1gJeTBXVLQ6GGw9/9M4FG94BEGsqJ5+t4d/3N7O4= cloud.google.com/go/container v1.31.0 h1:MAaNH7VRNPWEhvqOypq2j+7ONJKrKzon4v9nS3nLZe0= cloud.google.com/go/container v1.31.0/go.mod h1:7yABn5s3Iv3lmw7oMmyGbeV6tQj86njcTijkkGuvdZA= +cloud.google.com/go/container v1.38.0/go.mod h1:U0uPBvkVWOJGY/0qTVuPS7NeafFEUsHSPqT5pB8+fCY= cloud.google.com/go/containeranalysis v0.11.2 h1:AKyhqlO1Cjdrp7Ht0C3uQALliri2RegVRpEZseOKwWo= cloud.google.com/go/containeranalysis v0.11.2/go.mod h1:xibioGBC1MD2j4reTyV1xY1/MvKaz+fyM9ENWhmIeP8= cloud.google.com/go/containeranalysis v0.11.3 h1:5rhYLX+3a01drpREqBZVXR9YmWH45RnML++8NsCtuD8= cloud.google.com/go/containeranalysis v0.11.3/go.mod h1:kMeST7yWFQMGjiG9K7Eov+fPNQcGhb8mXj/UcTiWw9U= cloud.google.com/go/containeranalysis v0.11.4 h1:doJ0M1ljS4hS0D2UbHywlHGwB7sQLNrt9vFk9Zyi7vY= cloud.google.com/go/containeranalysis v0.11.4/go.mod h1:cVZT7rXYBS9NG1rhQbWL9pWbXCKHWJPYraE8/FTSYPE= +cloud.google.com/go/containeranalysis v0.12.1/go.mod h1:+/lcJIQSFt45TC0N9Nq7/dPbl0isk6hnC4EvBBqyXsM= cloud.google.com/go/datacatalog v1.18.2 h1:4ydlNOtwjkdXjXWd+SkUBh+DyVmM/bJKiktAHwqaEeU= cloud.google.com/go/datacatalog v1.18.2/go.mod h1:SPVgWW2WEMuWHA+fHodYjmxPiMqcOiWfhc9OD5msigk= cloud.google.com/go/datacatalog v1.19.0 h1:rbYNmHwvAOOwnW2FPXYkaK3Mf1MmGqRzK0mMiIEyLdo= cloud.google.com/go/datacatalog v1.19.0/go.mod h1:5FR6ZIF8RZrtml0VUao22FxhdjkoG+a0866rEnObryM= cloud.google.com/go/datacatalog v1.19.3 h1:A0vKYCQdxQuV4Pi0LL9p39Vwvg4jH5yYveMv50gU5Tw= cloud.google.com/go/datacatalog v1.19.3/go.mod h1:ra8V3UAsciBpJKQ+z9Whkxzxv7jmQg1hfODr3N3YPJ4= +cloud.google.com/go/datacatalog v1.20.5/go.mod h1:DB0QWF9nelpsbB0eR/tA0xbHZZMvpoFD1XFy3Qv/McI= cloud.google.com/go/dataflow v0.9.3 h1:v+wjNFEugYBYaowmqJuHK1piqNCx9pGvUWPEhspRFEw= cloud.google.com/go/dataflow v0.9.3/go.mod h1:HI4kMVjcHGTs3jTHW/kv3501YW+eloiJSLxkJa/vqFE= cloud.google.com/go/dataflow v0.9.4 h1:7VmCNWcPJBS/srN2QnStTB6nu4Eb5TMcpkmtaPVhRt4= cloud.google.com/go/dataflow v0.9.4/go.mod h1:4G8vAkHYCSzU8b/kmsoR2lWyHJD85oMJPHMtan40K8w= cloud.google.com/go/dataflow v0.9.5 h1:RYHtcPhmE664+F0Je46p+NvFbG8z//KCXp+uEqB4jZU= cloud.google.com/go/dataflow v0.9.5/go.mod h1:udl6oi8pfUHnL0z6UN9Lf9chGqzDMVqcYTcZ1aPnCZQ= +cloud.google.com/go/dataflow v0.9.11/go.mod h1:CCLufd7I4pPfyp54qMgil/volrL2ZKYjXeYLfQmBGJs= cloud.google.com/go/dataform v0.8.3 h1:jhr9PQtaH59nfZbI7tP0jjIl9SlfnRgteAQHD+ZT2xA= cloud.google.com/go/dataform v0.8.3/go.mod h1:8nI/tvv5Fso0drO3pEjtowz58lodx8MVkdV2q0aPlqg= cloud.google.com/go/dataform v0.9.1 h1:jV+EsDamGX6cE127+QAcCR/lergVeeZdEQ6DdrxW3sQ= cloud.google.com/go/dataform v0.9.1/go.mod h1:pWTg+zGQ7i16pyn0bS1ruqIE91SdL2FDMvEYu/8oQxs= cloud.google.com/go/dataform v0.9.2 h1:5e4eqGrd0iDTCg4Q+VlAao5j2naKAA7xRurNtwmUknU= cloud.google.com/go/dataform v0.9.2/go.mod h1:S8cQUwPNWXo7m/g3DhWHsLBoufRNn9EgFrMgne2j7cI= +cloud.google.com/go/dataform v0.9.8/go.mod h1:cGJdyVdunN7tkeXHPNosuMzmryx55mp6cInYBgxN3oA= cloud.google.com/go/datafusion v1.7.3 h1:v5HtQxvFLVHgbJXUdd4zbNZcYgknRUEW9ukOYpwf6d0= cloud.google.com/go/datafusion v1.7.3/go.mod h1:eoLt1uFXKGBq48jy9LZ+Is8EAVLnmn50lNncLzwYokE= cloud.google.com/go/datafusion v1.7.4 h1:Q90alBEYlMi66zL5gMSGQHfbZLB55mOAg03DhwTTfsk= cloud.google.com/go/datafusion v1.7.4/go.mod h1:BBs78WTOLYkT4GVZIXQCZT3GFpkpDN4aBY4NDX/jVlM= cloud.google.com/go/datafusion v1.7.5 h1:HQ/BUOP8OIGJxuztpYvNvlb+/U+/Bfs9SO8tQbh61fk= cloud.google.com/go/datafusion v1.7.5/go.mod h1:bYH53Oa5UiqahfbNK9YuYKteeD4RbQSNMx7JF7peGHc= +cloud.google.com/go/datafusion v1.7.11/go.mod h1:aU9zoBHgYmoPp4dzccgm/Gi4xWDMXodSZlNZ4WNeptw= cloud.google.com/go/datalabeling v0.8.3 h1:wYqhVo4f5akRW2yZfGQ56fUCi8FCgYzKh1UvBeg7edE= cloud.google.com/go/datalabeling v0.8.3/go.mod h1:tvPhpGyS/V7lqjmb3V0TaDdGvhzgR1JoW7G2bpi2UTI= cloud.google.com/go/datalabeling v0.8.4 h1:zrq4uMmunf2KFDl/7dS6iCDBBAxBnKVDyw6+ajz3yu0= cloud.google.com/go/datalabeling v0.8.4/go.mod h1:Z1z3E6LHtffBGrNUkKwbwbDxTiXEApLzIgmymj8A3S8= cloud.google.com/go/datalabeling v0.8.5 h1:GpIFRdm0qIZNsxqURFJwHt0ZBJZ0nF/mUVEigR7PH/8= cloud.google.com/go/datalabeling v0.8.5/go.mod h1:IABB2lxQnkdUbMnQaOl2prCOfms20mcPxDBm36lps+s= +cloud.google.com/go/datalabeling v0.8.11/go.mod h1:6IGUV3z7hlkAU5ndKVshv/8z+7pxE+k0qXsEjyzO1Xg= cloud.google.com/go/dataplex v1.10.2 h1:D+UlBA3Z+k/Z93a1Wh3uZrUbc4aX7c7ifF/m/s5H6fQ= cloud.google.com/go/dataplex v1.10.2/go.mod h1:xdC8URdTrCrZMW6keY779ZT1cTOfV8KEPNsw+LTRT1Y= cloud.google.com/go/dataplex v1.11.2 h1:AfFFR15Ifh4U+Me1IBztrSd5CrasTODzy3x8KtDyHdc= cloud.google.com/go/dataplex v1.11.2/go.mod h1:mHJYQQ2VEJHsyoC0OdNyy988DvEbPhqFs5OOLffLX0c= cloud.google.com/go/dataplex v1.14.2 h1:fxIfdU8fxzR3clhOoNI7XFppvAmndxDu1AMH+qX9WKQ= cloud.google.com/go/dataplex v1.14.2/go.mod h1:0oGOSFlEKef1cQeAHXy4GZPB/Ife0fz/PxBf+ZymA2U= +cloud.google.com/go/dataplex v1.18.2/go.mod h1:NuBpJJMGGQn2xctX+foHEDKRbizwuiHJamKvvSteY3Q= cloud.google.com/go/dataproc v1.12.0 h1:W47qHL3W4BPkAIbk4SWmIERwsWBaNnWm0P2sdx3YgGU= cloud.google.com/go/dataproc/v2 v2.2.2 h1:XRnxqa08/P2LpXTB+OMmPAfhT7GGyftgslKvzv330gM= cloud.google.com/go/dataproc/v2 v2.2.2/go.mod h1:aocQywVmQVF4i8CL740rNI/ZRpsaaC1Wh2++BJ7HEJ4= @@ -219,83 +263,99 @@ cloud.google.com/go/dataproc/v2 v2.3.0 h1:tTVP9tTxmc8fixxOd/8s6Q6Pz/+yzn7r7XdZHr cloud.google.com/go/dataproc/v2 v2.3.0/go.mod h1:G5R6GBc9r36SXv/RtZIVfB8SipI+xVn0bX5SxUzVYbY= cloud.google.com/go/dataproc/v2 v2.4.0 h1:/u81Fd+BvCLp+xjctI1DiWVJn6cn9/s3Akc8xPH02yk= cloud.google.com/go/dataproc/v2 v2.4.0/go.mod h1:3B1Ht2aRB8VZIteGxQS/iNSJGzt9+CA0WGnDVMEm7Z4= +cloud.google.com/go/dataproc/v2 v2.5.3/go.mod h1:RgA5QR7v++3xfP7DlgY3DUmoDSTaaemPe0ayKrQfyeg= cloud.google.com/go/dataqna v0.8.3 h1:Nr5t9MoTDxlOc7lVsydsIZ31ZdxOznCyKf5qFCiPu4o= cloud.google.com/go/dataqna v0.8.3/go.mod h1:wXNBW2uvc9e7Gl5k8adyAMnLush1KVV6lZUhB+rqNu4= cloud.google.com/go/dataqna v0.8.4 h1:NJnu1kAPamZDs/if3bJ3+Wb6tjADHKL83NUWsaIp2zg= cloud.google.com/go/dataqna v0.8.4/go.mod h1:mySRKjKg5Lz784P6sCov3p1QD+RZQONRMRjzGNcFd0c= cloud.google.com/go/dataqna v0.8.5 h1:9ybXs3nr9BzxSGC04SsvtuXaHY0qmJSLIpIAbZo9GqQ= cloud.google.com/go/dataqna v0.8.5/go.mod h1:vgihg1mz6n7pb5q2YJF7KlXve6tCglInd6XO0JGOlWM= +cloud.google.com/go/dataqna v0.8.11/go.mod h1:74Icl1oFKKZXPd+W7YDtqJLa+VwLV6wZ+UF+sHo2QZQ= cloud.google.com/go/datastore v1.15.0 h1:0P9WcsQeTWjuD1H14JIY7XQscIPQ4Laje8ti96IC5vg= cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= +cloud.google.com/go/datastore v1.17.1/go.mod h1:mtzZ2HcVtz90OVrEXXGDc2pO4NM1kiBQy8YV4qGe0ZM= cloud.google.com/go/datastream v1.10.2 h1:94RSCSWUXpbXvTrISGKZWbJqPTTSvMxErCZiHrEspEM= cloud.google.com/go/datastream v1.10.2/go.mod h1:W42TFgKAs/om6x/CdXX5E4oiAsKlH+e8MTGy81zdYt0= cloud.google.com/go/datastream v1.10.3 h1:Z2sKPIB7bT2kMW5Uhxy44ZgdJzxzE5uKjavoW+EuHEE= cloud.google.com/go/datastream v1.10.3/go.mod h1:YR0USzgjhqA/Id0Ycu1VvZe8hEWwrkjuXrGbzeDOSEA= cloud.google.com/go/datastream v1.10.4 h1:o1QDKMo/hk0FN7vhoUQURREuA0rgKmnYapB+1M+7Qz4= cloud.google.com/go/datastream v1.10.4/go.mod h1:7kRxPdxZxhPg3MFeCSulmAJnil8NJGGvSNdn4p1sRZo= +cloud.google.com/go/datastream v1.10.10/go.mod h1:NqchuNjhPlISvWbk426/AU/S+Kgv7srlID9P5XOAbtg= cloud.google.com/go/deploy v1.14.1 h1:LoaXLE32tVW/ULfKP8iX3USJZopWUTjVHiIGc/CVcWI= cloud.google.com/go/deploy v1.14.1/go.mod h1:N8S0b+aIHSEeSr5ORVoC0+/mOPUysVt8ae4QkZYolAw= cloud.google.com/go/deploy v1.15.0 h1:ZdmYzRMTGkVyP1nXEUat9FpbJGJemDcNcx82RSSOElc= cloud.google.com/go/deploy v1.15.0/go.mod h1:e5XOUI5D+YGldyLNZ21wbp9S8otJbBE4i88PtO9x/2g= cloud.google.com/go/deploy v1.17.1 h1:m27Ojwj03gvpJqCbodLYiVmE9x4/LrHGGMjzc0LBfM4= cloud.google.com/go/deploy v1.17.1/go.mod h1:SXQyfsXrk0fBmgBHRzBjQbZhMfKZ3hMQBw5ym7MN/50= +cloud.google.com/go/deploy v1.20.0/go.mod h1:PaOfS47VrvmYnxG5vhHg0KU60cKeWcqyLbMBjxS8DW8= cloud.google.com/go/dialogflow v1.44.2 h1:y2I9aHjFrszP2mAQNFCkfwzyli1avPiw/OQt1K3YV8Q= cloud.google.com/go/dialogflow v1.44.2/go.mod h1:QzFYndeJhpVPElnFkUXxdlptx0wPnBWLCBT9BvtC3/c= cloud.google.com/go/dialogflow v1.44.3 h1:cK/f88KX+YVR4tLH4clMQlvrLWD2qmKJQziusjGPjmc= cloud.google.com/go/dialogflow v1.44.3/go.mod h1:mHly4vU7cPXVweuB5R0zsYKPMzy240aQdAu06SqBbAQ= cloud.google.com/go/dialogflow v1.49.0 h1:KqG0oxGE71qo0lRVyAoeBozefCvsMfcDzDjoLYSY0F4= cloud.google.com/go/dialogflow v1.49.0/go.mod h1:dhVrXKETtdPlpPhE7+2/k4Z8FRNUp6kMV3EW3oz/fe0= +cloud.google.com/go/dialogflow v1.55.0/go.mod h1:0u0hSlJiFpMkMpMNoFrQETwDjaRm8Q8hYKv+jz5JeRA= cloud.google.com/go/dlp v1.10.3 h1:UWS2DOpyUuK/ig3ZWzJ0IcZRYsRcRkgD1NSaoSU1upw= cloud.google.com/go/dlp v1.10.3/go.mod h1:iUaTc/ln8I+QT6Ai5vmuwfw8fqTk2kaz0FvCwhLCom0= cloud.google.com/go/dlp v1.11.1 h1:OFlXedmPP/5//X1hBEeq3D9kUVm9fb6ywYANlpv/EsQ= cloud.google.com/go/dlp v1.11.1/go.mod h1:/PA2EnioBeXTL/0hInwgj0rfsQb3lpE3R8XUJxqUNKI= cloud.google.com/go/dlp v1.11.2 h1:lTipOuJaSjlYnnotPMbEhKURLC6GzCMDDzVbJAEbmYM= cloud.google.com/go/dlp v1.11.2/go.mod h1:9Czi+8Y/FegpWzgSfkRlyz+jwW6Te9Rv26P3UfU/h/w= +cloud.google.com/go/dlp v1.15.0/go.mod h1:LtPZxZAenBXKzvWIOB2hdHIXuEcK0wW0En8//u+/nNA= cloud.google.com/go/documentai v1.23.4 h1:AQ9/q6mFBpHmWx7k1fB+S1ut8mv03XUo9sdOuEWXxl8= cloud.google.com/go/documentai v1.23.4/go.mod h1:4MYAaEMnADPN1LPN5xboDR5QVB6AgsaxgFdJhitlE2Y= cloud.google.com/go/documentai v1.23.5 h1:KAlzT+q8qvRxAmhsJUvLtfFHH0PNvz3M79H6CgVBKL8= cloud.google.com/go/documentai v1.23.5/go.mod h1:ghzBsyVTiVdkfKaUCum/9bGBEyBjDO4GfooEcYKhN+g= cloud.google.com/go/documentai v1.25.0 h1:lI62GMEEPO6vXJI9hj+G9WjOvnR0hEjvjokrnex4cxA= cloud.google.com/go/documentai v1.25.0/go.mod h1:ftLnzw5VcXkLItp6pw1mFic91tMRyfv6hHEY5br4KzY= +cloud.google.com/go/documentai v1.30.5/go.mod h1:5ajlDvaPyl9tc+K/jZE8WtYIqSXqAD33Z1YAYIjfad4= cloud.google.com/go/domains v0.9.3 h1:/NaEe9O1vhHt+j/VDPNJt8oDgGthsY+hbjbkBBOWorw= cloud.google.com/go/domains v0.9.3/go.mod h1:29k66YNDLDY9LCFKpGFeh6Nj9r62ZKm5EsUJxAl84KU= cloud.google.com/go/domains v0.9.4 h1:ua4GvsDztZ5F3xqjeLKVRDeOvJshf5QFgWGg1CKti3A= cloud.google.com/go/domains v0.9.4/go.mod h1:27jmJGShuXYdUNjyDG0SodTfT5RwLi7xmH334Gvi3fY= cloud.google.com/go/domains v0.9.5 h1:Mml/R6s3vQQvFPpi/9oX3O5dRirgjyJ8cksK8N19Y7g= cloud.google.com/go/domains v0.9.5/go.mod h1:dBzlxgepazdFhvG7u23XMhmMKBjrkoUNaw0A8AQB55Y= +cloud.google.com/go/domains v0.9.11/go.mod h1:efo5552kUyxsXEz30+RaoIS2lR7tp3M/rhiYtKXkhkk= cloud.google.com/go/edgecontainer v1.1.3 h1:cpoLa8/f2xPQFfoXRztRMJVVsQ/pxY+fra1QGQjxjyw= cloud.google.com/go/edgecontainer v1.1.3/go.mod h1:Ll2DtIABzEfaxaVSbwj3QHFaOOovlDFiWVDu349jSsA= cloud.google.com/go/edgecontainer v1.1.4 h1:Szy3Q/N6bqgQGyxqjI+6xJZbmvPvnFHp3UZr95DKcQ0= cloud.google.com/go/edgecontainer v1.1.4/go.mod h1:AvFdVuZuVGdgaE5YvlL1faAoa1ndRR/5XhXZvPBHbsE= cloud.google.com/go/edgecontainer v1.1.5 h1:tBY32km78ScpK2aOP84JoW/+wtpx5WluyPUSEE3270U= cloud.google.com/go/edgecontainer v1.1.5/go.mod h1:rgcjrba3DEDEQAidT4yuzaKWTbkTI5zAMu3yy6ZWS0M= +cloud.google.com/go/edgecontainer v1.2.5/go.mod h1:OAb6tElD3F3oBujFAup14PKOs9B/lYobTb6LARmoACY= cloud.google.com/go/errorreporting v0.3.0 h1:kj1XEWMu8P0qlLhm3FwcaFsUvXChV/OraZwA70trRR0= +cloud.google.com/go/errorreporting v0.3.1/go.mod h1:6xVQXU1UuntfAf+bVkFk6nld41+CPyF2NSPCyXE3Ztk= cloud.google.com/go/essentialcontacts v1.6.4 h1:kCxxUXP61/36M9KjiwvwSDAjtpjiv2apmIbBRdBHNXg= cloud.google.com/go/essentialcontacts v1.6.4/go.mod h1:iju5Vy3d9tJUg0PYMd1nHhjV7xoCXaOAVabrwLaPBEM= cloud.google.com/go/essentialcontacts v1.6.5 h1:S2if6wkjR4JCEAfDtIiYtD+sTz/oXjh2NUG4cgT1y/Q= cloud.google.com/go/essentialcontacts v1.6.5/go.mod h1:jjYbPzw0x+yglXC890l6ECJWdYeZ5dlYACTFL0U/VuM= cloud.google.com/go/essentialcontacts v1.6.6 h1:13eHn5qBnsawxI7mIrv4jRIEmQ1xg0Ztqw5ZGqtUNfA= cloud.google.com/go/essentialcontacts v1.6.6/go.mod h1:XbqHJGaiH0v2UvtuucfOzFXN+rpL/aU5BCZLn4DYl1Q= +cloud.google.com/go/essentialcontacts v1.6.12/go.mod h1:UGhWTIYewH8Ma4wDRJp8cMAHUCeAOCKsuwd6GLmmQLc= cloud.google.com/go/eventarc v1.13.2 h1:8LX0xmWk8qj4BZJ5rwQosVW/icozTsMxUimgz2Hlw5s= cloud.google.com/go/eventarc v1.13.2/go.mod h1:X9A80ShVu19fb4e5sc/OLV7mpFUKZMwfJFeeWhcIObM= cloud.google.com/go/eventarc v1.13.3 h1:+pFmO4eu4dOVipSaFBLkmqrRYG94Xl/TQZFOeohkuqU= cloud.google.com/go/eventarc v1.13.3/go.mod h1:RWH10IAZIRcj1s/vClXkBgMHwh59ts7hSWcqD3kaclg= cloud.google.com/go/eventarc v1.13.4 h1:ORkd6/UV5FIdA8KZQDLNZYKS7BBOrj0p01DXPmT4tE4= cloud.google.com/go/eventarc v1.13.4/go.mod h1:zV5sFVoAa9orc/52Q+OuYUG9xL2IIZTbbuTHC6JSY8s= +cloud.google.com/go/eventarc v1.13.10/go.mod h1:KlCcOMApmUaqOEZUpZRVH+p0nnnsY1HaJB26U4X5KXE= cloud.google.com/go/filestore v1.7.3 h1:Rx1EFBco717fTbeQLhAgEdPStqAzlKywMx37SvTOFXI= cloud.google.com/go/filestore v1.7.3/go.mod h1:Qp8WaEERR3cSkxToxFPHh/b8AACkSut+4qlCjAmKTV0= cloud.google.com/go/filestore v1.8.0 h1:/+wUEGwk3x3Kxomi2cP5dsR8+SIXxo7M0THDjreFSYo= cloud.google.com/go/filestore v1.8.0/go.mod h1:S5JCxIbFjeBhWMTfIYH2Jx24J6BqjwpkkPl+nBA5DlI= cloud.google.com/go/filestore v1.8.1 h1:X5G4y/vrUo1B8Nsz93qSWTMAcM8LXbGUldq33OdcdCw= cloud.google.com/go/filestore v1.8.1/go.mod h1:MbN9KcaM47DRTIuLfQhJEsjaocVebNtNQhSLhKCF5GM= +cloud.google.com/go/filestore v1.8.7/go.mod h1:dKfyH0YdPAKdYHqAR/bxZeil85Y5QmrEVQwIYuRjcXI= cloud.google.com/go/firestore v1.14.0 h1:8aLcKnMPoldYU3YHgu4t2exrKhLQkqaXAGqT0ljrFVw= cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ= +cloud.google.com/go/firestore v1.16.0/go.mod h1:+22v/7p+WNBSQwdSwP57vz47aZiY+HrDkrOsJNhk7rg= cloud.google.com/go/functions v1.15.3 h1:5bAA0oK69rdOzSyJGkEod90R9zpok2CRPi1du0gwFtc= cloud.google.com/go/functions v1.15.3/go.mod h1:r/AMHwBheapkkySEhiZYLDBwVJCdlRwsm4ieJu35/Ug= cloud.google.com/go/functions v1.15.4 h1:ZjdiV3MyumRM6++1Ixu6N0VV9LAGlCX4AhW6Yjr1t+U= cloud.google.com/go/functions v1.15.4/go.mod h1:CAsTc3VlRMVvx+XqXxKqVevguqJpnVip4DdonFsX28I= cloud.google.com/go/functions v1.16.0 h1:IWVylmK5F6hJ3R5zaRW7jI5PrWhCvtBVU4axQLmXSo4= cloud.google.com/go/functions v1.16.0/go.mod h1:nbNpfAG7SG7Duw/o1iZ6ohvL7mc6MapWQVpqtM29n8k= +cloud.google.com/go/functions v1.16.6/go.mod h1:wOzZakhMueNQaBUJdf0yjsJIe0GBRu+ZTvdSTzqHLs0= cloud.google.com/go/gaming v1.9.0 h1:7vEhFnZmd931Mo7sZ6pJy7uQPDxF7m7v8xtBheG08tc= cloud.google.com/go/gkebackup v1.3.3 h1:B1QCKBePacacXFflG3Sc1MP4zWkeN1ZvfAT0AEAEgIc= cloud.google.com/go/gkebackup v1.3.3/go.mod h1:eMk7/wVV5P22KBakhQnJxWSVftL1p4VBFLpv0kIft7I= @@ -303,76 +363,91 @@ cloud.google.com/go/gkebackup v1.3.4 h1:KhnOrr9A1tXYIYeXKqCKbCI8TL2ZNGiD3dm+d7BD cloud.google.com/go/gkebackup v1.3.4/go.mod h1:gLVlbM8h/nHIs09ns1qx3q3eaXcGSELgNu1DWXYz1HI= cloud.google.com/go/gkebackup v1.3.5 h1:iuE8KNtTsPOc79qeWoNS8zOWoXPD9SAdOmwgxtlCmh8= cloud.google.com/go/gkebackup v1.3.5/go.mod h1:KJ77KkNN7Wm1LdMopOelV6OodM01pMuK2/5Zt1t4Tvc= +cloud.google.com/go/gkebackup v1.5.4/go.mod h1:V+llvHlRD0bCyrkYaAMJX+CHralceQcaOWjNQs8/Ymw= cloud.google.com/go/gkeconnect v0.8.3 h1:Qex3VdGKPM9cRbEIe7FAho8CAMQOx4u+m1pwRU515jY= cloud.google.com/go/gkeconnect v0.8.3/go.mod h1:i9GDTrfzBSUZGCe98qSu1B8YB8qfapT57PenIb820Jo= cloud.google.com/go/gkeconnect v0.8.4 h1:1JLpZl31YhQDQeJ98tK6QiwTpgHFYRJwpntggpQQWis= cloud.google.com/go/gkeconnect v0.8.4/go.mod h1:84hZz4UMlDCKl8ifVW8layK4WHlMAFeq8vbzjU0yJkw= cloud.google.com/go/gkeconnect v0.8.5 h1:17d+ZSSXKqG/RwZCq3oFMIWLPI8Zw3b8+a9/BEVlwH0= cloud.google.com/go/gkeconnect v0.8.5/go.mod h1:LC/rS7+CuJ5fgIbXv8tCD/mdfnlAadTaUufgOkmijuk= +cloud.google.com/go/gkeconnect v0.8.11/go.mod h1:ejHv5ehbceIglu1GsMwlH0nZpTftjxEY6DX7tvaM8gA= cloud.google.com/go/gkehub v0.14.3 h1:b7/eKuEEfeQeRIAz//v6Y3ZjNAYi81Eay/a8kqaYSKI= cloud.google.com/go/gkehub v0.14.3/go.mod h1:jAl6WafkHHW18qgq7kqcrXYzN08hXeK/Va3utN8VKg8= cloud.google.com/go/gkehub v0.14.4 h1:J5tYUtb3r0cl2mM7+YHvV32eL+uZQ7lONyUZnPikCEo= cloud.google.com/go/gkehub v0.14.4/go.mod h1:Xispfu2MqnnFt8rV/2/3o73SK1snL8s9dYJ9G2oQMfc= cloud.google.com/go/gkehub v0.14.5 h1:RboLNFzf9wEMSo7DrKVBlf+YhK/A/jrLN454L5Tz99Q= cloud.google.com/go/gkehub v0.14.5/go.mod h1:6bzqxM+a+vEH/h8W8ec4OJl4r36laxTs3A/fMNHJ0wA= +cloud.google.com/go/gkehub v0.14.11/go.mod h1:CsmDJ4qbBnSPkoBltEubK6qGOjG0xNfeeT5jI5gCnRQ= cloud.google.com/go/gkemulticloud v1.0.2 h1:eBkfrcLHG+uaaVVbKMKS0qA1M1yBU3pdiHn1rZUCv0s= cloud.google.com/go/gkemulticloud v1.0.2/go.mod h1:+ee5VXxKb3H1l4LZAcgWB/rvI16VTNTrInWxDjAGsGo= cloud.google.com/go/gkemulticloud v1.0.3 h1:NmJsNX9uQ2CT78957xnjXZb26TDIMvv+d5W2vVUt0Pg= cloud.google.com/go/gkemulticloud v1.0.3/go.mod h1:7NpJBN94U6DY1xHIbsDqB2+TFZUfjLUKLjUX8NGLor0= cloud.google.com/go/gkemulticloud v1.1.1 h1:rsSZAGLhyjyE/bE2ToT5fqo1qSW7S+Ubsc9jFOcbhSI= cloud.google.com/go/gkemulticloud v1.1.1/go.mod h1:C+a4vcHlWeEIf45IB5FFR5XGjTeYhF83+AYIpTy4i2Q= +cloud.google.com/go/gkemulticloud v1.2.4/go.mod h1:PjTtoKLQpIRztrL+eKQw8030/S4c7rx/WvHydDJlpGE= cloud.google.com/go/grafeas v0.2.0 h1:CYjC+xzdPvbV65gi6Dr4YowKcmLo045pm18L0DhdELM= cloud.google.com/go/grafeas v0.3.0 h1:oyTL/KjiUeBs9eYLw/40cpSZglUC+0F7X4iu/8t7NWs= cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8= cloud.google.com/go/grafeas v0.3.4/go.mod h1:A5m316hcG+AulafjAbPKXBO/+I5itU4LOdKO2R/uDIc= +cloud.google.com/go/grafeas v0.3.6/go.mod h1:to6ECAPgRO2xeqD8ISXHc70nObJuaKZThreQOjeOH3o= cloud.google.com/go/gsuiteaddons v1.6.3 h1:fjt+72G2ZavxZ4JROTjrvjV6OJs/fHr9Uo+aOGDcH20= cloud.google.com/go/gsuiteaddons v1.6.3/go.mod h1:sCFJkZoMrLZT3JTb8uJqgKPNshH2tfXeCwTFRebTq48= cloud.google.com/go/gsuiteaddons v1.6.4 h1:uuw2Xd37yHftViSI8J2hUcCS8S7SH3ZWH09sUDLW30Q= cloud.google.com/go/gsuiteaddons v1.6.4/go.mod h1:rxtstw7Fx22uLOXBpsvb9DUbC+fiXs7rF4U29KHM/pE= cloud.google.com/go/gsuiteaddons v1.6.5 h1:CZEbaBwmbYdhFw21Fwbo+C35HMe36fTE0FBSR4KSfWg= cloud.google.com/go/gsuiteaddons v1.6.5/go.mod h1:Lo4P2IvO8uZ9W+RaC6s1JVxo42vgy+TX5a6hfBZ0ubs= +cloud.google.com/go/gsuiteaddons v1.6.11/go.mod h1:U7mk5PLBzDpHhgHv5aJkuvLp9RQzZFpa8hgWAB+xVIk= cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= 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/iam v1.1.8/go.mod h1:GvE6lyMmfxXauzNq8NbgJbeVQNspG+tcdL/W8QO1+zE= +cloud.google.com/go/iam v1.1.10/go.mod h1:iEgMq62sg8zx446GCaijmA2Miwg5o3UbO+nI47WHJps= cloud.google.com/go/iap v1.9.2 h1:vuyDICrMq8z6flZaptQWOxN+XBHtGKWKYlAir8LmTgk= cloud.google.com/go/iap v1.9.2/go.mod h1:GwDTOs047PPSnwRD0Us5FKf4WDRcVvHg1q9WVkKBhdI= cloud.google.com/go/iap v1.9.3 h1:M4vDbQ4TLXdaljXVZSwW7XtxpwXUUarY2lIs66m0aCM= cloud.google.com/go/iap v1.9.3/go.mod h1:DTdutSZBqkkOm2HEOTBzhZxh2mwwxshfD/h3yofAiCw= cloud.google.com/go/iap v1.9.4 h1:94zirc2r4t6KzhAMW0R6Dme005eTP6yf7g6vN4IhRrA= cloud.google.com/go/iap v1.9.4/go.mod h1:vO4mSq0xNf/Pu6E5paORLASBwEmphXEjgCFg7aeNu1w= +cloud.google.com/go/iap v1.9.10/go.mod h1:pO0FEirrhMOT1H0WVwpD5dD9r3oBhvsunyBQtNXzzc0= cloud.google.com/go/ids v1.4.3 h1:ZgT7bJIu+7toDJNjX4Uiao/9+82T6ZDGySoMxbvdZcY= cloud.google.com/go/ids v1.4.3/go.mod h1:9CXPqI3GedjmkjbMWCUhMZ2P2N7TUMzAkVXYEH2orYU= cloud.google.com/go/ids v1.4.4 h1:VuFqv2ctf/A7AyKlNxVvlHTzjrEvumWaZflUzBPz/M4= cloud.google.com/go/ids v1.4.4/go.mod h1:z+WUc2eEl6S/1aZWzwtVNWoSZslgzPxAboS0lZX0HjI= cloud.google.com/go/ids v1.4.5 h1:xd4U7pgl3GHV+MABnv1BF4/Vy/zBF7CYC8XngkOLzag= cloud.google.com/go/ids v1.4.5/go.mod h1:p0ZnyzjMWxww6d2DvMGnFwCsSxDJM666Iir1bK1UuBo= +cloud.google.com/go/ids v1.4.11/go.mod h1:+ZKqWELpJm8WcRRsSvKZWUdkriu4A3XsLLzToTv3418= cloud.google.com/go/iot v1.7.3 h1:Cbn4wsDXgIwqAAOYIyto4e6aXJDhlZiqf2wO+9h8pEg= cloud.google.com/go/iot v1.7.3/go.mod h1:t8itFchkol4VgNbHnIq9lXoOOtHNR3uAACQMYbN9N4I= cloud.google.com/go/iot v1.7.4 h1:m1WljtkZnvLTIRYW1YTOv5A6H1yKgLHR6nU7O8yf27w= cloud.google.com/go/iot v1.7.4/go.mod h1:3TWqDVvsddYBG++nHSZmluoCAVGr1hAcabbWZNKEZLk= cloud.google.com/go/iot v1.7.5 h1:munTeBlbqI33iuTYgXy7S8lW2TCgi5l1hA4roSIY+EE= cloud.google.com/go/iot v1.7.5/go.mod h1:nq3/sqTz3HGaWJi1xNiX7F41ThOzpud67vwk0YsSsqs= +cloud.google.com/go/iot v1.7.11/go.mod h1:0vZJOqFy9kVLbUXwTP95e0dWHakfR4u5IWqsKMGIfHk= cloud.google.com/go/kms v1.15.4 h1:gEZzC54ZBI+aeW8/jg9tgz9KR4Aa+WEDPbdGIV3iJ7A= cloud.google.com/go/kms v1.15.4/go.mod h1:L3Sdj6QTHK8dfwK5D1JLsAyELsNMnd3tAIwGS4ltKpc= cloud.google.com/go/kms v1.15.5/go.mod h1:cU2H5jnp6G2TDpUGZyqTCoy1n16fbubHZjmVXSMtwDI= +cloud.google.com/go/kms v1.18.2/go.mod h1:YFz1LYrnGsXARuRePL729oINmN5J/5e7nYijgvfiIeY= cloud.google.com/go/language v1.12.1 h1:7TnnZKy3sspQ3F1mzwEv3eaptTwGrReVXEo8Oozi10w= cloud.google.com/go/language v1.12.1/go.mod h1:zQhalE2QlQIxbKIZt54IASBzmZpN/aDASea5zl1l+J4= cloud.google.com/go/language v1.12.2 h1:zg9uq2yS9PGIOdc0Kz/l+zMtOlxKWonZjjo5w5YPG2A= cloud.google.com/go/language v1.12.2/go.mod h1:9idWapzr/JKXBBQ4lWqVX/hcadxB194ry20m/bTrhWc= cloud.google.com/go/language v1.12.3 h1:iaJZg6K4j/2PvZZVcjeO/btcWWIllVRBhuTFjGO4LXs= cloud.google.com/go/language v1.12.3/go.mod h1:evFX9wECX6mksEva8RbRnr/4wi/vKGYnAJrTRXU8+f8= +cloud.google.com/go/language v1.12.9/go.mod h1:B9FbD17g1EkilctNGUDAdSrBHiFOlKNErLljO7jplDU= cloud.google.com/go/lifesciences v0.9.3 h1:QcPrlyo/F7IXJXk8CkF4yGEwX4CTLAKUE/My4l3KF/8= cloud.google.com/go/lifesciences v0.9.3/go.mod h1:gNGBOJV80IWZdkd+xz4GQj4mbqaz737SCLHn2aRhQKM= cloud.google.com/go/lifesciences v0.9.4 h1:rZEI/UxcxVKEzyoRS/kdJ1VoolNItRWjNN0Uk9tfexg= cloud.google.com/go/lifesciences v0.9.4/go.mod h1:bhm64duKhMi7s9jR9WYJYvjAFJwRqNj+Nia7hF0Z7JA= cloud.google.com/go/lifesciences v0.9.5 h1:gXvN70m2p+4zgJFzaz6gMKaxTuF9WJ0USYoMLWAOm8g= cloud.google.com/go/lifesciences v0.9.5/go.mod h1:OdBm0n7C0Osh5yZB7j9BXyrMnTRGBJIZonUMxo5CzPw= +cloud.google.com/go/lifesciences v0.9.11/go.mod h1:NMxu++FYdv55TxOBEvLIhiAvah8acQwXsz79i9l9/RY= cloud.google.com/go/logging v1.8.1 h1:26skQWPeYhvIasWKm48+Eq7oUqdcdbwsCVwz5Ys0FvU= cloud.google.com/go/logging v1.8.1/go.mod h1:TJjR+SimHwuC8MZ9cjByQulAMgni+RkXeI3wwctHJEI= cloud.google.com/go/logging v1.9.0 h1:iEIOXFO9EmSiTjDmfpbRjOxECO7R8C7b8IXUGOj7xZw= cloud.google.com/go/logging v1.9.0/go.mod h1:1Io0vnZv4onoUnsVUQY3HZ3Igb1nBchky0A0y7BBBhE= +cloud.google.com/go/logging v1.11.0/go.mod h1:5LDiJC/RxTt+fHc1LAt20R9TKiUTReDg6RuuFOZ67+A= cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= cloud.google.com/go/longrunning v0.5.2/go.mod h1:nqo6DQbNV2pXhGDbDMoN2bWz68MjZUzqv2YttZiveCs= cloud.google.com/go/longrunning v0.5.3 h1:maKa7O9YTzmVzwdlRKr981U1Ys2auup6rpeMt8y3+RU= @@ -381,118 +456,141 @@ cloud.google.com/go/longrunning v0.5.4 h1:w8xEcbZodnA2BbW6sVirkkoC+1gP8wS57EUUgG cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI= cloud.google.com/go/longrunning v0.5.5 h1:GOE6pZFdSrTb4KAiKnXsJBtlE6mEyaW44oKyMILWnOg= cloud.google.com/go/longrunning v0.5.5/go.mod h1:WV2LAxD8/rg5Z1cNW6FJ/ZpX4E4VnDnoTk0yawPBB7s= +cloud.google.com/go/longrunning v0.5.6/go.mod h1:vUaDrWYOMKRuhiv6JBnn49YxCPz2Ayn9GqyjaBT8/mA= +cloud.google.com/go/longrunning v0.5.7/go.mod h1:8GClkudohy1Fxm3owmBGid8W0pSgodEMwEAztp38Xng= +cloud.google.com/go/longrunning v0.5.9/go.mod h1:HD+0l9/OOW0za6UWdKJtXoFAX/BGg/3Wj8p10NeWF7c= cloud.google.com/go/managedidentities v1.6.3 h1:hfWT2pidjP19mYJxTWMbfj8/wj9OZNUtB/oZ3HW0K8g= cloud.google.com/go/managedidentities v1.6.3/go.mod h1:tewiat9WLyFN0Fi7q1fDD5+0N4VUoL0SCX0OTCthZq4= cloud.google.com/go/managedidentities v1.6.4 h1:SF/u1IJduMqQQdJA4MDyivlIQ4SrV5qAawkr/ZEREkY= cloud.google.com/go/managedidentities v1.6.4/go.mod h1:WgyaECfHmF00t/1Uk8Oun3CQ2PGUtjc3e9Alh79wyiM= cloud.google.com/go/managedidentities v1.6.5 h1:+bpih1piZVLxla/XBqeSUzJBp8gv9plGHIMAI7DLpDM= cloud.google.com/go/managedidentities v1.6.5/go.mod h1:fkFI2PwwyRQbjLxlm5bQ8SjtObFMW3ChBGNqaMcgZjI= +cloud.google.com/go/managedidentities v1.6.11/go.mod h1:df+8oZ1D4Eri+NrcpuiR5Hd6MGgiMqn0ZCzNmBYPS0A= cloud.google.com/go/maps v1.5.1 h1:j5AJNj9mbPTwqrqFmAHzMY3UX+Eddj/jC9xu7qFMVhk= cloud.google.com/go/maps v1.5.1/go.mod h1:NPMZw1LJwQZYCfz4y+EIw+SI+24A4bpdFJqdKVr0lt4= cloud.google.com/go/maps v1.6.1 h1:2+eMp/1MvMPp5qrSOd3vtnLKa/pylt+krVRqET3jWsM= cloud.google.com/go/maps v1.6.1/go.mod h1:4+buOHhYXFBp58Zj/K+Lc1rCmJssxxF4pJ5CJnhdz18= cloud.google.com/go/maps v1.6.4 h1:EVCZAiDvog9So46460BGbCasPhi613exoaQbpilMVlk= cloud.google.com/go/maps v1.6.4/go.mod h1:rhjqRy8NWmDJ53saCfsXQ0LKwBHfi6OSh5wkq6BaMhI= +cloud.google.com/go/maps v1.11.5/go.mod h1:MOS/NN0L6b7Kumr8bLux9XTpd8+D54DYxBMUjq+XfXs= cloud.google.com/go/mediatranslation v0.8.3 h1:3B75VHLlp4M+W10NHEOAl30q7ZSd0D/i8LqRQqxqMM0= cloud.google.com/go/mediatranslation v0.8.3/go.mod h1:F9OnXTy336rteOEywtY7FOqCk+J43o2RF638hkOQl4Y= cloud.google.com/go/mediatranslation v0.8.4 h1:VRCQfZB4s6jN0CSy7+cO3m4ewNwgVnaePanVCQh/9Z4= cloud.google.com/go/mediatranslation v0.8.4/go.mod h1:9WstgtNVAdN53m6TQa5GjIjLqKQPXe74hwSCxUP6nj4= cloud.google.com/go/mediatranslation v0.8.5 h1:c76KdIXljQHSCb/Cy47S8H4s05A4zbK3pAFGzwcczZo= cloud.google.com/go/mediatranslation v0.8.5/go.mod h1:y7kTHYIPCIfgyLbKncgqouXJtLsU+26hZhHEEy80fSs= +cloud.google.com/go/mediatranslation v0.8.11/go.mod h1:3sNEm0fx61eHk7rfzBzrljVV9XKr931xI3OFacQBVFg= cloud.google.com/go/memcache v1.10.3 h1:yD1ZDTXP7YfT5lBLRNioqZ427iaHaoqW5aMKXtM0acQ= cloud.google.com/go/memcache v1.10.3/go.mod h1:6z89A41MT2DVAW0P4iIRdu5cmRTsbsFn4cyiIx8gbwo= cloud.google.com/go/memcache v1.10.4 h1:cdex/ayDd294XBj2cGeMe6Y+H1JvhN8y78B9UW7pxuQ= cloud.google.com/go/memcache v1.10.4/go.mod h1:v/d8PuC8d1gD6Yn5+I3INzLR01IDn0N4Ym56RgikSI0= cloud.google.com/go/memcache v1.10.5 h1:yeDv5qxRedFosvpMSEswrqUsJM5OdWvssPHFliNFTc4= cloud.google.com/go/memcache v1.10.5/go.mod h1:/FcblbNd0FdMsx4natdj+2GWzTq+cjZvMa1I+9QsuMA= +cloud.google.com/go/memcache v1.10.11/go.mod h1:ubJ7Gfz/xQawQY5WO5pht4Q0dhzXBFeEszAeEJnwBHU= cloud.google.com/go/metastore v1.13.2 h1:ATz8sWfuHmlqAkPpWGRXQzZFUsgbDkAhZOyNlce83vA= cloud.google.com/go/metastore v1.13.2/go.mod h1:KS59dD+unBji/kFebVp8XU/quNSyo8b6N6tPGspKszA= cloud.google.com/go/metastore v1.13.3 h1:94l/Yxg9oBZjin2bzI79oK05feYefieDq0o5fjLSkC8= cloud.google.com/go/metastore v1.13.3/go.mod h1:K+wdjXdtkdk7AQg4+sXS8bRrQa9gcOr+foOMF2tqINE= cloud.google.com/go/metastore v1.13.4 h1:dR7vqWXlK6IYR8Wbu9mdFfwlVjodIBhd1JRrpZftTEg= cloud.google.com/go/metastore v1.13.4/go.mod h1:FMv9bvPInEfX9Ac1cVcRXp8EBBQnBcqH6gz3KvJ9BAE= +cloud.google.com/go/metastore v1.13.10/go.mod h1:RPhMnBxUmTLT1fN7fNbPqtH5EoGHueDxubmJ1R1yT84= cloud.google.com/go/monitoring v1.16.2 h1:gx7BDZcoRqX5DfuJzw9LdhVjEkqCLmDXScdnrmIy9ik= cloud.google.com/go/monitoring v1.16.2/go.mod h1:B44KGwi4ZCF8Rk/5n+FWeispDXoKSk9oss2QNlXJBgc= cloud.google.com/go/monitoring v1.16.3 h1:mf2SN9qSoBtIgiMA4R/y4VADPWZA7VCNJA079qLaZQ8= cloud.google.com/go/monitoring v1.16.3/go.mod h1:KwSsX5+8PnXv5NJnICZzW2R8pWTis8ypC4zmdRD63Tw= cloud.google.com/go/monitoring v1.18.0 h1:NfkDLQDG2UR3WYZVQE8kwSbUIEyIqJUPl+aOQdFH1T4= cloud.google.com/go/monitoring v1.18.0/go.mod h1:c92vVBCeq/OB4Ioyo+NbN2U7tlg5ZH41PZcdvfc+Lcg= +cloud.google.com/go/monitoring v1.20.3/go.mod h1:GPIVIdNznIdGqEjtRKQWTLcUeRnPjZW85szouimiczU= cloud.google.com/go/networkconnectivity v1.14.2 h1:tbzauwO86MlZ7+7OmxA0+PnEEgK2AXo9lGrUIL0++qc= cloud.google.com/go/networkconnectivity v1.14.2/go.mod h1:5UFlwIisZylSkGG1AdwK/WZUaoz12PKu6wODwIbFzJo= cloud.google.com/go/networkconnectivity v1.14.3 h1:e9lUkCe2BexsqsUc2bjV8+gFBpQa54J+/F3qKVtW+wA= cloud.google.com/go/networkconnectivity v1.14.3/go.mod h1:4aoeFdrJpYEXNvrnfyD5kIzs8YtHg945Og4koAjHQek= cloud.google.com/go/networkconnectivity v1.14.4 h1:GBfXFhLyPspnaBE3nI/BRjdhW8vcbpT9QjE/4kDCDdc= cloud.google.com/go/networkconnectivity v1.14.4/go.mod h1:PU12q++/IMnDJAB+3r+tJtuCXCfwfN+C6Niyj6ji1Po= +cloud.google.com/go/networkconnectivity v1.14.10/go.mod h1:f7ZbGl4CV08DDb7lw+NmMXQTKKjMhgCEEwFbEukWuOY= cloud.google.com/go/networkmanagement v1.9.2 h1:v5RWynWBSX91pDnGp/7+5ME0/wLsjIzrC6vlICE/YPs= cloud.google.com/go/networkmanagement v1.9.2/go.mod h1:iDGvGzAoYRghhp4j2Cji7sF899GnfGQcQRQwgVOWnDw= cloud.google.com/go/networkmanagement v1.9.3 h1:HsQk4FNKJUX04k3OI6gUsoveiHMGvDRqlaFM2xGyvqU= cloud.google.com/go/networkmanagement v1.9.3/go.mod h1:y7WMO1bRLaP5h3Obm4tey+NquUvB93Co1oh4wpL+XcU= cloud.google.com/go/networkmanagement v1.9.4 h1:aLV5GcosBNmd6M8+a0ekB0XlLRexv4fvnJJrYnqeBcg= cloud.google.com/go/networkmanagement v1.9.4/go.mod h1:daWJAl0KTFytFL7ar33I6R/oNBH8eEOX/rBNHrC/8TA= +cloud.google.com/go/networkmanagement v1.13.6/go.mod h1:WXBijOnX90IFb6sberjnGrVtZbgDNcPDUYOlGXmG8+4= cloud.google.com/go/networksecurity v0.9.3 h1:t1QESL7xdq/fIoPHrduMWsMDYnM092UUuuiDvnXgrsk= cloud.google.com/go/networksecurity v0.9.3/go.mod h1:l+C0ynM6P+KV9YjOnx+kk5IZqMSLccdBqW6GUoF4p/0= cloud.google.com/go/networksecurity v0.9.4 h1:947tNIPnj1bMGTIEBo3fc4QrrFKS5hh0bFVsHmFm4Vo= cloud.google.com/go/networksecurity v0.9.4/go.mod h1:E9CeMZ2zDsNBkr8axKSYm8XyTqNhiCHf1JO/Vb8mD1w= cloud.google.com/go/networksecurity v0.9.5 h1:+caSxBTj0E8OYVh/5wElFdjEMO1S/rZtE1152Cepchc= cloud.google.com/go/networksecurity v0.9.5/go.mod h1:KNkjH/RsylSGyyZ8wXpue8xpCEK+bTtvof8SBfIhMG8= +cloud.google.com/go/networksecurity v0.9.11/go.mod h1:4xbpOqCwplmFgymAjPFM6ZIplVC6+eQ4m7sIiEq9oJA= cloud.google.com/go/notebooks v1.11.1 h1:fW/P76U437Eyzl1qEwqQSPeToiMB1LM1QyRGR0FpsG4= cloud.google.com/go/notebooks v1.11.1/go.mod h1:V2Zkv8wX9kDCGRJqYoI+bQAaoVeE5kSiz4yYHd2yJwQ= cloud.google.com/go/notebooks v1.11.2 h1:eTOTfNL1yM6L/PCtquJwjWg7ZZGR0URFaFgbs8kllbM= cloud.google.com/go/notebooks v1.11.2/go.mod h1:z0tlHI/lREXC8BS2mIsUeR3agM1AkgLiS+Isov3SS70= cloud.google.com/go/notebooks v1.11.3 h1:FH48boYmrWVQ6k0Mx/WrnNafXncT5iSYxA8CNyWTgy0= cloud.google.com/go/notebooks v1.11.3/go.mod h1:0wQyI2dQC3AZyQqWnRsp+yA+kY4gC7ZIVP4Qg3AQcgo= +cloud.google.com/go/notebooks v1.11.9/go.mod h1:JmnRX0eLgHRJiyxw8HOgumW9iRajImZxr7r75U16uXw= cloud.google.com/go/optimization v1.6.1 h1:sY8QjN37zKQfXCZaUSfGvpVGqyFXO2/vNvrhXMj28eI= cloud.google.com/go/optimization v1.6.1/go.mod h1:hH2RYPTTM9e9zOiTaYPTiGPcGdNZVnBSBxjIAJzUkqo= cloud.google.com/go/optimization v1.6.2 h1:iFsoexcp13cGT3k/Hv8PA5aK+FP7FnbhwDO9llnruas= cloud.google.com/go/optimization v1.6.2/go.mod h1:mWNZ7B9/EyMCcwNl1frUGEuY6CPijSkz88Fz2vwKPOY= cloud.google.com/go/optimization v1.6.3 h1:63NZaWyN+5rZEKHPX4ACpw3BjgyeuY8+rCehiCMaGPY= cloud.google.com/go/optimization v1.6.3/go.mod h1:8ve3svp3W6NFcAEFr4SfJxrldzhUl4VMUJmhrqVKtYA= +cloud.google.com/go/optimization v1.6.9/go.mod h1:mcvkDy0p4s5k7iSaiKrwwpN0IkteHhGmuW5rP9nXA5M= cloud.google.com/go/orchestration v1.8.3 h1:+oaZtNXbCE9QBV/hCUo8Kf5VFILMfg2KR1n6oh8LB/o= cloud.google.com/go/orchestration v1.8.3/go.mod h1:xhgWAYqlbYjlz2ftbFghdyqENYW+JXuhBx9KsjMoGHs= cloud.google.com/go/orchestration v1.8.4 h1:kgwZ2f6qMMYIVBtUGGoU8yjYWwMTHDanLwM/CQCFaoQ= cloud.google.com/go/orchestration v1.8.4/go.mod h1:d0lywZSVYtIoSZXb0iFjv9SaL13PGyVOKDxqGxEf/qI= cloud.google.com/go/orchestration v1.8.5 h1:YHgWMlrPttIVGItgGfuvO2KM7x+y9ivN/Yk92pMm1a4= cloud.google.com/go/orchestration v1.8.5/go.mod h1:C1J7HesE96Ba8/hZ71ISTV2UAat0bwN+pi85ky38Yq8= +cloud.google.com/go/orchestration v1.9.6/go.mod h1:gQvdIsHESZJigimnbUA8XLbYeFlSg/z+A7ppds5JULg= cloud.google.com/go/orgpolicy v1.11.3 h1:oqXeClkeznFGEd/rcu4T0WYOTh5ec6OkkXskaShD4hM= cloud.google.com/go/orgpolicy v1.11.3/go.mod h1:oKAtJ/gkMjum5icv2aujkP4CxROxPXsBbYGCDbPO8MM= cloud.google.com/go/orgpolicy v1.11.4 h1:RWuXQDr9GDYhjmrredQJC7aY7cbyqP9ZuLbq5GJGves= cloud.google.com/go/orgpolicy v1.11.4/go.mod h1:0+aNV/nrfoTQ4Mytv+Aw+stBDBjNf4d8fYRA9herfJI= cloud.google.com/go/orgpolicy v1.12.1 h1:2JbXigqBJVp8Dx5dONUttFqewu4fP0p3pgOdIZAhpYU= cloud.google.com/go/orgpolicy v1.12.1/go.mod h1:aibX78RDl5pcK3jA8ysDQCFkVxLj3aOQqrbBaUL2V5I= +cloud.google.com/go/orgpolicy v1.12.7/go.mod h1:Os3GlUFRPf1UxOHTup5b70BARnhHeQNNVNZzJXPbWYI= cloud.google.com/go/osconfig v1.12.3 h1:PumxpZU71EpygOx0zkrx2HxlMvpyUmENB4e5nQc3+KM= cloud.google.com/go/osconfig v1.12.3/go.mod h1:L/fPS8LL6bEYUi1au832WtMnPeQNT94Zo3FwwV1/xGM= cloud.google.com/go/osconfig v1.12.4 h1:OrRCIYEAbrbXdhm13/JINn9pQchvTTIzgmOCA7uJw8I= cloud.google.com/go/osconfig v1.12.4/go.mod h1:B1qEwJ/jzqSRslvdOCI8Kdnp0gSng0xW4LOnIebQomA= cloud.google.com/go/osconfig v1.12.5 h1:Mo5jGAxOMKH/PmDY7fgY19yFcVbvwREb5D5zMPQjFfo= cloud.google.com/go/osconfig v1.12.5/go.mod h1:D9QFdxzfjgw3h/+ZaAb5NypM8bhOMqBzgmbhzWViiW8= +cloud.google.com/go/osconfig v1.13.2/go.mod h1:eupylkWQJCwSIEMkpVR4LqpgKkQi0mD4m1DzNCgpQso= cloud.google.com/go/oslogin v1.12.1 h1:kAQFiAT/+jefVnYYNT4+PxdHrZTFSgeJoE6ykhaGlNo= cloud.google.com/go/oslogin v1.12.1/go.mod h1:VfwTeFJGbnakxAY236eN8fsnglLiVXndlbcNomY4iZU= cloud.google.com/go/oslogin v1.12.2 h1:NP/KgsD9+0r9hmHC5wKye0vJXVwdciv219DtYKYjgqE= cloud.google.com/go/oslogin v1.12.2/go.mod h1:CQ3V8Jvw4Qo4WRhNPF0o+HAM4DiLuE27Ul9CX9g2QdY= cloud.google.com/go/oslogin v1.13.1 h1:1K4nOT5VEZNt7XkhaTXupBYos5HjzvJMfhvyD2wWdFs= cloud.google.com/go/oslogin v1.13.1/go.mod h1:vS8Sr/jR7QvPWpCjNqy6LYZr5Zs1e8ZGW/KPn9gmhws= +cloud.google.com/go/oslogin v1.13.7/go.mod h1:xq027cL0fojpcEcpEQdWayiDn8tIx3WEFYMM6+q7U+E= cloud.google.com/go/phishingprotection v0.8.3 h1:ZVYpZWmg8leUAp4y5XzhxropUfkcAmwOwsmr4i1D1Mc= cloud.google.com/go/phishingprotection v0.8.3/go.mod h1:3B01yO7T2Ra/TMojifn8EoGd4G9jts/6cIO0DgDY9J8= cloud.google.com/go/phishingprotection v0.8.4 h1:sPLUQkHq6b4AL0czSJZ0jd6vL55GSTHz2B3Md+TCZI0= cloud.google.com/go/phishingprotection v0.8.4/go.mod h1:6b3kNPAc2AQ6jZfFHioZKg9MQNybDg4ixFd4RPZZ2nE= cloud.google.com/go/phishingprotection v0.8.5 h1:DH3WFLzEoJdW/6xgsmoDqOwT1xddFi7gKu0QGZQhpGU= cloud.google.com/go/phishingprotection v0.8.5/go.mod h1:g1smd68F7mF1hgQPuYn3z8HDbNre8L6Z0b7XMYFmX7I= +cloud.google.com/go/phishingprotection v0.8.11/go.mod h1:Mge0cylqVFs+D0EyxlsTOJ1Guf3qDgrztHzxZqkhRQM= cloud.google.com/go/policytroubleshooter v1.10.1 h1:TboGw1ua94FjA/Zgj9Gl4Ksgs/TyasQmAkW9w+vyje4= cloud.google.com/go/policytroubleshooter v1.10.1/go.mod h1:5C0rhT3TDZVxAu8813bwmTvd57Phbl8mr9F4ipOsxEs= cloud.google.com/go/policytroubleshooter v1.10.2 h1:sq+ScLP83d7GJy9+wpwYJVnY+q6xNTXwOdRIuYjvHT4= cloud.google.com/go/policytroubleshooter v1.10.2/go.mod h1:m4uF3f6LseVEnMV6nknlN2vYGRb+75ylQwJdnOXfnv0= cloud.google.com/go/policytroubleshooter v1.10.3 h1:c0WOzC6hz964QWNBkyKfna8A2jOIx1zzZa43Gx/P09o= cloud.google.com/go/policytroubleshooter v1.10.3/go.mod h1:+ZqG3agHT7WPb4EBIRqUv4OyIwRTZvsVDHZ8GlZaoxk= +cloud.google.com/go/policytroubleshooter v1.10.9/go.mod h1:X8HEPVBWz8E+qwI/QXnhBLahEHdcuPO3M9YvSj0LDek= cloud.google.com/go/privatecatalog v0.9.3 h1:xSUuUCfA5fo59N1hsQmvzgNispoORTUvqN27XXyWFWg= cloud.google.com/go/privatecatalog v0.9.3/go.mod h1:K5pn2GrVmOPjXz3T26mzwXLcKivfIJ9R5N79AFCF9UE= cloud.google.com/go/privatecatalog v0.9.4 h1:Vo10IpWKbNvc/z/QZPVXgCiwfjpWoZ/wbgful4Uh/4E= cloud.google.com/go/privatecatalog v0.9.4/go.mod h1:SOjm93f+5hp/U3PqMZAHTtBtluqLygrDrVO8X8tYtG0= cloud.google.com/go/privatecatalog v0.9.5 h1:UZ0assTnATXSggoxUIh61RjTQ4P9zCMk/kEMbn0nMYA= cloud.google.com/go/privatecatalog v0.9.5/go.mod h1:fVWeBOVe7uj2n3kWRGlUQqR/pOd450J9yZoOECcQqJk= +cloud.google.com/go/privatecatalog v0.9.11/go.mod h1:awEF2a8M6UgoqVJcF/MthkF8SSo6OoWQ7TtPNxUlljY= cloud.google.com/go/pubsub v1.33.0 h1:6SPCPvWav64tj0sVX/+npCBKhUi/UjJehy9op/V3p2g= cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= +cloud.google.com/go/pubsub v1.40.0/go.mod h1:BVJI4sI2FyXp36KFKvFwcfDRDfR8MiLT8mMhmIhdAeA= cloud.google.com/go/pubsublite v1.8.1 h1:pX+idpWMIH30/K7c0epN6V703xpIcMXWRjKJsz0tYGY= cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= +cloud.google.com/go/pubsublite v1.8.2/go.mod h1:4r8GSa9NznExjuLPEJlF1VjOPOpgf3IT6k8x/YgaOPI= cloud.google.com/go/recaptchaenterprise v1.3.1 h1:u6EznTGzIdsyOsvm+Xkw0aSuKFXQlyjGE9a4exk6iNQ= cloud.google.com/go/recaptchaenterprise/v2 v2.8.2 h1:vbPKIAPiFxHG7uNXZmuivxbox17up/Tav5Y+Z+KA008= cloud.google.com/go/recaptchaenterprise/v2 v2.8.2/go.mod h1:kpaDBOpkwD4G0GVMzG1W6Doy1tFFC97XAV3xy+Rd/pw= @@ -500,72 +598,84 @@ cloud.google.com/go/recaptchaenterprise/v2 v2.8.4 h1:KOlLHLv3h3HwcZAkx91ubM3Oztz cloud.google.com/go/recaptchaenterprise/v2 v2.8.4/go.mod h1:Dak54rw6lC2gBY8FBznpOCAR58wKf+R+ZSJRoeJok4w= cloud.google.com/go/recaptchaenterprise/v2 v2.9.2 h1:U3Wfq12X9cVMuTpsWDSURnXF0Z9hSPTHj+xsnXDRLsw= cloud.google.com/go/recaptchaenterprise/v2 v2.9.2/go.mod h1:trwwGkfhCmp05Ll5MSJPXY7yvnO0p4v3orGANAFHAuU= +cloud.google.com/go/recaptchaenterprise/v2 v2.14.2/go.mod h1:MwPgdgvBkE46aWuuXeBTCB8hQJ88p+CpXInROZYCTkc= cloud.google.com/go/recommendationengine v0.8.3 h1:A58sxjTGDJC+a2zkCzbYdLtPG1OQ7WijwCv7ZsTKIP8= cloud.google.com/go/recommendationengine v0.8.3/go.mod h1:m3b0RZV02BnODE9FeSvGv1qibFo8g0OnmB/RMwYy4V8= cloud.google.com/go/recommendationengine v0.8.4 h1:JRiwe4hvu3auuh2hujiTc2qNgPPfVp+Q8KOpsXlEzKQ= cloud.google.com/go/recommendationengine v0.8.4/go.mod h1:GEteCf1PATl5v5ZsQ60sTClUE0phbWmo3rQ1Js8louU= cloud.google.com/go/recommendationengine v0.8.5 h1:ineqLswaCSBY0csYv5/wuXJMBlxATK6Xc5jJkpiTEdM= cloud.google.com/go/recommendationengine v0.8.5/go.mod h1:A38rIXHGFvoPvmy6pZLozr0g59NRNREz4cx7F58HAsQ= +cloud.google.com/go/recommendationengine v0.8.11/go.mod h1:cEkU4tCXAF88a4boMFZym7U7uyxvVwcQtKzS85IbQio= cloud.google.com/go/recommender v1.11.2 h1:/uQYJ01mKw0cig+DeMTQ+JuG0BEwVfxVh2gGIG93UEw= cloud.google.com/go/recommender v1.11.2/go.mod h1:AeoJuzOvFR/emIcXdVFkspVXVTYpliRCmKNYDnyBv6Y= cloud.google.com/go/recommender v1.11.3 h1:VndmgyS/J3+izR8V8BHa7HV/uun8//ivQ3k5eVKKyyM= cloud.google.com/go/recommender v1.11.3/go.mod h1:+FJosKKJSId1MBFeJ/TTyoGQZiEelQQIZMKYYD8ruK4= cloud.google.com/go/recommender v1.12.1 h1:LVLYS3r3u0MSCxQSDUtLSkporEGi9OAE6hGvayrZNPs= cloud.google.com/go/recommender v1.12.1/go.mod h1:gf95SInWNND5aPas3yjwl0I572dtudMhMIG4ni8nr+0= +cloud.google.com/go/recommender v1.12.7/go.mod h1:lG8DVtczLltWuaCv4IVpNphONZTzaCC9KdxLYeZM5G4= cloud.google.com/go/redis v1.13.3 h1:+SH8u5Mrgo8EQG/0/C9fwBnzjYS4CQIm+ZK0nlFtg5I= cloud.google.com/go/redis v1.13.3/go.mod h1:vbUpCKUAZSYzFcWKmICnYgRAhTFg9r+djWqFxDYXi4U= cloud.google.com/go/redis v1.14.1 h1:J9cEHxG9YLmA9o4jTSvWt/RuVEn6MTrPlYSCRHujxDQ= cloud.google.com/go/redis v1.14.1/go.mod h1:MbmBxN8bEnQI4doZPC1BzADU4HGocHBk2de3SbgOkqs= cloud.google.com/go/redis v1.14.2 h1:QF0maEdVv0Fj/2roU8sX3NpiDBzP9ICYTO+5F32gQNo= cloud.google.com/go/redis v1.14.2/go.mod h1:g0Lu7RRRz46ENdFKQ2EcQZBAJ2PtJHJLuiiRuEXwyQw= +cloud.google.com/go/redis v1.16.4/go.mod h1:unCVfLP5eFrVhGLDnb7IaSaWxuZ+7cBgwwBwbdG9m9w= cloud.google.com/go/resourcemanager v1.9.3 h1:jftfMUTNJLM9V+4wvMQfKfJfQVWcPJifWsMQnJyL3Jk= cloud.google.com/go/resourcemanager v1.9.3/go.mod h1:IqrY+g0ZgLsihcfcmqSe+RKp1hzjXwG904B92AwBz6U= cloud.google.com/go/resourcemanager v1.9.4 h1:JwZ7Ggle54XQ/FVYSBrMLOQIKoIT/uer8mmNvNLK51k= cloud.google.com/go/resourcemanager v1.9.4/go.mod h1:N1dhP9RFvo3lUfwtfLWVxfUWq8+KUQ+XLlHLH3BoFJ0= cloud.google.com/go/resourcemanager v1.9.5 h1:AZWr1vWVDKGwfLsVhcN+vcwOz3xqqYxtmMa0aABCMms= cloud.google.com/go/resourcemanager v1.9.5/go.mod h1:hep6KjelHA+ToEjOfO3garMKi/CLYwTqeAw7YiEI9x8= +cloud.google.com/go/resourcemanager v1.9.11/go.mod h1:SbNAbjVLoi2rt9G74bEYb3aw1iwvyWPOJMnij4SsmHA= cloud.google.com/go/resourcesettings v1.6.3 h1:T3HzhoHhk0VdEdXm5p+KKoC7jh9C4Xpe3BnNf64UfKU= cloud.google.com/go/resourcesettings v1.6.3/go.mod h1:pno5D+7oDYkMWZ5BpPsb4SO0ewg3IXcmmrUZaMJrFic= cloud.google.com/go/resourcesettings v1.6.4 h1:yTIL2CsZswmMfFyx2Ic77oLVzfBFoWBYgpkgiSPnC4Y= cloud.google.com/go/resourcesettings v1.6.4/go.mod h1:pYTTkWdv2lmQcjsthbZLNBP4QW140cs7wqA3DuqErVI= cloud.google.com/go/resourcesettings v1.6.5 h1:BTr5MVykJwClASci/7Og4Qfx70aQ4n3epsNLj94ZYgw= cloud.google.com/go/resourcesettings v1.6.5/go.mod h1:WBOIWZraXZOGAgoR4ukNj0o0HiSMO62H9RpFi9WjP9I= +cloud.google.com/go/resourcesettings v1.7.4/go.mod h1:seBdLuyeq+ol2u9G2+74GkSjQaxaBWF+vVb6mVzQFG0= cloud.google.com/go/retail v1.14.3 h1:pFW+3HJI5qHdE5yprmciAsM6G6cp0h0RH8FELX8K7sw= cloud.google.com/go/retail v1.14.3/go.mod h1:Omz2akDHeSlfCq8ArPKiBxlnRpKEBjUH386JYFLUvXo= cloud.google.com/go/retail v1.14.4 h1:geqdX1FNqqL2p0ADXjPpw8lq986iv5GrVcieTYafuJQ= cloud.google.com/go/retail v1.14.4/go.mod h1:l/N7cMtY78yRnJqp5JW8emy7MB1nz8E4t2yfOmklYfg= cloud.google.com/go/retail v1.16.0 h1:Fn1GuAua1c6crCGqfJ1qMxG1Xh10Tg/x5EUODEHMqkw= cloud.google.com/go/retail v1.16.0/go.mod h1:LW7tllVveZo4ReWt68VnldZFWJRzsh9np+01J9dYWzE= +cloud.google.com/go/retail v1.17.4/go.mod h1:oPkL1FzW7D+v/hX5alYIx52ro2FY/WPAviwR1kZZTMs= cloud.google.com/go/run v1.3.2 h1:AiA5O0YTCTkLQaJu+HFAS0W/jktmiNydOUgg/d0xQrs= cloud.google.com/go/run v1.3.2/go.mod h1:SIhmqArbjdU/D9M6JoHaAqnAMKLFtXaVdNeq04NjnVE= cloud.google.com/go/run v1.3.3 h1:qdfZteAm+vgzN1iXzILo3nJFQbzziudkJrvd9wCf3FQ= cloud.google.com/go/run v1.3.3/go.mod h1:WSM5pGyJ7cfYyYbONVQBN4buz42zFqwG67Q3ch07iK4= cloud.google.com/go/run v1.3.4 h1:m9WDA7DzTpczhZggwYlZcBWgCRb+kgSIisWn1sbw2rQ= cloud.google.com/go/run v1.3.4/go.mod h1:FGieuZvQ3tj1e9GnzXqrMABSuir38AJg5xhiYq+SF3o= +cloud.google.com/go/run v1.4.0/go.mod h1:4G9iHLjdOC+CQ0CzA0+6nLeR6NezVPmlj+GULmb0zE4= cloud.google.com/go/scheduler v1.10.3 h1:1UwFQBqNlwnfpjZbPYitdV/GURiVRg4gbhRnKtL5ZRg= cloud.google.com/go/scheduler v1.10.3/go.mod h1:8ANskEM33+sIbpJ+R4xRfw/jzOG+ZFE8WVLy7/yGvbc= cloud.google.com/go/scheduler v1.10.5 h1:eMEettHlFhG5pXsoHouIM5nRT+k+zU4+GUvRtnxhuVI= cloud.google.com/go/scheduler v1.10.5/go.mod h1:MTuXcrJC9tqOHhixdbHDFSIuh7xZF2IysiINDuiq6NI= cloud.google.com/go/scheduler v1.10.6 h1:5U8iXLoQ03qOB+ZXlAecU7fiE33+u3QiM9nh4cd0eTE= cloud.google.com/go/scheduler v1.10.6/go.mod h1:pe2pNCtJ+R01E06XCDOJs1XvAMbv28ZsQEbqknxGOuE= +cloud.google.com/go/scheduler v1.10.12/go.mod h1:6DRtOddMWJ001HJ6MS148rtLSh/S2oqd2hQC3n5n9fQ= cloud.google.com/go/secretmanager v1.11.3 h1:Xk7NFAUuW9q+eX4AxwS/dDuhlNWQ1MmfxQpsfbgRsEg= cloud.google.com/go/secretmanager v1.11.3/go.mod h1:0bA2o6FabmShrEy328i67aV+65XoUFFSmVeLBn/51jI= cloud.google.com/go/secretmanager v1.11.4 h1:krnX9qpG2kR2fJ+u+uNyNo+ACVhplIAS4Pu7u+4gd+k= cloud.google.com/go/secretmanager v1.11.4/go.mod h1:wreJlbS9Zdq21lMzWmJ0XhWW2ZxgPeahsqeV/vZoJ3w= cloud.google.com/go/secretmanager v1.11.5 h1:82fpF5vBBvu9XW4qj0FU2C6qVMtj1RM/XHwKXUEAfYY= cloud.google.com/go/secretmanager v1.11.5/go.mod h1:eAGv+DaCHkeVyQi0BeXgAHOU0RdrMeZIASKc+S7VqH4= +cloud.google.com/go/secretmanager v1.13.5/go.mod h1:/OeZ88l5Z6nBVilV0SXgv6XJ243KP2aIhSWRMrbvDCQ= cloud.google.com/go/security v1.15.3 h1:RXYyXEtudhyqqNZNzVZWuDW5BkSCfqo2OOgOKcxg1Ho= cloud.google.com/go/security v1.15.3/go.mod h1:gQ/7Q2JYUZZgOzqKtw9McShH+MjNvtDpL40J1cT+vBs= cloud.google.com/go/security v1.15.4 h1:sdnh4Islb1ljaNhpIXlIPgb3eYj70QWgPVDKOUYvzJc= cloud.google.com/go/security v1.15.4/go.mod h1:oN7C2uIZKhxCLiAAijKUCuHLZbIt/ghYEo8MqwD/Ty4= cloud.google.com/go/security v1.15.5 h1:wTKJQ10j8EYgvE8Y+KhovxDRVDk2iv/OsxZ6GrLP3kE= cloud.google.com/go/security v1.15.5/go.mod h1:KS6X2eG3ynWjqcIX976fuToN5juVkF6Ra6c7MPnldtc= +cloud.google.com/go/security v1.17.4/go.mod h1:KMuDJH+sEB3KTODd/tLJ7kZK+u2PQt+Cfu0oAxzIhgo= cloud.google.com/go/securitycenter v1.24.1 h1:oJRemSVC122SKmPV1aEkMOTnFHsnHwsQtXBBV55AxoU= cloud.google.com/go/securitycenter v1.24.1/go.mod h1:3h9IdjjHhVMXdQnmqzVnM7b0wMn/1O/U20eWVpMpZjI= cloud.google.com/go/securitycenter v1.24.2 h1:qCEyXoJoxNKKA1bDywBjjqCB7ODXazzHnVWnG5Uqd1M= cloud.google.com/go/securitycenter v1.24.2/go.mod h1:l1XejOngggzqwr4Fa2Cn+iWZGf+aBLTXtB/vXjy5vXM= cloud.google.com/go/securitycenter v1.24.4 h1:/5jjkZ+uGe8hZ7pvd7pO30VW/a+pT2MrrdgOqjyucKQ= cloud.google.com/go/securitycenter v1.24.4/go.mod h1:PSccin+o1EMYKcFQzz9HMMnZ2r9+7jbc+LvPjXhpwcU= +cloud.google.com/go/securitycenter v1.33.1/go.mod h1:jeFisdYUWHr+ig72T4g0dnNCFhRwgwGoQV6GFuEwafw= cloud.google.com/go/servicecontrol v1.11.1 h1:d0uV7Qegtfaa7Z2ClDzr9HJmnbJW7jn0WhZ7wOX6hLE= cloud.google.com/go/servicedirectory v1.11.2 h1:vdo3qTQWhCB408ckNYqS29i8btBSiVDSWDYSLKc0iF8= cloud.google.com/go/servicedirectory v1.11.2/go.mod h1:KD9hCLhncWRV5jJphwIpugKwM5bn1x0GyVVD4NO8mGg= @@ -573,6 +683,7 @@ cloud.google.com/go/servicedirectory v1.11.3 h1:5niCMfkw+jifmFtbBrtRedbXkJm3fubS cloud.google.com/go/servicedirectory v1.11.3/go.mod h1:LV+cHkomRLr67YoQy3Xq2tUXBGOs5z5bPofdq7qtiAw= cloud.google.com/go/servicedirectory v1.11.4 h1:da7HFI1229kyzIyuVEzHXip0cw0d+E0s8mjQby0WN+k= cloud.google.com/go/servicedirectory v1.11.4/go.mod h1:Bz2T9t+/Ehg6x+Y7Ycq5xiShYLD96NfEsWNHyitj1qM= +cloud.google.com/go/servicedirectory v1.11.11/go.mod h1:pnynaftaj9LmRLIc6t3r7r7rdCZZKKxui/HaF/RqYfs= cloud.google.com/go/servicemanagement v1.8.0 h1:fopAQI/IAzlxnVeiKn/8WiV6zKndjFkvi+gzu+NjywY= cloud.google.com/go/serviceusage v1.6.0 h1:rXyq+0+RSIm3HFypctp7WoXxIA563rn206CfMWdqXX4= cloud.google.com/go/shell v1.7.3 h1:qujhSLWp8XUsFMp+RgGn2w+BBrQ7AnymGd+6TRaJ4HM= @@ -581,6 +692,7 @@ cloud.google.com/go/shell v1.7.4 h1:nurhlJcSVFZneoRZgkBEHumTYf/kFJptCK2eBUq/88M= cloud.google.com/go/shell v1.7.4/go.mod h1:yLeXB8eKLxw0dpEmXQ/FjriYrBijNsONpwnWsdPqlKM= cloud.google.com/go/shell v1.7.5 h1:3Fq2hzO0ZSyaqBboJrFkwwf/qMufDtqwwA6ep8EZxEI= cloud.google.com/go/shell v1.7.5/go.mod h1:hL2++7F47/IfpfTO53KYf1EC+F56k3ThfNEXd4zcuiE= +cloud.google.com/go/shell v1.7.11/go.mod h1:SywZHWac7onifaT9m9MmegYp3GgCLm+tgk+w2lXK8vg= cloud.google.com/go/spanner v1.51.0 h1:l3exhhsVMKsx1E7Xd1QajYSvHmI1KZoWPW5tRxIIdvQ= cloud.google.com/go/spanner v1.51.0/go.mod h1:c5KNo5LQ1X5tJwma9rSQZsXNBDNvj4/n8BVc3LNahq0= cloud.google.com/go/spanner v1.53.0 h1:/NzWQJ1MEhdRcffiutRKbW/AIGVKhcTeivWTDjEyCCo= @@ -588,66 +700,79 @@ cloud.google.com/go/spanner v1.53.0/go.mod h1:liG4iCeLqm5L3fFLU5whFITqP0e0orsAW1 cloud.google.com/go/spanner v1.56.0 h1:o/Cv7/zZ1WgRXVCd5g3Nc23ZI39p/1pWFqFwvg6Wcu8= cloud.google.com/go/spanner v1.56.0/go.mod h1:DndqtUKQAt3VLuV2Le+9Y3WTnq5cNKrnLb/Piqcj+h0= cloud.google.com/go/spanner v1.57.0/go.mod h1:aXQ5QDdhPRIqVhYmnkAdwPYvj/DRN0FguclhEWw+jOo= +cloud.google.com/go/spanner v1.65.0/go.mod h1:dQGB+w5a67gtyE3qSKPPxzniedrnAmV6tewQeBY7Hxs= cloud.google.com/go/speech v1.19.2 h1:BvK9bjSW3Ut1hNvYXn2nlu/oGE+MUyjfIEZcI3kgbM8= cloud.google.com/go/speech v1.19.2/go.mod h1:2OYFfj+Ch5LWjsaSINuCZsre/789zlcCI3SY4oAi2oI= cloud.google.com/go/speech v1.21.0 h1:qkxNao58oF8ghAHE1Eghen7XepawYEN5zuZXYWaUTA4= cloud.google.com/go/speech v1.21.0/go.mod h1:wwolycgONvfz2EDU8rKuHRW3+wc9ILPsAWoikBEWavY= cloud.google.com/go/speech v1.21.1 h1:nuFc+Kj5B8de75nN4FdPyUbI2SiBoHZG6BLurXL56Q0= cloud.google.com/go/speech v1.21.1/go.mod h1:E5GHZXYQlkqWQwY5xRSLHw2ci5NMQNG52FfMU1aZrIA= +cloud.google.com/go/speech v1.24.0/go.mod h1:HcVyIh5jRXM5zDMcbFCW+DF2uK/MSGN6Rastt6bj1ic= cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= cloud.google.com/go/storage v1.37.0/go.mod h1:i34TiT2IhiNDmcj65PqwCjcoUX7Z5pLzS8DEmoiFq1k= cloud.google.com/go/storage v1.38.0 h1:Az68ZRGlnNTpIBbLjSMIV2BDcwwXYlRlQzis0llkpJg= cloud.google.com/go/storage v1.38.0/go.mod h1:tlUADB0mAb9BgYls9lq+8MGkfzOXuLrnHXlpHmvFJoY= +cloud.google.com/go/storage v1.41.0/go.mod h1:J1WCa/Z2FcgdEDuPUY8DxT5I+d9mFKsCepp5vR6Sq80= +cloud.google.com/go/storage v1.42.0/go.mod h1:HjMXRFq65pGKFn6hxj6x3HCyR41uSB72Z0SO/Vn6JFQ= cloud.google.com/go/storagetransfer v1.10.2 h1:rlcXNHgZY/1OIsZHAVDUu2roTs1/3UiVUdUSGnjw4aY= cloud.google.com/go/storagetransfer v1.10.2/go.mod h1:meIhYQup5rg9juQJdyppnA/WLQCOguxtk1pr3/vBWzA= cloud.google.com/go/storagetransfer v1.10.3 h1:YM1dnj5gLjfL6aDldO2s4GeU8JoAvH1xyIwXre63KmI= cloud.google.com/go/storagetransfer v1.10.3/go.mod h1:Up8LY2p6X68SZ+WToswpQbQHnJpOty/ACcMafuey8gc= cloud.google.com/go/storagetransfer v1.10.4 h1:dy4fL3wO0VABvzM05ycMUPFHxTPbJz9Em8ikAJVqSbI= cloud.google.com/go/storagetransfer v1.10.4/go.mod h1:vef30rZKu5HSEf/x1tK3WfWrL0XVoUQN/EPDRGPzjZs= +cloud.google.com/go/storagetransfer v1.10.10/go.mod h1:8+nX+WgQ2ZJJnK8e+RbK/zCXk8T7HdwyQAJeY7cEcm0= cloud.google.com/go/talent v1.6.4 h1:yLBx78BoR5/sOCE0O6XqzaqL4KLM0+2BEdQBua9Zy1c= cloud.google.com/go/talent v1.6.4/go.mod h1:QsWvi5eKeh6gG2DlBkpMaFYZYrYUnIpo34f6/V5QykY= cloud.google.com/go/talent v1.6.5 h1:LnRJhhYkODDBoTwf6BeYkiJHFw9k+1mAFNyArwZUZAs= cloud.google.com/go/talent v1.6.5/go.mod h1:Mf5cma696HmE+P2BWJ/ZwYqeJXEeU0UqjHFXVLadEDI= cloud.google.com/go/talent v1.6.6 h1:JssV0CE3FNujuSWn7SkosOzg7qrMxVnt6txOfGcMSa4= cloud.google.com/go/talent v1.6.6/go.mod h1:y/WQDKrhVz12WagoarpAIyKKMeKGKHWPoReZ0g8tseQ= +cloud.google.com/go/talent v1.6.12/go.mod h1:nT9kNVuJhZX2QgqKZS6t6eCWZs5XEBYRBv6bIMnPmo4= cloud.google.com/go/texttospeech v1.7.3 h1:EgMsIlyacLJPrqFZZrXK1mUztyM4cp8wR4Ia1H51a9s= cloud.google.com/go/texttospeech v1.7.3/go.mod h1:Av/zpkcgWfXlDLRYob17lqMstGZ3GqlvJXqKMp2u8so= cloud.google.com/go/texttospeech v1.7.4 h1:ahrzTgr7uAbvebuhkBAAVU6kRwVD0HWsmDsvMhtad5Q= cloud.google.com/go/texttospeech v1.7.4/go.mod h1:vgv0002WvR4liGuSd5BJbWy4nDn5Ozco0uJymY5+U74= cloud.google.com/go/texttospeech v1.7.5 h1:dxY2Q5mHCbrGa3oPR2O3PCicdnvKa1JmwGQK36EFLOw= cloud.google.com/go/texttospeech v1.7.5/go.mod h1:tzpCuNWPwrNJnEa4Pu5taALuZL4QRRLcb+K9pbhXT6M= +cloud.google.com/go/texttospeech v1.7.11/go.mod h1:Ua125HU+WT2IkIo5MzQtuNpNEk72soShJQVdorZ1SAE= cloud.google.com/go/tpu v1.6.3 h1:euDiTIKKnQ3nG1J0KCafMJffxRdPNWQsnRvGJ7lZWSk= cloud.google.com/go/tpu v1.6.3/go.mod h1:lxiueqfVMlSToZY1151IaZqp89ELPSrk+3HIQ5HRkbY= cloud.google.com/go/tpu v1.6.4 h1:XIEH5c0WeYGaVy9H+UueiTaf3NI6XNdB4/v6TFQJxtE= cloud.google.com/go/tpu v1.6.4/go.mod h1:NAm9q3Rq2wIlGnOhpYICNI7+bpBebMJbh0yyp3aNw1Y= cloud.google.com/go/tpu v1.6.5 h1:C8YyYda8WtNdBoCgFwwBzZd+S6+EScHOxM/z1h0NNp8= cloud.google.com/go/tpu v1.6.5/go.mod h1:P9DFOEBIBhuEcZhXi+wPoVy/cji+0ICFi4TtTkMHSSs= +cloud.google.com/go/tpu v1.6.11/go.mod h1:W0C4xaSj1Ay3VX/H96FRvLt2HDs0CgdRPVI4e7PoCDk= cloud.google.com/go/trace v1.10.3 h1:yiQ2EdegdiZDPwNPoUqGYAMd0wNValT/NRsC1XGyBJ0= cloud.google.com/go/trace v1.10.3/go.mod h1:Ke1bgfc73RV3wUFml+uQp7EsDw4dGaETLxB7Iq/r4CY= cloud.google.com/go/trace v1.10.4 h1:2qOAuAzNezwW3QN+t41BtkDJOG42HywL73q8x/f6fnM= cloud.google.com/go/trace v1.10.4/go.mod h1:Nso99EDIK8Mj5/zmB+iGr9dosS/bzWCJ8wGmE6TXNWY= cloud.google.com/go/trace v1.10.5 h1:0pr4lIKJ5XZFYD9GtxXEWr0KkVeigc3wlGpZco0X1oA= cloud.google.com/go/trace v1.10.5/go.mod h1:9hjCV1nGBCtXbAE4YK7OqJ8pmPYSxPA0I67JwRd5s3M= +cloud.google.com/go/trace v1.10.11/go.mod h1:fUr5L3wSXerNfT0f1bBg08W4axS2VbHGgYcfH4KuTXU= cloud.google.com/go/translate v1.9.2 h1:liPk0EElBpafg4VAlZQwbg786X8/nnboOC4TmAN5sF8= cloud.google.com/go/translate v1.9.2/go.mod h1:E3Tc6rUTsQkVrXW6avbUhKJSr7ZE3j7zNmqzXKHqRrY= cloud.google.com/go/translate v1.9.3 h1:t5WXTqlrk8VVJu/i3WrYQACjzYJiff5szARHiyqqPzI= cloud.google.com/go/translate v1.9.3/go.mod h1:Kbq9RggWsbqZ9W5YpM94Q1Xv4dshw/gr/SHfsl5yCZ0= cloud.google.com/go/translate v1.10.1 h1:upovZ0wRMdzZvXnu+RPam41B0mRJ+coRXFP2cYFJ7ew= cloud.google.com/go/translate v1.10.1/go.mod h1:adGZcQNom/3ogU65N9UXHOnnSvjPwA/jKQUMnsYXOyk= +cloud.google.com/go/translate v1.10.3/go.mod h1:GW0vC1qvPtd3pgtypCv4k4U8B7EdgK9/QEF2aJEUovs= +cloud.google.com/go/translate v1.10.7/go.mod h1:mH/+8tvcItuy1cOWqU+/Y3iFHgkVUObNIQYI/kiFFiY= cloud.google.com/go/video v1.20.2 h1:paeXmflm8qH81wzND2V6BrKkS3GuvLuSrktHpdh+fr0= cloud.google.com/go/video v1.20.2/go.mod h1:lrixr5JeKNThsgfM9gqtwb6Okuqzfo4VrY2xynaViTA= cloud.google.com/go/video v1.20.3 h1:Xrpbm2S9UFQ1pZEeJt9Vqm5t2T/z9y/M3rNXhFoo8Is= cloud.google.com/go/video v1.20.3/go.mod h1:TnH/mNZKVHeNtpamsSPygSR0iHtvrR/cW1/GDjN5+GU= cloud.google.com/go/video v1.20.4 h1:TXwotxkShP1OqgKsbd+b8N5hrIHavSyLGvYnLGCZ7xc= cloud.google.com/go/video v1.20.4/go.mod h1:LyUVjyW+Bwj7dh3UJnUGZfyqjEto9DnrvTe1f/+QrW0= +cloud.google.com/go/video v1.22.0/go.mod h1:CxPshUNAb1ucnzbtruEHlAal9XY+SPG2cFqC/woJzII= cloud.google.com/go/videointelligence v1.11.3 h1:PS8HSjrQh6A1XTKfGz83vLfXhHyGGEiOTgmh2WksdIM= cloud.google.com/go/videointelligence v1.11.3/go.mod h1:tf0NUaGTjU1iS2KEkGWvO5hRHeCkFK3nPo0/cOZhZAo= cloud.google.com/go/videointelligence v1.11.4 h1:YS4j7lY0zxYyneTFXjBJUj2r4CFe/UoIi/PJG0Zt/Rg= cloud.google.com/go/videointelligence v1.11.4/go.mod h1:kPBMAYsTPFiQxMLmmjpcZUMklJp3nC9+ipJJtprccD8= cloud.google.com/go/videointelligence v1.11.5 h1:mYaWH8uhUCXLJCN3gdXswKzRa2+lK0zN6/KsIubm6pE= cloud.google.com/go/videointelligence v1.11.5/go.mod h1:/PkeQjpRponmOerPeJxNPuxvi12HlW7Em0lJO14FC3I= +cloud.google.com/go/videointelligence v1.11.11/go.mod h1:dab2Ca3AXT6vNJmt3/6ieuquYRckpsActDekLcsd6dU= cloud.google.com/go/vision v1.2.0 h1:/CsSTkbmO9HC8iQpxbK8ATms3OQaX3YQUeTMGCxlaK4= cloud.google.com/go/vision/v2 v2.7.4 h1:lTPDW1JogEcR7NSobxlpGAIN1wc2kvUrEfsS/32nm90= cloud.google.com/go/vision/v2 v2.7.4/go.mod h1:ynDKnsDN/0RtqkKxQZ2iatv3Dm9O+HfRb5djl7l4Vvw= @@ -655,42 +780,49 @@ cloud.google.com/go/vision/v2 v2.7.5 h1:T/ujUghvEaTb+YnFY/jiYwVAkMbIC8EieK0CJo6B cloud.google.com/go/vision/v2 v2.7.5/go.mod h1:GcviprJLFfK9OLf0z8Gm6lQb6ZFUulvpZws+mm6yPLM= cloud.google.com/go/vision/v2 v2.8.0 h1:W52z1b6LdGI66MVhE70g/NFty9zCYYcjdKuycqmlhtg= cloud.google.com/go/vision/v2 v2.8.0/go.mod h1:ocqDiA2j97pvgogdyhoxiQp2ZkDCyr0HWpicywGGRhU= +cloud.google.com/go/vision/v2 v2.8.6/go.mod h1:G3v0uovxCye3u369JfrHGY43H6u/IQ08x9dw5aVH8yY= cloud.google.com/go/vmmigration v1.7.3 h1:2RIVjbHdVPXw8dhFLAkbU+DGnR/Egiv+zhb0CmSF58U= cloud.google.com/go/vmmigration v1.7.3/go.mod h1:ZCQC7cENwmSWlwyTrZcWivchn78YnFniEQYRWQ65tBo= cloud.google.com/go/vmmigration v1.7.4 h1:qPNdab4aGgtaRX+51jCOtJxlJp6P26qua4o1xxUDjpc= cloud.google.com/go/vmmigration v1.7.4/go.mod h1:yBXCmiLaB99hEl/G9ZooNx2GyzgsjKnw5fWcINRgD70= cloud.google.com/go/vmmigration v1.7.5 h1:5v9RT2vWyuw3pK2ox0HQpkoftO7Q7/8591dTxxQc79g= cloud.google.com/go/vmmigration v1.7.5/go.mod h1:pkvO6huVnVWzkFioxSghZxIGcsstDvYiVCxQ9ZH3eYI= +cloud.google.com/go/vmmigration v1.7.11/go.mod h1:PmD1fDB0TEHGQR1tDZt9GEXFB9mnKKalLcTVRJKzcQA= cloud.google.com/go/vmwareengine v1.0.2 h1:JU4HKWkJSfYP9eU3q5VVnmyTjiZSqFC6ZXN752ebZuQ= cloud.google.com/go/vmwareengine v1.0.2/go.mod h1:xMSNjIk8/itYrz1JA8nV3Ajg4L4n3N+ugP8JKzk3OaA= cloud.google.com/go/vmwareengine v1.0.3 h1:WY526PqM6QNmFHSqe2sRfK6gRpzWjmL98UFkql2+JDM= cloud.google.com/go/vmwareengine v1.0.3/go.mod h1:QSpdZ1stlbfKtyt6Iu19M6XRxjmXO+vb5a/R6Fvy2y4= cloud.google.com/go/vmwareengine v1.1.1 h1:EGdDi9QbqThfZq3ILcDK5g+m9jTevc34AY5tACx5v7k= cloud.google.com/go/vmwareengine v1.1.1/go.mod h1:nMpdsIVkUrSaX8UvmnBhzVzG7PPvNYc5BszcvIVudYs= +cloud.google.com/go/vmwareengine v1.2.0/go.mod h1:rPjCHu6hG9N8d6PhkoDWFkqL9xpbFY+ueVW+0pNFbZg= cloud.google.com/go/vpcaccess v1.7.3 h1:d/vObL8itQ5DmG+fh3wExKCl4zuwbInSQOuysfvgShk= cloud.google.com/go/vpcaccess v1.7.3/go.mod h1:YX4skyfW3NC8vI3Fk+EegJnlYFatA+dXK4o236EUCUc= cloud.google.com/go/vpcaccess v1.7.4 h1:zbs3V+9ux45KYq8lxxn/wgXole6SlBHHKKyZhNJoS+8= cloud.google.com/go/vpcaccess v1.7.4/go.mod h1:lA0KTvhtEOb/VOdnH/gwPuOzGgM+CWsmGu6bb4IoMKk= cloud.google.com/go/vpcaccess v1.7.5 h1:XyL6hTLtEM/eE4F1GEge8xUN9ZCkiVWn44K/YA7z1rQ= cloud.google.com/go/vpcaccess v1.7.5/go.mod h1:slc5ZRvvjP78c2dnL7m4l4R9GwL3wDLcpIWz6P/ziig= +cloud.google.com/go/vpcaccess v1.7.11/go.mod h1:a2cuAiSCI4TVK0Dt6/dRjf22qQvfY+podxst2VvAkcI= cloud.google.com/go/webrisk v1.9.3 h1:9yteSCrAhlZFvu+zb/SlpCKFwij69Il1aIuhk8vq0sg= cloud.google.com/go/webrisk v1.9.3/go.mod h1:RUYXe9X/wBDXhVilss7EDLW9ZNa06aowPuinUOPCXH8= cloud.google.com/go/webrisk v1.9.4 h1:iceR3k0BCRZgf2D/NiKviVMFfuNC9LmeNLtxUFRB/wI= cloud.google.com/go/webrisk v1.9.4/go.mod h1:w7m4Ib4C+OseSr2GL66m0zMBywdrVNTDKsdEsfMl7X0= cloud.google.com/go/webrisk v1.9.5 h1:251MvGuC8wisNN7+jqu9DDDZAi38KiMXxOpA/EWy4dE= cloud.google.com/go/webrisk v1.9.5/go.mod h1:aako0Fzep1Q714cPEM5E+mtYX8/jsfegAuS8aivxy3U= +cloud.google.com/go/webrisk v1.9.11/go.mod h1:mK6M8KEO0ZI7VkrjCq3Tjzw4vYq+3c4DzlMUDVaiswE= cloud.google.com/go/websecurityscanner v1.6.3 h1:nIo6koOYifrmNUsuXYzlO39oRrV8aM7NdjKjXxL/xvE= cloud.google.com/go/websecurityscanner v1.6.3/go.mod h1:x9XANObUFR+83Cya3g/B9M/yoHVqzxPnFtgF8yYGAXw= cloud.google.com/go/websecurityscanner v1.6.4 h1:5Gp7h5j7jywxLUp6NTpjNPkgZb3ngl0tUSw6ICWvtJQ= cloud.google.com/go/websecurityscanner v1.6.4/go.mod h1:mUiyMQ+dGpPPRkHgknIZeCzSHJ45+fY4F52nZFDHm2o= cloud.google.com/go/websecurityscanner v1.6.5 h1:YqWZrZYabG88TZt7364XWRJGhxmxhony2ZUyZEYMF2k= cloud.google.com/go/websecurityscanner v1.6.5/go.mod h1:QR+DWaxAz2pWooylsBF854/Ijvuoa3FCyS1zBa1rAVQ= +cloud.google.com/go/websecurityscanner v1.6.11/go.mod h1:vhAZjksELSg58EZfUQ1BMExD+hxqpn0G0DuyCZQjiTg= cloud.google.com/go/workflows v1.12.2 h1:dDTsUCgUQbkEFviNMgRV0THXa9VWBNS+35Ru1uadEUw= cloud.google.com/go/workflows v1.12.2/go.mod h1:+OmBIgNqYJPVggnMo9nqmizW0qEXHhmnAzK/CnBqsHc= cloud.google.com/go/workflows v1.12.3 h1:qocsqETmLAl34mSa01hKZjcqAvt699gaoFbooGGMvaM= cloud.google.com/go/workflows v1.12.3/go.mod h1:fmOUeeqEwPzIU81foMjTRQIdwQHADi/vEr1cx9R1m5g= cloud.google.com/go/workflows v1.12.4 h1:uHNmUiatTbPQ4H1pabwfzpfEYD4BBnqDHqMm2IesOh4= cloud.google.com/go/workflows v1.12.4/go.mod h1:yQ7HUqOkdJK4duVtMeBCAOPiN1ZF1E9pAMX51vpwB/w= +cloud.google.com/go/workflows v1.12.10/go.mod h1:RcKqCiOmKs8wFUEf3EwWZPH5eHc7Oq0kamIyOUCk0IE= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= gioui.org v0.0.0-20230404125508-ad3db5212d10 h1:+wYws3ydNacEpOr3j473gLFMF7yMfj5xdRg2teuC51g= gioui.org v0.0.0-20230404125508-ad3db5212d10/go.mod h1:7nNGoqbKQrlMpF4SGrQWYEMr9MuSXlVTCl2qRkZDsjA= @@ -708,10 +840,19 @@ github.com/AdaLogics/go-fuzz-headers v0.0.0-20230106234847-43070de90fa1 h1:EKPd1 github.com/AdaLogics/go-fuzz-headers v0.0.0-20230106234847-43070de90fa1/go.mod h1:VzwV+t+dZ9j/H867F1M2ziD+yLHtB46oM35FxxMJ4d0= github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20221215162035-5330a85ea652 h1:+vTEFqeoeur6XSq06bs+roX3YiT49gUniJK7Zky7Xjg= github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20221215162035-5330a85ea652/go.mod h1:OahwfttHWG6eJ0clwcfBAHoDI6X/LV/15hx/wlMZSrU= +github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0/go.mod h1:OahwfttHWG6eJ0clwcfBAHoDI6X/LV/15hx/wlMZSrU= github.com/Azure/azure-sdk-for-go v16.2.1+incompatible h1:KnPIugL51v3N3WwvaSmZbxukD1WuWXOiE9fRdu32f2I= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.2 h1:lneMk5qtUMulXa/eVxjVd+/bDYMEDIqYpLzLa2/EsNI= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1/go.mod h1:RKUqNu35KJYcVG/fqTRqmuXJZYNhYkBrnC/hX7yGbTA= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.10.0/go.mod h1:HDcZnuGbiyppErN6lB+idp4CKhjbc8gwjto6OPpyggM= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.1 h1:T8quHYlUGyb/oqtSTwqlCr1ilJHrDv+ZtpSfo+hm1BU= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.1/go.mod h1:h8hyGFDsU5HMivxiS2iYFZsgDbU9OnnJ163x5UGVKYo= github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0 h1:jp0dGvZ7ZK0mgqnTSClMxa5xuRL7NZgHameVYF6BurY= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.1/go.mod h1:s4kgfzA0covAXNicZHDMN58jExvcng2mC/DepXiF1EI= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2/go.mod h1:yInRyqWXAuaPrgI7p70+lDDgh3mlBohis29jGMISnmc= +github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.1.0/go.mod h1:qLIye2hwb/ZouqhpSD9Zn3SJipvpEnz1Ywl3VUk9Y0s= +github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.0.0/go.mod h1:bTSOgj05NGRuHHhQwAdPnYr9TOdNmKlZTgGLL6nyAdI= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.1/go.mod h1:eZ4g6GUvXiGulfIbbhh1Xr4XwUYaYaWMqzGD/284wCA= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest/autorest v0.11.18 h1:90Y4srNYrwOtAgVo3ndrQkTYn6kf1Eg/AjTFJ8Is2aM= github.com/Azure/go-autorest/autorest/adal v0.9.13 h1:Mp5hbtOePIzM8pJVRa3YLrWWmZtoxRXqUEzCfJt3+/Q= @@ -722,7 +863,9 @@ github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUM github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c h1:/IBSNwUN8+eKzUzbJPqhK839ygXJ82sde8x3ogr6R28= github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU= github.com/AzureAD/microsoft-authentication-library-for-go v0.8.1 h1:oPdPEZFSbl7oSPEAIPMPBMUmiL+mqgzBJwM/9qYcwNg= +github.com/AzureAD/microsoft-authentication-library-for-go v1.2.1/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= @@ -735,6 +878,7 @@ github.com/DataDog/datadog-go/v5 v5.1.1/go.mod h1:KhiYb2Badlv9/rofz+OznKoEF5XKTo github.com/DataDog/go-sqllexer v0.0.8/go.mod h1:nB4Ea2YNsqMwtbWMc4Fm/oP98IIrSPapqwOwPioMspY= github.com/DataDog/go-sqllexer v0.0.9/go.mod h1:nB4Ea2YNsqMwtbWMc4Fm/oP98IIrSPapqwOwPioMspY= github.com/DataDog/viper v1.7.0 h1:hJvGT/zsNgVPxJLjW+ozl247LzEIRs7DdKakUgSsQzo= +github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.0/go.mod h1:dppbR7CwXD4pgtV9t3wD1812RaLDcBjtblcDF5f1vI0= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c h1:RGWPOewvKIROun94nF7v2cua9qP+thov/7M50KEoeSU= github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= @@ -746,33 +890,49 @@ github.com/Microsoft/hcsshim v0.10.0-rc.7 h1:HBytQPxcv8Oy4244zbQbe6hnOnx544eL5QP github.com/Microsoft/hcsshim v0.10.0-rc.7/go.mod h1:ILuwjA+kNW+MrN/w5un7n3mTqkwsFu4Bp05/okFUZlE= github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3 h1:4FA+QBaydEHlwxg0lMN3rhwoDaQy6LKhVWR4qvq4BuA= github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I= +github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= +github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= github.com/PuerkitoBio/goquery v1.9.2 h1:4/wZksC3KgkQw7SQgkKotmKljk0M6V8TUvA8Wb4yPeE= github.com/PuerkitoBio/goquery v1.9.2/go.mod h1:GHPCaP0ODyyxqcNoFGYlAprUFH81NuRPd0GX3Zu2Mvk= github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= +github.com/Shopify/logrus-bugsnag v0.0.0-20170309145241-6dbc35f2c30d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d h1:UrqY+r/OJnIp5u0s1SbQ8dVfLCZJsnvazdBP5hS4iRs= github.com/actgardner/gogen-avro/v10 v10.2.1 h1:z3pOGblRjAJCYpkIJ8CmbMJdksi4rAhaygw0dyXZ930= github.com/actgardner/gogen-avro/v9 v9.1.0 h1:YZ5tCwV5xnDZrG4uRDQYT2VAWZCRAG3eyQH/WYR2T6Q= +github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9 h1:7kQgkwGRoLzC9K0oyXdJo7nve/bynv/KwUsxbiTlzAM= github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19 h1:iXUgAaqDcIUGbRoy2TdeofRG/j1zpGRSEmNK05T+bi8= github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b h1:slYM766cy2nI3BwyRiyQj/Ud48djTMtMebDqepE95rw= +github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= +github.com/alecthomas/kingpin/v2 v2.3.2/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2cI+DC1Mbh0TJxzA3RcLoMsFw+aXw7E= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= github.com/alexflint/go-filemutex v1.1.0 h1:IAWuUuRYL2hETx5b8vCgwnD+xSdlsTQY6s2JjBsqLdg= +github.com/alexflint/go-filemutex v1.2.0/go.mod h1:mYyQSWvw9Tx2/H2n9qXPb52tTYfE0pZAWcBq5mK025c= +github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092/go.mod h1:rYqSE9HbjzpHTI74vwPvae4ZVYZd1lue2ta6xHPdblA= github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsViSLyss= github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU= github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= +github.com/antlr/antlr4/runtime/Go/antlr v1.4.10/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= +github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df/go.mod h1:pSwJ0fSY5KhvocuWSx4fz3BA8OrA1bQn+K1Eli3BRwM= +github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= github.com/apache/arrow/go/v10 v10.0.1 h1:n9dERvixoC/1JjDmBcs9FPaEryoANa2sCgVFo6ez9cI= github.com/apache/arrow/go/v11 v11.0.0 h1:hqauxvFQxww+0mEU/2XHG6LT7eZternCZq+A5Yly2uM= github.com/apache/arrow/go/v12 v12.0.0 h1:xtZE63VWl7qLdB0JObIXvvhGjoVNrQ9ciIHG2OK5cmc= github.com/apache/arrow/go/v12 v12.0.0/go.mod h1:d+tV/eHZZ7Dz7RPrFKtPK02tpr+c9/PEd/zm8mDS9Vg= github.com/apache/arrow/go/v14 v14.0.2/go.mod h1:u3fgh3EdgN/YQ8cVQRguVW3R+seMybFg8QBQ5LU+eBY= +github.com/apache/arrow/go/v15 v15.0.2/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= github.com/apache/thrift v0.16.0 h1:qEy6UW60iVOlUy+b9ZR0d5WzUWYGOo4HfopoyBaNmoY= +github.com/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= +github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA= +github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6 h1:G1bPvciwNyF7IUmKXNt9Ak3m6u9DE1rF+RmtIkBpVdA= github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= @@ -780,34 +940,50 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkY github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= github.com/aws/aws-sdk-go-v2 v1.17.8/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2 v1.18.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= +github.com/aws/aws-sdk-go-v2 v1.26.1/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10/go.mod h1:VeTZetY5KRJLuD/7fkQXMU6Mw7H5m/KP2J5Iy9osMno= github.com/aws/aws-sdk-go-v2/config v1.18.21 h1:ENTXWKwE8b9YXgQCsruGLhvA9bhg+RqAsL9XEMEsa2c= github.com/aws/aws-sdk-go-v2/config v1.18.21/go.mod h1:+jPQiVPz1diRnjj6VGqWcLK6EzNmQ42l7J3OqGTLsSY= +github.com/aws/aws-sdk-go-v2/config v1.27.10/go.mod h1:BePM7Vo4OBpHreKRUMuDXX+/+JWP38FLkzl5m27/Jjs= github.com/aws/aws-sdk-go-v2/credentials v1.13.20/go.mod h1:xtZnXErtbZ8YGXC3+8WfajpMBn5Ga/3ojZdxHq6iI8o= +github.com/aws/aws-sdk-go-v2/credentials v1.17.10/go.mod h1:6t3sucOaYDwDssHQa0ojH1RpmVmF5/jArkye1b2FKMI= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.2/go.mod h1:cDh1p6XkSGSwSRIArWRc6+UqAQ7x4alQ0QfpVR6f+co= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1/go.mod h1:zusuAeqezXzAB24LGuzuekqMAEgWkVYukBec3kr3jUg= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.32/go.mod h1:RudqOgadTWdcS3t/erPQo24pcVEoYyqj/kKW5Vya21I= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5/go.mod h1:FSaRudD0dXiMPK2UjknVwwTYyZMRsHv3TtkabsZih5I= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.26/go.mod h1:vq86l7956VgFr0/FWQ2BWnK07QC3WYsepKzy33qqY5U= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5/go.mod h1:jU1li6RFryMz+so64PpKtudI+QzbKoIEivqdf6LNpOc= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.33/go.mod h1:zG2FcwjQarWaqXSCGpgcr3RSjZ6dHGguZSppUL0XR7Q= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.34/go.mod h1:Etz2dj6UHYuw+Xw830KfzCfWGMzqvUTCjUj5b76GVDc= github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.24/go.mod h1:+fFaIjycTmpV6hjmPTbyU9Kp5MI/lA+bbibcAtmlhYA= github.com/aws/aws-sdk-go-v2/service/ec2 v1.93.2 h1:c6a19AjfhEXKlEX63cnlWtSQ4nzENihHZOG0I3wH6BE= github.com/aws/aws-sdk-go-v2/service/ec2 v1.93.2/go.mod h1:VX22JN3HQXDtQ3uS4h4TtM+K11vydq58tpHTlsm8TL8= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2/go.mod h1:5CsjAbs3NlGQyZNFACh+zztPDI7fU6eW9QsxjfnuBKg= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.27/go.mod h1:Zz0kvhcSlu3NX4XJkaGgdjaa+u7a9LYuy8JKxA5v3RM= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.35/go.mod h1:YVHrksq36j0sbXCT6rSuQafpfYkMYqy0QTk7JTCTBIU= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.26/go.mod h1:Bd4C/4PkVGubtNe5iMXu5BNnaBi/9t/UsFspPt4ram8= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.34/go.mod h1:ytsF+t+FApY2lFnN51fJKPhH6ICKOPXKEcwwgmJEdWI= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7/go.mod h1:YCsIZhXfRPLFFCl5xxY+1T9RKzOKjCut+28JSX2DnAk= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.1/go.mod h1:VXBHSxdN46bsJrkniN68psSwbyBKsazQfU2yX/iSDso= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.3/go.mod h1:TXBww3ANB+QRj+/dUoYDvI8d/u4F4WzTxD4mxtDoxrg= +github.com/aws/aws-sdk-go-v2/service/kms v1.30.1/go.mod h1:2snWQJQUKsbN66vAawJuOGX7dr37pfOq9hb0tZDGIqQ= github.com/aws/aws-sdk-go-v2/service/s3 v1.32.0 h1:NAc8WQsVQ3+kz3rU619mlz8NcbpZI6FVJHQfH33QK0g= github.com/aws/aws-sdk-go-v2/service/s3 v1.32.0/go.mod h1:aSl9/LJltSz1cVusiR/Mu8tvI4Sv/5w/WWrJmmkNii0= github.com/aws/aws-sdk-go-v2/service/sso v1.12.8/go.mod h1:GNIveDnP+aE3jujyUSH5aZ/rktsTM5EvtKnCqBZawdw= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.4/go.mod h1:qGzynb/msuZIE8I75DVRCUXw3o3ZyBmUvMwQ2t/BrGM= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.8/go.mod h1:44qFP1g7pfd+U+sQHLPalAPKnyfTZjJsYR4xIwsJy5o= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4/go.mod h1:mUYPBhaF2lGiukDEjJX2BLRRKTmoUSitGDUgM4tRxak= github.com/aws/aws-sdk-go-v2/service/sts v1.18.9/go.mod h1:yyW88BEPXA2fGFyI2KCcZC3dNpiT0CZAHaF+i656/tQ= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.6/go.mod h1:FZf1/nKNEkHdGGJP/cI2MoIMquumuRK6ol3QQJNDxmw= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= +github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= github.com/benbjohnson/clock v1.0.3 h1:vkLuvpK4fmtSCuo60+yC63p7y0BmQ8gm5ZXGuBCJyXg= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20150223135152-b965b613227f/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= +github.com/bitly/go-hostpool v0.1.0/go.mod h1:4gOCgp6+NZnVqlKyZ/iBZFTAJKembaVENUpMkpg42fw= github.com/bitly/go-simplejson v0.5.0 h1:6IH+V8/tVMab511d5bn4M7EwGXZf9Hj6i2xSwkNEM+Y= github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c h1:+0HFd5KSZ/mm3JmhmrDukiId5iR6w4+BdFtfSy4yWIc= @@ -816,11 +992,14 @@ github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs= github.com/bshuster-repo/logrus-logstash-hook v0.4.1 h1:pgAtgj+A31JBVtEHu2uHuEx0n+2ukqUJnS2vVe5pQNA= +github.com/bufbuild/protocompile v0.8.0/go.mod h1:+Etjg4guZoAqzVk2czwEQP12yaxLJ8DxuqCJ9qHdH94= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd h1:rFt+Y/IK1aEZkEHchZRSq9OQbsSzIT/OrI8YFFmRIng= +github.com/bugsnag/bugsnag-go v1.0.5-0.20150529004307-13fd6b8acda0/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b h1:otBG+dV+YK+Soembjv71DPz3uX/V/6MMlSyD9JBQ6kQ= github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0 h1:nvj0OLI3YqYXer/kZD8Ri1aaunCxIEsOst1BVJswV0o= github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= +github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 h1:uH66TXeswKn5PW5zdZ39xEwfS9an067BirqA+P4QaLI= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= @@ -848,13 +1027,16 @@ github.com/cilium/ebpf v0.9.1/go.mod h1:+OhNOIXx/Fnu1IE8bJz2dzOA+VSfyTfdNUVdlQnx github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible h1:C29Ae4G5GtYyYMm1aztcyj/J5ckgJm2zwdDajFbx1NY= github.com/circonus-labs/circonusllhist v0.1.3 h1:TJH+oke8D16535+jHExHj4nQvzlZrj7ug5D7I/orNUA= github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= +github.com/cloudflare/cfssl v0.0.0-20180223231731-4e2dcbde5004/go.mod h1:yMWuSON2oQp+43nFtAV/uvKQIFpSPerB57DCt9t8sSA= github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk= github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50 h1:DBmgJDC9dTfkVyGgipamEh2BpGYxScCH1TOF1LL1cXc= github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido69INQaVO6d87Qn543Xr6nooe9Kz7oBFM= +github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5 h1:xD/lrqdvwsc+O2bjSSi3YqY73Ke3LAiSCx49aCesA0E= +github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= github.com/cockroachdb/errors v1.2.4 h1:Lap807SXTH5tri2TivECb/4abUkMZC9zRoLarvcKDqs= github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE= @@ -869,22 +1051,31 @@ github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaD github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= github.com/containerd/cgroups/v3 v3.0.1 h1:4hfGvu8rfGIwVIDd+nLzn/B9ZXx4BcCjzt5ToenJRaE= github.com/containerd/cgroups/v3 v3.0.1/go.mod h1:/vtwk1VXrtoa5AaZLkypuOJgA/6DyPMZHJPGQNtlHnw= +github.com/containerd/cgroups/v3 v3.0.2/go.mod h1:JUgITrzdFqp42uI2ryGA+ge0ap/nxzYgkGmIcetmErE= github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= +github.com/containerd/containerd v1.6.23/go.mod h1:UrQOiyzrLi3n4aezYJbQH6Il+YzTvnHFbEuO3yfDrM4= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= +github.com/containerd/continuity v0.4.2/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ= github.com/containerd/fifo v1.0.0 h1:6PirWBr9/L7GDamKr+XM0IeUFXu5mf3M/BPpH9gaLBU= github.com/containerd/fifo v1.1.0 h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY= github.com/containerd/fifo v1.1.0/go.mod h1:bmC4NWMbXlt2EZ0Hc7Fx7QzTFxgPID13eH0Qu+MAb2o= +github.com/containerd/fuse-overlayfs-snapshotter v1.0.8/go.mod h1:mY+oK2oQhlUk6hP5HNG28/OK9oqQpB2wK1w6sudC5gQ= github.com/containerd/go-cni v1.1.6 h1:el5WPymG5nRRLQF1EfB97FWob4Tdc8INg8RZMaXWZlo= github.com/containerd/go-cni v1.1.9 h1:ORi7P1dYzCwVM6XPN4n3CbkuOx/NZ2DOqy+SHRdo9rU= github.com/containerd/go-cni v1.1.9/go.mod h1:XYrZJ1d5W6E2VOvjffL3IZq0Dz6bsVlERHbekNK90PM= github.com/containerd/go-runc v1.0.0 h1:oU+lLv1ULm5taqgV/CJivypVODI4SUz1znWjv3nNYS0= +github.com/containerd/go-runc v1.1.0/go.mod h1:xJv2hFF7GvHtTJd9JqTS2UVxMkULUYw4JN5XAUZqH5U= github.com/containerd/imgcrypt v1.1.4 h1:iKTstFebwy3Ak5UF0RHSeuCTahC5OIrPJa6vjMAM81s= github.com/containerd/imgcrypt v1.1.7 h1:WSf9o9EQ0KGHiUx2ESFZ+PKf4nxK9BcvV/nJDX8RkB4= github.com/containerd/imgcrypt v1.1.7/go.mod h1:FD8gqIcX5aTotCtOmjeCsi3A1dHmTZpnMISGKSczt4k= github.com/containerd/nri v0.1.0 h1:6QioHRlThlKh2RkRTR4kIT3PKAcrLo3gIWnjkM4dQmQ= github.com/containerd/nri v0.3.0 h1:2ZM4WImye1ypSnE7COjOvPAiLv84kaPILBDvb1tbDK8= github.com/containerd/nri v0.3.0/go.mod h1:Zw9q2lP16sdg0zYybemZ9yTDy8g7fPCIB3KXOGlggXI= +github.com/containerd/nri v0.6.0/go.mod h1:F7OZfO4QTPqw5r87aq+syZJwiVvRYLIlHZiZDBV1W3A= +github.com/containerd/nydus-snapshotter v0.13.7/go.mod h1:VPVKQ3jmHFIcUIV2yiQ1kImZuBFS3GXDohKs9mRABVE= +github.com/containerd/stargz-snapshotter v0.15.1/go.mod h1:74D+J1m1RMXytLmWxegXWhtOSRHPWZKpKc2NdK3S+us= github.com/containerd/stargz-snapshotter/estargz v0.4.1 h1:5e7heayhB7CcgdTkqfZqrNaNv15gABwr3Q2jBTbLlt4= +github.com/containerd/stargz-snapshotter/estargz v0.15.1/go.mod h1:gr2RNwukQ/S9Nv33Lt6UC7xEx58C+LHRdoqbEKjz1Kk= github.com/containerd/ttrpc v1.1.0 h1:GbtyLRxb0gOLR0TYQWt3O6B0NvT8tMdorEHqIQo/lWI= github.com/containerd/ttrpc v1.2.1 h1:VWv/Rzx023TBLv4WQ+9WPXlBG/s3rsRjY3i9AJ2BJdE= github.com/containerd/ttrpc v1.2.1/go.mod h1:sIT6l32Ph/H9cvnJsfXM5drIVzTr5A2flTf1G5tYZak= @@ -892,12 +1083,14 @@ github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY github.com/containerd/typeurl/v2 v2.1.0 h1:yNAhJvbNEANt7ck48IlEGOxP7YAp6LLpGn5jZACDNIE= github.com/containerd/typeurl/v2 v2.1.0/go.mod h1:IDp2JFvbwZ31H8dQbEIY7sDl2L3o3HZj1hsSQlywkQ0= github.com/containerd/zfs v1.0.0 h1:cXLJbx+4Jj7rNsTiqVfm6i+RNLx6FFA2fMmDlEf+Wm8= +github.com/containerd/zfs v1.1.0/go.mod h1:oZF9wBnrnQjpWLaPKEinrx3TQ9a+W/RJO7Zb41d8YLE= github.com/containernetworking/cni v1.1.1 h1:ky20T7c0MvKvbMOwS/FrlbNwjEoqJEUUYfsL4b0mc4k= github.com/containernetworking/cni v1.1.2 h1:wtRGZVv7olUHMOqouPpn3cXJWpJgM6+EUl31EQbXALQ= github.com/containernetworking/cni v1.1.2/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= github.com/containernetworking/plugins v1.1.1 h1:+AGfFigZ5TiQH00vhR8qPeSatj53eNGz0C1d3wVYlHE= github.com/containernetworking/plugins v1.2.0 h1:SWgg3dQG1yzUo4d9iD8cwSVh1VqI+bP7mkPDoSfP9VU= github.com/containernetworking/plugins v1.2.0/go.mod h1:/VjX4uHecW5vVimFa1wkG4s+r/s9qIfPdqlLF4TW8c4= +github.com/containernetworking/plugins v1.4.0/go.mod h1:UYhcOyjefnrQvKvmmyEKsUA+M9Nfn7tqULPpH0Pkcj0= github.com/containers/ocicrypt v1.1.3 h1:uMxn2wTb4nDR7GqG3rnZSfpJXqWURfzZ7nKydzIeKpA= github.com/containers/ocicrypt v1.1.6 h1:uoG52u2e91RE4UqmBICZY8dNshgfvkdl3BW6jnxiFaI= github.com/containers/ocicrypt v1.1.6/go.mod h1:WgjxPWdTJMqYMjf3M6cuIFFA1/MpyyhIM99YInA+Rvc= @@ -906,8 +1099,11 @@ github.com/coreos/etcd v3.3.10+incompatible h1:jFneRYjIvLMLhDLCzuTuU4rSJUjRplcJQ github.com/coreos/etcd v3.3.13+incompatible h1:8F3hqu9fGYLBifCmRCJsicFqDx/D68Rt3q1JMazcgBQ= github.com/coreos/go-etcd v2.0.0+incompatible h1:bXhRBIXoTm9BYHS3gE0TtQuyNZyeEMux2sDi4oo5YOo= github.com/coreos/go-iptables v0.6.0 h1:is9qnZMPYjLd8LYqmm/qlE+wwEgJIkTYdhV3rfZo4jk= +github.com/coreos/go-iptables v0.7.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= github.com/coreos/go-oidc v2.1.0+incompatible h1:sdJrfw8akMnCuUlaZU3tE/uYXFgfqom8DBE9so9EBsM= +github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= +github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8= github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI= github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= @@ -915,9 +1111,11 @@ github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg= github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= +github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/cyphar/filepath-securejoin v0.2.3 h1:YX6ebbZCZP7VkM3scTTokDgBL2TY741X51MTk3ycuNI= @@ -925,19 +1123,25 @@ github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c h1:Xo2rK1pzOm0jO6abTPIQw github.com/d2g/dhcp4client v1.0.0 h1:suYBsYZIkSlUMEz4TAYCczKf62IA2UWC+O8+KtdOhCo= github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5 h1:+CpLbZIeUn94m02LdEKPcgErLJ347NUwxPKs5u8ieiY= github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4 h1:itqmmf1PFpC4n5JW+j4BU7X4MTfVurhYRTjODoPb2Y8= +github.com/danieljoos/wincred v1.2.0/go.mod h1:FzQLLMKBFdvu+osBrnFODiv32YGwCfx0SkRa/eYHgec= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.0-20210816181553-5444fa50b93d/go.mod h1:tmAIfUFEirG/Y8jhZ9M+h36obRZAk/1fcSpXwAVlfqE= github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/denisenkom/go-mssqldb v0.0.0-20191128021309-1d7a30a10f73/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba h1:p6poVbjHDkKa+wtC8frBMwQtT3BmqGYBjzMwJ63tuR4= github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954 h1:RMLoZVzv4GliuWafOuPuQDKSm1SJph7uCRnnS61JAn4= +github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= github.com/dnephin/pflag v1.0.7 h1:oxONGlWxhmUct0YzKTgrpQv9AUA1wtPBn7zuSjJqptk= github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017 h1:2HQmlpI3yI9deH18Q6xiSOIjXD4sLI55Y/gfpa8/558= +github.com/docker/cli-docs-tool v0.7.0/go.mod h1:zMjqTFCU361PRh8apiXzeAZ1Q/xupbIwTusYpzCXS/o= github.com/docker/docker-credential-helpers v0.6.3 h1:zI2p9+1NQYdnG6sMU26EX4aVGlqbInSQxQXLvzJ4RPQ= github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8= -github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1 h1:ZClxb8laGDf5arXfYcAtECDFgAgHklGI8CxgjHnXKJ4= +github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96 h1:cenwrSVm+Z7QLSV/BsnenAOcDXdX4cMv4wP0B/5QbPg= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= +github.com/dvsekhvalnov/jose2go v0.0.0-20170216131308-f21a8cedbbae/go.mod h1:7BvyPhdbLxMXIYTFPLsyJRFMsKmOZnQmzh6Gb+uquuM= github.com/dvyukov/go-fuzz v0.0.0-20210103155950-6a8e9d1f2415 h1:q1oJaUPdmpDm/VyXosjgPgr6wS7c5iV2p0PwJD73bUI= github.com/elastic/elastic-transport-go/v8 v8.1.0 h1:NeqEz1ty4RQz+TVbUrpSU7pZ48XkzGWQj02k5koahIE= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= @@ -946,6 +1150,7 @@ github.com/emicklei/go-restful v2.16.0+incompatible h1:rgqiKNjTnFQA6kkhFe16D8epT github.com/emicklei/go-restful v2.16.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/go-restful/v3 v3.10.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q= github.com/envoyproxy/go-control-plane v0.11.1 h1:wSUXTlLfiAQRWs2F+p+EKOY9rUyis1MyGqJ2DIk5HpM= github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= @@ -957,12 +1162,15 @@ github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7 github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= +github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A= github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= +github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw= github.com/flynn/go-docopt v0.0.0-20140912013429-f6dd2ebbb31e h1:Ss/B3/5wWRh8+emnK0++g5zQzwDTi30W10pKxKc4JXI= github.com/flynn/go-docopt v0.0.0-20140912013429-f6dd2ebbb31e/go.mod h1:HyVoz1Mz5Co8TFO8EupIdlcpwShBmY98dkT2xeHkvEI= github.com/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8= @@ -970,7 +1178,9 @@ github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNy github.com/frankban/quicktest v1.14.0 h1:+cqqvzZV87b4adx/5ayVOaYZ2CrvM4ejQvUdBzPPUss= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU= +github.com/fxamacker/cbor/v2 v2.4.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7 h1:LofdAjjjqCSXMwLGgOgnE+rdPuvX9DxCqaHwKy7i/ko= github.com/garyburd/redigo v1.6.4 h1:LFu2R3+ZOPgSMWMOL+saa/zXRjw0ID2G8FepO53BGlg= github.com/garyburd/redigo v1.6.4/go.mod h1:rTb6epsqigu3kYKBnaF028A7Tf/Aw5s0cqA47doKKqw= @@ -988,23 +1198,34 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe github.com/go-ini/ini v1.25.4 h1:Mujh4R/dH6YL8bxuISne3xX2+qcQ9p0IxKAP6ExWoUo= github.com/go-jose/go-jose/v3 v3.0.1 h1:pWmKFVtt+Jl0vBZTIpz/eAKwsm6LkIxDVVbFHKkchhA= github.com/go-jose/go-jose/v3 v3.0.1/go.mod h1:RNkWWRld676jZEYoV3+XK8L2ZnNSvIsxFMht0mSX+u8= +github.com/go-jose/go-jose/v3 v3.0.3/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ= github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk= github.com/go-kit/log v0.1.0 h1:DGJh0Sm43HbOeYDNnVZFl8BvcYVvjD5bqYJvp0REbwQ= +github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81 h1:6zl3BbBhdnMkpSj2YY30qV3gDcVBGtFgVsV3+/i+mKQ= github.com/go-ldap/ldap/v3 v3.4.1 h1:fU/0xli6HY02ocbMuozHAYsaHLcnkLjvho2r5a34BUU= github.com/go-ldap/ldap/v3 v3.4.1/go.mod h1:iYS1MdmrmceOJ1QOTnRXrIs7i3kloqtmGQjRvjKpyMg= github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/zapr v1.2.3/go.mod h1:eIauM6P8qSvTw5o2ez6UEAfGjQKrxQTl5EoK+Qa2oG4= github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA= github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= +github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc= github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= github.com/go-pdf/fpdf v0.6.0 h1:MlgtGIfsdMEEQJr2le6b/HNr1ZlQwxyWr77r2aj2U/8= +github.com/go-sql-driver/mysql v1.3.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-text/typesetting v0.0.0-20230329143336-a38d00edd832 h1:yV4rFdcvwZXE0lZZ3EoBWjVysHyVo8DLY8VihDciNN0= github.com/go-text/typesetting v0.0.0-20230329143336-a38d00edd832/go.mod h1:zvWM81wAVW6QfVDI6yxfbCuoLnobSYTuMsrXU/u11y8= +github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= @@ -1020,8 +1241,11 @@ github.com/gofiber/fiber/v2 v2.52.1/go.mod h1:KEOE+cXMhXG0zHc9d8+E38hoX+ZN7bhOtg github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA= github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/googleapis v1.4.0 h1:zgVt4UpGxcqVOw97aRGxT4svlcmdK35fynLNctY32zI= +github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs= +github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-jwt/jwt/v5 v5.2.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= @@ -1029,65 +1253,88 @@ github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/ github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= +github.com/google/cel-go v0.17.7/go.mod h1:HXZKzB0LXqer5lHHgfWAnlYwJaQBDKMjxjulNQzhwhY= +github.com/google/cel-go v0.20.1/go.mod h1:kWcIzTsPX0zmQ+H3TirHstLLf9ep5QTsZBN9u4dOYLg= +github.com/google/certificate-transparency-go v1.0.10-0.20180222191210-5ab67e519c93/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg= github.com/google/flatbuffers v2.0.8+incompatible h1:ivUb1cGomAB101ZM1T0nOiWz9pSrTMoa9+EiY7igmkM= github.com/google/flatbuffers v23.5.26+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= github.com/google/go-containerregistry v0.5.1 h1:/+mFTs4AlwsJ/mJe8NDtKb7BxLtbZFpcn8vDsneEkwQ= +github.com/google/go-containerregistry v0.14.0/go.mod h1:aiJ2fp/SXvkWgmYHioXnbMdlgB8eXiiYOY55gfN91Wk= github.com/google/go-pkcs11 v0.2.0 h1:5meDPB26aJ98f+K9G21f0AqZwo/S5BJMJh8nuhMbdsI= github.com/google/go-pkcs11 v0.2.0/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9 h1:OF1IPgv+F4NmqmJ98KTjdN97Vs1JxDPB3vbmYzV2dpk= github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= +github.com/google/martian/v3 v3.3.3/go.mod h1:iEPrYcgCF7jA9OtScMFQyAlZZ4YXTKEtJ1E6RWzmBA0= +github.com/google/pprof v0.0.0-20230323073829-e72429f035bd/go.mod h1:79YE0hCXdHag9sBkw2o+N/YnZtTkXi0UT9Nnixa5eYk= github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/s2a-go v0.1.5 h1:8IYp3w9nysqv3JH+NJgXJzGbDHzLOTj43BmSkp+O7qg= github.com/google/s2a-go v0.1.5/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/tink/go v1.7.0 h1:6Eox8zONGebBFcCBqkVmt60LaWZa6xg1cl/DwAh/J1w= github.com/google/tink/go v1.7.0/go.mod h1:GAUOd+QE3pgj9q8VKIGTCP33c/B7eb4NhxLcgTJZStM= github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/cloud-bigtable-clients-test v0.0.2/go.mod h1:mk3CrkrouRgtnhID6UZQDK3DrFFa7cYCAJcEmNsHYrY= github.com/googleapis/enterprise-certificate-proxy v0.2.4/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/enterprise-certificate-proxy v0.2.5 h1:UR4rDjcgpgEnqpIEvkiqTYKBCKLNmlge2eVjoZfySzM= github.com/googleapis/enterprise-certificate-proxy v0.2.5/go.mod h1:RxW0N9901Cko1VOCW3SXCpWP+mlIEkk2tP7jnHy9a3w= github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= github.com/googleapis/gax-go/v2 v2.12.1/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= +github.com/googleapis/gax-go/v2 v2.12.3/go.mod h1:AKloxT6GtNbaLm8QTNSidHUVsHYcBHwWRvkNFJUQcS4= +github.com/googleapis/gax-go/v2 v2.12.4/go.mod h1:KYEYLorsnIGDi/rPC8b5TdlB9kbKoFubselGIoBMCwI= github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8 h1:tlyzajkF3030q6M8SvmJSemC9DTHL/xaMa18b65+JM4= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33 h1:893HsJqtxp9z1SF76gg6hY70hRY1wVlTSnC/h1yUDCo= +github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= -github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk= github.com/hamba/avro v1.5.6 h1:/UBljlJ9hLjkcY7PhpI/bFYb4RMEXHEwHr17gAm/+l8= +github.com/hamba/avro/v2 v2.20.1/go.mod h1:xHiKXbISpb3Ovc809XdzWow+XGTn+Oyf/F9aZbTLAig= +github.com/hanwen/go-fuse/v2 v2.4.0/go.mod h1:xKwi1cF7nXAOBCXujD5ie0ZKsxc8GGSA1rlMJc+8IJs= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cty-funcs v0.0.0-20230405223818-a090f58aa992/go.mod h1:Abjk0jbRkDaNCzsRhOv2iDCofYpX1eVsjozoiK63qLA= +github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-kms-wrapping/entropy/v2 v2.0.0 h1:pSjQfW3vPtrOTcasTUKgCTQT7OGPPTTMVRrOfU6FJD8= github.com/hashicorp/go-kms-wrapping/entropy/v2 v2.0.0/go.mod h1:xvb32K2keAc+R8DSFG2IwDcydK9DBQE+fGA5fsw6hSk= github.com/hashicorp/go-kms-wrapping/v2 v2.0.8 h1:9Q2lu1YbbmiAgvYZ7Pr31RdlVonUpX+mmDL7Z7qTA2U= github.com/hashicorp/go-kms-wrapping/v2 v2.0.8/go.mod h1:qTCjxGig/kjuj3hk1z8pOUrzbse/GxB1tGfbrq8tGJg= github.com/hashicorp/go-plugin v1.4.8 h1:CHGwpxYDOttQOY7HOWgETU9dyVjOXzniXDqJcYJE1zM= github.com/hashicorp/go-plugin v1.4.8/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.7.5/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= github.com/hashicorp/go-secure-stdlib/base62 v0.1.2 h1:ET4pqyjiGmY09R5y+rSd70J2w45CtbWDNvGqWp/R3Ng= github.com/hashicorp/go-secure-stdlib/base62 v0.1.2/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 h1:p4AKXPPS24tO8Wc8i1gLvSKdmkiSY5xuju57czJ/IJQ= github.com/hashicorp/go-secure-stdlib/mlock v0.1.2/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= github.com/hashicorp/go-secure-stdlib/password v0.1.1 h1:6JzmBqXprakgFEHwBgdchsjaA9x3GyjdI568bXKxa60= github.com/hashicorp/go-secure-stdlib/password v0.1.1/go.mod h1:9hH302QllNwu1o2TGYtSk8I8kTAN0ca1EHpwhm5Mmzo= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.1/go.mod h1:gKOamz3EwoIoJq7mlMIRBpVTAUn8qPCrEclOKKWhD3U= github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.2 h1:phcbL8urUzF/kxA/Oj6awENaRwfWsjP59GW7u2qlDyY= github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.2/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= +github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= github.com/hashicorp/go-syslog v1.0.0 h1:KaodqZuhUoZereWVIYmpUgZysurB1kBLX2j0MwMrUAE= github.com/hashicorp/go.net v0.0.1 h1:sNCoNyDEvN1xa+X0baata4RdcpKwcMS6DH+xwfqPgjw= +github.com/hashicorp/hcl/v2 v2.20.1/go.mod h1:TZDqQ4kNKCbh1iJp99FdPiUaVDDUPivbqxZulxDYqL4= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/mdns v1.0.4 h1:sY0CMhFmjIPDMlTB+HfymFHCaYLhgifZ0QhjaYKD/UQ= +github.com/hashicorp/vault/api v1.12.1/go.mod h1:1pqP/sErScodde+ybJCyP+ONC4jzEg7Dmawg/QLWo1k= github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87 h1:xixZ2bWeofWV68J+x6AzmKuVM/JWCQwkWm6GW/MUR6I= github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/heetch/avro v0.4.4 h1:5PmgDy1cX/MegMy6btJ4bUFHgT5GLfSYfc5U7+JUQzg= +github.com/heetch/avro v0.4.5/go.mod h1:gxf9GnbjTXmWmqxhdNbAMcZCjpye7RV5r9t3Q0dL6ws= +github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= @@ -1106,6 +1353,7 @@ github.com/intel/goresctrl v0.2.0 h1:JyZjdMQu9Kl/wLXe9xA6s1X+tF6BWsQPFGJMEeCfWzE github.com/intel/goresctrl v0.3.0 h1:K2D3GOzihV7xSBedGxONSlaw/un1LZgWsc9IfqipN4c= github.com/intel/goresctrl v0.3.0/go.mod h1:fdz3mD85cmP9sHD8JUlrNWAxvwM86CrbmVXltEKd7zk= github.com/invopop/jsonschema v0.7.0 h1:2vgQcBz1n256N+FpX3Jq7Y17AjYt46Ig3zIWyy770So= +github.com/invopop/jsonschema v0.12.0/go.mod h1:ffZ5Km5SWWRAIN6wbDXItl95euhFz2uON45H2qjYt+0= github.com/j-keck/arping v1.0.2 h1:hlLhuXgQkzIJTZuhMigvG/CuSkaspeaD9hRDk2zuiMI= github.com/jackc/pgx/v5 v5.5.4 h1:Xp2aQS8uXButQdnCMWNmvx6UysWQQC+u1EoizjguY+8= github.com/jackc/pgx/v5 v5.5.4/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A= @@ -1113,23 +1361,29 @@ github.com/jackc/puddle/v2 v2.2.0/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFr github.com/jhump/gopoet v0.1.0 h1:gYjOPnzHd2nzB37xYQZxj4EIQNpBrBskRqQQ3q4ZgSg= github.com/jhump/goprotoc v0.5.0 h1:Y1UgUX+txUznfqcGdDef8ZOVlyQvnV0pKWZH08RmZuo= github.com/jhump/protoreflect v1.14.1 h1:N88q7JkxTHWFEqReuTsYH1dPIwXxA0ITNQp7avLY10s= +github.com/jhump/protoreflect v1.15.6/go.mod h1:jCHoyYQIJnaabEYnbGwyo9hUqfyUMTbJw/tAut5t97E= +github.com/jinzhu/gorm v0.0.0-20170222002820-5409931a1bb8/go.mod h1:Vla75njaFJ8clLU1W44h34PjIkijhjHIYnZxMqCdxqo= github.com/jinzhu/gorm v1.9.16 h1:+IyIjPEABKRpsu/F8OvDPy9fyQlgsg2luMV2ZIH5i5o= github.com/jinzhu/gorm v1.9.16/go.mod h1:G3LB3wezTOWM2ITLzPxEXgSkOXAntiLHS7UdBefADcs= +github.com/jinzhu/inflection v0.0.0-20170102125226-1c35d901db3d/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/joefitzgerald/rainbow-reporter v0.1.0 h1:AuMG652zjdzI0YCCnXAqATtRBpGXMcAnrajcaTrSeuo= github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= +github.com/josephspurrier/goversioninfo v1.4.0/go.mod h1:JWzv5rKQr+MmW+LvM412ToT/IkYDZjaclF2pKDss8IY= github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= github.com/juju/qthttptest v0.1.1 h1:JPju5P5CDMCy8jmBJV2wGLjDItUsx2KKL514EfOYueM= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5 h1:PJr+ZMXIecYc1Ey2zucXdR73SMBtgjPgwa31099IMv0= -github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kevinmbeaulieu/eq-go v1.0.0 h1:AQgYHURDOmnVJ62jnEk0W/7yFKEn+Lv8RHN6t7mB0Zo= github.com/kevinmbeaulieu/eq-go v1.0.0/go.mod h1:G3S8ajA56gKBZm4UB9AOyoOS37JO3roToPzKNM8dtdM= github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= +github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= github.com/knz/go-libedit v1.10.1 h1:0pHpWtx9vcvC0xGZqEQlQdfSQs7WRlAjuPvk3fOZDCo= github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= @@ -1141,6 +1395,13 @@ github.com/labstack/echo v3.3.10+incompatible h1:pGRcYk231ExFAyoAjAfD85kQzRJCRI8 github.com/labstack/echo v3.3.10+incompatible/go.mod h1:0INS7j/VjnFxD4E2wkz67b8cVwCLbBmJyDaka6Cmk1s= github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80 h1:6Yzfa6GP0rIo/kULo2bwGEkFvCePZ3qHDDTC3/J9Swo= github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs= +github.com/lestrrat-go/backoff/v2 v2.0.8/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= +github.com/lestrrat-go/blackmagic v1.0.0/go.mod h1:TNgH//0vYSs8VXDCfkZLgIrVTTXQELZffUV0tz3MtdQ= +github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= +github.com/lestrrat-go/iter v1.0.1/go.mod h1:zIdgO1mRKhn8l9vrZJZz9TUMMFbQbLeTsbqPDrJ/OJc= +github.com/lestrrat-go/jwx v1.2.25/go.mod h1:zoNuZymNl5lgdcu6P7K6ie2QRll5HVfF4xwxBBK1NxY= +github.com/lestrrat-go/option v1.0.0/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= +github.com/lib/pq v0.0.0-20150723085316-0dad96c0b94f/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/linkedin/goavro v2.1.0+incompatible h1:DV2aUlj2xZiuxQyvag8Dy7zjY69ENjS66bWkSfdpddY= github.com/linkedin/goavro/v2 v2.11.1 h1:4cuAtbDfqkKnBXp9E+tRkIJGa6W6iAjwonwt8O1f4U0= @@ -1150,57 +1411,59 @@ github.com/logrusorgru/aurora/v3 v3.0.0/go.mod h1:vsR12bk5grlLvLXAYrBsb5Oc/N+LxA github.com/lyft/protoc-gen-star v0.6.1 h1:erE0rdztuaDq3bpGifD95wfoPrSZc95nGA6tbiNYh6M= github.com/lyft/protoc-gen-star/v2 v2.0.3 h1:/3+/2sWyXeMLzKd1bX+ixWKgEMsULrIivpDsuaF441o= github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= +github.com/magiconair/properties v1.5.3/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/marstr/guid v1.1.0 h1:/M4H/1G4avsieL6BbUwCOBzulmoeKVP5ux/3mQNnbyI= github.com/matryer/moq v0.2.7 h1:RtpiPUM8L7ZSCbSwK+QcZH/E9tgqAkFjKQxsRs25b4w= github.com/matryer/moq v0.2.7/go.mod h1:kITsx543GOENm48TUAQyJ9+SAvFSr7iGQXPoth/VUBk= github.com/matryer/moq v0.3.4 h1:czCFIos9rI2tyOehN9ktc/6bQ76N9J4xQ2n3dk063ac= github.com/matryer/moq v0.3.4/go.mod h1:wqm9QObyoMuUtH81zFfs3EK6mXEcByy+TjvSROOXJ2U= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= +github.com/mattn/go-sqlite3 v1.6.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= -github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2 h1:g+4J5sZg6osfvEfkRZxJ1em0VT95/UOZgi/l7zi1/oE= -github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= +github.com/miekg/pkcs11 v1.0.2/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs= github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI= github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible h1:aKW/4cBs+yK6gpqU3K/oIwk9Q/XICqd3zOX/UFuvqmk= +github.com/mistifyio/go-zfs/v3 v3.0.1/go.mod h1:CzVgeB0RvF2EGzQnytKVvVSDwmKJXxkOTUGbNrTja/k= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.0 h1:tEElEatulEHDeedTxwckzyYMA5c86fbmNIUL1hBIiTg= github.com/mitchellh/cli v1.1.5 h1:OxRIeJXpAMztws/XHlN2vu6imG5Dpq+j61AzAX5fLng= github.com/mitchellh/cli v1.1.5/go.mod h1:v8+iFts2sPIKUV1ltktPXMCC8fumSKFItNcD2cLtRR4= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= +github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= github.com/mitchellh/gox v0.4.0 h1:lfGJxY7ToLJQjHHwi0EX6uYBdK78egf954SQl13PQJc= +github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= +github.com/mitchellh/mapstructure v0.0.0-20150613213606-2caf8efc9366/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f h1:2+myh5ml7lgEU/51gbeLHfKGNfgEQQIWrlbdaOsidbQ= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= -github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= +github.com/mndrix/tap-go v0.0.0-20171203230836-629fa407e90b/go.mod h1:pzzDgJWZ34fGzaAZGFW22KVZDfyrYW+QABMrWnJBnSs= github.com/moby/sys/mount v0.3.3 h1:fX1SVkXFJ47XWDoeFW4Sq7PdQJnV2QIDZAqjNqgEjUs= github.com/moby/sys/mountinfo v0.6.2 h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vygl78= github.com/moby/sys/signal v0.6.0 h1:aDpY94H8VlhTGa9sNYUFCFsMZIUh5wm0B6XkIoJj/iY= -github.com/moby/sys/signal v0.7.0 h1:25RW3d5TnQEoKvRbEKUGay6DCQ46IxAVTT9CUMgmsSI= -github.com/moby/sys/signal v0.7.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= -github.com/moby/sys/symlink v0.2.0 h1:tk1rOM+Ljp0nFmfOIBtlV3rTDlWOwFRhjEeAhZB0nZc= github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5 h1:8Q0qkMVC/MmWkpIdlvZgcv2o2jrlF6zqVOh7W5YHdMA= +github.com/montanaflynn/stats v0.7.0 h1:r3y12KyNxj/Sb/iOE46ws+3mS1+MZca1wlHQFPsY/JU= +github.com/montanaflynn/stats v0.7.0/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= github.com/mrunalp/fileutils v0.5.0 h1:NKzVxiH7eSk+OQ4M+ZYW1K6h27RUV3MI6NUTsHhU6Z4= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= +github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= github.com/ncw/swift v1.0.47 h1:4DQRPj35Y41WogBxyhOXlrI37nzGlyEcsforeudyYPQ= github.com/networkplumbing/go-nft v0.2.0 h1:eKapmyVUt/3VGfhYaDos5yeprm+LPt881UeksmKKZHY= +github.com/networkplumbing/go-nft v0.4.0/go.mod h1:HnnM+tYvlGAsMU7yoYwXEVLLiDW9gdMmb5HoGcwpuQs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/nrwiersma/avro-benchmarks v0.0.0-20210913175520-21aec48c8f76 h1:wDbc54qVQ+C5oQZ8Q5VlMbqEt2hrnev2bC/gIGL3Ksk= github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= @@ -1211,69 +1474,97 @@ github.com/onsi/ginkgo/v2 v2.1.3 h1:e/3Cwtogj0HA+25nMP1jCMDIf8RtRYbGwGGuBIFztkc= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= github.com/onsi/ginkgo/v2 v2.4.0 h1:+Ig9nvqgS5OBSACXNk15PLdp0U9XPYROt9CFzVdFGIs= github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= +github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= +github.com/onsi/ginkgo/v2 v2.13.2/go.mod h1:XStQ8QcGwLyF4HdfcZB8SFOS/MWCgDuXMSBe6zrvLgM= github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= github.com/onsi/gomega v1.23.0 h1:/oxKu9c2HVap+F3PfKort2Hw5DEU+HGlW8n+tguWsys= github.com/onsi/gomega v1.23.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= +github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= +github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= +github.com/open-policy-agent/opa v0.42.2/go.mod h1:MrmoTi/BsKWT58kXlVayBb+rYVeaMwuBm3nYAN3923s= github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 h1:3snG66yBm59tKhhSPQrQ/0bCrv1LQbKt40LnUPiUxdc= +github.com/opencontainers/runtime-spec v1.0.3-0.20220825212826-86290f6a00fb/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.1.0-rc.1 h1:wHa9jroFfKGQqFHj0I1fMRKLl0pfj+ynAqBxo3v6u9w= github.com/opencontainers/runtime-spec v1.1.0-rc.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.1.0-rc.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.1.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39 h1:H7DMc6FAjgwZZi8BRqjrAAHWoqEr5e5L6pS4V0ezet4= github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626 h1:DmNGcqH3WDbV5k8OJ+esPWbqUOX5rMLR2PMvziDMJi0= github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626/go.mod h1:BRHJJd0E+cx42OybVYSgUvZmU0B8P9gZuRXlZUP7TKI= +github.com/opencontainers/selinux v1.9.1/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= github.com/opencontainers/selinux v1.10.1 h1:09LIPVRP3uuZGQvgR+SgMSNBd1Eb3vlRbGqQpoHsF8w= github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU= github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde h1:x0TT0RDC7UhAVbbWWBzr41ElhJx5tXPWkIHA2HWPRuw= github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= +github.com/otiai10/copy v1.14.0/go.mod h1:ECfuL02W+/FkTWZWgQqXPWZgW9oeKCSQ5qVfSc4qc4w= github.com/outcaste-io/ristretto v0.2.1/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= +github.com/package-url/packageurl-go v0.1.1-0.20220428063043-89078438f170/go.mod h1:uQd4a7Rh3ZsVg5j0lNyAfyxIeGde9yrlhjF78GzeW0c= github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ= -github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= -github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/phpdave11/gofpdf v1.4.2 h1:KPKiIbfwbvC/wOncwhrpRdXVj2CZTCFlw4wnoyjtHfQ= github.com/phpdave11/gofpdi v1.0.13 h1:o61duiW8M9sMlkVXWlvP92sZJtGKENvW3VExs6dZukQ= github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= +github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo= github.com/pkg/sftp v1.13.1 h1:I2qBYMChEhIjOgazfJmV3/mZM256btk6wkCDRmW7JYs= github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021 h1:0XM1XL/OFFJjXsYXlG30spTkV/E9+gmd5GD1w2HE8xM= +github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= +github.com/prometheus/client_golang v0.9.0-pre1.0.20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v1.11.1 h1:+4eQaD7vAZ6DsfsxB15hbE0odUjGI5ARs9yskGu1v4s= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= +github.com/prometheus/client_golang v1.15.1/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= +github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= -github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= -github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= github.com/prometheus/common v0.30.0 h1:JEkYlQnpzrzQFxi6gnukFPdQ+ac82oRhzMcIduJu/Ug= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= +github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= +github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= +github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY= github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk= github.com/rogpeppe/clock v0.0.0-20190514195947-2896927a307a h1:3QH7VyOaaiUHNrA9Se4YQIRkDTCw1EJls9xTUCaCeRM= github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245 h1:K1Xf3bKttbF+koVGaX5xngRIZ5bVjbmPnaxE/dR08uY= github.com/ryanuber/columnize v2.1.0+incompatible h1:j1Wcmh8OrK4Q7GXY+V7SVSY8nUWQxHW5TkBe7YUl+2s= +github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.2+incompatible h1:C89EOx/XBWwIXl8wm8OPJBd7kPF25UfsK2X7Ph/zCAk= github.com/ryanuber/columnize v2.1.2+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1 h1:ZFfeKAhIQiiOrQaI3/znw0gOmYpO28Tcu1YaqMa/jtQ= +github.com/safchain/ethtool v0.3.0/go.mod h1:SA9BwrgyAqNo7M+uaL6IYbxpm5wk3L7Mm6ocLW+CJUs= github.com/santhosh-tekuri/jsonschema/v5 v5.2.0 h1:WCcC4vZDS1tYNxjWlwRJZQy28r8CMoggKnxNzxsVDMQ= +github.com/santhosh-tekuri/jsonschema/v5 v5.3.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww= github.com/sclevine/agouti v3.0.0+incompatible h1:8IBJS6PWz3uTlMP3YBIR5f+KAldcGuOeFkFbUWfBgK4= github.com/sclevine/spec v1.2.0 h1:1Jwdf9jSfDl9NVmt8ndHqbTZ7XCCPbh1jI3hkDBHVYA= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds= +github.com/secure-systems-lab/go-securesystemslib v0.4.0/go.mod h1:FGBZgq2tXWICsxWQW1msNf49F0Pf2Op5Htayx335Qbs= github.com/secure-systems-lab/go-securesystemslib v0.7.0/go.mod h1:/2gYnlnHVQ6xeGtfIqFy7Do03K4cdCY0A/GlJLDKLHI= +github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= @@ -1281,15 +1572,22 @@ github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9 h1:hp2CY github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a h1:pa8hGb/2YqsZKovtsgrwcDH1RZhVbTKCjLp47XpqCDs= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= +github.com/spdx/tools-golang v0.5.3/go.mod h1:/ETOahiAo96Ob0/RAIBmFZw6XN0yTnyr/uFZm2NTMhI= github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= +github.com/spf13/cast v0.0.0-20150508191742-4d07383ffe94/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.1/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v1.1.3 h1:xghbfqPkxzxP3C/f3n5DdpAbdKLj4ZE4BWQI362l53M= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/jwalterweatherman v0.0.0-20141219030609-3d60171a6431/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= +github.com/spf13/pflag v1.0.0/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/viper v1.7.0 h1:xVKxvI7ouOI5I+U9s2eeiUfMaWBVoXA3AWskkrqK0VM= +github.com/spiffe/go-spiffe/v2 v2.1.1/go.mod h1:5qg6rpqlwIub0JAiF1UK9IMD6BpPTmvG6yfSgDBs5lg= github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 h1:lIOOHPEbXzO3vnmx2gok1Tfs31Q8GQqKLc8vVqyQq/I= github.com/stoewer/go-strcase v1.2.0 h1:Z2iHWqGXH00XYgqDmNgQbIBxf3wrNq0F3feEy0ainaU= github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= @@ -1299,68 +1597,98 @@ github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtse github.com/tchap/go-patricia v2.2.6+incompatible h1:JvoDL7JSoIP2HDE8AbDH3zC8QBPxmzYe32HHy5yQ+Ck= github.com/tchap/go-patricia/v2 v2.3.1 h1:6rQp39lgIYZ+MHmdEq4xzuk1t7OdC35z/xm0BGhTkes= github.com/tchap/go-patricia/v2 v2.3.1/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= +github.com/tink-crypto/tink-go-gcpkms/v2 v2.1.0/go.mod h1:QXPc/i5yUEWWZ4lbe2WOam1kDdrXjGHRjl0Lzo7IQDU= +github.com/tink-crypto/tink-go-hcvault/v2 v2.1.0/go.mod h1:OJLS+EYJo/BTViJj7EBG5deKLeQfYwVNW8HMS1qHAAo= +github.com/tink-crypto/tink-go/v2 v2.1.0/go.mod h1:y1TnYFt1i2eZVfx4OGc+C+EMp4CoKWAw2VSEuoicHHI= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 h1:uruHq4dN7GR16kFc5fp3d1RIYzJW5onx8Ybykw2YQFA= +github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1:KO6IkyS8Y3j8OdNO85qEYBsRPuteD+YciPomcXdrMnk= +github.com/tonistiigi/go-actions-cache v0.0.0-20240227172821-a0b64f338598/go.mod h1:anhKd3mnC1shAbQj1Q4IJ+w6xqezxnyDYlx/yKa7IXM= +github.com/tonistiigi/go-archvariant v1.0.0/go.mod h1:TxFmO5VS6vMq2kvs3ht04iPXtu2rUT/erOnGFYfk5Ho= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= github.com/ugorji/go v1.1.4 h1:j4s+tAvLfL3bZyefP2SEWmhBzmuIlH/eqNuPdFPgngw= +github.com/urfave/cli v1.19.1/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.2 h1:gsqYFH8bb9ekPA12kRo0hfjngWQjkJPlN9R0N78BoUo= github.com/urfave/cli v1.22.12 h1:igJgVw1JdKH+trcLWLeLwZjU9fEfPesQ+9/e4MQ44S8= github.com/urfave/cli v1.22.12/go.mod h1:sSBEIC79qR6OvcmsD4U3KABeOTxDqQtdDnaFuUN30b8= +github.com/urfave/cli v1.22.14/go.mod h1:X0eDS6pD6Exaclxm99NJ3FiCDRED7vIHpx2mDOHLvkA= github.com/urfave/cli/v2 v2.25.5 h1:d0NIAyhh5shGscroL7ek/Ya9QYQE0KNabJgiUinIQkc= github.com/urfave/cli/v2 v2.25.5/go.mod h1:GHupkWPMM0M/sj1a2b4wUrWBPzazNrIjouW6fmdJLxc= github.com/urfave/cli/v2 v2.27.2 h1:6e0H+AkS+zDckwPCUrZkKX38mRaau4nL2uipkJpbkcI= github.com/urfave/cli/v2 v2.27.2/go.mod h1:g0+79LmHHATl7DAcHO99smiR/T7uGLw84w8Y42x+4eM= +github.com/vbatts/tar-split v0.11.5/go.mod h1:yZbwRsSeGjusneWgA781EKej9HF8vme8okylkAeNKLk= +github.com/veraison/go-cose v1.0.0-rc.1/go.mod h1:7ziE85vSq4ScFTg6wyoMXjucIGOf4JkFEZi/an96Ct4= github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5 h1:+UB2BJA852UkGH42H+Oee69djmxS3ANzl2b/JtT1YiA= github.com/vishvananda/netlink v1.2.1-beta.2 h1:Llsql0lnQEbHj0I1OuKyp8otXp0r3q0mPkuhwHfStVs= github.com/vishvananda/netlink v1.2.1-beta.2/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f h1:p4VB7kIXpOQvVn1ZaTIVp+3vuYAXFe3OJEvjbUYJLaA= +github.com/vishvananda/netns v0.0.4/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= github.com/willf/bitset v1.1.11 h1:N7Z7E9UvjW+sGsEl7k/SJrvY2reP1A07MrGuCjIOjRE= +github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw= +github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f h1:mvXjJIHRZyhNuGassLTcXTwjiWq7NmjdavZsUnmFybQ= -github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= +github.com/xiatechs/jsonata-go v1.8.5/go.mod h1:yGEvviiftcdVfhSRhRSpgyTel89T58f+690iB0fp2Vk= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 h1:+qGGcbkzsfDQNPPe9UDgpxAWQrhbbBXOYJFQDq/dtJw= github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913/go.mod h1:4aEEwZQutDLsQv2Deui4iYQ6DWTxR14g6m8Wv88+Xqk= +github.com/yashtewari/glob-intersection v0.1.0/go.mod h1:LK7pIC3piUjovexikBbJ26Yml7g8xa5bsjfx2v1fwok= github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43 h1:+lm10QQTNSBd8DVTNGHx7o/IKu9HYDvLMffDhbyLccI= github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50 h1:hlE8//ciYMztlGpl/VA+Zm1AcTPHYkHJPbHqE6WJUXE= github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f h1:ERexzlUfuTvpE74urLSbIQW0Z/6hF9t8U4NsJLaioAY= +github.com/zclconf/go-cty v1.14.4/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= +github.com/zeebo/errs v1.2.2/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zenazn/goji v1.0.1 h1:4lbD8Mx2h7IvloP7r2C0D6ltZP6Ufip8Hn0wmSK5LR8= github.com/zenazn/goji v1.0.1/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= +go.etcd.io/bbolt v1.3.8/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= +go.etcd.io/bbolt v1.3.9/go.mod h1:zaO32+Ti0PK1ivdPtgMESzuzL2VPoIG1PCQNvOdo/dE= go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489 h1:1JFLBqwIgdyHN1ZtgjTBwO+blA6gVOmZurpiMEsETKo= go.etcd.io/etcd/api/v3 v3.5.0 h1:GsV3S+OfZEOCNXdtNkBSR7kgLobAa/SO6tCxRa0GAYw= +go.etcd.io/etcd/api/v3 v3.5.10/go.mod h1:TidfmT4Uycad3NM/o25fG3J07odo4GBB9hoxaodFCtI= go.etcd.io/etcd/client/pkg/v3 v3.5.0 h1:2aQv6F436YnN7I4VbI8PPYrBhu+SmrTaADcf8Mi/6PU= +go.etcd.io/etcd/client/pkg/v3 v3.5.10/go.mod h1:DYivfIviIuQ8+/lCq4vcxuseg2P2XbHygkKwFo9fc8U= go.etcd.io/etcd/client/v2 v2.305.0 h1:ftQ0nOOHMcbMS3KIaDQ0g5Qcd6bhaBrQT6b89DfwLTs= +go.etcd.io/etcd/client/v2 v2.305.10/go.mod h1:m3CKZi69HzilhVqtPDcjhSGp+kA1OmbNn0qamH80xjA= go.etcd.io/etcd/client/v3 v3.5.0 h1:62Eh0XOro+rDwkrypAGDfgmNh5Joq+z+W9HZdlXMzek= +go.etcd.io/etcd/client/v3 v3.5.10/go.mod h1:RVeBnDz2PUEZqTpgqwAtUd8nAPf5kjyFyND7P1VkOKc= go.etcd.io/etcd/pkg/v3 v3.5.0 h1:ntrg6vvKRW26JRmHTE0iNlDgYK6JX3hg/4cD62X0ixk= +go.etcd.io/etcd/pkg/v3 v3.5.10/go.mod h1:TKTuCKKcF1zxmfKWDkfz5qqYaE3JncKKZPFf8c1nFUs= go.etcd.io/etcd/raft/v3 v3.5.0 h1:kw2TmO3yFTgE+F0mdKkG7xMxkit2duBDa2Hu6D/HMlw= +go.etcd.io/etcd/raft/v3 v3.5.10/go.mod h1:odD6kr8XQXTy9oQnyMPBOr0TVe+gT0neQhElQ6jbGRc= go.etcd.io/etcd/server/v3 v3.5.0 h1:jk8D/lwGEDlQU9kZXUFMSANkE22Sg5+mW27ip8xcF9E= +go.etcd.io/etcd/server/v3 v3.5.10/go.mod h1:gBplPHfs6YI0L+RpGkTQO7buDbHv5HJGG/Bst0/zIPo= +go.etcd.io/gofail v0.1.0/go.mod h1:VZBCXYGZhHAinaBiiqYvuDynvahNsAyLFwB3kEHKz1M= go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 h1:A/5uWzF44DlIgdm/PQFwfMkW0JX+cIcQi/SwLAmZP5M= go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0 h1:Ky1MObd188aGbgb5OgNnwGuEEwI9MVIcc7rBW6zk5Ak= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.40.0 h1:5jD3teb4Qh7mx/nfzq4jO2WFFpvXD0vYWFDrdvNWmXk= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.40.0/go.mod h1:UMklln0+MRhZC4e3PwmN3pCtq4DyIadWw4yikh6bNrw= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0/go.mod h1:5z+/ZWJQKXa9YT34fQNx5K8Hd1EoIhvtUygUQPqEOgQ= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0/go.mod h1:vsh3ySueQCiKPxFLvjWC4Z135gIa34TQ/NSqkDTZYUM= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1/go.mod h1:4UoMYEZOC0yN/sPGH76KPkkU7zgiEWYWL9vwmbnTJPE= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0 h1:UNQQKPfTDe1J81ViolILjTKPr9WetKW6uei2hFgJmFs= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0/go.mod h1:r9vWsPS/3AQItv3OSlEJ/E4mbrhUbbw18meOjArPtKQ= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.48.0/go.mod h1:tIKj3DbO8N9Y2xo52og3irLsPI4GW02DSMtrVgNMgxg= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0/go.mod h1:62CPTSry9QZtOaSsE3tOzhx6LzDhHnXJ6xHeMNNiM6Q= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1/go.mod h1:sEGXWArGqc3tVa+ekntsN65DmVbVeW+7lTKTjZF3/Fo= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 h1:sv9kVfal0MK0wBMCOGr+HeJm9v803BkJxGrk2au7j08= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.48.0/go.mod h1:rdENBZMT2OE6Ne/KLwpiXudnAsbdrdBaqBvTN8M8BgA= +go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY= go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo= go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y= go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= go.opentelemetry.io/otel v1.23.0/go.mod h1:YCycw9ZeKhcJFrb34iVSkyT0iczq/zYDtZYFufObyB0= +go.opentelemetry.io/otel/exporters/jaeger v1.17.0/go.mod h1:nPCqOnEH9rNLKqH/+rrUjiMzHJdV1BlpKcTwRTyKkKI= go.opentelemetry.io/otel/exporters/otlp v0.20.0 h1:PTNgq9MRmQqqJY0REVbZFvwkYOA85vbdQU/nVfxDyqg= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0 h1:R/OBkMoGgfy2fLhs2QhkCI1w4HLEQX92GCcJB6SSdNk= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0 h1:/fXHZHGvro6MVqV34fJzDhi7sHGpX3Ej/Qjmfn003ho= @@ -1368,12 +1696,16 @@ go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0/go.mod h1:UFG7EBM go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0 h1:giGm8w67Ja7amYNfYMdme7xSp2pIxThWopw8+QP51Yk= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.14.0 h1:TKf2uAs2ueguzLaxOCBXNpHxfO/aC7PAdDsSH0IbeRQ= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.14.0/go.mod h1:HrbCVv40OOLTABmOn1ZWty6CHXkU8DK/Urc43tHug70= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0 h1:VQbUHoJqytHHSJ1OZodPH9tvZZSVzUHjPHpkO85sT6k= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0 h1:ap+y8RXX3Mu9apKVtOkM6WSFESLM8K3wNQyOU8sWHcc= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0/go.mod h1:5w41DY6S9gZrbjuq6Y+753e96WfPha5IcsOSZTtullM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0/go.mod h1:0+KuTDyKL4gjKCF75pHOX4wuzYDUZYfAQdSu43o+Z2I= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0 h1:Ydage/P0fRrSPpZeCVxzjqGcI6iVmG2xb43+IR8cjqM= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.14.0 h1:3jAYbRHQAqzLjd9I4tzxwJ8Pk/N6AqBcF6m1ZHrxG94= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.14.0/go.mod h1:+N7zNjIJv4K+DeX67XXET0P+eIciESgaFDBqh+ZJFS4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0/go.mod h1:oVdCUtjq9MK9BlS7TtucsQwUcXcymNiEDjgDD2jMtZU= +go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8= go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM= go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg= go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY= @@ -1382,24 +1714,29 @@ go.opentelemetry.io/otel/oteltest v0.20.0 h1:HiITxCawalo5vQzdHfKeZurV8x7ljcqAgiW go.opentelemetry.io/otel/sdk v1.3.0 h1:3278edCoH89MEJ0Ky8WQXVmDQv3FX4ZJ3Pp+9fJreAI= go.opentelemetry.io/otel/sdk v1.14.0 h1:PDCppFRDq8A1jL9v6KMI6dYesaq+DFcDZvjsoGvxGzY= go.opentelemetry.io/otel/sdk v1.14.0/go.mod h1:bwIC5TjrNG6QDCHNWvW4HLHtUQ4I+VQDsnjhvyZCALM= +go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A= go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= go.opentelemetry.io/otel/sdk/export/metric v0.20.0 h1:c5VRjxCXdQlx1HjzwGdQHzZaVI82b5EbBgOu2ljD92g= go.opentelemetry.io/otel/sdk/metric v0.20.0 h1:7ao1wpzHRVKf0OQ7GIxiQJA6X7DLX9o14gmVon7mMK8= +go.opentelemetry.io/otel/sdk/metric v1.24.0/go.mod h1:I6Y5FjH6rvEnTTAYQz3Mmv2kl6Ek5IIrmwTLqMrrOE0= +go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo= go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ= go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0= go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= go.opentelemetry.io/otel/trace v1.23.0/go.mod h1:GSGTbIClEsuZrGIzoEHqsVfxgn5UkggkflQwDScNUsk= go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw= go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= -go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= -go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.17.0 h1:MTjgFu6ZLKvY6Pvaqk97GlxNBuMpV4Hy/3P6tRGlI2U= +go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= @@ -1413,6 +1750,8 @@ golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1m golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= +golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= +golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91 h1:ryT6Nf0R83ZgD8WnFFdfI8wCeyqgdXWN4+CkFVNPAT0= golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91/go.mod h1:VjAR7z0ngyATZTELrBSkxOOHhhlnVUxDye4mcjx5h/8= golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI= @@ -1421,30 +1760,43 @@ golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhp golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20191116160921-f9c825593386/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= golang.org/x/oauth2 v0.9.0/go.mod h1:qYgFZaFiu6Wg24azG8bdV52QJXJGbZzIIsRCdVKzbLw= +golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI= golang.org/x/oauth2 v0.11.0 h1:vPL4xzxBM4niKCW6g9whtaWVXTJf1U5e4aZxxFx/gbU= golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk= golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM= golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ= golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA= +golang.org/x/oauth2 v0.19.0/go.mod h1:vYi7skDa1x015PmRRYZ7+s1cWyPgrPiSYRe4rnsexc8= +golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210331175145-43e1dd70ce54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1456,32 +1808,38 @@ golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2 h1:IRJeR9r1pYWsHKTRe/IInb7lYvbBVIqOgsX/u0mbOWY= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457 h1:zf5N6UOrA487eEFacMePxjXAJctxKmyjKUsjA11Uzuk= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= -golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= -golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= +golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8= +golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= +golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= @@ -1500,9 +1858,15 @@ google.golang.org/api v0.162.0 h1:Vhs54HkaEpkMBdgGdOT2P6F0csGG/vxDS0hWHJzmmps= google.golang.org/api v0.162.0/go.mod h1:6SulDkfoBIg4NFmCuZ39XeeAgSHCPecfSUuDyYlAHs0= google.golang.org/api v0.164.0/go.mod h1:2OatzO7ZDQsoS7IFf3rvsE17/TldiU3F/zxFHeqUB5o= google.golang.org/api v0.166.0/go.mod h1:4FcBc686KFi7QI/U51/2GKKevfZMpM17sCdibqe/bSA= +google.golang.org/api v0.177.0/go.mod h1:srbhue4MLjkjbkux5p3dw/ocYOSZTaIEvf7bCOnFQDw= +google.golang.org/api v0.183.0/go.mod h1:q43adC5/pHoSZTx5h2mSmdF7NcyfW9JuDyIOJAgS9ZQ= +google.golang.org/api v0.188.0/go.mod h1:VR0d+2SIiWOYG3r/jdm7adPW9hI2aRv9ETOSCQ9Beag= +google.golang.org/api v0.189.0/go.mod h1:FLWGJKb0hb+pU2j+rJqwbnsF+ym+fQs73rbJ+KAUgy8= google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8 h1:Cpp2P6TPjujNoC5M2KHY6g7wfyLYfIWRZaSdIKfDasA= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc h1:8DyZCyvI8mE1IdLy/60bS+52xfymkE72wv1asokgtao= google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= +google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= google.golang.org/genproto v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:CCviP9RmpZ1mxVr8MUjCnSiY09IbAXZxhLE6EhHIdPU= @@ -1514,11 +1878,17 @@ google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405/go.mod h1:3WDQMjmJ google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:J7XzRzVy1+IPwWHZUzoD0IccYZIrXILAQpc+Qy9CMhY= google.golang.org/genproto v0.0.0-20231212172506-995d672761c0/go.mod h1:l/k7rMz0vFTBPy+tFSGvXEd3z+BcoG1k7EHbqm+YBsY= google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:+Rvu7ElI+aLzyDQhpHMFMMltsD6m7nqpuWDd2CwJw3k= +google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= google.golang.org/genproto v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= google.golang.org/genproto v0.0.0-20240205150955-31a09d347014/go.mod h1:xEgQu1e4stdSSsxPDK8Azkrk/ECl5HvdPf6nbZrTS5M= google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY= google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo= +google.golang.org/genproto v0.0.0-20240325203815-454cdb8f5daa/go.mod h1:CnZenrTdRJb7jc+jOm0Rkywq+9wh0QC4U8tyiRbEPPM= +google.golang.org/genproto v0.0.0-20240528184218-531527333157/go.mod h1:ubQlAQnzejB8uZzszhrTCU2Fyp6Vi7ZE5nn0c3W8+qQ= +google.golang.org/genproto v0.0.0-20240722135656-d784300faade/go.mod h1:FfBgJBJg9GcpPvKIuHSZ/aE1g2ecGL74upMzGZjiGEY= google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= +google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q= google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97/go.mod h1:iargEX0SFPm3xcfMI0d1domjg0ZF4Aa0p2awqyxhvF0= @@ -1526,6 +1896,7 @@ google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b h1: google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:IBQ646DjkDkvUIsVq/cc03FUFQ9wbZu7yE396YcL870= google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917/go.mod h1:CmlNWB9lSezaYELKS5Ym1r44VrrbPUa7JTvw+6MbpJ0= google.golang.org/genproto/googleapis/api v0.0.0-20240122161410-6c6643bf1457/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= +google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= google.golang.org/genproto/googleapis/api v0.0.0-20240205150955-31a09d347014/go.mod h1:rbHMSEDyoYX62nRVLOCc4Qt1HbsdytAYoVwgjiOhF3I= google.golang.org/genproto/googleapis/api v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:PVreiBMirk8ypES6aw9d4p6iiBNSIfZEBqr3UGoAi2E= @@ -1533,6 +1904,10 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240221002015-b0ce06bbee7c/go. google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0= google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8= google.golang.org/genproto/googleapis/api v0.0.0-20240311132316-a219d84964c2/go.mod h1:O1cOfN1Cy6QEYr7VxtjOyP5AdAuR0aJ/MYZaaof623Y= +google.golang.org/genproto/googleapis/api v0.0.0-20240429193739-8cf5692501f6/go.mod h1:10yRODfgim2/T8csjQsMPgZOMvtytXKTDRzH6HRGzRw= +google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117/go.mod h1:OimBR/bc1wPO9iV4NC2bpyjy3VnAwZh5EBPQdtaE5oo= +google.golang.org/genproto/googleapis/api v0.0.0-20240711142825-46eb208f015d/go.mod h1:mw8MG/Qz5wfgYr6VqVCiZcHe/GJEfI+oGGDCohaVgB0= +google.golang.org/genproto/googleapis/api v0.0.0-20240722135656-d784300faade/go.mod h1:mw8MG/Qz5wfgYr6VqVCiZcHe/GJEfI+oGGDCohaVgB0= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230807174057-1744710a1577 h1:ZX0eQu2J+jOO87sq8fQG8J/Nfp7D7BhHpixIE5EYK/k= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230807174057-1744710a1577/go.mod h1:NjCQG/D8JandXxM57PZbAJL1DCNL6EypA0vPPwfsc7c= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405 h1:o4S3HvTUEXgRsNSUQsALDVog0O9F/U1JJlHmmUN8Uas= @@ -1540,8 +1915,10 @@ google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4 google.golang.org/genproto/googleapis/bytestream v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:SCz6T5xjNXM4QFPRwxHcfChp7V+9DcXR3ay2TkHR8Tg= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240304161311-37d4d3c04a78 h1:YqFWYZXim8bG9v68xU8WjTZmYKb5M5dMeSOWIp6jogI= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240304161311-37d4d3c04a78/go.mod h1:vh/N7795ftP0AkN1w8XKqN4w1OdUKXW5Eummda+ofv8= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:5/MT647Cn/GGhwTpXC7QqcaR5Cnee4v4MKCU1/nwnIQ= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc h1:XSJ8Vk1SWuNr8S18z1NZSziL0CPIXLCCMDOEFtHBOFc= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230731190214-cbb8c96f2d6d/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I= 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-20230920204549-e6e6cdab5c13/go.mod h1:KSqppvjFjtoCI+KGd4PELB0qLNxdJHRGqRI09mB6pQA= @@ -1552,6 +1929,7 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go. google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917/go.mod h1:xtjpI3tXFPP051KaWnhvxkiubL/6dJ18vLVf7q2pTOU= google.golang.org/genproto/googleapis/rpc v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:daQN87bsDqDoe316QbbvX60nMoJQa4r6Ds0ZuoAe5yA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= google.golang.org/genproto/googleapis/rpc v0.0.0-20240205150955-31a09d347014/go.mod h1:SaPjaZGWb0lPqs6Ittu0spdfrOArqji4ZdeP5IC/9N4= google.golang.org/genproto/googleapis/rpc v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:YUWgXUFRPfoYK1IHMuxH5K6nPEXSCzIMljnQ59lLRCk= @@ -1560,7 +1938,16 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240304161311-37d4d3c04a78/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= google.golang.org/genproto/googleapis/rpc v0.0.0-20240314234333-6e1732d8331c/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240624140628-dc46fd24d27d/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240711142825-46eb208f015d/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240722135656-d784300faade/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240725223205-93522f1f2a9f/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= +google.golang.org/grpc v1.0.5/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= google.golang.org/grpc v1.57.1/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= @@ -1578,6 +1965,7 @@ google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHh gopkg.in/airbrake/gobrake.v2 v2.0.9 h1:7z2uVWwn7oVeeugY1DtlPAy5H+KYgB1KeKTnqjNatLo= gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/avro.v0 v0.0.0-20171217001914-a730b5802183 h1:PGIdqvwfpMUyUP+QAlAnKTSWQ671SmYjoou2/5j7HXk= +gopkg.in/cenkalti/backoff.v2 v2.2.1/go.mod h1:S0QdOvT2AlerfSBkp0O+dk+bbIMaNbEmVk876gPCthU= gopkg.in/cheggaaa/pb.v1 v1.0.25 h1:Ev7yu1/f6+d+b3pi5vPdRPc6nNtP1umSfcWiEfRqv6I= gopkg.in/errgo.v1 v1.0.0 h1:n+7XfCyygBFb8sEjg6692xjC6Us50TFRO54+xYUEwjE= gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= @@ -1591,9 +1979,11 @@ gopkg.in/jinzhu/gorm.v1 v1.9.2 h1:sTqyEcgrxG68jdeUXA9syQHNdeRhhfaYZ+vcL3x730I= gopkg.in/jinzhu/gorm.v1 v1.9.2/go.mod h1:56JJPUzbikvTVnoyP1nppSkbJ2L8sunqTBDY2fDrmFg= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw= gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= +gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= gopkg.in/olivere/elastic.v3 v3.0.75 h1:u3B8p1VlHF3yNLVOlhIWFT3F1ICcHfM5V6FFJe6pPSo= gopkg.in/olivere/elastic.v3 v3.0.75/go.mod h1:yDEuSnrM51Pc8dM5ov7U8aI/ToR3PG0llA8aRv2qmw0= gopkg.in/resty.v1 v1.12.0 h1:CuXP0Pjfw9rOuY6EP+UvtNvt5DSqHpIxILZKT/quCZI= +gopkg.in/rethinkdb/rethinkdb-go.v6 v6.2.1/go.mod h1:WbjuEoo1oadwzQ4apSDU+JTvmllEHtsNHS6y7vFc7iw= gopkg.in/retry.v1 v1.0.3 h1:a9CArYczAVv6Qs6VGoLMio99GEs7kY9UzSF9+LD+iGs= gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= @@ -1616,19 +2006,25 @@ k8s.io/code-generator v0.19.7 h1:kM/68Y26Z/u//TFc1ggVVcg62te8A2yQh57jBfD0FWQ= k8s.io/component-base v0.22.5 h1:U0eHqZm7mAFE42hFwYhY6ze/MmVaW00JpMrzVsQmzYE= k8s.io/component-base v0.26.2 h1:IfWgCGUDzrD6wLLgXEstJKYZKAFS2kO+rBRi0p3LqcI= k8s.io/component-base v0.26.2/go.mod h1:DxbuIe9M3IZPRxPIzhch2m1eT7uFrSBJUBuVCQEBivs= +k8s.io/component-base v0.29.2/go.mod h1:BfB3SLrefbZXiBfbM+2H1dlat21Uewg/5qtKOl8degM= k8s.io/cri-api v0.23.1 h1:0DHL/hpTf4Fp+QkUXFefWcp1fhjXr9OlNdY9X99c+O8= k8s.io/cri-api v0.26.2 h1:Vifw8T4ZFzU5pQ5dj5rdDsPOSzmLAvhVcYEJpbjOYLY= k8s.io/cri-api v0.26.2/go.mod h1:Oo8O7MKFPNDxfDf2LmrF/3Hf30q1C6iliGuv3la3tIA= +k8s.io/cri-api v0.27.1/go.mod h1:+Ts/AVYbIo04S86XbTD73UPp/DkTiYxtsFeOFEu32L0= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c h1:GohjlNKauSai7gN4wsJkeZ3WAJx4Sh+oT/b5IYn5suA= +k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw= k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kms v0.29.2/go.mod h1:s/9RC4sYRZ/6Tn6yhNjbfJuZdb8LzlXhdlBnKizeFDo= k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 h1:+70TFaan3hfJzs+7VK2o+OGxg8HsuBr/5f6tVAjDu6E= k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280/go.mod h1:+Axhij7bCpeqhklhUTe3xmOn6bWxolyZEeyaFpjGtl4= k8s.io/kubernetes v1.13.0 h1:qTfB+u5M92k2fCCCVP2iuhgwwSOv1EkAkvQY1tQODD8= k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5 h1:kmDqav+P+/5e1i9tFfHq1qcF3sOrDp+YEkVDAHu7Jwk= k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +kernel.org/pub/linux/libs/security/libcap/cap v1.2.67/go.mod h1:GkntoBuwffz19qtdFVB+k2NtWNN+yCKnC/Ykv/hMiTU= +kernel.org/pub/linux/libs/security/libcap/psx v1.2.67/go.mod h1:+l6Ee2F59XiJ2I6WR5ObpC1utCQJZ/VLsEbQCD8RG24= lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI= modernc.org/cc/v3 v3.36.3 h1:uISP3F66UlixxWEcKuIWERa4TwrZENHSL8tWxZz8bHg= modernc.org/ccgo/v3 v3.16.9 h1:AXquSwg7GuMk11pIdw7fmO1Y/ybgazVkMhsZWCV0mHM= @@ -1649,7 +2045,7 @@ rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4= rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY= rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22 h1:fmRfl9WJ4ApJn7LxNuED4m0t18qivVQOxP6aAYG9J6c= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y= sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +tags.cncf.io/container-device-interface/specs-go v0.6.0/go.mod h1:hMAwAbMZyBLdmYqWgYcKH0F/yctNpV3P35f+/088A80= diff --git a/instrumentation/instrumentation.go b/instrumentation/instrumentation.go index ada2f429fb..7190461310 100644 --- a/instrumentation/instrumentation.go +++ b/instrumentation/instrumentation.go @@ -1,6 +1,14 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package instrumentation import ( + "context" + "math" + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" "github.com/DataDog/dd-trace-go/v2/instrumentation/internal/namingschema" "github.com/DataDog/dd-trace-go/v2/internal" @@ -8,7 +16,6 @@ import ( "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" "github.com/DataDog/dd-trace-go/v2/internal/normalizer" "github.com/DataDog/dd-trace-go/v2/internal/telemetry" - "math" ) // OperationContext holds metadata about an instrumentation operation. @@ -80,10 +87,13 @@ func (i *Instrumentation) Logger() Logger { return i.logger } -func (i *Instrumentation) AnalyticsRate() float64 { +func (i *Instrumentation) AnalyticsRate(defaultGlobal bool) float64 { if internal.BoolEnv("DD_TRACE_"+i.info.EnvVarPrefix+"_ANALYTICS_ENABLED", false) { return 1.0 } + if defaultGlobal { + return i.GlobalAnalyticsRate() + } return math.NaN() } @@ -95,6 +105,36 @@ func (i *Instrumentation) AppSecEnabled() bool { return appsec.Enabled() } +func (i *Instrumentation) DataStreamsEnabled() bool { + return internal.BoolEnv("DD_DATA_STREAMS_ENABLED", false) +} + +// WithExecutionTraced marks ctx as being associated with an execution trace +// task. It is assumed that ctx already contains a trace task. The caller is +// responsible for ending the task. +// +// This is intended for a specific case where the database/sql contrib package +// only creates spans *after* an operation, in case the operation was +// unavailable, and thus execution trace tasks tied to the span only capture the +// very end. This function enables creating a task *before* creating a span, and +// communicating to the APM tracer that it does not need to create a task. In +// general, APM instrumentation should prefer creating tasks around the +// operation rather than after the fact, if possible. +func (i *Instrumentation) WithExecutionTraced(ctx context.Context) context.Context { + return internal.WithExecutionTraced(ctx) +} + +type StatsdClient = internal.StatsdClient + +func (i *Instrumentation) StatsdClient(extraTags []string) (StatsdClient, error) { + addr := globalconfig.DogstatsdAddr() + tags := globalconfig.StatsTags() + for _, tag := range extraTags { + tags = append(tags, tag) + } + return internal.NewStatsdClient(addr, tags) +} + type HeaderTags interface { Iter(f func(header string, tag string)) } diff --git a/instrumentation/internal/namingschematest/aws_sdk_v1_test.go b/instrumentation/internal/namingschematest/aws_sdk_v1_test.go index 4db3452a0a..7a71e41365 100644 --- a/instrumentation/internal/namingschematest/aws_sdk_v1_test.go +++ b/instrumentation/internal/namingschematest/aws_sdk_v1_test.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( @@ -14,6 +19,7 @@ import ( "github.com/stretchr/testify/require" awstrace "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2/aws" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) @@ -30,9 +36,9 @@ func awsSDKV1Session(opts ...awstrace.Option) *session.Session { } var ( - awsSDKV1 = testCase{ - name: instrumentation.PackageAWSSDKGo, - genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + awsSDKV1 = harness.TestCase{ + Name: instrumentation.PackageAWSSDKGo, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { var opts []awstrace.Option if serviceOverride != "" { opts = append(opts, awstrace.WithService(serviceOverride)) @@ -57,19 +63,19 @@ var ( return mt.FinishedSpans() }, - wantServiceNameV0: serviceNameAssertions{ - defaults: []string{"aws.ec2", "aws.s3", "aws.sqs", "aws.sns"}, - ddService: []string{"aws.ec2", "aws.s3", "aws.sqs", "aws.sns"}, - serviceOverride: []string{testServiceOverride, testServiceOverride, testServiceOverride, testServiceOverride}, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"aws.ec2", "aws.s3", "aws.sqs", "aws.sns"}, + DDService: []string{"aws.ec2", "aws.s3", "aws.sqs", "aws.sns"}, + ServiceOverride: []string{harness.TestServiceOverride, harness.TestServiceOverride, harness.TestServiceOverride, harness.TestServiceOverride}, }, - assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 4) assert.Equal(t, "ec2.command", spans[0].OperationName()) assert.Equal(t, "s3.command", spans[1].OperationName()) assert.Equal(t, "sqs.command", spans[2].OperationName()) assert.Equal(t, "sns.command", spans[3].OperationName()) }, - assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 4) assert.Equal(t, "aws.ec2.request", spans[0].OperationName()) assert.Equal(t, "aws.s3.request", spans[1].OperationName()) @@ -78,9 +84,9 @@ var ( }, } - awsSDKV1Messaging = testCase{ - name: instrumentation.PackageAWSSDKGo + "_messaging", - genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + awsSDKV1Messaging = harness.TestCase{ + Name: instrumentation.PackageAWSSDKGo + "_messaging", + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { var opts []awstrace.Option if serviceOverride != "" { opts = append(opts, awstrace.WithService(serviceOverride)) @@ -116,7 +122,7 @@ var ( return mt.FinishedSpans() }, - assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 5) assert.Equal(t, "sqs.command", spans[0].OperationName()) assert.Equal(t, "sqs.command", spans[1].OperationName()) @@ -124,7 +130,7 @@ var ( assert.Equal(t, "sns.command", spans[3].OperationName()) assert.Equal(t, "sns.command", spans[4].OperationName()) }, - assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 5) assert.Equal(t, "aws.sqs.request", spans[0].OperationName()) assert.Equal(t, "aws.sqs.send", spans[1].OperationName()) @@ -132,10 +138,10 @@ var ( assert.Equal(t, "aws.sns.request", spans[3].OperationName()) assert.Equal(t, "aws.sns.send", spans[4].OperationName()) }, - wantServiceNameV0: serviceNameAssertions{ - defaults: []string{"aws.sqs", "aws.sqs", "aws.sqs", "aws.sns", "aws.sns"}, - ddService: []string{"aws.sqs", "aws.sqs", "aws.sqs", "aws.sns", "aws.sns"}, - serviceOverride: repeatString(testServiceOverride, 5), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"aws.sqs", "aws.sqs", "aws.sqs", "aws.sns", "aws.sns"}, + DDService: []string{"aws.sqs", "aws.sqs", "aws.sqs", "aws.sns", "aws.sns"}, + ServiceOverride: harness.RepeatString(harness.TestServiceOverride, 5), }, } ) diff --git a/instrumentation/internal/namingschematest/aws_sdk_v2_test.go b/instrumentation/internal/namingschematest/aws_sdk_v2_test.go index 0ad34d87db..84cc4a8537 100644 --- a/instrumentation/internal/namingschematest/aws_sdk_v2_test.go +++ b/instrumentation/internal/namingschematest/aws_sdk_v2_test.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( @@ -15,6 +20,7 @@ import ( "github.com/stretchr/testify/require" awstrace "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2/aws" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) @@ -42,9 +48,9 @@ func awsSDKV2Config(t *testing.T, opts ...awstrace.Option) aws.Config { } var ( - awsSDKV2 = testCase{ - name: instrumentation.PackageAWSSDKGoV2, - genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + awsSDKV2 = harness.TestCase{ + Name: instrumentation.PackageAWSSDKGoV2, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { var opts []awstrace.Option if serviceOverride != "" { opts = append(opts, awstrace.WithService(serviceOverride)) @@ -70,29 +76,29 @@ var ( return mt.FinishedSpans() }, - assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 4) assert.Equal(t, "EC2.request", spans[0].OperationName()) assert.Equal(t, "S3.request", spans[1].OperationName()) assert.Equal(t, "SQS.request", spans[2].OperationName()) assert.Equal(t, "SNS.request", spans[3].OperationName()) }, - assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 4) assert.Equal(t, "aws.ec2.request", spans[0].OperationName()) assert.Equal(t, "aws.s3.request", spans[1].OperationName()) assert.Equal(t, "aws.sqs.request", spans[2].OperationName()) assert.Equal(t, "aws.sns.request", spans[3].OperationName()) }, - wantServiceNameV0: serviceNameAssertions{ - defaults: []string{"aws.EC2", "aws.S3", "aws.SQS", "aws.SNS"}, - ddService: []string{"aws.EC2", "aws.S3", "aws.SQS", "aws.SNS"}, - serviceOverride: []string{testServiceOverride, testServiceOverride, testServiceOverride, testServiceOverride}, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"aws.EC2", "aws.S3", "aws.SQS", "aws.SNS"}, + DDService: []string{"aws.EC2", "aws.S3", "aws.SQS", "aws.SNS"}, + ServiceOverride: []string{harness.TestServiceOverride, harness.TestServiceOverride, harness.TestServiceOverride, harness.TestServiceOverride}, }, } - awsSDKV2Messaging = testCase{ - name: instrumentation.PackageAWSSDKGoV2 + "_messaging", - genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + awsSDKV2Messaging = harness.TestCase{ + Name: instrumentation.PackageAWSSDKGoV2 + "_messaging", + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { var opts []awstrace.Option if serviceOverride != "" { opts = append(opts, awstrace.WithService(serviceOverride)) @@ -128,7 +134,7 @@ var ( return mt.FinishedSpans() }, - assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 5) assert.Equal(t, "SQS.request", spans[0].OperationName()) assert.Equal(t, "SQS.request", spans[1].OperationName()) @@ -136,7 +142,7 @@ var ( assert.Equal(t, "SNS.request", spans[3].OperationName()) assert.Equal(t, "SNS.request", spans[4].OperationName()) }, - assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 5) assert.Equal(t, "aws.sqs.request", spans[0].OperationName()) assert.Equal(t, "aws.sqs.send", spans[1].OperationName()) @@ -144,10 +150,10 @@ var ( assert.Equal(t, "aws.sns.request", spans[3].OperationName()) assert.Equal(t, "aws.sns.send", spans[4].OperationName()) }, - wantServiceNameV0: serviceNameAssertions{ - defaults: []string{"aws.SQS", "aws.SQS", "aws.SQS", "aws.SNS", "aws.SNS"}, - ddService: []string{"aws.SQS", "aws.SQS", "aws.SQS", "aws.SNS", "aws.SNS"}, - serviceOverride: repeatString(testServiceOverride, 5), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"aws.SQS", "aws.SQS", "aws.SQS", "aws.SNS", "aws.SNS"}, + DDService: []string{"aws.SQS", "aws.SQS", "aws.SQS", "aws.SNS", "aws.SNS"}, + ServiceOverride: harness.RepeatString(harness.TestServiceOverride, 5), }, } ) diff --git a/instrumentation/internal/namingschematest/confluent_kafka_go_v1/confluent_kafka_go_test.go b/instrumentation/internal/namingschematest/confluent_kafka_go_v1/confluent_kafka_go_test.go new file mode 100644 index 0000000000..d559f99dda --- /dev/null +++ b/instrumentation/internal/namingschematest/confluent_kafka_go_v1/confluent_kafka_go_test.go @@ -0,0 +1,89 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package confluent_kafka_go_v1 + +import ( + "testing" + "time" + + "github.com/confluentinc/confluent-kafka-go/kafka" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + kafkatrace "github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/kafka/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var testCase = harness.KafkaTestCase( + instrumentation.PackageConfluentKafkaGo, + func(t *testing.T, serviceOverride string) []*mocktracer.Span { + mt := mocktracer.Start() + defer mt.Stop() + + var ( + testGroupID = "gotest" + testTopic = "gotest" + ) + + var opts []kafkatrace.Option + if serviceOverride != "" { + opts = append(opts, kafkatrace.WithService(serviceOverride)) + } + p, err := kafkatrace.NewProducer(&kafka.ConfigMap{ + "bootstrap.servers": "127.0.0.1:9092", + "go.delivery.reports": true, + }, opts...) + require.NoError(t, err) + + delivery := make(chan kafka.Event, 1) + err = p.Produce(&kafka.Message{ + TopicPartition: kafka.TopicPartition{ + Topic: &testTopic, + Partition: 0, + }, + Key: []byte("key2"), + Value: []byte("value2"), + }, delivery) + require.NoError(t, err) + + msg1, _ := (<-delivery).(*kafka.Message) + p.Close() + + // next attempt to consume the message + c, err := kafkatrace.NewConsumer(&kafka.ConfigMap{ + "group.id": testGroupID, + "bootstrap.servers": "127.0.0.1:9092", + "fetch.wait.max.ms": 500, + "socket.timeout.ms": 1500, + "session.timeout.ms": 1500, + "enable.auto.offset.store": false, + }, opts...) + require.NoError(t, err) + + err = c.Assign([]kafka.TopicPartition{ + {Topic: &testTopic, Partition: 0, Offset: msg1.TopicPartition.Offset}, + }) + require.NoError(t, err) + + msg2, err := c.ReadMessage(3000 * time.Millisecond) + require.NoError(t, err) + _, err = c.CommitMessage(msg2) + require.NoError(t, err) + assert.Equal(t, msg1.String(), msg2.String()) + err = c.Close() + require.NoError(t, err) + + return mt.FinishedSpans() + }, +) + +// This test lives in a separate package because having both confluent-kafka-go v1 and v2 in the same package +// causes "duplicate symbol" failures due to the cgo dependency on librdkafka. +func TestNamingSchema(t *testing.T) { + harness.RunTest(t, testCase) +} diff --git a/instrumentation/internal/namingschematest/confluent_kafka_v2_test.go b/instrumentation/internal/namingschematest/confluent_kafka_v2_test.go new file mode 100644 index 0000000000..1c795aee5d --- /dev/null +++ b/instrumentation/internal/namingschematest/confluent_kafka_v2_test.go @@ -0,0 +1,83 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "testing" + "time" + + "github.com/confluentinc/confluent-kafka-go/v2/kafka" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + kafkatrace "github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/kafka.v2/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var confluentKafkaV2 = harness.KafkaTestCase( + instrumentation.PackageConfluentKafkaGoV2, + func(t *testing.T, serviceOverride string) []*mocktracer.Span { + mt := mocktracer.Start() + defer mt.Stop() + + var ( + testGroupID = "gotest" + testTopic = "gotest" + ) + + var opts []kafkatrace.Option + if serviceOverride != "" { + opts = append(opts, kafkatrace.WithService(serviceOverride)) + } + p, err := kafkatrace.NewProducer(&kafka.ConfigMap{ + "bootstrap.servers": "127.0.0.1:9092", + "go.delivery.reports": true, + }, opts...) + require.NoError(t, err) + + delivery := make(chan kafka.Event, 1) + err = p.Produce(&kafka.Message{ + TopicPartition: kafka.TopicPartition{ + Topic: &testTopic, + Partition: 0, + }, + Key: []byte("key2"), + Value: []byte("value2"), + }, delivery) + require.NoError(t, err) + + msg1, _ := (<-delivery).(*kafka.Message) + p.Close() + + // next attempt to consume the message + c, err := kafkatrace.NewConsumer(&kafka.ConfigMap{ + "group.id": testGroupID, + "bootstrap.servers": "127.0.0.1:9092", + "fetch.wait.max.ms": 500, + "socket.timeout.ms": 1500, + "session.timeout.ms": 1500, + "enable.auto.offset.store": false, + }, opts...) + require.NoError(t, err) + + err = c.Assign([]kafka.TopicPartition{ + {Topic: &testTopic, Partition: 0, Offset: msg1.TopicPartition.Offset}, + }) + require.NoError(t, err) + + msg2, err := c.ReadMessage(3000 * time.Millisecond) + require.NoError(t, err) + _, err = c.CommitMessage(msg2) + require.NoError(t, err) + assert.Equal(t, msg1.String(), msg2.String()) + err = c.Close() + require.NoError(t, err) + + return mt.FinishedSpans() + }, +) diff --git a/instrumentation/internal/namingschematest/database_sql.go b/instrumentation/internal/namingschematest/database_sql.go new file mode 100644 index 0000000000..6369a2938e --- /dev/null +++ b/instrumentation/internal/namingschematest/database_sql.go @@ -0,0 +1,146 @@ +package namingschematest + +import ( + "database/sql/driver" + sqltrace "github.com/DataDog/dd-trace-go/contrib/database/sql/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/go-sql-driver/mysql" + "github.com/lib/pq" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "testing" + + mssql "github.com/denisenkom/go-mssqldb" +) + +func dbSQLGenSpans(driverName string, registerOverride bool) harness.GenSpansFn { + return func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var registerOpts []sqltrace.Option + // serviceOverride has higher priority than the registerOverride parameter. + if serviceOverride != "" { + registerOpts = append(registerOpts, sqltrace.WithService(serviceOverride)) + } else if registerOverride { + registerOpts = append(registerOpts, sqltrace.WithService("register-override")) + } + var openOpts []sqltrace.Option + if serviceOverride != "" { + openOpts = append(openOpts, sqltrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + var ( + dv driver.Driver + dsn string + ) + switch driverName { + case "sqlserver": + dv = &mssql.Driver{} + dsn = "sqlserver://sa:myPassw0rd@127.0.0.1:1433?database=master" + case "postgres": + dv = &pq.Driver{} + dsn = "postgres://postgres:postgres@127.0.0.1:5432/postgres?sslmode=disable" + case "mysql": + dv = &mysql.MySQLDriver{} + dsn = "test:test@tcp(127.0.0.1:3306)/test" + default: + t.Fatal("unknown driver: ", driverName) + } + sqltrace.Register(driverName, dv, registerOpts...) + // defer unregister(driverName) + db, err := sqltrace.Open(driverName, dsn, openOpts...) + require.NoError(t, err) + + err = db.Ping() + require.NoError(t, err) + + spans := mt.FinishedSpans() + require.Len(t, spans, 2) + return spans + } +} + +var databaseSQL_SQLServer = harness.TestCase{ + Name: instrumentation.PackageDatabaseSQL + "_SQLServer", + GenSpans: dbSQLGenSpans("sqlserver", false), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"sqlserver.db", "sqlserver.db"}, + DDService: []string{"sqlserver.db", "sqlserver.db"}, + ServiceOverride: []string{harness.TestServiceOverride, harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "sqlserver.query", spans[0].OperationName()) + assert.Equal(t, "sqlserver.query", spans[1].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "mssql.query", spans[0].OperationName()) + assert.Equal(t, "mssql.query", spans[1].OperationName()) + }, +} + +var databaseSQL_Postgres = harness.TestCase{ + Name: instrumentation.PackageDatabaseSQL + "_Postgres", + GenSpans: dbSQLGenSpans("postgres", false), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"postgres.db", "postgres.db"}, + DDService: []string{"postgres.db", "postgres.db"}, + ServiceOverride: []string{harness.TestServiceOverride, harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "postgres.query", spans[0].OperationName()) + assert.Equal(t, "postgres.query", spans[1].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "postgresql.query", spans[0].OperationName()) + assert.Equal(t, "postgresql.query", spans[1].OperationName()) + }, +} + +var databaseSQL_PostgresWithRegisterOverride = harness.TestCase{ + Name: instrumentation.PackageDatabaseSQL + "_PostgresWithRegisterOverride", + GenSpans: dbSQLGenSpans("postgres", true), + WantServiceNameV0: harness.ServiceNameAssertions{ + // when the WithServiceName option is set during Register and not providing a service name when opening + // the DB connection, that value is used as default instead of postgres.db. + Defaults: []string{"register-override", "register-override"}, + // in v0, DD_SERVICE is ignored for this integration. + DDService: []string{"register-override", "register-override"}, + ServiceOverride: []string{harness.TestServiceOverride, harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "postgres.query", spans[0].OperationName()) + assert.Equal(t, "postgres.query", spans[1].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "postgresql.query", spans[0].OperationName()) + assert.Equal(t, "postgresql.query", spans[1].OperationName()) + }, +} + +var databaseSQL_MySQL = harness.TestCase{ + Name: instrumentation.PackageDatabaseSQL + "_MySQL", + GenSpans: dbSQLGenSpans("mysql", false), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"mysql.db", "mysql.db"}, + DDService: []string{"mysql.db", "mysql.db"}, + ServiceOverride: []string{harness.TestServiceOverride, harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "mysql.query", spans[0].OperationName()) + assert.Equal(t, "mysql.query", spans[1].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "mysql.query", spans[0].OperationName()) + assert.Equal(t, "mysql.query", spans[1].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/elastic_v6_test.go b/instrumentation/internal/namingschematest/elastic_v6_test.go new file mode 100644 index 0000000000..e3548bf62b --- /dev/null +++ b/instrumentation/internal/namingschematest/elastic_v6_test.go @@ -0,0 +1,61 @@ +package namingschematest + +import ( + "context" + "strings" + "testing" + + elasticsearch8 "github.com/elastic/go-elasticsearch/v8" + esapi8 "github.com/elastic/go-elasticsearch/v8/esapi" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + elastictrace "github.com/DataDog/dd-trace-go/contrib/elastic/go-elasticsearch.v6/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var elasticV6 = harness.TestCase{ + Name: instrumentation.PackageGoElasticSearchV6, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []elastictrace.ClientOption + if serviceOverride != "" { + opts = append(opts, elastictrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + cfg := elasticsearch8.Config{ + Transport: elastictrace.NewRoundTripper(opts...), + Addresses: []string{ + "http://127.0.0.1:9204", + }, + } + client, err := elasticsearch8.NewClient(cfg) + require.NoError(t, err) + + _, err = esapi8.IndexRequest{ + Index: "twitter", + DocumentID: "1", + Body: strings.NewReader(`{"user": "test", "message": "hello"}`), + }.Do(context.Background(), client) + require.NoError(t, err) + + spans := mt.FinishedSpans() + require.Len(t, spans, 1) + return spans + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"elastic.client"}, + DDService: []string{"elastic.client"}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "elasticsearch.query", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "elasticsearch.query", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/gcp_pubsub_test.go b/instrumentation/internal/namingschematest/gcp_pubsub_test.go index 9111d7f6b2..7daf11c373 100644 --- a/instrumentation/internal/namingschematest/gcp_pubsub_test.go +++ b/instrumentation/internal/namingschematest/gcp_pubsub_test.go @@ -1,12 +1,17 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( + "context" + "testing" + "time" + "cloud.google.com/go/pubsub" "cloud.google.com/go/pubsub/pstest" - "context" - pubsubtrace "github.com/DataDog/dd-trace-go/contrib/cloud.google.com/go/pubsub.v1/v2" - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "google.golang.org/api/option" @@ -14,13 +19,16 @@ import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/credentials/insecure" "google.golang.org/grpc/status" - "testing" - "time" + + pubsubtrace "github.com/DataDog/dd-trace-go/contrib/cloud.google.com/go/pubsub.v1/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -var gcpPubsub = testCase{ - name: instrumentation.PackageCloudGoogleComPubsub, - genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { +var gcpPubsub = harness.TestCase{ + Name: instrumentation.PackageCloudGoogleComPubsub, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { mt := mocktracer.Start() defer mt.Stop() @@ -52,17 +60,17 @@ var gcpPubsub = testCase{ cancel() return mt.FinishedSpans() }, - wantServiceNameV0: serviceNameAssertions{ - defaults: []string{"", ""}, - ddService: []string{"", ""}, - serviceOverride: []string{testServiceOverride, testServiceOverride}, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"", ""}, + DDService: []string{"", ""}, + ServiceOverride: []string{harness.TestServiceOverride, harness.TestServiceOverride}, }, - assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 2) assert.Equal(t, "pubsub.publish", spans[0].OperationName()) assert.Equal(t, "pubsub.receive", spans[1].OperationName()) }, - assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 2) assert.Equal(t, "gcp.pubsub.send", spans[0].OperationName()) assert.Equal(t, "gcp.pubsub.process", spans[1].OperationName()) diff --git a/instrumentation/internal/namingschematest/gin_test.go b/instrumentation/internal/namingschematest/gin_test.go new file mode 100644 index 0000000000..1dcadbb8c4 --- /dev/null +++ b/instrumentation/internal/namingschematest/gin_test.go @@ -0,0 +1,50 @@ +package namingschematest + +import ( + "net/http/httptest" + "testing" + + "github.com/gin-gonic/gin" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + gintrace "github.com/DataDog/dd-trace-go/contrib/gin-gonic/gin/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var ginGonicGin = harness.TestCase{ + Name: instrumentation.PackageGinGonicGin, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + // silence startup logs + gin.SetMode(gin.ReleaseMode) + + mt := mocktracer.Start() + defer mt.Stop() + + mux := gin.New() + mux.Use(gintrace.Middleware(serviceOverride)) + mux.GET("/200", func(c *gin.Context) { + c.Status(200) + }) + r := httptest.NewRequest("GET", "/200", nil) + w := httptest.NewRecorder() + mux.ServeHTTP(w, r) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"gin.router"}, + DDService: []string{harness.TestDDService}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.request", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.server.request", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/go.mod b/instrumentation/internal/namingschematest/go.mod index d057a3eefb..756e401b11 100644 --- a/instrumentation/internal/namingschematest/go.mod +++ b/instrumentation/internal/namingschematest/go.mod @@ -1,20 +1,27 @@ module github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest -go 1.22.5 - -replace ( - github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2 => ../../../contrib/99designs/gqlgen - github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2 => ../../../contrib/aws/aws-sdk-go-v2 - github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2 => ../../../contrib/aws/aws-sdk-go - github.com/DataDog/dd-trace-go/v2 => ../../../ -) +go 1.21 require ( + cloud.google.com/go/pubsub v1.41.0 github.com/99designs/gqlgen v0.17.49 github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/cloud.google.com/go/pubsub.v1/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/kafka.v2/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/kafka/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/database/sql/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/dimfeld/httptreemux.v5/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/elastic/go-elasticsearch.v6/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/emicklei/go-restful.v3/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/gin-gonic/gin/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/globalsign/mgo/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/go.mongodb.org/mongo-driver/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/v2 v2.0.0-beta.2 github.com/aws/aws-sdk-go v1.54.20 github.com/aws/aws-sdk-go-v2 v1.30.3 github.com/aws/aws-sdk-go-v2/config v1.27.27 @@ -22,64 +29,172 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2 github.com/aws/aws-sdk-go-v2/service/sns v1.31.3 github.com/aws/aws-sdk-go-v2/service/sqs v1.34.3 + github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874 + github.com/confluentinc/confluent-kafka-go v1.9.2 + github.com/confluentinc/confluent-kafka-go/v2 v2.5.0 + github.com/denisenkom/go-mssqldb v0.12.3 + github.com/elastic/go-elasticsearch/v8 v8.14.0 + github.com/emicklei/go-restful/v3 v3.11.0 + github.com/gin-gonic/gin v1.10.0 + github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 + github.com/go-sql-driver/mysql v1.8.1 + github.com/lib/pq v1.10.9 github.com/stretchr/testify v1.9.0 + github.com/urfave/negroni v1.0.0 + go.mongodb.org/mongo-driver v1.16.1 + google.golang.org/api v0.191.0 + google.golang.org/grpc v1.64.1 ) require ( - github.com/DataDog/appsec-internal-go v1.5.0 // indirect + cloud.google.com/go v0.115.0 // indirect + cloud.google.com/go/auth v0.7.3 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.3 // indirect + cloud.google.com/go/compute/metadata v0.5.0 // indirect + cloud.google.com/go/iam v1.1.12 // indirect + filippo.io/edwards25519 v1.1.0 // indirect + github.com/DataDog/appsec-internal-go v1.7.0 // indirect github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect - github.com/DataDog/go-sqllexer v0.0.11 // indirect + github.com/DataDog/go-sqllexer v0.0.12 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect - github.com/DataDog/sketches-go v1.4.5 // indirect + github.com/DataDog/sketches-go v1.4.6 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/agnivade/levenshtein v1.1.1 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.17.27 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15 // indirect - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.4 // indirect - github.com/aws/aws-sdk-go-v2/service/eventbridge v1.20.4 // indirect + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.3 // indirect + github.com/aws/aws-sdk-go-v2/service/eventbridge v1.33.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.34 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.16 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.4 // indirect - github.com/aws/aws-sdk-go-v2/service/sfn v1.19.4 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sfn v1.29.3 // indirect github.com/aws/aws-sdk-go-v2/service/sso v1.22.4 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 // indirect github.com/aws/smithy-go v1.20.3 // indirect + github.com/bytedance/sonic v1.11.6 // indirect + github.com/bytedance/sonic/loader v0.1.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/cloudwego/base64x v0.1.4 // indirect + github.com/cloudwego/iasm v0.2.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/dimfeld/httptreemux/v5 v5.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/ebitengine/purego v0.7.1 // indirect + github.com/elastic/elastic-transport-go/v8 v8.6.0 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/gabriel-vasile/mimetype v1.4.3 // indirect + github.com/gin-contrib/sse v0.1.0 // indirect + github.com/go-logr/logr v1.4.2 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.20.0 // indirect + github.com/goccy/go-json v0.10.2 // indirect + github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect + github.com/golang-sql/sqlexp v0.1.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/snappy v0.0.4 // indirect + github.com/google/go-cmp v0.6.0 // indirect + github.com/google/s2a-go v0.1.8 // indirect github.com/google/uuid v1.6.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect + github.com/googleapis/gax-go/v2 v2.13.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect + github.com/leodido/go-urn v1.4.0 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/montanaflynn/stats v0.7.1 // indirect github.com/outcaste-io/ristretto v0.2.3 // indirect - github.com/philhofer/fwd v1.1.2 // indirect + github.com/pelletier/go-toml/v2 v2.2.2 // indirect + github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect github.com/sosodev/duration v1.3.1 // indirect - github.com/tinylib/msgp v1.1.9 // indirect + github.com/tinylib/msgp v1.2.0 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/ugorji/go/codec v1.2.12 // indirect github.com/vektah/gqlparser/v2 v2.5.16 // indirect + github.com/xdg-go/pbkdf2 v1.0.0 // indirect + github.com/xdg-go/scram v1.1.2 // indirect + github.com/xdg-go/stringprep v1.0.4 // indirect + github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect + go.einride.tech/aip v0.67.1 // indirect + go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect + go.opentelemetry.io/otel v1.24.0 // indirect + go.opentelemetry.io/otel/metric v1.24.0 // indirect + go.opentelemetry.io/otel/sdk v1.24.0 // indirect + go.opentelemetry.io/otel/trace v1.24.0 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/time v0.5.0 // indirect - golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/protobuf v1.34.1 // indirect + golang.org/x/arch v0.8.0 // indirect + golang.org/x/crypto v0.25.0 // indirect + golang.org/x/net v0.27.0 // indirect + golang.org/x/oauth2 v0.22.0 // indirect + golang.org/x/sync v0.8.0 // indirect + golang.org/x/sys v0.22.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/time v0.6.0 // indirect + golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 // indirect + google.golang.org/genproto v0.0.0-20240730163845-b1a4ccb954bf // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240725223205-93522f1f2a9f // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf // indirect + google.golang.org/protobuf v1.34.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) + +replace github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2 => ../../../contrib/99designs/gqlgen + +replace github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2 => ../../../contrib/aws/aws-sdk-go-v2 + +replace github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2 => ../../../contrib/aws/aws-sdk-go + +replace github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2 => ../../../contrib/bradfitz/gomemcache + +replace github.com/DataDog/dd-trace-go/contrib/cloud.google.com/go/pubsub.v1/v2 => ../../../contrib/cloud.google.com/go/pubsub.v1 + +replace github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/kafka.v2/v2 => ../../../contrib/confluentinc/confluent-kafka-go/kafka.v2 + +replace github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/kafka/v2 => ../../../contrib/confluentinc/confluent-kafka-go/kafka + +replace github.com/DataDog/dd-trace-go/contrib/database/sql/v2 => ../../../contrib/database/sql + +replace github.com/DataDog/dd-trace-go/contrib/dimfeld/httptreemux.v5/v2 => ../../../contrib/dimfeld/httptreemux.v5 + +replace github.com/DataDog/dd-trace-go/contrib/elastic/go-elasticsearch.v6/v2 => ../../../contrib/elastic/go-elasticsearch.v6 + +replace github.com/DataDog/dd-trace-go/contrib/emicklei/go-restful.v3/v2 => ../../../contrib/emicklei/go-restful.v3 + +replace github.com/DataDog/dd-trace-go/contrib/gin-gonic/gin/v2 => ../../../contrib/gin-gonic/gin + +replace github.com/DataDog/dd-trace-go/contrib/globalsign/mgo/v2 => ../../../contrib/globalsign/mgo + +replace github.com/DataDog/dd-trace-go/contrib/go.mongodb.org/mongo-driver/v2 => ../../../contrib/go.mongodb.org/mongo-driver + +replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../../contrib/net/http + +replace github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2 => ../../../contrib/urfave/negroni + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/instrumentation/internal/namingschematest/go.sum b/instrumentation/internal/namingschematest/go.sum index 1162a25af0..d453a86762 100644 --- a/instrumentation/internal/namingschematest/go.sum +++ b/instrumentation/internal/namingschematest/go.sum @@ -1,7 +1,39 @@ +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= +cloud.google.com/go v0.115.0 h1:CnFSK6Xo3lDYRoBKEcAtia6VSC837/ZkJuRduSFnr14= +cloud.google.com/go v0.115.0/go.mod h1:8jIM5vVgoAEoiVxQ/O4BFTfHqulPZgs/ufEzMcFMdWU= +cloud.google.com/go/auth v0.7.3 h1:98Vr+5jMaCZ5NZk6e/uBgf60phTk/XN84r8QEWB9yjY= +cloud.google.com/go/auth v0.7.3/go.mod h1:HJtWUx1P5eqjy/f6Iq5KeytNpbAcGolPhOgyop2LlzA= +cloud.google.com/go/auth/oauth2adapt v0.2.3 h1:MlxF+Pd3OmSudg/b1yZ5lJwoXCEaeedAguodky1PcKI= +cloud.google.com/go/auth/oauth2adapt v0.2.3/go.mod h1:tMQXOfZzFuNuUxOypHlQEXgdfX5cuhwU+ffUuXRJE8I= +cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= +cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= +cloud.google.com/go/iam v1.1.12 h1:JixGLimRrNGcxvJEQ8+clfLxPlbeZA6MuRJ+qJNQ5Xw= +cloud.google.com/go/iam v1.1.12/go.mod h1:9LDX8J7dN5YRyzVHxwQzrQs9opFFqn0Mxs9nAeB+Hhg= +cloud.google.com/go/kms v1.18.4 h1:dYN3OCsQ6wJLLtOnI8DGUwQ5shMusXsWCCC+s09ATsk= +cloud.google.com/go/kms v1.18.4/go.mod h1:SG1bgQ3UWW6/KdPo9uuJnzELXY5YTTMJtDYvajiQ22g= +cloud.google.com/go/longrunning v0.5.11 h1:Havn1kGjz3whCfoD8dxMLP73Ph5w+ODyZB9RUsDxtGk= +cloud.google.com/go/longrunning v0.5.11/go.mod h1:rDn7//lmlfWV1Dx6IB4RatCPenTwwmqXuiP0/RgoEO4= +cloud.google.com/go/pubsub v1.41.0 h1:ZPaM/CvTO6T+1tQOs/jJ4OEMpjtel0PTLV7j1JK+ZrI= +cloud.google.com/go/pubsub v1.41.0/go.mod h1:g+YzC6w/3N91tzG66e2BZtp7WrpBBMXVa3Y9zVoOGpk= +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= +filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/gqlgen v0.17.49 h1:b3hNGexHd33fBSAd4NDT/c3NCcQzcAVkknhN9ym36YQ= github.com/99designs/gqlgen v0.17.49/go.mod h1:tC8YFVZMed81x7UJ7ORUwXF4Kn6SXuucFqQBhN8+BU0= -github.com/DataDog/appsec-internal-go v1.5.0 h1:8kS5zSx5T49uZ8dZTdT19QVAvC/B8ByyZdhQKYQWHno= -github.com/DataDog/appsec-internal-go v1.5.0/go.mod h1:pEp8gjfNLtEOmz+iZqC8bXhu0h4k7NUsW/qiQb34k1U= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= +github.com/AlecAivazis/survey/v2 v2.3.7 h1:6I/u8FvytdGsgonrYsVn2t8t4QiRnh6QSTqkkhIiSjQ= +github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/DataDog/appsec-internal-go v1.7.0 h1:iKRNLih83dJeVya3IoUfK+6HLD/hQsIbyBlfvLmAeb0= +github.com/DataDog/appsec-internal-go v1.7.0/go.mod h1:wW0cRfWBo4C044jHGwYiyh5moQV2x0AhnwqMuiX7O/g= github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 h1:/oxF4p/4XUGNpNw2TE7vDu/pJV3elEAZ+jES0/MWtiI= github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1/go.mod h1:AVPQWekk3h9AOC7+plBlNB68Sy6UIGFoMMVUDeSoNoI= github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBpuwNMcqtY1x1I2fCaPH2Br4xPAAjbkM= @@ -10,29 +42,37 @@ 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/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= -github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= -github.com/DataDog/go-sqllexer v0.0.11/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= +github.com/DataDog/go-sqllexer v0.0.12 h1:ncvAr5bbwtc7JMezzcU2379oKz1oHhRF1hkR6BSvhqM= +github.com/DataDog/go-sqllexer v0.0.12/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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= -github.com/DataDog/sketches-go v1.4.5 h1:ki7VfeNz7IcNafq7yI/j5U/YCkO3LJiMDtXz9OMQbyE= -github.com/DataDog/sketches-go v1.4.5/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= +github.com/DataDog/sketches-go v1.4.6 h1:acd5fb+QdUzGrosfNLwrIhqyrbMORpvBy7mE+vHlT3I= +github.com/DataDog/sketches-go v1.4.6/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= +github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= +github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= +github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7fz8= +github.com/Microsoft/hcsshim v0.11.4/go.mod h1:smjE4dvqPX9Zldna+t5FG3rnoHhaB7QYxPRqGcpAD9w= +github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8= +github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= +github.com/actgardner/gogen-avro/v10 v10.1.0/go.mod h1:o+ybmVjEa27AAr35FRqU98DJu1fXES56uXniYFv4yDA= +github.com/actgardner/gogen-avro/v10 v10.2.1/go.mod h1:QUhjeHPchheYmMDni/Nx7VB0RsT/ee8YIgGY/xpEQgQ= +github.com/actgardner/gogen-avro/v9 v9.1.0/go.mod h1:nyTj6wPqDJoxM3qdnjcLv+EnMDSDFqE0qDpva2QRmKc= github.com/agnivade/levenshtein v1.1.1 h1:QY8M92nrzkmr798gCo3kmMyqXFzdQVpxLlGPRBij0P8= github.com/agnivade/levenshtein v1.1.1/go.mod h1:veldBMzWxcCG2ZvUTKD2kJNRdCk5hVbJomOvKkmgYbo= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/aws/aws-sdk-go v1.54.20 h1:FZ2UcXya7bUkvkpf7TaPmiL7EubK0go1nlXGLRwEsoo= github.com/aws/aws-sdk-go v1.54.20/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/aws/aws-sdk-go-v2 v1.20.3/go.mod h1:/RfNgGmRxI+iFOB1OeJUyxiU+9s88k3pfHvDagGEp0M= github.com/aws/aws-sdk-go-v2 v1.30.3 h1:jUeBtG0Ih+ZIFH0F4UkmL9w3cSpaMv9tYYDbzILP8dY= github.com/aws/aws-sdk-go-v2 v1.30.3/go.mod h1:nIQjQVp5sfpQcTc9mPSr1B0PaWK5ByX9MOoDadSN4lc= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.13/go.mod h1:gpAbvyDGQFozTEmlTFO8XcQKHzubdq0LzRyJpG6MiXM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 h1:tW1/Rkad38LA15X4UQtjXZXNKsCgkshC3EbmcUmghTg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3/go.mod h1:UbnqO+zjqk3uIt9yCACHJ9IVNhyhOCnYk8yA19SAWrM= github.com/aws/aws-sdk-go-v2/config v1.27.27 h1:HdqgGt1OAP0HkEDDShEl0oSYa9ZZBSOmKpdpsDMdO90= @@ -43,40 +83,36 @@ github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 h1:KreluoV8FZDEtI6Co2xuNk github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11/go.mod h1:SeSUYBLsMYFoRvHE0Tjvn7kbxaUhl75CJi1sbfhMxkU= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8 h1:u1KOU1S15ufyZqmH/rA3POkiRH6EcDANHj2xHRzq+zc= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8/go.mod h1:WPv2FRnkIOoDv/8j2gSUsI4qDc7392w5anFB/I89GZ8= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.40/go.mod h1:5kKmFhLeOVy6pwPDpDNA6/hK/d6URC98pqDDqHgdBx4= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 h1:SoNJ4RlFEQEbtDcCEt+QG56MY4fm4W8rYirAmq+/DdU= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15/go.mod h1:U9ke74k1n2bf+RIgoX1SXFed1HLs51OgUSs+Ph0KJP8= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.34/go.mod h1:RZP0scceAyhMIQ9JvFp7HvkpcgqjL4l/4C+7RAeGbuM= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 h1:C6WHdGnTDIYETAm5iErQUiVNsclNx9qbJVPIt03B6bI= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15/go.mod h1:ZQLZqhcu+JhSrA9/NXRm8SkDvsycE+JkV3WGY41e+IM= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.3/go.mod h1:jYLMm3Dh0wbeV3lxth5ryks/O2M/omVXWyYm3YcEVqQ= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15 h1:Z5r7SycxmSllHYmaAZPpmN8GviDrSGhMS6bldqtXZPw= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15/go.mod h1:CetW7bDE00QoGEmPUoZuRog07SGVAUVW6LFpNP0YfIg= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.4 h1:x3V1JRHq7q9RUbDpaeNpLH7QoipGpCo3fdnMMuSeABU= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.4/go.mod h1:aryF4jxgjhbqpdhj8QybUZI3xYrX8MQIKm4WbOv8Whg= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.3 h1:nEhZKd1JQ4EB1tekcqW1oIVpDC1ZFrjrp/cLC5MXjFQ= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.3/go.mod h1:q9vzW3Xr1KEXa8n4waHiFt1PrppNDlMymlYP+xpsFbY= github.com/aws/aws-sdk-go-v2/service/ec2 v1.171.0 h1:r398oizT1O8AdQGpnxOMOIstEAAb3PPW5QZsL8w4Ujc= github.com/aws/aws-sdk-go-v2/service/ec2 v1.171.0/go.mod h1:9KdiRVKTZyPRTlbX3i41FxTV+5OatZ7xOJCN4lleX7g= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.20.4 h1:G18wotYZxZ0A5tkqKv6FHCjsF86UQrqNHy5LS+T7JWM= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.20.4/go.mod h1:XlbY5AGZhlipCdhRorT18/HEThKAxo51hMmhixreJoM= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14/go.mod h1:dDilntgHy9WnHXsh7dDtUPgHKEfTJIBUTHM8OWm0f/0= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.33.3 h1:pjZzcXU25gsD2WmlmlayEsyXIWMVOK3//x4BXvK9c0U= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.33.3/go.mod h1:4ew4HelByABYyBE+8iU8Rzrp5PdBic5yd9nFMhbnwE8= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 h1:dT3MqvGhSoaIhRseqw2I0yH81l7wiR2vjs57O51EAm8= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3/go.mod h1:GlAeCkHwugxdHaueRr4nhPuY+WW+gR8UjlcqzPr1SPI= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17 h1:YPYe6ZmvUfDDDELqEKtAd6bo8zxhkm+XEFEzQisqUIE= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17/go.mod h1:oBtcnYua/CgzCWYN7NZ5j7PotFDaFSUjCYVTtfyn7vw= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.34 h1:JlxVMFDHivlhNOIxd2O/9z4O0wC2zIC4lRB71lejVHU= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.34/go.mod h1:CDPcT6pljRaqz1yLsOgPUvOPOczFvXuJxOKzDzAbF0c= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.16 h1:lhAX5f7KpgwyieXjbDnRTjPEUI0l3emSRyxXj1PXP8w= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.16/go.mod h1:AblAlCwvi7Q/SFowvckgN+8M3uFPlopSYeLlbNDArhA= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 h1:HGErhhrxZlQ044RiM+WdoZxp0p+EGM62y3L6pwA4olE= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17/go.mod h1:RkZEx4l0EHYDJpWppMJ3nD9wZJAa8/0lq9aVC+r2UII= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15 h1:246A4lSTXWJw/rmlQI+TT2OcqeDMKBdyjEQrafMaQdA= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15/go.mod h1:haVfg3761/WF7YPuJOER2MP0k4UAXyHaLclKXB6usDg= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.4 h1:UohaQds+Puk9BEbvncXkZduIGYImxohbFpVmSoymXck= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.4/go.mod h1:HnjgmL8TNmYtGcrA3N6EeCnDvlX6CteCdUbZ1wV8QWQ= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.3 h1:ktR7RUdUQ8m9rkgCPRsS7iTJgFp9MXEX0nltrT8bxY4= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.3/go.mod h1:hufTMUGSlcBLGgs6leSPbDfY1sM3mrO2qjtVkPMTDhE= github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2 h1:sZXIzO38GZOU+O0C+INqbH7C2yALwfMWpd64tONS/NE= github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2/go.mod h1:Lcxzg5rojyVPU/0eFwLtcyTaek/6Mtic5B1gJo7e/zE= -github.com/aws/aws-sdk-go-v2/service/sfn v1.19.4 h1:yIyFY2kbCOoHvuivf9minqnP2RLYJgmvQRYxakIb2oI= -github.com/aws/aws-sdk-go-v2/service/sfn v1.19.4/go.mod h1:uWCH4ATwNrkRO40j8Dmy7u/Y1/BVWgCM+YjBNYZeOro= +github.com/aws/aws-sdk-go-v2/service/sfn v1.29.3 h1:7BK+k08c5r1oqqHeb6ye0affEQQJ/fimBTGZSjmpjwk= +github.com/aws/aws-sdk-go-v2/service/sfn v1.29.3/go.mod h1:+mtHHxsylrf+kjxcbvfnu6jtyTT8Fa9BlqjQk5XJZ80= github.com/aws/aws-sdk-go-v2/service/sns v1.31.3 h1:eSTEdxkfle2G98FE+Xl3db/XAXXVTJPNQo9K/Ar8oAI= github.com/aws/aws-sdk-go-v2/service/sns v1.31.3/go.mod h1:1dn0delSO3J69THuty5iwP0US2Glt0mx2qBBlI13pvw= github.com/aws/aws-sdk-go-v2/service/sqs v1.34.3 h1:Vjqy5BZCOIsn4Pj8xzyqgGmsSqzz7y/WXbN3RgOoVrc= @@ -87,76 +123,438 @@ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4 h1:yiwVzJW2ZxZTurVbYWA7QOrA github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4/go.mod h1:0oxfLkpz3rQ/CHlx5hB7H69YUpFiI1tql6Q6Ne+1bCw= github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 h1:ZsDKRLXGWHk8WdtyYMoGNO7bTudrvuKpDKgMVRlepGE= github.com/aws/aws-sdk-go-v2/service/sts v1.30.3/go.mod h1:zwySh8fpFyXp9yOr/KVzxOl8SRqgf/IDw5aUt9UKFcQ= -github.com/aws/smithy-go v1.14.2/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.20.3 h1:ryHwveWzPV5BIof6fyDvor6V3iUL7nTfiTKXHiW05nE= github.com/aws/smithy-go v1.20.3/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874 h1:N7oVaKyGp8bttX0bfZGmcGkjz7DLQXhAn3DNd3T0ous= +github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874/go.mod h1:r5xuitiExdLAJ09PR7vBVENGvp4ZuTBeWTGtxuX3K+c= +github.com/buger/goterm v1.0.4 h1:Z9YvGmOih81P0FbVtEYTFF6YsSgxSUKEhf/f9bTMXbY= +github.com/buger/goterm v1.0.4/go.mod h1:HiFWV3xnkolgrBV3mY8m0X0Pumt4zg4QhbdOzQtB8tE= +github.com/bytedance/sonic v1.11.6 h1:oUp34TzMlL+OY1OUWxHqsdkgC/Zfc85zGqw9siXjrc0= +github.com/bytedance/sonic v1.11.6/go.mod h1:LysEHSvpvDySVdC2f87zGWf6CIKJcAvqab1ZaiQtds4= +github.com/bytedance/sonic/loader v0.1.1 h1:c+e5Pt1k/cy5wMveRDyk2X4B9hF4g7an8N3zCYjJFNM= +github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= +github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= +github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y= +github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= +github.com/cloudwego/iasm v0.2.0 h1:1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg= +github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY= +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/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/compose-spec/compose-go/v2 v2.1.0 h1:qdW2qISQlCQG8v1O2TChcdxgAWTUGgUX/CPSO+ES9+E= +github.com/compose-spec/compose-go/v2 v2.1.0/go.mod h1:bEPizBkIojlQ20pi2vNluBa58tevvj0Y18oUSHPyfdc= +github.com/confluentinc/confluent-kafka-go v1.9.2 h1:gV/GxhMBUb03tFWkN+7kdhg+zf+QUM+wVkI9zwh770Q= +github.com/confluentinc/confluent-kafka-go v1.9.2/go.mod h1:ptXNqsuDfYbAE/LBW6pnwWZElUoWxHoV8E43DCrliyo= +github.com/confluentinc/confluent-kafka-go/v2 v2.5.0 h1:PM18lA9g6u6Qcz06DpXmGRlxXTvWlHqnlAkQi1chPUo= +github.com/confluentinc/confluent-kafka-go/v2 v2.5.0/go.mod h1:Hyo+IIQ/tmsfkOcRP8T6VlSeOW3T33v0Me8Xvq4u90Y= +github.com/containerd/console v1.0.4 h1:F2g4+oChYvBTsASRTz8NP6iIAi97J3TtSAsLbIFn4ro= +github.com/containerd/console v1.0.4/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= +github.com/containerd/containerd v1.7.15 h1:afEHXdil9iAm03BmhjzKyXnnEBtjaLJefdU7DV0IFes= +github.com/containerd/containerd v1.7.15/go.mod h1:ISzRRTMF8EXNpJlTzyr2XMhN+j9K302C21/+cr3kUnY= +github.com/containerd/continuity v0.4.3 h1:6HVkalIp+2u1ZLH1J/pYX2oBVXlJZvh1X1A7bEZ9Su8= +github.com/containerd/continuity v0.4.3/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ= +github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= +github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= +github.com/containerd/ttrpc v1.2.3 h1:4jlhbXIGvijRtNC8F/5CpuJZ7yKOBFGFOOXg1bkISz0= +github.com/containerd/ttrpc v1.2.3/go.mod h1:ieWsXucbb8Mj9PH0rXCw1i8IunRbbAiDkpXkbfflWBM= +github.com/containerd/typeurl/v2 v2.1.1 h1:3Q4Pt7i8nYwy2KmQWIw2+1hTvwTE/6w9FqcttATPO/4= +github.com/containerd/typeurl/v2 v2.1.1/go.mod h1:IDp2JFvbwZ31H8dQbEIY7sDl2L3o3HZj1hsSQlywkQ0= +github.com/cpuguy83/dockercfg v0.3.1 h1:/FpZ+JaygUR/lZP2NlFI2DVfrOEMAIKP5wWEJdoYe9E= +github.com/cpuguy83/dockercfg v0.3.1/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= +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/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/denisenkom/go-mssqldb v0.12.3 h1:pBSGx9Tq67pBOTLmxNuirNTeB8Vjmf886Kx+8Y+8shw= +github.com/denisenkom/go-mssqldb v0.12.3/go.mod h1:k0mtMFOnU+AihqFxPMiF05rtiDrorD1Vrm1KEz5hxDo= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/trifles v0.0.0-20200323201526-dd97f9abfb48 h1:fRzb/w+pyskVMQ+UbP35JkH8yB7MYb4q/qhBarqZE6g= github.com/dgryski/trifles v0.0.0-20200323201526-dd97f9abfb48/go.mod h1:if7Fbed8SFyPtHLHbg49SI7NAdJiC5WIA09pe59rfAA= +github.com/dimfeld/httptreemux/v5 v5.5.0 h1:p8jkiMrCuZ0CmhwYLcbNbl7DDo21fozhKHQ2PccwOFQ= +github.com/dimfeld/httptreemux/v5 v5.5.0/go.mod h1:QeEylH57C0v3VO0tkKraVz9oD3Uu93CKPnTLbsidvSw= +github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= +github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= +github.com/docker/buildx v0.14.0 h1:FxqcfE7xgeEC4oQlKLpuvfobRDVDXrHE3jByM+mdyqk= +github.com/docker/buildx v0.14.0/go.mod h1:Vy/2lC9QsJvo33+7KKkN/GDE5WxnVqW0/dpcN7ZqPJY= +github.com/docker/cli v26.1.0+incompatible h1:+nwRy8Ocd8cYNQ60mozDDICICD8aoFGtlPXifX/UQ3Y= +github.com/docker/cli v26.1.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/compose/v2 v2.27.0 h1:FKyClQdErCxUZULC2zo6Jn5ve+epFPe/Y0HaxjmUzNg= +github.com/docker/compose/v2 v2.27.0/go.mod h1:uaqwmY6haO8wXWHk+LAsqqDapX6boH4izRKqj/E7+Bo= +github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= +github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v26.1.0+incompatible h1:W1G9MPNbskA6VZWL7b3ZljTh0pXI68FpINx0GKaOdaM= +github.com/docker/docker v26.1.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.8.0 h1:YQFtbBQb4VrpoPxhFuzEBPQ9E16qz5SpHLS+uswaCp8= +github.com/docker/docker-credential-helpers v0.8.0/go.mod h1:UGFXcuoQ5TxPiB54nHOZ32AWRqQdECoh/Mg0AlEYb40= +github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c h1:lzqkGL9b3znc+ZUgi7FlLnqjQhcXxkNM/quxIjBVMD0= +github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c/go.mod h1:CADgU4DSXK5QUlFslkQu2yW2TKzFZcXq/leZfM0UH5Q= +github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= +github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= +github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= +github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/ebitengine/purego v0.7.1 h1:6/55d26lG3o9VCZX8lping+bZcmShseiqlh2bnUDiPA= github.com/ebitengine/purego v0.7.1/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ= +github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203 h1:XBBHcIb256gUJtLmY22n99HaZTz+r2Z51xUPi01m3wg= +github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203/go.mod h1:E1jcSv8FaEny+OP/5k9UxZVw9YFWGj7eI4KR/iOBqCg= +github.com/elastic/elastic-transport-go/v8 v8.6.0 h1:Y2S/FBjx1LlCv5m6pWAF2kDJAHoSjSRSJCApolgfthA= +github.com/elastic/elastic-transport-go/v8 v8.6.0/go.mod h1:YLHer5cj0csTzNFXoNQ8qhtGY1GTvSqPnKWKaqQE3Hk= +github.com/elastic/go-elasticsearch/v6 v6.8.5 h1:U2HtkBseC1FNBmDr0TR2tKltL6FxoY+niDAlj5M8TK8= +github.com/elastic/go-elasticsearch/v6 v6.8.5/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI= +github.com/elastic/go-elasticsearch/v7 v7.17.1 h1:49mHcHx7lpCL8cW1aioEwSEVKQF3s+Igi4Ye/QTWwmk= +github.com/elastic/go-elasticsearch/v7 v7.17.1/go.mod h1:OJ4wdbtDNk5g503kvlHLyErCgQwwzmDtaFC4XyOxXA4= +github.com/elastic/go-elasticsearch/v8 v8.14.0 h1:1ywU8WFReLLcxE1WJqii3hTtbPUE2hc38ZK/j4mMFow= +github.com/elastic/go-elasticsearch/v8 v8.14.0/go.mod h1:WRvnlGkSuZyp83M2U8El/LGXpCjYLrvlkSgkAH4O5I4= +github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= +github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +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.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/frankban/quicktest v1.2.2/go.mod h1:Qh/WofXFeiAFII1aEBu529AtJo6Zg2VHscnEsbBnJ20= +github.com/frankban/quicktest v1.7.2/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03DbaAcR7Ks/o= +github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= +github.com/frankban/quicktest v1.14.0/go.mod h1:NeW+ay9A/U67EYXNFA1nPE8e/tnQv/09mUdL/ijj8og= +github.com/fsnotify/fsevents v0.1.1 h1:/125uxJvvoSDDBPen6yUZbil8J9ydKZnnl3TWWmvnkw= +github.com/fsnotify/fsevents v0.1.1/go.mod h1:+d+hS27T6k5J8CRaPLKFgwKYcpS7GwW3Ule9+SC2ZRc= +github.com/fvbommel/sortorder v1.0.2 h1:mV4o8B2hKboCdkJm+a7uX/SIpZob4JzUpc5GGnM45eo= +github.com/fvbommel/sortorder v1.0.2/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= +github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= +github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= +github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= +github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 h1:DujepqpGd1hyOd7aW59XpK7Qymp8iy83xq74fLr21is= +github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= +github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= +github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= +github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= +github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= +github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.20.0 h1:K9ISHbSaI0lyB2eWMPJo+kOS/FBExVwjEviJTixqxL8= +github.com/go-playground/validator/v10 v10.20.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= +github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= +github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= +github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= +github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= +github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= +github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= +github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 h1:au07oEsX2xN0ktxqI+Sida1w446QrXBRJ0nee3SNZlA= +github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= +github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= +github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.2.1-0.20190312032427-6f77996f0c42/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/pprof v0.0.0-20211008130755-947d60d73cc0/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= +github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM= +github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= +github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s= +github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A= +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= +github.com/hamba/avro v1.5.6/go.mod h1:3vNT0RLXXpFm2Tb/5KC71ZRJlOroggq1Rcitb6k4Fr8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= +github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= +github.com/heetch/avro v0.3.1/go.mod h1:4xn38Oz/+hiEUTpbVfGVLfvOg0yKLlRP7Q9+gJJILgA= +github.com/iancoleman/orderedmap v0.0.0-20190318233801-ac98e3ecb4b0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36vB07FNRdD2geA= +github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= +github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= +github.com/in-toto/in-toto-golang v0.5.0 h1:hb8bgwr0M2hGdDsLjkJ3ZqJ8JFLL/tgYdAxF/XEFBbY= +github.com/in-toto/in-toto-golang v0.5.0/go.mod h1:/Rq0IZHLV7Ku5gielPT4wPHJfH1GdHMCq8+WPxw8/BE= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/invopop/jsonschema v0.4.0/go.mod h1:O9uiLokuu0+MGFlyiaqtWxwqJm41/+8Nj0lD7A36YH0= +github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= +github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= +github.com/jhump/protoreflect v1.12.0/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4= +github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/juju/qthttptest v0.1.1/go.mod h1:aTlAv8TYaflIiTDIQYzxnl1QdPjAg8Q8qJMErpKy6A4= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= +github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= +github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= +github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/linkedin/goavro v2.1.0+incompatible/go.mod h1:bBCwI2eGYpUI/4820s67MElg9tdeLbINjLjiM2xZFYM= +github.com/linkedin/goavro/v2 v2.10.0/go.mod h1:UgQUb2N/pmueQYH9bfqFioWxzYCZXSfF8Jw03O5sjqA= +github.com/linkedin/goavro/v2 v2.10.1/go.mod h1:UgQUb2N/pmueQYH9bfqFioWxzYCZXSfF8Jw03O5sjqA= +github.com/linkedin/goavro/v2 v2.11.1/go.mod h1:UgQUb2N/pmueQYH9bfqFioWxzYCZXSfF8Jw03O5sjqA= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= +github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= +github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= +github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= +github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= +github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/moby/buildkit v0.13.1 h1:L8afOFhPq2RPJJSr/VyzbufwID7jquZVB7oFHbPRcPE= +github.com/moby/buildkit v0.13.1/go.mod h1:aNmNQKLBFYAOFuzQjR3VA27/FijlvtBD1pjNwTSN37k= +github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= +github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= +github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= +github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= +github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk= +github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= +github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/moby/sys/mountinfo v0.7.1 h1:/tTvQaSJRr2FshkhXiIpux6fQ2Zvc4j7tAhMTStAG2g= +github.com/moby/sys/mountinfo v0.7.1/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= +github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= +github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= +github.com/moby/sys/signal v0.7.0 h1:25RW3d5TnQEoKvRbEKUGay6DCQ46IxAVTT9CUMgmsSI= +github.com/moby/sys/signal v0.7.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= +github.com/moby/sys/symlink v0.2.0 h1:tk1rOM+Ljp0nFmfOIBtlV3rTDlWOwFRhjEeAhZB0nZc= +github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= +github.com/moby/sys/user v0.1.0 h1:WmZ93f5Ux6het5iituh9x2zAG7NFY9Aqi49jjE1PaQg= +github.com/moby/sys/user v0.1.0/go.mod h1:fKJhFOnsCN6xZ5gSfbM6zaHGgDJMrqt9/reuj4T7MmU= +github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= +github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/montanaflynn/stats v0.7.1 h1:etflOAAHORrCC44V+aR6Ftzort912ZU+YLiSTuV8eaE= +github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= +github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/nrwiersma/avro-benchmarks v0.0.0-20210913175520-21aec48c8f76/go.mod h1:iKyFMidsk/sVYONJRE372sJuX/QTRPacU7imPqqsu7g= +github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= +github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= -github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= -github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0= +github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= +github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= +github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= +github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 h1:jYi87L8j62qkXzaYHAQAhEapgukhenIMZRBKTNRLHJ4= +github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM= +github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/prometheus/client_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q= +github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= +github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= +github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= +github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= +github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= +github.com/r3labs/sse v0.0.0-20210224172625-26fe804710bc h1:zAsgcP8MhzAbhMnB1QQ2O7ZhWYVGYSR2iVcjzQuPV+o= +github.com/r3labs/sse v0.0.0-20210224172625-26fe804710bc/go.mod h1:S8xSOnV3CgpNrWd0GQ/OoQfMtlg2uPRSuTzcSGrzwK8= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= +github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rogpeppe/clock v0.0.0-20190514195947-2896927a307a/go.mod h1:4r5QyqhjIWCcK8DO4KMclc5Iknq5qVBAlbYYzAbUScQ= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= +github.com/serialx/hashring v0.0.0-20200727003509-22c0c7ab6b1b h1:h+3JX2VoWTFuyQEo87pStk/a99dzIO1mM9KxIyLPGTU= +github.com/serialx/hashring v0.0.0-20200727003509-22c0c7ab6b1b/go.mod h1:/yeG0My1xr/u+HZrFQ1tOQQQQrOawfyMUH13ai5brBc= +github.com/shibumi/go-pathspec v1.3.0 h1:QUyMZhFo0Md5B8zV8x2tesohbb5kfbpTi9rBnKh5dkI= +github.com/shibumi/go-pathspec v1.3.0/go.mod h1:Xutfslp817l2I1cZvgcfeMQJG5QnU2lh5tVaaMCl3jE= +github.com/shirou/gopsutil/v3 v3.23.12 h1:z90NtUkp3bMtmICZKpC4+WaknU1eXtp5vtbQ11DgpE4= +github.com/shirou/gopsutil/v3 v3.23.12/go.mod h1:1FrWgea594Jp7qmjHUUPlJDTPgcsb9mGnXDxavtikzM= +github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= +github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 h1:JIAuq3EEf9cgbU6AtGPK4CTG3Zf6CKMNqf0MHTggAUA= +github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= github.com/sosodev/duration v1.3.1 h1:qtHBDMQ6lvMQsL15g4aopM4HEfOaYuhWBw3NPTtlqq4= github.com/sosodev/duration v1.3.1/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -164,67 +562,305 @@ github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.3.1-0.20190311161405-34c6fa2dc709/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/tinylib/msgp v1.1.9 h1:SHf3yoO2sGA0veCJeCBYLHuttAVFHGm2RHgNodW7wQU= -github.com/tinylib/msgp v1.1.9/go.mod h1:BCXGB54lDD8qUEPmiG0cQQUANC4IUQyB2ItS2UDlO/k= +github.com/testcontainers/testcontainers-go v0.31.0 h1:W0VwIhcEVhRflwL9as3dhY6jXjVCA27AkmbnZ+UTh3U= +github.com/testcontainers/testcontainers-go v0.31.0/go.mod h1:D2lAoA0zUFiSY+eAflqK5mcUx/A5hrrORaEQrd0SefI= +github.com/testcontainers/testcontainers-go/modules/compose v0.31.0 h1:H74o3HisnApIDQx7sWibGzOl/Oo0By8DjyVeUf3qd6I= +github.com/testcontainers/testcontainers-go/modules/compose v0.31.0/go.mod h1:z1JAsvL2/pNFy40yJX0VX9Yk+hzOCIO5DydxBJHBbCY= +github.com/theupdateframework/notary v0.7.0 h1:QyagRZ7wlSpjT5N2qQAh/pN+DVqgekv4DzbAiAiEL3c= +github.com/theupdateframework/notary v0.7.0/go.mod h1:c9DRxcmhHmVLDay4/2fUYdISnHqbFDGRSlXPO0AhYWw= +github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375 h1:QB54BJwA6x8QU9nHY3xJSZR2kX9bgpZekRKGkLTmEXA= +github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375/go.mod h1:xRroudyp5iVtxKqZCrA6n2TLFRBf8bmnjr1UD4x+z7g= +github.com/tinylib/msgp v1.2.0 h1:0uKB/662twsVBpYUPbokj4sTSKhWFKB7LopO2kWK8lY= +github.com/tinylib/msgp v1.2.0/go.mod h1:2vIGs3lcUo8izAATNobrCHevYZC/LMsJtw4JPiYPHro= +github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= +github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= +github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= +github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= +github.com/tonistiigi/fsutil v0.0.0-20240301111122-7525a1af2bb5 h1:oZS8KCqAg62sxJkEq/Ppzqrb6EooqzWtL8Oaex7bc5c= +github.com/tonistiigi/fsutil v0.0.0-20240301111122-7525a1af2bb5/go.mod h1:vbbYqJlnswsbJqWUcJN8fKtBhnEgldDrcagTgnBVKKM= +github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea h1:SXhTLE6pb6eld/v/cCndK0AMpt1wiVFb/YYmqB3/QG0= +github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea/go.mod h1:WPnis/6cRcDZSUvVmezrxJPkiO87ThFYsoUiMwWNDJk= +github.com/tonistiigi/vt100 v0.0.0-20230623042737-f9a4f7ef6531 h1:Y/M5lygoNPKwVNLMPXgVfsRT40CSFKXCxuU8LoHySjs= +github.com/tonistiigi/vt100 v0.0.0-20230623042737-f9a4f7ef6531/go.mod h1:ulncasL3N9uLrVann0m+CDlJKWsIAP34MPcOJF6VRvc= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= +github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/urfave/negroni v1.0.0 h1:kIimOitoypq34K7TG7DUaJ9kq/N4Ofuwi1sjz0KipXc= +github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= github.com/vektah/gqlparser/v2 v2.5.16 h1:1gcmLTvs3JLKXckwCwlUagVn/IlV2bwqle0vJ0vy5p8= github.com/vektah/gqlparser/v2 v2.5.16/go.mod h1:1lz1OeCqgQbQepsGxPVywrjdBHW2T08PUS3pJqepRww= +github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= +github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= +github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8= +github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA= +github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +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.einride.tech/aip v0.67.1 h1:d/4TW92OxXBngkSOwWS2CH5rez869KpKMaN44mdxkFI= +go.einride.tech/aip v0.67.1/go.mod h1:ZGX4/zKw8dcgzdLsrvpOOGxfxI2QSk12SlP7d6c0/XI= +go.mongodb.org/mongo-driver v1.16.1 h1:rIVLL3q0IHM39dvE+z2ulZLp9ENZKThVfuvN/IiN4l8= +go.mongodb.org/mongo-driver v1.16.1/go.mod h1:oB6AhJQvFQL4LEHyXi6aJzQJtBiTQHiAd83l0GdFaiw= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.46.1 h1:gbhw/u49SS3gkPWiYweQNJGm/uJN5GkI/FrosxSHT7A= +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.46.1/go.mod h1:GnOaBaFQ2we3b9AGWJpsBa7v1S5RlQzlC3O7dRMxZhM= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= +go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= +go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.42.0 h1:ZtfnDL+tUrs1F0Pzfwbg2d59Gru9NCH3bgSHBM6LDwU= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.42.0/go.mod h1:hG4Fj/y8TR/tlEDREo8tWstl9fO9gcFkn4xrx0Io8xU= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.42.0 h1:NmnYCiR0qNufkldjVvyQfZTHSdzeHoZ41zggMsdMcLM= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.42.0/go.mod h1:UVAO61+umUsHLtYb8KXXRoHtxUkdOPkYidzW3gipRLQ= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.42.0 h1:wNMDy/LVGLj2h3p6zg4d0gypKfWKSWI14E1C4smOgl8= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.42.0/go.mod h1:YfbDdXAAkemWJK3H/DshvlrxqFB2rtW4rY6ky/3x/H0= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 h1:cl5P5/GIfFh4t6xyruOgJP5QiA1pw4fYYdv6nc6CBWw= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0/go.mod h1:zgBdWWAu7oEEMC06MMKc5NLbA/1YDXV1sMpSqEeLQLg= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 h1:tIqheXEFWAZ7O8A7m+J0aPTmpJN3YQ7qetUAdkkkKpk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0/go.mod h1:nUeKExfxAQVbiVFn32YXpXZZHZ61Cc3s3Rn1pDBGAb0= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0 h1:digkEZCJWobwBqMwC0cwCq8/wkkRy/OowZg5OArWZrM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0/go.mod h1:/OpE/y70qVkndM0TrxT4KBoN3RsFZP0QaofcfYrj76I= +go.opentelemetry.io/otel/exporters/prometheus v0.42.0 h1:jwV9iQdvp38fxXi8ZC+lNpxjK16MRcZlpDYvbuO1FiA= +go.opentelemetry.io/otel/exporters/prometheus v0.42.0/go.mod h1:f3bYiqNqhoPxkvI2LrXqQVC546K7BuRDL/kKuxkujhA= +go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= +go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= +go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= +go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= +go.opentelemetry.io/otel/sdk/metric v1.21.0 h1:smhI5oD714d6jHE6Tie36fPx4WDFIg+Y6RfAY4ICcR0= +go.opentelemetry.io/otel/sdk/metric v1.21.0/go.mod h1:FJ8RAsoPGv/wYMgBdUJXOm+6pzFY3YdljnXtv1SBE8Q= +go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= +go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= +go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= 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= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= +go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= +golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/arch v0.8.0 h1:3wRIsP3pM4yUptoR96otTUOXI367OS0+c9eeRi9doIc= +golang.org/x/arch v0.8.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= +golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o= +golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/mod v0.2.0/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/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-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200505041828-1ed23360d12c/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= +golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= +golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/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-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.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.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= +golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +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/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= -golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +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/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= 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/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= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= -golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 h1:LLhsEBxRTBLuKlQxFBYUOU8xyFgXv6cOTp2HASDlsDk= +golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= +google.golang.org/api v0.191.0 h1:cJcF09Z+4HAB2t5qTQM1ZtfL/PemsLFkcFG67qq2afk= +google.golang.org/api v0.191.0/go.mod h1:tD5dsFGxFza0hnQveGfVk9QQYKcfp+VzgRqyXFxE0+E= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20220503193339-ba3ae3f07e29/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20240730163845-b1a4ccb954bf h1:OqdXDEakZCVtDiZTjcxfwbHPCT11ycCEsTKesBVKvyY= +google.golang.org/genproto v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:mCr1K1c8kX+1iSBREvU3Juo11CB+QOEWxbRS01wWl5M= +google.golang.org/genproto/googleapis/api v0.0.0-20240725223205-93522f1f2a9f h1:b1Ln/PG8orm0SsBbHZWke8dDp2lrCD4jSmfglFpTZbk= +google.golang.org/genproto/googleapis/api v0.0.0-20240725223205-93522f1f2a9f/go.mod h1:AHT0dDg3SoMOgZGnZk29b5xTbPHMoEC8qthmBLJCpys= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf h1:liao9UHurZLtiEwBgT9LMOnKYsHze6eA6w1KQCMVN2Q= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +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.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.64.1 h1:LKtvyfbX3UGVPFcGqJ9ItpVWW6oN/2XqTxfAnwRRXiA= +google.golang.org/grpc v1.64.1/go.mod h1:hiQF4LFZelK2WKaP6W0L92zGHtiQdZxk8CrSdvyjeP0= +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= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +gopkg.in/avro.v0 v0.0.0-20171217001914-a730b5802183/go.mod h1:FvqrFXt+jCsyQibeRv4xxEJBL5iG2DDW5aeJwzDiq4A= +gopkg.in/cenkalti/backoff.v1 v1.1.0 h1:Arh75ttbsvlpVA7WtVpH4u9h6Zl46xuptxqLxPiSo4Y= +gopkg.in/cenkalti/backoff.v1 v1.1.0/go.mod h1:J6Vskwqd+OMVJl8C33mmtxTBs2gyzfv7UDAkHu8BrjI= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v1 v1.0.0/go.mod h1:CxwszS/Xz1C49Ucd2i6Zil5UToP1EmyrFhKaMVbg1mk= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/httprequest.v1 v1.2.1/go.mod h1:x2Otw96yda5+8+6ZeWwHIJTFkEHWP/qP8pJOzqEtWPM= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= +gopkg.in/retry.v1 v1.0.3/go.mod h1:FJkXmWiMaAo7xB+xhvDF59zhfjDWyzmyAxiT4dB688g= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= +gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +k8s.io/api v0.29.2 h1:hBC7B9+MU+ptchxEqTNW2DkUosJpp1P+Wn6YncZ474A= +k8s.io/api v0.29.2/go.mod h1:sdIaaKuU7P44aoyyLlikSLayT6Vb7bvJNCX105xZXY0= +k8s.io/apimachinery v0.29.2 h1:EWGpfJ856oj11C52NRCHuU7rFDwxev48z+6DSlGNsV8= +k8s.io/apimachinery v0.29.2/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU= +k8s.io/apiserver v0.29.2 h1:+Z9S0dSNr+CjnVXQePG8TcBWHr3Q7BmAr7NraHvsMiQ= +k8s.io/apiserver v0.29.2/go.mod h1:B0LieKVoyU7ykQvPFm7XSdIHaCHSzCzQWPFa5bqbeMQ= +k8s.io/client-go v0.29.2 h1:FEg85el1TeZp+/vYJM7hkDlSTFZ+c5nnK44DJ4FyoRg= +k8s.io/client-go v0.29.2/go.mod h1:knlvFZE58VpqbQpJNbCbctTVXcd35mMyAAwBdpt4jrA= +k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0= +k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo= +k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780= +k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= +k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= +k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= +sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= +sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +tags.cncf.io/container-device-interface v0.6.2 h1:dThE6dtp/93ZDGhqaED2Pu374SOeUkBfuvkLuiTdwzg= +tags.cncf.io/container-device-interface v0.6.2/go.mod h1:Shusyhjs1A5Na/kqPVLL0KqnHQHuunol9LFeUNkuGVE= diff --git a/instrumentation/internal/namingschematest/go_restful_v3_test.go b/instrumentation/internal/namingschematest/go_restful_v3_test.go new file mode 100644 index 0000000000..3a0de1e968 --- /dev/null +++ b/instrumentation/internal/namingschematest/go_restful_v3_test.go @@ -0,0 +1,61 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "net/http/httptest" + "testing" + + "github.com/emicklei/go-restful/v3" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + restfultrace "github.com/DataDog/dd-trace-go/contrib/emicklei/go-restful.v3/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var goRestfulV3 = harness.TestCase{ + Name: instrumentation.PackageEmickleiGoRestfulV3, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []restfultrace.Option + if serviceOverride != "" { + opts = append(opts, restfultrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + ws := new(restful.WebService) + ws.Filter(restfultrace.FilterFunc(opts...)) + ws.Route(ws.GET("/user/{id}").Param(restful.PathParameter("id", "user ID")). + To(func(request *restful.Request, response *restful.Response) { + _, err := response.Write([]byte(request.PathParameter("id"))) + require.NoError(t, err) + })) + container := restful.NewContainer() + container.Add(ws) + + r := httptest.NewRequest("GET", "/user/200", nil) + w := httptest.NewRecorder() + container.ServeHTTP(w, r) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"go-restful"}, + DDService: []string{"go-restful"}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.request", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.server.request", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/gomemcache_test.go b/instrumentation/internal/namingschematest/gomemcache_test.go index 351ce10a15..75dba7271d 100644 --- a/instrumentation/internal/namingschematest/gomemcache_test.go +++ b/instrumentation/internal/namingschematest/gomemcache_test.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( @@ -13,13 +18,14 @@ import ( "github.com/stretchr/testify/require" memcachetrace "github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2/memcache" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -var gomemcache = testCase{ - name: instrumentation.PackageBradfitzGoMemcache, - genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { +var gomemcache = harness.TestCase{ + Name: instrumentation.PackageBradfitzGoMemcache, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { li := startMemcacheTestServer(t) defer li.Close() addr := li.Addr().String() @@ -42,16 +48,16 @@ var gomemcache = testCase{ require.Len(t, spans, 1) return spans }, - wantServiceNameV0: serviceNameAssertions{ - defaults: []string{"memcached"}, - ddService: []string{"memcached"}, - serviceOverride: []string{testServiceOverride}, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"memcached"}, + DDService: []string{"memcached"}, + ServiceOverride: []string{harness.TestServiceOverride}, }, - assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 1) assert.Equal(t, "memcached.query", spans[0].OperationName()) }, - assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 1) assert.Equal(t, "memcached.command", spans[0].OperationName()) }, diff --git a/instrumentation/internal/namingschematest/gqlgen_test.go b/instrumentation/internal/namingschematest/gqlgen_test.go index 6bed65d01a..bc0539e53a 100644 --- a/instrumentation/internal/namingschematest/gqlgen_test.go +++ b/instrumentation/internal/namingschematest/gqlgen_test.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( @@ -7,17 +12,18 @@ import ( "github.com/99designs/gqlgen/graphql" "github.com/99designs/gqlgen/graphql/handler/testserver" "github.com/99designs/gqlgen/graphql/handler/transport" - gqlgentrace "github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + gqlgentrace "github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -var gqlgen = testCase{ - name: instrumentation.Package99DesignsGQLGen, - genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { +var gqlgen = harness.TestCase{ + Name: instrumentation.Package99DesignsGQLGen, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { type testServerResponse struct { Name string } @@ -44,12 +50,12 @@ var gqlgen = testCase{ return mt.FinishedSpans() }, - wantServiceNameV0: serviceNameAssertions{ - defaults: repeatString("graphql", 9), - ddService: repeatString("graphql", 9), - serviceOverride: repeatString(testServiceOverride, 9), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: harness.RepeatString("graphql", 9), + DDService: harness.RepeatString("graphql", 9), + ServiceOverride: harness.RepeatString(harness.TestServiceOverride, 9), }, - assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 9) assert.Equal(t, "graphql.read", spans[0].OperationName()) assert.Equal(t, "graphql.parse", spans[1].OperationName()) @@ -61,7 +67,7 @@ var gqlgen = testCase{ assert.Equal(t, "graphql.validate", spans[7].OperationName()) assert.Equal(t, "graphql.mutation", spans[8].OperationName()) }, - assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 9) assert.Equal(t, "graphql.read", spans[0].OperationName()) assert.Equal(t, "graphql.parse", spans[1].OperationName()) diff --git a/instrumentation/internal/namingschematest/harness/harness.go b/instrumentation/internal/namingschematest/harness/harness.go new file mode 100644 index 0000000000..dd315b95d1 --- /dev/null +++ b/instrumentation/internal/namingschematest/harness/harness.go @@ -0,0 +1,120 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package harness + +import ( + "os" + "strings" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +const ( + TestDDService = "dd-service" + TestServiceOverride = "service-override" +) + +type AssertSpansFn func(t *testing.T, spans []*mocktracer.Span) + +type ServiceNameAssertions struct { + Defaults []string + DDService []string + ServiceOverride []string +} + +type GenSpansFn func(t *testing.T, serviceOverride string) []*mocktracer.Span + +type TestCase struct { + Name instrumentation.Package + GenSpans GenSpansFn + WantServiceNameV0 ServiceNameAssertions + AssertOpV0 AssertSpansFn + AssertOpV1 AssertSpansFn +} + +func RunTest(t *testing.T, tc TestCase) { + if _, ok := os.LookupEnv("INTEGRATION"); !ok { + t.Skip("🚧 Skipping integration test (INTEGRATION environment variable is not set)") + } + t.Setenv("__DD_TRACE_NAMING_SCHEMA_TEST", "1") + t.Setenv("__DD_TRACE_SQL_TEST", "1") + + t.Run(strings.ReplaceAll(string(tc.Name), "/", "_"), func(t *testing.T) { + t.Run("ServiceName", func(t *testing.T) { + // v0 + t.Run("v0_defaults", func(t *testing.T) { + t.Setenv("DD_SERVICE", "") + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v0") + spans := tc.GenSpans(t, "") + assertServiceNames(t, spans, tc.WantServiceNameV0.Defaults) + }) + t.Run("v0_dd_service", func(t *testing.T) { + t.Setenv("DD_SERVICE", TestDDService) + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v0") + spans := tc.GenSpans(t, "") + assertServiceNames(t, spans, tc.WantServiceNameV0.DDService) + }) + t.Run("v0_dd_service_and_override", func(t *testing.T) { + t.Setenv("DD_SERVICE", TestDDService) + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v0") + spans := tc.GenSpans(t, TestServiceOverride) + assertServiceNames(t, spans, tc.WantServiceNameV0.ServiceOverride) + }) + + // v1 + t.Run("v1_defaults", func(t *testing.T) { + t.Setenv("DD_SERVICE", "") + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v1") + spans := tc.GenSpans(t, "") + assertServiceNames(t, spans, tc.WantServiceNameV0.Defaults) + }) + t.Run("v1_dd_service", func(t *testing.T) { + t.Setenv("DD_SERVICE", TestDDService) + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v1") + spans := tc.GenSpans(t, "") + assertServiceNames(t, spans, RepeatString(TestDDService, len(tc.WantServiceNameV0.DDService))) + }) + t.Run("v1_dd_service_and_override", func(t *testing.T) { + t.Setenv("DD_SERVICE", TestDDService) + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v1") + spans := tc.GenSpans(t, TestServiceOverride) + assertServiceNames(t, spans, RepeatString(TestServiceOverride, len(tc.WantServiceNameV0.ServiceOverride))) + }) + }) + + t.Run("SpanName", func(t *testing.T) { + t.Run("v0", func(t *testing.T) { + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v0") + spans := tc.GenSpans(t, "") + tc.AssertOpV0(t, spans) + }) + t.Run("v1", func(t *testing.T) { + t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v1") + spans := tc.GenSpans(t, "") + tc.AssertOpV1(t, spans) + }) + }) + }) +} + +func assertServiceNames(t *testing.T, spans []*mocktracer.Span, wantServiceNames []string) { + t.Helper() + require.Len(t, spans, len(wantServiceNames), "the number of spans and number of assertions should be the same") + for i := 0; i < len(spans); i++ { + want, got, spanName := wantServiceNames[i], spans[i].Tag(ext.ServiceName), spans[i].OperationName() + if want == "" { + assert.Empty(t, got, "expected empty service name tag for span: %s", spanName) + } else { + assert.Equal(t, want, got, "incorrect service name for span: %s", spanName) + } + } +} diff --git a/instrumentation/internal/namingschematest/harness/kafka.go b/instrumentation/internal/namingschematest/harness/kafka.go new file mode 100644 index 0000000000..3d9eaf482e --- /dev/null +++ b/instrumentation/internal/namingschematest/harness/kafka.go @@ -0,0 +1,39 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package harness + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +// KafkaTestCase creates a new test case for different Kafka libraries. +func KafkaTestCase(pkg instrumentation.Package, genSpans GenSpansFn) TestCase { + return TestCase{ + Name: pkg, + GenSpans: genSpans, + WantServiceNameV0: ServiceNameAssertions{ + Defaults: []string{"kafka", "kafka"}, + DDService: []string{"kafka", TestDDService}, + ServiceOverride: []string{TestServiceOverride, TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "kafka.produce", spans[0].OperationName()) + assert.Equal(t, "kafka.consume", spans[1].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "kafka.send", spans[0].OperationName()) + assert.Equal(t, "kafka.process", spans[1].OperationName()) + }, + } +} diff --git a/instrumentation/internal/namingschematest/harness/utils.go b/instrumentation/internal/namingschematest/harness/utils.go new file mode 100644 index 0000000000..27c7231fe5 --- /dev/null +++ b/instrumentation/internal/namingschematest/harness/utils.go @@ -0,0 +1,14 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package harness + +func RepeatString(s string, n int) []string { + r := make([]string, 0, n) + for i := 0; i < n; i++ { + r = append(r, s) + } + return r +} diff --git a/instrumentation/internal/namingschematest/httptreemux_v5_test.go b/instrumentation/internal/namingschematest/httptreemux_v5_test.go new file mode 100644 index 0000000000..ebe0e0562a --- /dev/null +++ b/instrumentation/internal/namingschematest/httptreemux_v5_test.go @@ -0,0 +1,55 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "net/http" + "net/http/httptest" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + httptrace "github.com/DataDog/dd-trace-go/contrib/dimfeld/httptreemux.v5/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var httpTreeMuxTestCase = harness.TestCase{ + Name: instrumentation.PackageDimfeldHTTPTreeMuxV5, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []httptrace.RouterOption + if serviceOverride != "" { + opts = append(opts, httptrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + mux := httptrace.New(opts...) + mux.GET("/200", func(w http.ResponseWriter, _ *http.Request, _ map[string]string) { + w.Write([]byte("OK\n")) + }) + r := httptest.NewRequest("GET", "/200", nil) + w := httptest.NewRecorder() + mux.ServeHTTP(w, r) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"http.router"}, + DDService: []string{harness.TestDDService}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.request", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.server.request", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/main_test.go b/instrumentation/internal/namingschematest/main_test.go index 2b3d6bb0f5..019dd2dd5d 100644 --- a/instrumentation/internal/namingschematest/main_test.go +++ b/instrumentation/internal/namingschematest/main_test.go @@ -1,51 +1,35 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( - "os" - "strings" "testing" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - - "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" ) -const ( - testDDService = "dd-service" - testServiceOverride = "service-override" -) - -type assertSpansFn func(t *testing.T, spans []*mocktracer.Span) - -type serviceNameAssertions struct { - defaults []string - ddService []string - serviceOverride []string -} - -type testCase struct { - name instrumentation.Package - genSpans func(t *testing.T, serviceOverride string) []*mocktracer.Span - wantServiceNameV0 serviceNameAssertions - assertOpV0 assertSpansFn - assertOpV1 assertSpansFn -} - func TestNamingSchema(t *testing.T) { - if _, ok := os.LookupEnv("INTEGRATION"); !ok { - t.Skip("🚧 Skipping integration test (INTEGRATION environment variable is not set)") - } - t.Setenv("__DD_TRACE_NAMING_SCHEMA_TEST", "1") - - testCases := []testCase{ + testCases := []harness.TestCase{ gqlgen, awsSDKV1, awsSDKV1Messaging, awsSDKV2, awsSDKV2Messaging, + // confluentKafkaV1, // this one lives in a separate package due to build errors + confluentKafkaV2, + databaseSQL_SQLServer, + databaseSQL_Postgres, + databaseSQL_PostgresWithRegisterOverride, + databaseSQL_MySQL, + httpTreeMuxTestCase, + elasticV6, + goRestfulV3, + ginGonicGin, + globalsignMgo, + goMongodbOrgMongoDriver, netHTTPServer, netHTTPClient, gomemcache, @@ -53,82 +37,6 @@ func TestNamingSchema(t *testing.T) { urfaveNegroni, } for _, tc := range testCases { - t.Run(strings.ReplaceAll(string(tc.name), "/", "_"), func(t *testing.T) { - t.Run("ServiceName", func(t *testing.T) { - // v0 - t.Run("v0_defaults", func(t *testing.T) { - t.Setenv("DD_SERVICE", "") - t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v0") - spans := tc.genSpans(t, "") - assertServiceNames(t, spans, tc.wantServiceNameV0.defaults) - }) - t.Run("v0_dd_service", func(t *testing.T) { - t.Setenv("DD_SERVICE", testDDService) - t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v0") - spans := tc.genSpans(t, "") - assertServiceNames(t, spans, tc.wantServiceNameV0.ddService) - }) - t.Run("v0_dd_service_and_override", func(t *testing.T) { - t.Setenv("DD_SERVICE", testDDService) - t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v0") - spans := tc.genSpans(t, testServiceOverride) - assertServiceNames(t, spans, tc.wantServiceNameV0.serviceOverride) - }) - - // v1 - t.Run("v1_defaults", func(t *testing.T) { - t.Setenv("DD_SERVICE", "") - t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v1") - spans := tc.genSpans(t, "") - assertServiceNames(t, spans, tc.wantServiceNameV0.defaults) - }) - t.Run("v1_dd_service", func(t *testing.T) { - t.Setenv("DD_SERVICE", testDDService) - t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v1") - spans := tc.genSpans(t, "") - assertServiceNames(t, spans, repeatString(testDDService, len(tc.wantServiceNameV0.ddService))) - }) - t.Run("v1_dd_service_and_override", func(t *testing.T) { - t.Setenv("DD_SERVICE", testDDService) - t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v1") - spans := tc.genSpans(t, testServiceOverride) - assertServiceNames(t, spans, repeatString(testServiceOverride, len(tc.wantServiceNameV0.serviceOverride))) - }) - }) - - t.Run("SpanName", func(t *testing.T) { - t.Run("v0", func(t *testing.T) { - t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v0") - spans := tc.genSpans(t, "") - tc.assertOpV0(t, spans) - }) - t.Run("v1", func(t *testing.T) { - t.Setenv("DD_TRACE_SPAN_ATTRIBUTE_SCHEMA", "v1") - spans := tc.genSpans(t, "") - tc.assertOpV1(t, spans) - }) - }) - }) - } -} - -func assertServiceNames(t *testing.T, spans []*mocktracer.Span, wantServiceNames []string) { - t.Helper() - require.Len(t, spans, len(wantServiceNames), "the number of spans and number of assertions should be the same") - for i := 0; i < len(spans); i++ { - want, got, spanName := wantServiceNames[i], spans[i].Tag(ext.ServiceName), spans[i].OperationName() - if want == "" { - assert.Empty(t, got, "expected empty service name tag for span: %s", spanName) - } else { - assert.Equal(t, want, got, "incorrect service name for span: %s", spanName) - } - } -} - -func repeatString(s string, n int) []string { - r := make([]string, 0, n) - for i := 0; i < n; i++ { - r = append(r, s) + harness.RunTest(t, tc) } - return r } diff --git a/instrumentation/internal/namingschematest/mgo_test.go b/instrumentation/internal/namingschematest/mgo_test.go new file mode 100644 index 0000000000..d6cb951d79 --- /dev/null +++ b/instrumentation/internal/namingschematest/mgo_test.go @@ -0,0 +1,49 @@ +package namingschematest + +import ( + "testing" + + "github.com/globalsign/mgo/bson" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + mgotrace "github.com/DataDog/dd-trace-go/contrib/globalsign/mgo/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var globalsignMgo = harness.TestCase{ + Name: instrumentation.PackageGlobalsignMgo, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []mgotrace.DialOption + if serviceOverride != "" { + opts = append(opts, mgotrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + session, err := mgotrace.Dial("localhost:27017", opts...) + require.NoError(t, err) + err = session. + DB("my_db"). + C("MyCollection"). + Insert(bson.D{bson.DocElem{Name: "entity", Value: bson.DocElem{Name: "index", Value: 0}}}) + require.NoError(t, err) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"mongodb"}, + DDService: []string{"mongodb"}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "mongodb.query", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "mongodb.query", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/mongodriver_test.go b/instrumentation/internal/namingschematest/mongodriver_test.go new file mode 100644 index 0000000000..fc7dcfce04 --- /dev/null +++ b/instrumentation/internal/namingschematest/mongodriver_test.go @@ -0,0 +1,57 @@ +package namingschematest + +import ( + "context" + "fmt" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/mongo" + "go.mongodb.org/mongo-driver/mongo/options" + + mongotrace "github.com/DataDog/dd-trace-go/contrib/go.mongodb.org/mongo-driver/v2/mongo" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var goMongodbOrgMongoDriver = harness.TestCase{ + Name: instrumentation.PackageGoMongoDBOrgMongoDriver, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []mongotrace.Option + if serviceOverride != "" { + opts = append(opts, mongotrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + addr := fmt.Sprintf("mongodb://localhost:27017/?connect=direct") + mongopts := options.Client() + mongopts.Monitor = mongotrace.NewMonitor(opts...) + mongopts.ApplyURI(addr) + client, err := mongo.Connect(context.Background(), mongopts) + require.NoError(t, err) + _, err = client. + Database("test-database"). + Collection("test-collection"). + InsertOne(context.Background(), bson.D{{Key: "test-item", Value: "test-value"}}) + require.NoError(t, err) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"mongo"}, + DDService: []string{"mongo"}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "mongodb.query", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "mongodb.query", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/negroni_test.go b/instrumentation/internal/namingschematest/negroni_test.go index bb196e6da6..adf6ffa7ac 100644 --- a/instrumentation/internal/namingschematest/negroni_test.go +++ b/instrumentation/internal/namingschematest/negroni_test.go @@ -10,17 +10,19 @@ import ( "net/http/httptest" "testing" - negronitrace "github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2" - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/urfave/negroni" + + negronitrace "github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -var urfaveNegroni = testCase{ - name: instrumentation.PackageUrfaveNegroni, - genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { +var urfaveNegroni = harness.TestCase{ + Name: instrumentation.PackageUrfaveNegroni, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { var opts []negronitrace.Option if serviceOverride != "" { opts = append(opts, negronitrace.WithService(serviceOverride)) @@ -42,16 +44,16 @@ var urfaveNegroni = testCase{ return mt.FinishedSpans() }, - wantServiceNameV0: serviceNameAssertions{ - defaults: []string{"negroni.router"}, - ddService: []string{testDDService}, - serviceOverride: []string{testServiceOverride}, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"negroni.router"}, + DDService: []string{harness.TestDDService}, + ServiceOverride: []string{harness.TestServiceOverride}, }, - assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 1) assert.Equal(t, "http.request", spans[0].OperationName()) }, - assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 1) assert.Equal(t, "http.server.request", spans[0].OperationName()) }, diff --git a/instrumentation/internal/namingschematest/net_http_test.go b/instrumentation/internal/namingschematest/net_http_test.go index a6d9839c96..6a4b21e630 100644 --- a/instrumentation/internal/namingschematest/net_http_test.go +++ b/instrumentation/internal/namingschematest/net_http_test.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( @@ -9,14 +14,15 @@ import ( "github.com/stretchr/testify/require" httptrace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) var ( - netHTTPServer = testCase{ - name: instrumentation.PackageNetHTTP + "_server", - genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + netHTTPServer = harness.TestCase{ + Name: instrumentation.PackageNetHTTP + "_server", + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { var opts []httptrace.Option if serviceOverride != "" { opts = append(opts, httptrace.WithService(serviceOverride)) @@ -32,24 +38,24 @@ var ( return mt.FinishedSpans() }, - wantServiceNameV0: serviceNameAssertions{ - defaults: []string{"http.router"}, - ddService: []string{testDDService}, - serviceOverride: []string{testServiceOverride}, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"http.router"}, + DDService: []string{harness.TestDDService}, + ServiceOverride: []string{harness.TestServiceOverride}, }, - assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 1) assert.Equal(t, "http.request", spans[0].OperationName()) }, - assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 1) assert.Equal(t, "http.server.request", spans[0].OperationName()) }, } - netHTTPClient = testCase{ - name: instrumentation.PackageNetHTTP + "_client", - genSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + netHTTPClient = harness.TestCase{ + Name: instrumentation.PackageNetHTTP + "_client", + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { var opts []httptrace.RoundTripperOption if serviceOverride != "" { opts = append(opts, httptrace.WithService(serviceOverride)) @@ -69,16 +75,16 @@ var ( return mt.FinishedSpans() }, - wantServiceNameV0: serviceNameAssertions{ - defaults: []string{""}, - ddService: []string{""}, - serviceOverride: []string{testServiceOverride}, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{""}, + DDService: []string{""}, + ServiceOverride: []string{harness.TestServiceOverride}, }, - assertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 1) assert.Equal(t, "http.request", spans[0].OperationName()) }, - assertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { require.Len(t, spans, 1) assert.Equal(t, "http.client.request", spans[0].OperationName()) }, diff --git a/instrumentation/logger.go b/instrumentation/logger.go index a364dde1df..366404e90a 100644 --- a/instrumentation/logger.go +++ b/instrumentation/logger.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package instrumentation import "github.com/DataDog/dd-trace-go/v2/internal/log" diff --git a/instrumentation/packages.go b/instrumentation/packages.go index 1e27ab03b8..a1ca50dbe9 100644 --- a/instrumentation/packages.go +++ b/instrumentation/packages.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package instrumentation import ( @@ -10,14 +15,20 @@ import ( type Package string const ( - Package99DesignsGQLGen Package = "99designs/gqlgen" - PackageAWSSDKGo Package = "aws/aws-sdk-go" - PackageAWSSDKGoV2 Package = "aws/aws-sdk-go-v2" - PackageBradfitzGoMemcache Package = "bradfitz/gomemcache" - PackageCloudGoogleComPubsub Package = "cloud.google.com/go/pubsub.v1" - PackageConfluentKafkaGo Package = "confluentinc/confluent-kafka-go/kafka" - PackageConfluentKafkaGoV2 Package = "confluentinc/confluent-kafka-go/kafka.v2" - + Package99DesignsGQLGen Package = "99designs/gqlgen" + PackageAWSSDKGo Package = "aws/aws-sdk-go" + PackageAWSSDKGoV2 Package = "aws/aws-sdk-go-v2" + PackageBradfitzGoMemcache Package = "bradfitz/gomemcache" + PackageCloudGoogleComPubsub Package = "cloud.google.com/go/pubsub.v1" + PackageConfluentKafkaGo Package = "confluentinc/confluent-kafka-go/kafka" + PackageConfluentKafkaGoV2 Package = "confluentinc/confluent-kafka-go/kafka.v2" + PackageDatabaseSQL Package = "database/sql" + PackageDimfeldHTTPTreeMuxV5 Package = "dimfeld/httptreemux.v5" + PackageGoElasticSearchV6 Package = "elastic/go-elasticsearch.v6" + PackageEmickleiGoRestfulV3 Package = "emicklei/go-restful.v3" + PackageGinGonicGin Package = "gin-gonic/gin" + PackageGlobalsignMgo Package = "globalsign/mgo" + PackageGoMongoDBOrgMongoDriver Package = "go.mongodb.org/mongo-driver" // TODO: ... PackageNetHTTP Package = "net/http" @@ -118,7 +129,7 @@ var packages = map[Package]PackageInfo{ }, }, PackageCloudGoogleComPubsub: { - TracedPackage: "", + TracedPackage: "cloud.google.com/go/pubsub", EnvVarPrefix: "GCP_PUBSUB", naming: map[Component]componentNames{ ComponentConsumer: { @@ -135,8 +146,136 @@ var packages = map[Package]PackageInfo{ }, }, }, + PackageConfluentKafkaGo: { + TracedPackage: "github.com/confluentinc/confluent-kafka-go", + EnvVarPrefix: "KAFKA", + naming: map[Component]componentNames{ + ComponentConsumer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("kafka"), + buildOpNameV0: staticName("kafka.consume"), + buildOpNameV1: staticName("kafka.process"), + }, + ComponentProducer: { + useDDServiceV0: false, + buildServiceNameV0: staticName("kafka"), + buildOpNameV0: staticName("kafka.produce"), + buildOpNameV1: staticName("kafka.send"), + }, + }, + }, + PackageConfluentKafkaGoV2: { + TracedPackage: "github.com/confluentinc/confluent-kafka-go/v2", + EnvVarPrefix: "KAFKA", + naming: map[Component]componentNames{ + ComponentConsumer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("kafka"), + buildOpNameV0: staticName("kafka.consume"), + buildOpNameV1: staticName("kafka.process"), + }, + ComponentProducer: { + useDDServiceV0: false, + buildServiceNameV0: staticName("kafka"), + buildOpNameV0: staticName("kafka.produce"), + buildOpNameV1: staticName("kafka.send"), + }, + }, + }, + PackageDatabaseSQL: { + TracedPackage: "database/sql", + EnvVarPrefix: "SQL", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: func(opCtx OperationContext) string { + if svc := opCtx["registerService"]; svc != "" { + return svc + } + return fmt.Sprintf("%s.db", opCtx["driverName"]) + }, + buildOpNameV0: func(opCtx OperationContext) string { + return fmt.Sprintf("%s.query", opCtx["driverName"]) + }, + buildOpNameV1: func(opCtx OperationContext) string { + return fmt.Sprintf("%s.query", opCtx[ext.DBSystem]) + }, + }, + }, + }, + PackageDimfeldHTTPTreeMuxV5: { + TracedPackage: "github.com/dimfeld/httptreemux/v5", + EnvVarPrefix: "HTTPTREEMUX", + naming: map[Component]componentNames{ + ComponentServer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("http.router"), + buildOpNameV0: staticName("http.request"), + buildOpNameV1: staticName("http.server.request"), + }, + }, + }, + PackageGoElasticSearchV6: { + TracedPackage: "github.com/elastic/go-elasticsearch/v6", + EnvVarPrefix: "ELASTIC", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("elastic.client"), + buildOpNameV0: staticName("elasticsearch.query"), + buildOpNameV1: staticName("elasticsearch.query"), + }, + }, + }, + PackageEmickleiGoRestfulV3: { + TracedPackage: "github.com/emicklei/go-restful/v3", + EnvVarPrefix: "RESTFUL", + naming: map[Component]componentNames{ + ComponentServer: { + useDDServiceV0: false, + buildServiceNameV0: staticName("go-restful"), + buildOpNameV0: staticName("http.request"), + buildOpNameV1: staticName("http.server.request"), + }, + }, + }, + PackageGinGonicGin: { + TracedPackage: "github.com/gin-gonic/gin", + EnvVarPrefix: "GIN", + naming: map[Component]componentNames{ + ComponentServer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("gin.router"), + buildOpNameV0: staticName("http.request"), + buildOpNameV1: staticName("http.server.request"), + }, + }, + }, + PackageGlobalsignMgo: { + TracedPackage: "github.com/globalsign/mgo", + EnvVarPrefix: "MGO", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("mongodb"), + buildOpNameV0: staticName("mongodb.query"), + buildOpNameV1: staticName("mongodb.query"), + }, + }, + }, + PackageGoMongoDBOrgMongoDriver: { + TracedPackage: "go.mongodb.org/mongo-driver", + EnvVarPrefix: "MONGO", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("mongo"), + buildOpNameV0: staticName("mongodb.query"), + buildOpNameV1: staticName("mongodb.query"), + }, + }, + }, PackageNetHTTP: { - external: false, TracedPackage: "net/http", EnvVarPrefix: "HTTP", naming: map[Component]componentNames{ @@ -147,6 +286,7 @@ var packages = map[Package]PackageInfo{ buildOpNameV1: staticName("http.server.request"), }, ComponentClient: { + useDDServiceV0: false, buildServiceNameV0: staticName(""), buildOpNameV0: staticName("http.request"), buildOpNameV1: staticName("http.client.request"), @@ -219,101 +359,3 @@ func isAWSMessagingSendOp(awsService, awsOperation string) bool { } return false } - -// -//func opV1(t IntegrationType) string { -// switch t { -// // Client/Server -// case HTTPClient: -// return "http.client.request" -// case HTTPServer: -// return "http.server.request" -// case GRPCClient: -// return "grpc.client.request" -// case GRPCServer: -// return "grpc.server.request" -// case GraphqlServer: -// return "graphql.server.request" -// case TwirpClient: -// return "twirp.client.request" -// case TwirpServer: -// return "twirp.server.request" -// -// // Messaging -// case KafkaOutbound: -// return "kafka.send" -// case KafkaInbound: -// return "kafka.process" -// case GCPPubSubInbound: -// return "gcp.pubsub.process" -// case GCPPubSubOutbound: -// return "gcp.pubsub.send" -// -// // Cache -// case MemcachedOutbound: -// return "memcached.command" -// case RedisOutbound: -// return "redis.command" -// -// // Database -// case ElasticSearchOutbound: -// return "elasticsearch.query" -// case MongoDBOutbound: -// return "mongodb.query" -// case CassandraOutbound: -// return "cassandra.query" -// case LevelDBOutbound: -// return "leveldb.query" -// case BuntDBOutbound: -// return "buntdb.query" -// case ConsulOutbound: -// return "consul.query" -// case VaultOutbound: -// return "vault.query" -// } -// return "" -//} -// -//func opV0(t IntegrationType) string { -// switch t { -// case HTTPClient, HTTPServer: -// return "http.request" -// case GRPCClient: -// return "grpc.client" -// case GRPCServer: -// return "grpc.server" -// case GraphqlServer: -// return "graphql.request" -// case TwirpClient: -// return "twirp.request" -// case TwirpServer: -// return "twirp.request" -// case KafkaOutbound: -// return "kafka.produce" -// case KafkaInbound: -// return "kafka.consume" -// case GCPPubSubInbound: -// return "pubsub.receive" -// case GCPPubSubOutbound: -// return "pubsub.publish" -// case MemcachedOutbound: -// return "memcached.query" -// case RedisOutbound: -// return "redis.command" -// case ElasticSearchOutbound: -// return "elasticsearch.query" -// case MongoDBOutbound: -// return "mongodb.query" -// case CassandraOutbound: -// return "cassandra.query" -// case LevelDBOutbound: -// return "leveldb.query" -// case BuntDBOutbound: -// return "buntdb.query" -// case ConsulOutbound: -// return "consul.command" -// case VaultOutbound: -// return "http.request" -// } -// return "" -//} diff --git a/internal/contrib/sqltest/sqltest.go b/instrumentation/testutils/sql/sql.go similarity index 98% rename from internal/contrib/sqltest/sqltest.go rename to instrumentation/testutils/sql/sql.go index cb2cc04b7e..5bf2474657 100644 --- a/internal/contrib/sqltest/sqltest.go +++ b/instrumentation/testutils/sql/sql.go @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016 Datadog, Inc. -package sqltest // import "github.com/DataDog/dd-trace-go/contrib/internal/contrib/sqltest/v2" +package sql import ( "context" diff --git a/instrumentation/testutils/testutils.go b/instrumentation/testutils/testutils.go index 5892f52884..67606639e1 100644 --- a/instrumentation/testutils/testutils.go +++ b/instrumentation/testutils/testutils.go @@ -1,11 +1,13 @@ package testutils import ( - "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" "testing" + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/internal/appsec" "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/internal/statsdtest" ) func SetGlobalServiceName(t *testing.T, val string) { @@ -26,6 +28,15 @@ func SetGlobalAnalyticsRate(t *testing.T, val float64) { globalconfig.SetAnalyticsRate(val) } +func SetGlobalDogstatsdAddr(t *testing.T, val string) { + t.Helper() + prev := globalconfig.DogstatsdAddr() + t.Cleanup(func() { + globalconfig.SetDogstatsdAddr(prev) + }) + globalconfig.SetDogstatsdAddr(val) +} + func SetGlobalHeaderTags(t *testing.T, headers ...string) { t.Helper() @@ -48,6 +59,11 @@ func SetGlobalHeaderTags(t *testing.T, headers ...string) { setValue(headers) } +func StartAppSec(t *testing.T) { + appsec.Start() + t.Cleanup(appsec.Stop) +} + type discardLogger struct{} func (d discardLogger) Log(_ string) {} @@ -55,3 +71,9 @@ func (d discardLogger) Log(_ string) {} func DiscardLogger() tracer.Logger { return discardLogger{} } + +type MockStatsdClient = statsdtest.TestStatsdClient + +func NewMockStatsdClient() MockStatsdClient { + return MockStatsdClient{} +} diff --git a/internal/contrib/httptracemock/httptracemock.go b/internal/contrib/httptracemock/httptracemock.go index 10240fc14c..653a43c65a 100644 --- a/internal/contrib/httptracemock/httptracemock.go +++ b/internal/contrib/httptracemock/httptracemock.go @@ -10,9 +10,9 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/httptrace" "github.com/DataDog/dd-trace-go/v2/internal/appsec" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/httpsec" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" ) // ServeMux is an HTTP request multiplexer that traces all the incoming requests. diff --git a/tools/fixmodules/main.go b/tools/fixmodules/main.go index c3a00505dc..690679f421 100644 --- a/tools/fixmodules/main.go +++ b/tools/fixmodules/main.go @@ -10,10 +10,15 @@ import ( "encoding/json" "flag" "fmt" + "go/ast" + "go/parser" + "go/token" + "io/fs" "log" "os" "os/exec" "path/filepath" + "slices" "sort" "strings" ) @@ -22,7 +27,7 @@ const goVersion = "1.21" func init() { flag.Usage = func() { - fmt.Fprintf(os.Stderr, "Usage: %s \n", os.Args[0]) + fmt.Fprintf(os.Stderr, "Usage: %s [fix-dir]\n", os.Args[0]) flag.PrintDefaults() } } @@ -72,7 +77,7 @@ type ( func main() { flag.Parse() - if flag.NArg() != 1 { + if flag.NArg() < 1 || flag.NArg() > 2 { flag.Usage() os.Exit(2) } @@ -84,50 +89,87 @@ func main() { if resolved, err := os.Readlink(root); err == nil { root = resolved } - log.Printf("finding modules recursively from %s\n", root) + fixDir := flag.Arg(1) + if fixDir == "" { + fixDir = root + } + fixDir, err = filepath.Abs(fixDir) + if err != nil { + log.Fatal(err) + } + if resolved, err := os.Readlink(fixDir); err == nil { + fixDir = resolved + } - modules := make(map[string]*GoMod) - if err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { + log.Printf("finding modules recursively from %s\n", fixDir) + + fixModules, err := findModules(fixDir) + if err != nil { + log.Fatal(err) + } + allModules, err := findModules(root) + if err != nil { + log.Fatal(err) + } + + for _, modPath := range sortedKeys(fixModules) { + mod := fixModules[modPath] + + files, err := getModGoFiles(mod) if err != nil { - return err + log.Fatal(err) } - if !info.IsDir() { - if info.Name() == "go.mod" { - m, err := readModule(path) - if err != nil { - return err + imports, err := findImports(files) + if err != nil { + log.Fatal(err) + } + + replacesSet := make(map[string]Replace) + for _, im := range imports { + if im == mod.Module.Path { + // exclude self + continue + } + // the module name and the import path might be different (when the imported package is a sub-package) + importModule := im + if strings.HasPrefix(im, "github.com/DataDog/dd-trace-go") { + if left, _, ok := strings.Cut(im, "/v2"); ok { + fmt.Println(left) + importModule = left + "/v2" } - modules[m.Module.Path] = m } - return nil - } - if name := info.Name(); name != root && strings.HasPrefix(name, ".") { - return filepath.SkipDir + // it's a local module + _, ok := allModules[importModule] + if ok { + rep := getLocalReplace(allModules, modPath, importModule) + replacesSet[rep.Old.Path] = rep + } } - return nil - }); err != nil { - log.Fatal(err) - } - - for _, modPath := range sortedKeys(modules) { - mod := modules[modPath] - - var replaces []Replace for _, require := range mod.Require { // it's a local module - _, ok := modules[require.Path] + _, ok := allModules[require.Path] if ok { - replaces = append(replaces, getLocalReplace(modules, modPath, require.Path)) + rep := getLocalReplace(allModules, modPath, require.Path) + replacesSet[rep.Old.Path] = rep } } + var replaces []Replace + for _, r := range replacesSet { + replaces = append(replaces, r) + } + slices.SortFunc(replaces, func(a, b Replace) int { + return cmp.Compare(a.Old.Path, b.Old.Path) + }) + log.Printf("fixing module: %s", modPath) - if err := fixModule(modules, mod, replaces); err != nil { + log.Printf(" need replaces: %v", replaces) + if err := fixModule(allModules, mod, replaces); err != nil { log.Fatal(err) } } } -func getLocalReplace(mods map[string]*GoMod, mod, require string) Replace { +func getLocalReplace(mods map[string]GoMod, mod, require string) Replace { mDir := mods[mod].dir rDir := mods[require].dir @@ -147,21 +189,21 @@ func getLocalReplace(mods map[string]*GoMod, mod, require string) Replace { } } -func readModule(path string) (*GoMod, error) { +func readModule(path string) (GoMod, error) { cmd := exec.Command("go", "mod", "edit", "-json", path) cmd.Stderr = os.Stderr output, err := cmd.Output() if err != nil { - return nil, err + return GoMod{}, err } m := GoMod{dir: filepath.Dir(path)} if err := json.Unmarshal(output, &m); err != nil { - return nil, err + return GoMod{}, err } - return &m, nil + return m, nil } -func fixModule(mods map[string]*GoMod, mod *GoMod, replaces []Replace) error { +func fixModule(mods map[string]GoMod, mod GoMod, replaces []Replace) error { // first, clean previous local replaces for _, replace := range mod.Replace { if _, ok := mods[replace.Old.Path]; ok { @@ -219,3 +261,81 @@ func sortedKeys[K cmp.Ordered, V any](m map[K]V) []K { sort.Slice(keys, func(i, j int) bool { return keys[i] < keys[j] }) return keys } + +func findModules(root string) (map[string]GoMod, error) { + modules := make(map[string]GoMod) + if err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { + if err != nil { + return err + } + if !info.IsDir() { + if info.Name() == "go.mod" { + m, err := readModule(path) + if err != nil { + return err + } + modules[m.Module.Path] = m + } + return nil + } + if name := info.Name(); name != root && strings.HasPrefix(name, ".") { + return filepath.SkipDir + } + return nil + }); err != nil { + return nil, err + } + return modules, nil +} + +func getModGoFiles(mod GoMod) ([]string, error) { + var goFiles []string + foundGoMod := false + + err := filepath.WalkDir(mod.dir, func(path string, d fs.DirEntry, err error) error { + if d.Name() == "go.mod" { + if foundGoMod { + return fs.SkipAll + } + foundGoMod = true + } + if filepath.Ext(path) == ".go" { + goFiles = append(goFiles, path) + } + return nil + }) + if err != nil { + return nil, err + } + return goFiles, nil +} + +func findImports(goFiles []string) ([]string, error) { + importSet := make(map[string]bool) + fset := token.NewFileSet() + + for _, goFile := range goFiles { + f, err := parser.ParseFile(fset, goFile, nil, parser.ImportsOnly) + if err != nil { + return nil, err + } + for _, decl := range f.Decls { + genDecl, ok := decl.(*ast.GenDecl) + if !ok || genDecl.Tok != token.IMPORT { + continue + } + for _, spec := range genDecl.Specs { + importSpec := spec.(*ast.ImportSpec) + + importSet[strings.Trim(importSpec.Path.Value, "\"")] = true + } + } + } + + var imports []string + for k, _ := range importSet { + imports = append(imports, k) + } + sort.Strings(imports) + return imports, nil +} From f376fa448b517d4faa8b734fdd35902f55833874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Thu, 22 Aug 2024 13:16:45 +0200 Subject: [PATCH 06/21] v2: feat(contrib): migrate twitchtv/twirp, tidwall/buntdb, syndtr/goleveldb/leveldb, Shopify/sarama, sirupsen/logrus (#2826) --- contrib/Shopify/sarama/option.go | 20 ++- contrib/Shopify/sarama/sarama.go | 20 ++- contrib/Shopify/sarama/sarama_test.go | 69 ----------- contrib/sirupsen/logrus/logrus.go | 7 +- contrib/syndtr/goleveldb/leveldb/leveldb.go | 10 +- .../syndtr/goleveldb/leveldb/leveldb_test.go | 46 +------ contrib/syndtr/goleveldb/leveldb/option.go | 17 +-- contrib/tidwall/buntdb/buntdb.go | 10 +- contrib/tidwall/buntdb/buntdb_test.go | 50 +------- contrib/tidwall/buntdb/option.go | 16 +-- contrib/twitchtv/twirp/option.go | 21 +--- contrib/twitchtv/twirp/twirp.go | 40 +++--- contrib/twitchtv/twirp/twirp_test.go | 62 +--------- go.work.sum | 4 + .../internal/namingschematest/main_test.go | 4 + .../namingschematest/shopify_sarama.go | 98 +++++++++++++++ .../namingschematest/syndtr_goleveldb.go | 51 ++++++++ .../namingschematest/tidwall_buntdb.go | 53 ++++++++ .../internal/namingschematest/twirp_test.go | 116 ++++++++++++++++++ instrumentation/packages.go | 75 +++++++++++ 20 files changed, 477 insertions(+), 312 deletions(-) create mode 100644 instrumentation/internal/namingschematest/shopify_sarama.go create mode 100644 instrumentation/internal/namingschematest/syndtr_goleveldb.go create mode 100644 instrumentation/internal/namingschematest/tidwall_buntdb.go create mode 100644 instrumentation/internal/namingschematest/twirp_test.go diff --git a/contrib/Shopify/sarama/option.go b/contrib/Shopify/sarama/option.go index 38e95d7c81..605c37751c 100644 --- a/contrib/Shopify/sarama/option.go +++ b/contrib/Shopify/sarama/option.go @@ -8,8 +8,7 @@ package sarama import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const defaultServiceName = "kafka" @@ -25,20 +24,15 @@ type config struct { } func defaults(cfg *config) { - cfg.consumerServiceName = namingschema.ServiceName(defaultServiceName) - cfg.producerServiceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) + cfg.consumerServiceName = instr.ServiceName(instrumentation.ComponentConsumer, nil) + cfg.producerServiceName = instr.ServiceName(instrumentation.ComponentProducer, nil) - cfg.consumerSpanName = namingschema.OpName(namingschema.KafkaInbound) - cfg.producerSpanName = namingschema.OpName(namingschema.KafkaOutbound) + cfg.consumerSpanName = instr.OperationName(instrumentation.ComponentConsumer, nil) + cfg.producerSpanName = instr.OperationName(instrumentation.ComponentProducer, nil) - cfg.dataStreamsEnabled = internal.BoolEnv("DD_DATA_STREAMS_ENABLED", false) + cfg.dataStreamsEnabled = instr.DataStreamsEnabled() - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_SARAMA_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.analyticsRate = instr.AnalyticsRate(false) } // Option describes options for the Sarama integration. diff --git a/contrib/Shopify/sarama/sarama.go b/contrib/Shopify/sarama/sarama.go index 1b02eaed25..4f7852f11a 100644 --- a/contrib/Shopify/sarama/sarama.go +++ b/contrib/Shopify/sarama/sarama.go @@ -15,17 +15,15 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/Shopify/sarama" ) -const componentName = "Shopify/sarama" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/Shopify/sarama") + instr = instrumentation.Load(instrumentation.PackageShopifySarama) } type partitionConsumer struct { @@ -47,7 +45,7 @@ func WrapPartitionConsumer(pc sarama.PartitionConsumer, opts ...Option) sarama.P for _, opt := range opts { opt.apply(cfg) } - log.Debug("contrib/Shopify/sarama: Wrapping Partition Consumer: %#v", cfg) + instr.Logger().Debug("contrib/Shopify/sarama: Wrapping Partition Consumer: %#v", cfg) wrapped := &partitionConsumer{ PartitionConsumer: pc, messages: make(chan *sarama.ConsumerMessage), @@ -63,7 +61,7 @@ func WrapPartitionConsumer(pc sarama.PartitionConsumer, opts ...Option) sarama.P tracer.SpanType(ext.SpanTypeMessageConsumer), tracer.Tag(ext.MessagingKafkaPartition, msg.Partition), tracer.Tag("offset", msg.Offset), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageShopifySarama), tracer.Tag(ext.SpanKind, ext.SpanKindConsumer), tracer.Tag(ext.MessagingSystem, ext.MessagingSystemKafka), tracer.Measured(), @@ -170,7 +168,7 @@ func WrapSyncProducer(saramaConfig *sarama.Config, producer sarama.SyncProducer, for _, opt := range opts { opt.apply(cfg) } - log.Debug("contrib/Shopify/sarama: Wrapping Sync Producer: %#v", cfg) + instr.Logger().Debug("contrib/Shopify/sarama: Wrapping Sync Producer: %#v", cfg) if saramaConfig == nil { saramaConfig = sarama.NewConfig() } @@ -214,12 +212,12 @@ func WrapAsyncProducer(saramaConfig *sarama.Config, p sarama.AsyncProducer, opts for _, opt := range opts { opt.apply(cfg) } - log.Debug("contrib/Shopify/sarama: Wrapping Async Producer: %#v", cfg) + instr.Logger().Debug("contrib/Shopify/sarama: Wrapping Async Producer: %#v", cfg) if saramaConfig == nil { saramaConfig = sarama.NewConfig() saramaConfig.Version = sarama.V0_11_0_0 } else if !saramaConfig.Version.IsAtLeast(sarama.V0_11_0_0) { - log.Error("Tracing Sarama async producer requires at least sarama.V0_11_0_0 version") + instr.Logger().Error("Tracing Sarama async producer requires at least sarama.V0_11_0_0 version") } wrapped := &asyncProducer{ AsyncProducer: p, @@ -289,7 +287,7 @@ func startProducerSpan(cfg *config, version sarama.KafkaVersion, msg *sarama.Pro tracer.ServiceName(cfg.producerServiceName), tracer.ResourceName("Produce Topic " + msg.Topic), tracer.SpanType(ext.SpanTypeMessageProducer), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageShopifySarama), tracer.Tag(ext.SpanKind, ext.SpanKindProducer), tracer.Tag(ext.MessagingSystem, ext.MessagingSystemKafka), } diff --git a/contrib/Shopify/sarama/sarama_test.go b/contrib/Shopify/sarama/sarama_test.go index 79b342dccd..a724229982 100644 --- a/contrib/Shopify/sarama/sarama_test.go +++ b/contrib/Shopify/sarama/sarama_test.go @@ -14,76 +14,11 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" "github.com/Shopify/sarama" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) -func genTestSpans(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - broker := sarama.NewMockBroker(t, 1) - defer broker.Close() - - broker.SetHandlerByMap(map[string]sarama.MockResponse{ - "MetadataRequest": sarama.NewMockMetadataResponse(t). - SetBroker(broker.Addr(), broker.BrokerID()). - SetLeader("test-topic", 0, broker.BrokerID()), - "OffsetRequest": sarama.NewMockOffsetResponse(t). - SetOffset("test-topic", 0, sarama.OffsetOldest, 0). - SetOffset("test-topic", 0, sarama.OffsetNewest, 1), - "FetchRequest": sarama.NewMockFetchResponse(t, 1). - SetMessage("test-topic", 0, 0, sarama.StringEncoder("hello")), - "ProduceRequest": sarama.NewMockProduceResponse(t). - SetError("test-topic", 0, sarama.ErrNoError), - }) - cfg := sarama.NewConfig() - cfg.Version = sarama.MinVersion - cfg.Producer.Return.Successes = true - cfg.Producer.Flush.Messages = 1 - - producer, err := sarama.NewSyncProducer([]string{broker.Addr()}, cfg) - require.NoError(t, err) - producer = WrapSyncProducer(cfg, producer, opts...) - - c, err := sarama.NewConsumer([]string{broker.Addr()}, cfg) - require.NoError(t, err) - defer func(c sarama.Consumer) { - err := c.Close() - require.NoError(t, err) - }(c) - c = WrapConsumer(c, opts...) - - msg1 := &sarama.ProducerMessage{ - Topic: "test-topic", - Value: sarama.StringEncoder("test 1"), - Metadata: "test", - } - _, _, err = producer.SendMessage(msg1) - require.NoError(t, err) - - pc, err := c.ConsumePartition("test-topic", 0, 0) - if err != nil { - t.Fatal(err) - } - _ = <-pc.Messages() - err = pc.Close() - require.NoError(t, err) - // wait for the channel to be closed - <-pc.Messages() - - spans := mt.FinishedSpans() - require.Len(t, spans, 2) - return spans -} - func TestConsumer(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() @@ -377,10 +312,6 @@ func TestAsyncProducer(t *testing.T) { }) } -func TestNamingSchema(t *testing.T) { - namingschematest.NewKafkaTest(genTestSpans)(t) -} - func newMockBroker(t *testing.T) *sarama.MockBroker { broker := sarama.NewMockBroker(t, 1) diff --git a/contrib/sirupsen/logrus/logrus.go b/contrib/sirupsen/logrus/logrus.go index 29934c76e8..9f69e273b7 100644 --- a/contrib/sirupsen/logrus/logrus.go +++ b/contrib/sirupsen/logrus/logrus.go @@ -8,16 +8,15 @@ package logrus import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/sirupsen/logrus" ) -const componentName = "sirupsen/logrus" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/sirupsen/logrus") + instr = instrumentation.Load(instrumentation.PackageSirupsenLogrus) } // DDContextLogHook ensures that any span in the log context is correlated to log output. diff --git a/contrib/syndtr/goleveldb/leveldb/leveldb.go b/contrib/syndtr/goleveldb/leveldb/leveldb.go index 466f710f9c..2a03c5c307 100644 --- a/contrib/syndtr/goleveldb/leveldb/leveldb.go +++ b/contrib/syndtr/goleveldb/leveldb/leveldb.go @@ -12,8 +12,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/syndtr/goleveldb/leveldb" "github.com/syndtr/goleveldb/leveldb/iterator" @@ -24,9 +23,10 @@ import ( const componentName = "syndtr/goleveldb/leveldb" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/syndtr/goleveldb") + instr = instrumentation.Load(instrumentation.PackageSyndtrGoLevelDB) } // A DB wraps a leveldb.DB and traces all queries. @@ -56,7 +56,7 @@ func OpenFile(path string, o *opt.Options, opts ...Option) (*DB, error) { // WrapDB wraps a leveldb.DB so that queries are traced. func WrapDB(db *leveldb.DB, opts ...Option) *DB { cfg := newConfig(opts...) - log.Debug("contrib/syndtr/goleveldb/leveldb: Wrapping DB: %#v", cfg) + instr.Logger().Debug("contrib/syndtr/goleveldb/leveldb: Wrapping DB: %#v", cfg) return &DB{ DB: db, cfg: cfg, diff --git a/contrib/syndtr/goleveldb/leveldb/leveldb_test.go b/contrib/syndtr/goleveldb/leveldb/leveldb_test.go index 3326d14df5..f91c30ff2c 100644 --- a/contrib/syndtr/goleveldb/leveldb/leveldb_test.go +++ b/contrib/syndtr/goleveldb/leveldb/leveldb_test.go @@ -12,11 +12,9 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "github.com/syndtr/goleveldb/leveldb" "github.com/syndtr/goleveldb/leveldb/opt" "github.com/syndtr/goleveldb/leveldb/storage" @@ -183,9 +181,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -208,44 +204,8 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) } - -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - db, err := Open(storage.NewMemStorage(), &opt.Options{}, opts...) - require.NoError(t, err) - defer db.Close() - err = db.Put([]byte("key"), []byte("value"), nil) - require.NoError(t, err) - - return mt.FinishedSpans() - }) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "leveldb.query", spans[0].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "leveldb.query", spans[0].OperationName()) - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"leveldb"}, - WithDDService: []string{"leveldb"}, - WithDDServiceAndOverride: []string{namingschematest.TestServiceOverride}, - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} diff --git a/contrib/syndtr/goleveldb/leveldb/option.go b/contrib/syndtr/goleveldb/leveldb/option.go index e4f9af8270..8b8cb39888 100644 --- a/contrib/syndtr/goleveldb/leveldb/option.go +++ b/contrib/syndtr/goleveldb/leveldb/option.go @@ -9,12 +9,9 @@ import ( "context" "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "leveldb" - type config struct { ctx context.Context serviceName string @@ -24,14 +21,10 @@ type config struct { func newConfig(opts ...Option) *config { cfg := &config{ - serviceName: namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName), - spanName: namingschema.OpName(namingschema.LevelDBOutbound), - ctx: context.Background(), - // cfg.analyticsRate: globalconfig.AnalyticsRate(), - analyticsRate: math.NaN(), - } - if internal.BoolEnv("DD_TRACE_LEVELDB_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 + serviceName: instr.ServiceName(instrumentation.ComponentDefault, nil), + spanName: instr.OperationName(instrumentation.ComponentDefault, nil), + ctx: context.Background(), + analyticsRate: instr.AnalyticsRate(false), } for _, opt := range opts { opt.apply(cfg) diff --git a/contrib/tidwall/buntdb/buntdb.go b/contrib/tidwall/buntdb/buntdb.go index 5b7fbc7b5d..68cdbd08d2 100644 --- a/contrib/tidwall/buntdb/buntdb.go +++ b/contrib/tidwall/buntdb/buntdb.go @@ -12,17 +12,17 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/tidwall/buntdb" ) const componentName = "tidwall/buntdb" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/tidwall/buntdb") + instr = instrumentation.Load(instrumentation.PackageTidwallBuntDB) } // A DB wraps a buntdb.DB, automatically tracing any transactions. @@ -93,7 +93,7 @@ func WrapTx(tx *buntdb.Tx, opts ...Option) *Tx { for _, opt := range opts { opt.apply(cfg) } - log.Debug("contrib/tidwall/buntdb: Wrapping Transaction: %#v", cfg) + instr.Logger().Debug("contrib/tidwall/buntdb: Wrapping Transaction: %#v", cfg) return &Tx{ Tx: tx, cfg: cfg, diff --git a/contrib/tidwall/buntdb/buntdb_test.go b/contrib/tidwall/buntdb/buntdb_test.go index e14fd88dd9..82099013b6 100644 --- a/contrib/tidwall/buntdb/buntdb_test.go +++ b/contrib/tidwall/buntdb/buntdb_test.go @@ -13,11 +13,9 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "github.com/tidwall/buntdb" ) @@ -384,9 +382,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -409,52 +405,12 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) } -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - db, err := Open(":memory:", opts...) - require.NoError(t, err) - defer db.Close() - - err = db.Update(func(tx *Tx) error { - _, _, err := tx.Set("key", "value", nil) - return err - }) - require.NoError(t, err) - - return mt.FinishedSpans() - }) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "buntdb.query", spans[0].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "buntdb.query", spans[0].OperationName()) - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"buntdb"}, - WithDDService: []string{"buntdb"}, - WithDDServiceAndOverride: []string{namingschematest.TestServiceOverride}, - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} - func testUpdate(t *testing.T, name string, f func(tx *Tx) error) { mt := mocktracer.Start() defer mt.Stop() diff --git a/contrib/tidwall/buntdb/option.go b/contrib/tidwall/buntdb/option.go index 56ac244dab..9cb660a4aa 100644 --- a/contrib/tidwall/buntdb/option.go +++ b/contrib/tidwall/buntdb/option.go @@ -9,12 +9,9 @@ import ( "context" "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "buntdb" - type config struct { ctx context.Context serviceName string @@ -23,15 +20,10 @@ type config struct { } func defaults(cfg *config) { - cfg.serviceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.spanName = namingschema.OpName(namingschema.BuntDBOutbound) + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.spanName = instr.OperationName(instrumentation.ComponentDefault, nil) + cfg.analyticsRate = instr.AnalyticsRate(false) cfg.ctx = context.Background() - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_BUNTDB_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } } // Option describes options for the BuntDB integration. diff --git a/contrib/twitchtv/twirp/option.go b/contrib/twitchtv/twirp/option.go index ae43b88c90..8fac768cbd 100644 --- a/contrib/twitchtv/twirp/option.go +++ b/contrib/twitchtv/twirp/option.go @@ -8,14 +8,7 @@ package twirp import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" -) - -const ( - defaultClientServiceName = "twirp-client" - defaultServerServiceName = "twirp-server" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) type config struct { @@ -37,21 +30,17 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - if internal.BoolEnv("DD_TRACE_TWIRP_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = globalconfig.AnalyticsRate() - } + cfg.analyticsRate = instr.AnalyticsRate(true) } func clientDefaults(cfg *config) { - cfg.serviceName = namingschema.ServiceName(defaultClientServiceName) - cfg.spanName = namingschema.OpName(namingschema.TwirpClient) + cfg.serviceName = instr.ServiceName(instrumentation.ComponentClient, nil) + cfg.spanName = instr.OperationName(instrumentation.ComponentClient, nil) defaults(cfg) } func serverDefaults(cfg *config) { - cfg.serviceName = namingschema.ServiceName(defaultServerServiceName) + cfg.serviceName = instr.ServiceName(instrumentation.ComponentServer, nil) // spanName is calculated dynamically since V0 span names are based on the twirp service name. defaults(cfg) } diff --git a/contrib/twitchtv/twirp/twirp.go b/contrib/twitchtv/twirp/twirp.go index cb05d9e7fa..92f786368b 100644 --- a/contrib/twitchtv/twirp/twirp.go +++ b/contrib/twitchtv/twirp/twirp.go @@ -16,18 +16,17 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/twitchtv/twirp" ) -const componentName = "twitchtv/twirp" +const component = instrumentation.PackageTwitchTVTwirp + +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/twitchtv/twirp") + instr = instrumentation.Load(component) } type ( @@ -54,7 +53,7 @@ func WrapClient(c HTTPClient, opts ...Option) HTTPClient { for _, fn := range opts { fn.apply(cfg) } - log.Debug("contrib/twitchtv/twirp: Wrapping Client: %#v", cfg) + instr.Logger().Debug("contrib/twitchtv/twirp: Wrapping Client: %#v", cfg) return &wrappedClient{c: c, cfg: cfg} } @@ -64,7 +63,7 @@ func (wc *wrappedClient) Do(req *http.Request) (*http.Response, error) { tracer.ServiceName(wc.cfg.serviceName), tracer.Tag(ext.HTTPMethod, req.Method), tracer.Tag(ext.HTTPURL, req.URL.Path), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, component), tracer.Tag(ext.SpanKind, ext.SpanKindClient), tracer.Tag(ext.RPCSystem, ext.RPCSystemTwirp), } @@ -98,7 +97,7 @@ func (wc *wrappedClient) Do(req *http.Request) (*http.Response, error) { err := tracer.Inject(span.Context(), tracer.HTTPHeadersCarrier(req.Header)) if err != nil { - log.Warn("contrib/twitchtv/twirp.wrappedClient: failed to inject http headers: %v\n", err) + instr.Logger().Warn("contrib/twitchtv/twirp.wrappedClient: failed to inject http headers: %v\n", err) } req = req.WithContext(ctx) @@ -123,14 +122,14 @@ func WrapServer(h http.Handler, opts ...Option) http.Handler { for _, fn := range opts { fn.apply(cfg) } - log.Debug("contrib/twitchtv/twirp: Wrapping Server: %#v", cfg) + instr.Logger().Debug("contrib/twitchtv/twirp: Wrapping Server: %#v", cfg) return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { spanOpts := []tracer.StartSpanOption{ tracer.SpanType(ext.SpanTypeWeb), tracer.ServiceName(cfg.serviceName), tracer.Tag(ext.HTTPMethod, r.Method), tracer.Tag(ext.HTTPURL, r.URL.Path), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, component), tracer.Tag(ext.SpanKind, ext.SpanKindServer), tracer.Tag(ext.RPCSystem, ext.RPCSystemTwirp), tracer.Measured(), @@ -157,7 +156,7 @@ func NewServerHooks(opts ...Option) *twirp.ServerHooks { for _, fn := range opts { fn.apply(cfg) } - log.Debug("contrib/twitchtv/twirp: Creating Server Hooks: %#v", cfg) + instr.Logger().Debug("contrib/twitchtv/twirp: Creating Server Hooks: %#v", cfg) return &twirp.ServerHooks{ RequestReceived: requestReceivedHook(cfg), RequestRouted: requestRoutedHook(), @@ -168,11 +167,16 @@ func NewServerHooks(opts ...Option) *twirp.ServerHooks { } func serverSpanName(ctx context.Context) string { - serviceNameV0 := "twirp.service" + rpcService := "" if svc, ok := twirp.ServiceName(ctx); ok { - serviceNameV0 = fmt.Sprintf("twirp.%s", svc) + rpcService = svc } - return namingschema.OpNameOverrideV0(namingschema.TwirpServer, serviceNameV0) + return instr.OperationName( + instrumentation.ComponentServer, + instrumentation.OperationContext{ + ext.RPCService: rpcService, + }, + ) } func requestReceivedHook(cfg *config) func(context.Context) (context.Context, error) { @@ -181,7 +185,7 @@ func requestReceivedHook(cfg *config) func(context.Context) (context.Context, er tracer.SpanType(ext.SpanTypeWeb), tracer.ServiceName(cfg.serviceName), tracer.Measured(), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, component), tracer.Tag(ext.RPCSystem, ext.RPCSystemTwirp), } if pkg, ok := twirp.PackageName(ctx); ok { @@ -207,12 +211,12 @@ func requestRoutedHook() func(context.Context) (context.Context, error) { return func(ctx context.Context) (context.Context, error) { maybeSpan := ctx.Value(twirpSpanKey{}) if maybeSpan == nil { - log.Error("contrib/twitchtv/twirp.requestRoutedHook: found no span in context") + instr.Logger().Error("contrib/twitchtv/twirp.requestRoutedHook: found no span in context") return ctx, nil } span, ok := maybeSpan.(*tracer.Span) if !ok { - log.Error("contrib/twitchtv/twirp.requestRoutedHook: found invalid span type in context") + instr.Logger().Error("contrib/twitchtv/twirp.requestRoutedHook: found invalid span type in context") return ctx, nil } if method, ok := twirp.MethodName(ctx); ok { diff --git a/contrib/twitchtv/twirp/twirp_test.go b/contrib/twitchtv/twirp/twirp_test.go index e2fb128066..e7dea93fe1 100644 --- a/contrib/twitchtv/twirp/twirp_test.go +++ b/contrib/twitchtv/twirp/twirp_test.go @@ -15,8 +15,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -288,10 +287,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) - + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -313,10 +309,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) - + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) } @@ -344,10 +337,7 @@ func TestServiceNameSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - svc := globalconfig.ServiceName() - defer globalconfig.SetServiceName(svc) - globalconfig.SetServiceName("service.global") - + testutils.SetGlobalServiceName(t, "service.global") assertServiceName(t, mt, "service.global") }) @@ -355,10 +345,7 @@ func TestServiceNameSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - svc := globalconfig.ServiceName() - defer globalconfig.SetServiceName(svc) - globalconfig.SetServiceName("service.global") - + testutils.SetGlobalServiceName(t, "service.global") assertServiceName(t, mt, "service.local", WithService("service.local")) }) } @@ -395,45 +382,6 @@ func TestHaberdash(t *testing.T) { assert.Equal(ext.SpanTypeHTTP, spans[2].Tag(ext.SpanType)) } -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - client, cleanup := startIntegrationTestServer(t, opts...) - defer cleanup() - _, err := client.MakeHat(context.Background(), &example.Size{Inches: 6}) - require.NoError(t, err) - - return mt.FinishedSpans() - }) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 3) - assert.Equal(t, "twirp.Haberdasher", spans[0].OperationName()) - assert.Equal(t, "twirp.handler", spans[1].OperationName()) - assert.Equal(t, "twirp.request", spans[2].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 3) - assert.Equal(t, "twirp.server.request", spans[0].OperationName()) - assert.Equal(t, "twirp.handler", spans[1].OperationName()) - assert.Equal(t, "twirp.client.request", spans[2].OperationName()) - } - ddService := namingschematest.TestDDService - serviceOverride := namingschematest.TestServiceOverride - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"twirp-server", "twirp-server", "twirp-client"}, - WithDDService: []string{ddService, ddService, ddService}, - WithDDServiceAndOverride: []string{serviceOverride, serviceOverride, serviceOverride}, - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} - type haberdasher int32 func (h haberdasher) MakeHat(_ context.Context, size *example.Size) (*example.Hat, error) { diff --git a/go.work.sum b/go.work.sum index af1b47ec67..b7d52f77d6 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1167,6 +1167,7 @@ github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= +github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= @@ -1198,6 +1199,7 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe github.com/go-ini/ini v1.25.4 h1:Mujh4R/dH6YL8bxuISne3xX2+qcQ9p0IxKAP6ExWoUo= github.com/go-jose/go-jose/v3 v3.0.1 h1:pWmKFVtt+Jl0vBZTIpz/eAKwsm6LkIxDVVbFHKkchhA= github.com/go-jose/go-jose/v3 v3.0.1/go.mod h1:RNkWWRld676jZEYoV3+XK8L2ZnNSvIsxFMht0mSX+u8= +github.com/go-jose/go-jose/v3 v3.0.3 h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k= github.com/go-jose/go-jose/v3 v3.0.3/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ= github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk= github.com/go-kit/log v0.1.0 h1:DGJh0Sm43HbOeYDNnVZFl8BvcYVvjD5bqYJvp0REbwQ= @@ -1312,6 +1314,7 @@ github.com/hashicorp/go-kms-wrapping/v2 v2.0.8/go.mod h1:qTCjxGig/kjuj3hk1z8pOUr github.com/hashicorp/go-plugin v1.4.8 h1:CHGwpxYDOttQOY7HOWgETU9dyVjOXzniXDqJcYJE1zM= github.com/hashicorp/go-plugin v1.4.8/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.7.5 h1:bJj+Pj19UZMIweq/iie+1u5YCdGrnxCT9yvm0e+Nd5M= github.com/hashicorp/go-retryablehttp v0.7.5/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= github.com/hashicorp/go-secure-stdlib/base62 v0.1.2 h1:ET4pqyjiGmY09R5y+rSd70J2w45CtbWDNvGqWp/R3Ng= github.com/hashicorp/go-secure-stdlib/base62 v0.1.2/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= @@ -1329,6 +1332,7 @@ github.com/hashicorp/go.net v0.0.1 h1:sNCoNyDEvN1xa+X0baata4RdcpKwcMS6DH+xwfqPgj github.com/hashicorp/hcl/v2 v2.20.1/go.mod h1:TZDqQ4kNKCbh1iJp99FdPiUaVDDUPivbqxZulxDYqL4= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/mdns v1.0.4 h1:sY0CMhFmjIPDMlTB+HfymFHCaYLhgifZ0QhjaYKD/UQ= +github.com/hashicorp/vault/api v1.12.1 h1:WzGN4X5jrJdNO39g6Sa55djNio3I9DxEBOTmCZE7tm0= github.com/hashicorp/vault/api v1.12.1/go.mod h1:1pqP/sErScodde+ybJCyP+ONC4jzEg7Dmawg/QLWo1k= github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87 h1:xixZ2bWeofWV68J+x6AzmKuVM/JWCQwkWm6GW/MUR6I= github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= diff --git a/instrumentation/internal/namingschematest/main_test.go b/instrumentation/internal/namingschematest/main_test.go index 019dd2dd5d..00fd762606 100644 --- a/instrumentation/internal/namingschematest/main_test.go +++ b/instrumentation/internal/namingschematest/main_test.go @@ -35,6 +35,10 @@ func TestNamingSchema(t *testing.T) { gomemcache, gcpPubsub, urfaveNegroni, + twitchTVTwirp, + tidwallBuntDB, + syndtrGoLevelDB, + shopifySarama, } for _, tc := range testCases { harness.RunTest(t, tc) diff --git a/instrumentation/internal/namingschematest/shopify_sarama.go b/instrumentation/internal/namingschematest/shopify_sarama.go new file mode 100644 index 0000000000..338063c414 --- /dev/null +++ b/instrumentation/internal/namingschematest/shopify_sarama.go @@ -0,0 +1,98 @@ +package namingschematest + +import ( + "testing" + + saramatrace "github.com/DataDog/dd-trace-go/contrib/Shopify/sarama/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/Shopify/sarama" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func shopifySaramaGenSpans() harness.GenSpansFn { + return func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []saramatrace.Option + if serviceOverride != "" { + opts = append(opts, saramatrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + broker := sarama.NewMockBroker(t, 1) + defer broker.Close() + + broker.SetHandlerByMap(map[string]sarama.MockResponse{ + "MetadataRequest": sarama.NewMockMetadataResponse(t). + SetBroker(broker.Addr(), broker.BrokerID()). + SetLeader("test-topic", 0, broker.BrokerID()), + "OffsetRequest": sarama.NewMockOffsetResponse(t). + SetOffset("test-topic", 0, sarama.OffsetOldest, 0). + SetOffset("test-topic", 0, sarama.OffsetNewest, 1), + "FetchRequest": sarama.NewMockFetchResponse(t, 1). + SetMessage("test-topic", 0, 0, sarama.StringEncoder("hello")), + "ProduceRequest": sarama.NewMockProduceResponse(t). + SetError("test-topic", 0, sarama.ErrNoError), + }) + cfg := sarama.NewConfig() + cfg.Version = sarama.MinVersion + cfg.Producer.Return.Successes = true + cfg.Producer.Flush.Messages = 1 + + producer, err := sarama.NewSyncProducer([]string{broker.Addr()}, cfg) + require.NoError(t, err) + producer = saramatrace.WrapSyncProducer(cfg, producer, opts...) + + c, err := sarama.NewConsumer([]string{broker.Addr()}, cfg) + require.NoError(t, err) + defer func(c sarama.Consumer) { + err := c.Close() + require.NoError(t, err) + }(c) + c = saramatrace.WrapConsumer(c, opts...) + + msg1 := &sarama.ProducerMessage{ + Topic: "test-topic", + Value: sarama.StringEncoder("test 1"), + Metadata: "test", + } + _, _, err = producer.SendMessage(msg1) + require.NoError(t, err) + + pc, err := c.ConsumePartition("test-topic", 0, 0) + if err != nil { + t.Fatal(err) + } + _ = <-pc.Messages() + err = pc.Close() + require.NoError(t, err) + // wait for the channel to be closed + <-pc.Messages() + + spans := mt.FinishedSpans() + require.Len(t, spans, 2) + return spans + } +} + +var shopifySarama = harness.TestCase{ + Name: instrumentation.PackageShopifySarama, + GenSpans: shopifySaramaGenSpans(), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: harness.RepeatString("kafka", 2), + DDService: []string{"kafka", harness.TestDDService}, + ServiceOverride: harness.RepeatString(harness.TestServiceOverride, 2), + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "kafka.produce", spans[0].OperationName()) + assert.Equal(t, "kafka.consume", spans[1].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "kafka.send", spans[0].OperationName()) + assert.Equal(t, "kafka.process", spans[1].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/syndtr_goleveldb.go b/instrumentation/internal/namingschematest/syndtr_goleveldb.go new file mode 100644 index 0000000000..4bb41c8b05 --- /dev/null +++ b/instrumentation/internal/namingschematest/syndtr_goleveldb.go @@ -0,0 +1,51 @@ +package namingschematest + +import ( + "testing" + + leveldbtrace "github.com/DataDog/dd-trace-go/contrib/syndtr/goleveldb/v2/leveldb" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/syndtr/goleveldb/leveldb/opt" + "github.com/syndtr/goleveldb/leveldb/storage" +) + +func syndtrGoLevelDBGenSpans() harness.GenSpansFn { + return func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []leveldbtrace.Option + if serviceOverride != "" { + opts = append(opts, leveldbtrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + db, err := leveldbtrace.Open(storage.NewMemStorage(), &opt.Options{}, opts...) + require.NoError(t, err) + defer db.Close() + err = db.Put([]byte("key"), []byte("value"), nil) + require.NoError(t, err) + + return mt.FinishedSpans() + } +} + +var syndtrGoLevelDB = harness.TestCase{ + Name: instrumentation.PackageSyndtrGoLevelDB, + GenSpans: syndtrGoLevelDBGenSpans(), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"leveldb"}, + DDService: []string{"leveldb"}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "leveldb.query", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "leveldb.query", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/tidwall_buntdb.go b/instrumentation/internal/namingschematest/tidwall_buntdb.go new file mode 100644 index 0000000000..5ec5cc9a68 --- /dev/null +++ b/instrumentation/internal/namingschematest/tidwall_buntdb.go @@ -0,0 +1,53 @@ +package namingschematest + +import ( + "testing" + + buntdbtrace "github.com/DataDog/dd-trace-go/contrib/tidwall/buntdb/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func buntDBGenSpans() harness.GenSpansFn { + return func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []buntdbtrace.Option + if serviceOverride != "" { + opts = append(opts, buntdbtrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + db, err := buntdbtrace.Open(":memory:", opts...) + require.NoError(t, err) + defer db.Close() + + err = db.Update(func(tx *buntdbtrace.Tx) error { + _, _, err := tx.Set("key", "value", nil) + return err + }) + require.NoError(t, err) + + return mt.FinishedSpans() + } +} + +var tidwallBuntDB = harness.TestCase{ + Name: instrumentation.PackageTidwallBuntDB, + GenSpans: buntDBGenSpans(), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"buntdb"}, + DDService: []string{"buntdb"}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "buntdb.query", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "buntdb.query", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/twirp_test.go b/instrumentation/internal/namingschematest/twirp_test.go new file mode 100644 index 0000000000..a5449c9091 --- /dev/null +++ b/instrumentation/internal/namingschematest/twirp_test.go @@ -0,0 +1,116 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "context" + "net" + "net/http" + "testing" + + twitchtvtrace "github.com/DataDog/dd-trace-go/contrib/twitchtv/twirp/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/twitchtv/twirp" + "github.com/twitchtv/twirp/example" +) + +var twitchTVTwirp = harness.TestCase{ + Name: instrumentation.PackageTwitchTVTwirp, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []twitchtvtrace.Option + if serviceOverride != "" { + opts = append(opts, twitchtvtrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + client, cleanup := startIntegrationTestServer(t, opts...) + defer cleanup() + _, err := client.MakeHat(context.Background(), &example.Size{Inches: 6}) + require.NoError(t, err) + + return mt.FinishedSpans() + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 3) + assert.Equal(t, "twirp.Haberdasher", spans[0].OperationName()) + assert.Equal(t, "twirp.handler", spans[1].OperationName()) + assert.Equal(t, "twirp.request", spans[2].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 3) + assert.Equal(t, "twirp.server.request", spans[0].OperationName()) + assert.Equal(t, "twirp.handler", spans[1].OperationName()) + assert.Equal(t, "twirp.client.request", spans[2].OperationName()) + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"twirp-server", "twirp-server", "twirp-client"}, + DDService: harness.RepeatString(harness.TestDDService, 3), + ServiceOverride: harness.RepeatString(harness.TestServiceOverride, 3), + }, +} + +// Copied from contrib/twitchtv/twirp/twirp_test.go +type notifyListener struct { + net.Listener + ch chan<- struct{} +} + +func (n *notifyListener) Accept() (c net.Conn, err error) { + if n.ch != nil { + close(n.ch) + n.ch = nil + } + return n.Listener.Accept() +} + +type haberdasher int32 + +func (h haberdasher) MakeHat(_ context.Context, size *example.Size) (*example.Hat, error) { + if size.Inches != int32(h) { + return nil, twirp.InvalidArgumentError("Inches", "Only size of %d is allowed") + } + hat := &example.Hat{ + Size: size.Inches, + Color: "purple", + Name: "doggie beanie", + } + return hat, nil +} + +func startIntegrationTestServer(t *testing.T, opts ...twitchtvtrace.Option) (example.Haberdasher, func()) { + l, err := net.Listen("tcp4", "127.0.0.1:0") + require.NoError(t, err) + + readyCh := make(chan struct{}) + nl := ¬ifyListener{Listener: l, ch: readyCh} + + hooks := twitchtvtrace.NewServerHooks(opts...) + server := twitchtvtrace.WrapServer(example.NewHaberdasherServer(haberdasher(6), hooks), opts...) + errCh := make(chan error) + go func() { + err := http.Serve(nl, server) + if err != nil && err != http.ErrServerClosed { + errCh <- err + } + close(errCh) + }() + select { + case <-readyCh: + break + case err := <-errCh: + l.Close() + assert.FailNow(t, "server not started", err) + } + client := example.NewHaberdasherJSONClient("http://"+nl.Addr().String(), twitchtvtrace.WrapClient(http.DefaultClient, opts...)) + return client, func() { + assert.NoError(t, l.Close()) + } +} diff --git a/instrumentation/packages.go b/instrumentation/packages.go index a1ca50dbe9..6088f23378 100644 --- a/instrumentation/packages.go +++ b/instrumentation/packages.go @@ -36,6 +36,11 @@ const ( PackageValyalaFastHTTP Package = "valyala/fasthttp" PackageUrfaveNegroni Package = "urfave/negroni" + PackageTwitchTVTwirp Package = "twitchtv/twirp" + PackageTidwallBuntDB Package = "tidwall/buntdb" + PackageSyndtrGoLevelDB Package = "syndtr/goleveldb/leveldb" + PackageSirupsenLogrus Package = "sirupsen/logrus" + PackageShopifySarama Package = "Shopify/sarama" ) type Component int @@ -317,6 +322,76 @@ var packages = map[Package]PackageInfo{ }, }, }, + PackageTwitchTVTwirp: { + TracedPackage: "github.com/twitchtv/twirp", + EnvVarPrefix: "TWIRP", + naming: map[Component]componentNames{ + ComponentServer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("twirp-server"), + buildOpNameV0: func(opCtx OperationContext) string { + rpcService, ok := opCtx[ext.RPCService] + if rpcService == "" || !ok { + return "twirp.service" + } + return fmt.Sprintf("twirp.%s", rpcService) + }, + buildOpNameV1: staticName("twirp.server.request"), + }, + ComponentClient: { + useDDServiceV0: true, + buildServiceNameV0: staticName("twirp-client"), + buildOpNameV0: staticName("twirp.request"), + buildOpNameV1: staticName("twirp.client.request"), + }, + }, + }, + PackageTidwallBuntDB: { + TracedPackage: "tidwall/buntdb", + EnvVarPrefix: "BUNTDB", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("buntdb"), + buildOpNameV0: staticName("buntdb.query"), + buildOpNameV1: staticName("buntdb.query"), + }, + }, + }, + PackageSyndtrGoLevelDB: { + TracedPackage: "syndtr/goleveldb/leveldb", + EnvVarPrefix: "LEVELDB", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("leveldb"), + buildOpNameV0: staticName("leveldb.query"), + buildOpNameV1: staticName("leveldb.query"), + }, + }, + }, + PackageSirupsenLogrus: { + TracedPackage: "github.com/sirupsen/logrus", + EnvVarPrefix: "LOGRUS", + }, + PackageShopifySarama: { + TracedPackage: "github.com/Shopify/sarama", + EnvVarPrefix: "SARAMA", + naming: map[Component]componentNames{ + ComponentConsumer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("kafka"), + buildOpNameV0: staticName("kafka.consume"), + buildOpNameV1: staticName("kafka.process"), + }, + ComponentProducer: { + useDDServiceV0: false, + buildServiceNameV0: staticName("kafka"), + buildOpNameV0: staticName("kafka.produce"), + buildOpNameV1: staticName("kafka.send"), + }, + }, + }, } func staticName(name string) func(OperationContext) string { From f231f232b1919d021066aef46292687d29f45d17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Arg=C3=BCello?= Date: Fri, 23 Aug 2024 12:11:27 +0200 Subject: [PATCH 07/21] v2: migrate contribs to new instrumentation api (3) (#2819) --- .../cloud.google.com/go/pubsub.v1/pubsub.go | 4 +- contrib/gin-gonic/gin/gintrace.go | 2 +- contrib/go-chi/chi.v5/chi.go | 15 +- contrib/go-chi/chi.v5/chi_test.go | 80 +++------ contrib/go-chi/chi.v5/option.go | 22 +-- contrib/go-chi/chi/chi.go | 15 +- contrib/go-chi/chi/chi_test.go | 81 +++------ contrib/go-chi/chi/option.go | 22 +-- contrib/go-pg/pg.v10/example_test.go | 4 +- contrib/go-pg/pg.v10/option.go | 18 +- contrib/go-pg/pg.v10/pg_go.go | 16 +- contrib/go-pg/pg.v10/pg_go_test.go | 13 +- contrib/go-redis/redis.v7/option.go | 16 +- contrib/go-redis/redis.v7/redis.go | 7 +- contrib/go-redis/redis.v7/redis_test.go | 38 ++-- contrib/go-redis/redis.v8/option.go | 14 +- contrib/go-redis/redis.v8/redis.go | 7 +- contrib/go-redis/redis.v8/redis_test.go | 38 ++-- contrib/go-redis/redis/option.go | 16 +- contrib/go-redis/redis/redis.go | 10 +- contrib/go-redis/redis/redis_test.go | 32 +--- .../mongo-driver/mongo/mongo.go | 2 +- contrib/gocql/gocql/gocql.go | 12 +- contrib/gocql/gocql/gocql_test.go | 70 +------- contrib/gocql/gocql/option.go | 20 +-- contrib/gofiber/fiber.v2/fiber.go | 10 +- contrib/gofiber/fiber.v2/fiber_test.go | 36 +--- contrib/gofiber/fiber.v2/option.go | 17 +- contrib/gomodule/redigo/option.go | 16 +- contrib/gomodule/redigo/redigo.go | 16 +- contrib/gomodule/redigo/redigo_test.go | 35 +--- contrib/google.golang.org/api/api.go | 22 +-- contrib/google.golang.org/api/api_test.go | 10 +- .../api/internal/tree/tree.go | 10 +- contrib/google.golang.org/api/option.go | 11 +- .../internal/namingschematest/chi_v1_test.go | 57 ++++++ .../internal/namingschematest/chi_v5_test.go | 57 ++++++ .../internal/namingschematest/database_sql.go | 18 +- .../namingschematest/elastic_v6_test.go | 5 + .../namingschematest/fiber_v2_test.go | 57 ++++++ .../namingschematest/gcp_pubsub_test.go | 2 +- .../internal/namingschematest/gin_test.go | 9 +- .../namingschematest/go_pg_v10_test.go | 58 ++++++ .../namingschematest/go_redis_v1_test.go | 50 ++++++ .../namingschematest/go_redis_v7_test.go | 50 ++++++ .../namingschematest/go_redis_v8_test.go | 51 ++++++ .../internal/namingschematest/gocql_test.go | 70 ++++++++ .../internal/namingschematest/main_test.go | 13 +- .../internal/namingschematest/mgo_test.go | 5 + .../namingschematest/mongodriver_test.go | 9 +- .../internal/namingschematest/redigo_test.go | 50 ++++++ instrumentation/packages.go | 166 ++++++++++++++++-- 52 files changed, 913 insertions(+), 571 deletions(-) create mode 100644 instrumentation/internal/namingschematest/chi_v1_test.go create mode 100644 instrumentation/internal/namingschematest/chi_v5_test.go create mode 100644 instrumentation/internal/namingschematest/fiber_v2_test.go create mode 100644 instrumentation/internal/namingschematest/go_pg_v10_test.go create mode 100644 instrumentation/internal/namingschematest/go_redis_v1_test.go create mode 100644 instrumentation/internal/namingschematest/go_redis_v7_test.go create mode 100644 instrumentation/internal/namingschematest/go_redis_v8_test.go create mode 100644 instrumentation/internal/namingschematest/gocql_test.go create mode 100644 instrumentation/internal/namingschematest/redigo_test.go diff --git a/contrib/cloud.google.com/go/pubsub.v1/pubsub.go b/contrib/cloud.google.com/go/pubsub.v1/pubsub.go index d9e577ab76..a6f0f0507e 100644 --- a/contrib/cloud.google.com/go/pubsub.v1/pubsub.go +++ b/contrib/cloud.google.com/go/pubsub.v1/pubsub.go @@ -17,12 +17,12 @@ import ( "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const componentName = instrumentation.PackageCloudGoogleComPubsub +const componentName = instrumentation.PackageGCPPubsub var instr *instrumentation.Instrumentation func init() { - instr = instrumentation.Load(instrumentation.PackageCloudGoogleComPubsub) + instr = instrumentation.Load(instrumentation.PackageGCPPubsub) } // Publish publishes a message on the specified topic and returns a PublishResult. diff --git a/contrib/gin-gonic/gin/gintrace.go b/contrib/gin-gonic/gin/gintrace.go index 3bd21d4ab2..4638505811 100644 --- a/contrib/gin-gonic/gin/gintrace.go +++ b/contrib/gin-gonic/gin/gintrace.go @@ -24,7 +24,7 @@ const componentName = "gin-gonic/gin" var instr *instrumentation.Instrumentation func init() { - instr = instrumentation.Load(instrumentation.PackageGinGonicGin) + instr = instrumentation.Load(instrumentation.PackageGin) } // Middleware returns middleware that will trace incoming requests. If service is empty then the diff --git a/contrib/go-chi/chi.v5/chi.go b/contrib/go-chi/chi.v5/chi.go index 25e221e966..3ae3dd3d77 100644 --- a/contrib/go-chi/chi.v5/chi.go +++ b/contrib/go-chi/chi.v5/chi.go @@ -13,11 +13,9 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/httptrace" "github.com/DataDog/dd-trace-go/v2/instrumentation/options" - "github.com/DataDog/dd-trace-go/v2/internal/appsec" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" "github.com/go-chi/chi/v5" "github.com/go-chi/chi/v5/middleware" @@ -25,9 +23,10 @@ import ( const componentName = "go-chi/chi.v5" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/go-chi/chi/v5") + instr = instrumentation.Load(instrumentation.PackageChiV5) } // Middleware returns middleware that will trace incoming requests. @@ -37,7 +36,7 @@ func Middleware(opts ...Option) func(next http.Handler) http.Handler { for _, fn := range opts { fn.apply(cfg) } - log.Debug("contrib/go-chi/chi.v5: Configuring Middleware: %#v", cfg) + instr.Logger().Debug("contrib/go-chi/chi.v5: Configuring Middleware: %#v", cfg) spanOpts := append(cfg.spanOpts, tracer.ServiceName(cfg.serviceName), tracer.Tag(ext.Component, componentName), tracer.Tag(ext.SpanKind, ext.SpanKindServer)) @@ -67,7 +66,7 @@ func Middleware(opts ...Option) func(next http.Handler) http.Handler { r = r.WithContext(ctx) next := next // avoid modifying the value of next in the outer closure scope - if appsec.Enabled() && !cfg.appsecDisabled { + if instr.AppSecEnabled() && !cfg.appsecDisabled { next = withAppsec(next, r, span, &cfg.appsecConfig) // Note that the following response writer passed to the handler // implements the `interface { Status() int }` expected by httpsec. diff --git a/contrib/go-chi/chi.v5/chi_test.go b/contrib/go-chi/chi.v5/chi_test.go index 155f405fcf..9baf32a041 100644 --- a/contrib/go-chi/chi.v5/chi_test.go +++ b/contrib/go-chi/chi.v5/chi_test.go @@ -15,14 +15,12 @@ import ( "sync" "testing" - pappsec "github.com/DataDog/dd-trace-go/v2/appsec" + "github.com/DataDog/dd-trace-go/v2/appsec" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/go-chi/chi/v5" "github.com/stretchr/testify/assert" @@ -279,9 +277,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -304,9 +300,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) @@ -342,10 +336,9 @@ func TestIgnoreRequest(t *testing.T) { } func TestAppSec(t *testing.T) { - appsec.Start() - defer appsec.Stop() + testutils.StartAppSec(t) - if !appsec.Enabled() { + if !instr.AppSecEnabled() { t.Skip("appsec disabled") } @@ -360,7 +353,7 @@ func TestAppSec(t *testing.T) { require.NoError(t, err) }) router.HandleFunc("/body", func(w http.ResponseWriter, r *http.Request) { - pappsec.MonitorParsedHTTPBody(r.Context(), "$globals") + appsec.MonitorParsedHTTPBody(r.Context(), "$globals") _, err := w.Write([]byte("Hello Body!\n")) require.NoError(t, err) }) @@ -478,10 +471,10 @@ func TestWithHeaderTags(t *testing.T) { assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - _, tag := normalizer.HeaderTag(arg) + + instrumentation.NewHeaderTags(htArgs).Iter(func(_ string, tag string) { assert.NotContains(s.Tags(), tag) - } + }) }) t.Run("integration", func(t *testing.T) { @@ -489,16 +482,14 @@ func TestWithHeaderTags(t *testing.T) { defer mt.Stop() htArgs := []string{"h!e@a-d.e*r", "2header:tag"} - r := setupReq(WithHeaderTags(htArgs)) + _ = setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + assert.Equal("val,val2", s.Tags()["http.request.headers.h_e_a-d_e_r"]) + assert.Equal("2val", s.Tags()["tag"]) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) @@ -506,16 +497,16 @@ func TestWithHeaderTags(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - header, tag := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(header, tag) + testutils.SetGlobalHeaderTags(t, "3header") - r := setupReq() + _ = setupReq() spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) + assert.Equal("3val", s.Tags()["http.request.headers.3header"]) + assert.NotContains(s.Tags(), "http.request.headers.other") assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) @@ -523,45 +514,20 @@ func TestWithHeaderTags(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - globalH, globalT := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(globalH, globalT) + testutils.SetGlobalHeaderTags(t, "3header") htArgs := []string{"h!e@a-d.e*r", "2header:tag"} - r := setupReq(WithHeaderTags(htArgs)) + _ = setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + assert.Equal("val,val2", s.Tags()["http.request.headers.h_e_a-d_e_r"]) + assert.Equal("2val", s.Tags()["tag"]) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") - assert.NotContains(s.Tags(), globalT) - }) -} -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - mux := chi.NewRouter().With(Middleware(opts...)) - mux.HandleFunc("/200", func(w http.ResponseWriter, r *http.Request) { - _, err := w.Write([]byte("ok")) - require.NoError(t, err) - }) - r := httptest.NewRequest("GET", "/200", nil) - w := httptest.NewRecorder() - mux.ServeHTTP(w, r) - - return mt.FinishedSpans() + assert.NotContains(s.Tags(), "http.request.headers.3header") }) - namingschematest.NewHTTPServerTest(genSpans, "chi.router")(t) } func TestCustomResourceName(t *testing.T) { diff --git a/contrib/go-chi/chi.v5/option.go b/contrib/go-chi/chi.v5/option.go index 600ca07353..9f8c5d4dde 100644 --- a/contrib/go-chi/chi.v5/option.go +++ b/contrib/go-chi/chi.v5/option.go @@ -10,15 +10,10 @@ import ( "net/http" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" ) -const defaultServiceName = "chi.router" - type config struct { serviceName string spanOpts []tracer.StartSpanOption // additional span options to be applied @@ -26,7 +21,7 @@ type config struct { isStatusError func(statusCode int) bool ignoreRequest func(r *http.Request) bool modifyResourceName func(resourceName string) string - headerTags *internal.LockMap + headerTags instrumentation.HeaderTags resourceNamer func(r *http.Request) string appsecDisabled bool appsecConfig httpsec.Config @@ -45,13 +40,9 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - cfg.serviceName = namingschema.ServiceName(defaultServiceName) - if internal.BoolEnv("DD_TRACE_CHI_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = globalconfig.AnalyticsRate() - } - cfg.headerTags = globalconfig.HeaderTagMap() + cfg.serviceName = instr.ServiceName(instrumentation.ComponentServer, nil) + cfg.analyticsRate = instr.AnalyticsRate(true) + cfg.headerTags = instr.HTTPHeadersAsTags() cfg.isStatusError = isServerError cfg.ignoreRequest = func(_ *http.Request) bool { return false } cfg.modifyResourceName = func(s string) string { return s } @@ -130,9 +121,8 @@ func WithModifyResourceName(fn func(resourceName string) string) OptionFn { // Using this feature can risk exposing sensitive data such as authorization tokens to Datadog. // Special headers can not be sub-selected. E.g., an entire Cookie header would be transmitted, without the ability to choose specific Cookies. func WithHeaderTags(headers []string) OptionFn { - headerTagsMap := normalizer.HeaderTagSlice(headers) return func(cfg *config) { - cfg.headerTags = internal.NewLockMap(headerTagsMap) + cfg.headerTags = instrumentation.NewHeaderTags(headers) } } diff --git a/contrib/go-chi/chi/chi.go b/contrib/go-chi/chi/chi.go index 2f87f09e26..7df4a61339 100644 --- a/contrib/go-chi/chi/chi.go +++ b/contrib/go-chi/chi/chi.go @@ -13,11 +13,9 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/httptrace" "github.com/DataDog/dd-trace-go/v2/instrumentation/options" - "github.com/DataDog/dd-trace-go/v2/internal/appsec" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" "github.com/go-chi/chi" "github.com/go-chi/chi/middleware" @@ -25,9 +23,10 @@ import ( const componentName = "go-chi/chi" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/go-chi/chi") + instr = instrumentation.Load(instrumentation.PackageChi) } // Middleware returns middleware that will trace incoming requests. @@ -37,7 +36,7 @@ func Middleware(opts ...Option) func(next http.Handler) http.Handler { for _, fn := range opts { fn.apply(cfg) } - log.Debug("contrib/go-chi/chi: Configuring Middleware: %#v", cfg) + instr.Logger().Debug("contrib/go-chi/chi: Configuring Middleware: %#v", cfg) spanOpts := append(cfg.spanOpts, tracer.ServiceName(cfg.serviceName), tracer.Tag(ext.Component, componentName), tracer.Tag(ext.SpanKind, ext.SpanKindServer)) @@ -67,7 +66,7 @@ func Middleware(opts ...Option) func(next http.Handler) http.Handler { r = r.WithContext(ctx) next := next // avoid modifying the value of next in the outer closure scope - if appsec.Enabled() { + if instr.AppSecEnabled() { next = withAppsec(next, r, span) // Note that the following response writer passed to the handler // implements the `interface { Status() int }` expected by httpsec. diff --git a/contrib/go-chi/chi/chi_test.go b/contrib/go-chi/chi/chi_test.go index 448a5ee9ef..37c147cc9a 100644 --- a/contrib/go-chi/chi/chi_test.go +++ b/contrib/go-chi/chi/chi_test.go @@ -14,14 +14,12 @@ import ( "strings" "testing" - pappsec "github.com/DataDog/dd-trace-go/v2/appsec" + "github.com/DataDog/dd-trace-go/v2/appsec" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/go-chi/chi" "github.com/stretchr/testify/assert" @@ -210,10 +208,10 @@ func TestWithHeaderTags(t *testing.T) { assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - _, tag := normalizer.HeaderTag(arg) + + instrumentation.NewHeaderTags(htArgs).Iter(func(_ string, tag string) { assert.NotContains(s.Tags(), tag) - } + }) }) t.Run("integration", func(t *testing.T) { @@ -221,16 +219,14 @@ func TestWithHeaderTags(t *testing.T) { defer mt.Stop() htArgs := []string{"h!e@a-d.e*r", "2header:tag"} - r := setupReq(WithHeaderTags(htArgs)) + _ = setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + assert.Equal("val,val2", s.Tags()["http.request.headers.h_e_a-d_e_r"]) + assert.Equal("2val", s.Tags()["tag"]) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) @@ -238,16 +234,16 @@ func TestWithHeaderTags(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - header, tag := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(header, tag) + testutils.SetGlobalHeaderTags(t, "3header") - r := setupReq() + _ = setupReq() spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) + assert.Equal("3val", s.Tags()["http.request.headers.3header"]) + assert.NotContains(s.Tags(), "http.request.headers.other") assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) @@ -255,22 +251,19 @@ func TestWithHeaderTags(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - globalH, globalT := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(globalH, globalT) + testutils.SetGlobalHeaderTags(t, "3header") htArgs := []string{"h!e@a-d.e*r", "2header:tag"} - r := setupReq(WithHeaderTags(htArgs)) + _ = setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + assert.Equal("val,val2", s.Tags()["http.request.headers.h_e_a-d_e_r"]) + assert.Equal("2val", s.Tags()["tag"]) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") - assert.NotContains(s.Tags(), globalT) + assert.NotContains(s.Tags(), "http.request.headers.3header") }) } @@ -343,9 +336,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -368,9 +359,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) @@ -406,10 +395,9 @@ func TestIgnoreRequest(t *testing.T) { } func TestAppSec(t *testing.T) { - appsec.Start() - defer appsec.Stop() + testutils.StartAppSec(t) - if !appsec.Enabled() { + if !instr.AppSecEnabled() { t.Skip("appsec disabled") } @@ -424,7 +412,7 @@ func TestAppSec(t *testing.T) { require.NoError(t, err) }) router.HandleFunc("/body", func(w http.ResponseWriter, r *http.Request) { - pappsec.MonitorParsedHTTPBody(r.Context(), "$globals") + appsec.MonitorParsedHTTPBody(r.Context(), "$globals") _, err := w.Write([]byte("Hello Body!\n")) require.NoError(t, err) }) @@ -514,29 +502,6 @@ func TestAppSec(t *testing.T) { }) } -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - mux := chi.NewRouter().With(Middleware(opts...)) - mux.HandleFunc("/200", func(w http.ResponseWriter, r *http.Request) { - _, err := w.Write([]byte("ok")) - require.NoError(t, err) - }) - r := httptest.NewRequest("GET", "/200", nil) - w := httptest.NewRecorder() - mux.ServeHTTP(w, r) - - return mt.FinishedSpans() - }) - namingschematest.NewHTTPServerTest(genSpans, "chi.router")(t) -} - func TestCustomResourceName(t *testing.T) { assert := assert.New(t) mt := mocktracer.Start() diff --git a/contrib/go-chi/chi/option.go b/contrib/go-chi/chi/option.go index 829fd33ef7..0c470fa4ff 100644 --- a/contrib/go-chi/chi/option.go +++ b/contrib/go-chi/chi/option.go @@ -10,16 +10,11 @@ import ( "net/http" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/go-chi/chi" ) -const defaultServiceName = "chi.router" - type config struct { serviceName string spanOpts []tracer.StartSpanOption // additional span options to be applied @@ -27,7 +22,7 @@ type config struct { isStatusError func(statusCode int) bool ignoreRequest func(r *http.Request) bool resourceNamer func(r *http.Request) string - headerTags *internal.LockMap + headerTags instrumentation.HeaderTags } // Option describes options for the Chi integration. @@ -43,13 +38,9 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - cfg.serviceName = namingschema.ServiceName(defaultServiceName) - if internal.BoolEnv("DD_TRACE_CHI_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = globalconfig.AnalyticsRate() - } - cfg.headerTags = globalconfig.HeaderTagMap() + cfg.serviceName = instr.ServiceName(instrumentation.ComponentServer, nil) + cfg.analyticsRate = instr.AnalyticsRate(true) + cfg.headerTags = instr.HTTPHeadersAsTags() cfg.isStatusError = isServerError cfg.ignoreRequest = func(_ *http.Request) bool { return false } cfg.resourceNamer = func(r *http.Request) string { @@ -117,9 +108,8 @@ func isServerError(statusCode int) bool { // Using this feature can risk exposing sensitive data such as authorization tokens to Datadog. // Special headers can not be sub-selected. E.g., an entire Cookie header would be transmitted, without the ability to choose specific Cookies. func WithHeaderTags(headers []string) OptionFn { - headerTagsMap := normalizer.HeaderTagSlice(headers) return func(cfg *config) { - cfg.headerTags = internal.NewLockMap(headerTagsMap) + cfg.headerTags = instrumentation.NewHeaderTags(headers) } } diff --git a/contrib/go-pg/pg.v10/example_test.go b/contrib/go-pg/pg.v10/example_test.go index 483bf45a16..8b4b01e713 100644 --- a/contrib/go-pg/pg.v10/example_test.go +++ b/contrib/go-pg/pg.v10/example_test.go @@ -10,7 +10,7 @@ import ( "github.com/go-pg/pg/v10" - pg2 "github.com/DataDog/dd-trace-go/contrib/go-pg/pg.v10/v2" + pgtrace "github.com/DataDog/dd-trace-go/contrib/go-pg/pg.v10/v2" ) func Example() { @@ -20,7 +20,7 @@ func Example() { }) // Wrap the connection with the APM hook. - pg2.Wrap(conn) + pgtrace.Wrap(conn) var user struct { Name string } diff --git a/contrib/go-pg/pg.v10/option.go b/contrib/go-pg/pg.v10/option.go index 3a903e644a..d83c8353e1 100644 --- a/contrib/go-pg/pg.v10/option.go +++ b/contrib/go-pg/pg.v10/option.go @@ -8,12 +8,12 @@ package pg import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) type config struct { serviceName string + operationName string analyticsRate float64 } @@ -30,17 +30,9 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - service := "gopg.db" - if svc := globalconfig.ServiceName(); svc != "" { - service = svc - } - cfg.serviceName = service - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_GOPG_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.operationName = instr.OperationName(instrumentation.ComponentDefault, nil) + cfg.analyticsRate = instr.AnalyticsRate(false) } // WithService sets the given service name for the client. diff --git a/contrib/go-pg/pg.v10/pg_go.go b/contrib/go-pg/pg.v10/pg_go.go index 18b3c09d1c..e2e3b023f6 100644 --- a/contrib/go-pg/pg.v10/pg_go.go +++ b/contrib/go-pg/pg.v10/pg_go.go @@ -9,19 +9,19 @@ import ( "context" "math" + "github.com/go-pg/pg/v10" + "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" - - "github.com/go-pg/pg/v10" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const componentName = "go-pg/pg.v10" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/go-pg/pg/v10") + instr = instrumentation.Load(instrumentation.PackageGoPGV10) } // Wrap augments the given DB with tracing. @@ -31,7 +31,7 @@ func Wrap(db *pg.DB, opts ...Option) { for _, opt := range opts { opt.apply(cfg) } - log.Debug("contrib/go-pg/pg.v10: Wrapping Database") + instr.Logger().Debug("contrib/go-pg/pg.v10: Wrapping Database") db.AddQueryHook(&queryHook{cfg: cfg}) } @@ -56,7 +56,7 @@ func (h *queryHook) BeforeQuery(ctx context.Context, qe *pg.QueryEvent) (context if !math.IsNaN(h.cfg.analyticsRate) { opts = append(opts, tracer.Tag(ext.EventSampleRate, h.cfg.analyticsRate)) } - _, ctx = tracer.StartSpanFromContext(ctx, "go-pg", opts...) + _, ctx = tracer.StartSpanFromContext(ctx, h.cfg.operationName, opts...) return ctx, qe.Err } diff --git a/contrib/go-pg/pg.v10/pg_go_test.go b/contrib/go-pg/pg.v10/pg_go_test.go index f2d710ab13..cf4661b57a 100644 --- a/contrib/go-pg/pg.v10/pg_go_test.go +++ b/contrib/go-pg/pg.v10/pg_go_test.go @@ -14,7 +14,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/go-pg/pg/v10" "github.com/stretchr/testify/assert" @@ -112,8 +112,7 @@ func TestServiceName(t *testing.T) { }) t.Run("global", func(t *testing.T) { - globalconfig.SetServiceName("global-service") - defer globalconfig.SetServiceName("") + testutils.SetGlobalServiceName(t, "global-service") assert := assert.New(t) mt := mocktracer.Start() @@ -232,9 +231,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -257,9 +254,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) diff --git a/contrib/go-redis/redis.v7/option.go b/contrib/go-redis/redis.v7/option.go index c9c5875cfe..d2c841aea7 100644 --- a/contrib/go-redis/redis.v7/option.go +++ b/contrib/go-redis/redis.v7/option.go @@ -8,12 +8,9 @@ package redis import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "redis.client" - type clientConfig struct { serviceName string spanName string @@ -34,14 +31,9 @@ func (fn ClientOptionFn) apply(cfg *clientConfig) { } func defaults(cfg *clientConfig) { - cfg.serviceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.spanName = namingschema.OpName(namingschema.RedisOutbound) - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_REDIS_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.spanName = instr.OperationName(instrumentation.ComponentDefault, nil) + cfg.analyticsRate = instr.AnalyticsRate(false) cfg.errCheck = func(error) bool { return true } } diff --git a/contrib/go-redis/redis.v7/redis.go b/contrib/go-redis/redis.v7/redis.go index 3e03ec824a..0066542f59 100644 --- a/contrib/go-redis/redis.v7/redis.go +++ b/contrib/go-redis/redis.v7/redis.go @@ -17,16 +17,17 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/go-redis/redis/v7" ) const componentName = "go-redis/redis.v7" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/go-redis/redis/v7") + instr = instrumentation.Load(instrumentation.PackageGoRedisV7) } type datadogHook struct { diff --git a/contrib/go-redis/redis.v7/redis_test.go b/contrib/go-redis/redis.v7/redis_test.go index 681fb9f615..46c5062af7 100644 --- a/contrib/go-redis/redis.v7/redis_test.go +++ b/contrib/go-redis/redis.v7/redis_test.go @@ -16,8 +16,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/go-redis/redis/v7" "github.com/stretchr/testify/assert" @@ -104,7 +103,10 @@ func TestWrapClient(t *testing.T) { Addrs: []string{ "127.0.0.1:6379", "127.0.0.2:6379", - }} + }, + DialTimeout: 500 * time.Millisecond, + MaxRetries: 1, + } failoverClient := redis.NewUniversalClient(failoverClientOpts) clusterClientOpts := &redis.UniversalOptions{ @@ -112,7 +114,9 @@ func TestWrapClient(t *testing.T) { "127.0.0.1:6379", "127.0.0.2:6379", }, - DialTimeout: 1} + DialTimeout: 500 * time.Millisecond, + MaxRetries: 1, + } clusterClient := redis.NewUniversalClient(clusterClientOpts) testCases := []struct { @@ -444,9 +448,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -469,9 +471,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) @@ -523,21 +523,3 @@ func TestWithContext(t *testing.T) { assert.Equal(span1.SpanID(), setSpan.ParentID()) assert.Equal(span2.SpanID(), getSpan.ParentID()) } - -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []ClientOption - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - client := NewClient(&redis.Options{Addr: "127.0.0.1:6379"}, opts...) - st := client.Set("test_key", "test_value", 0) - require.NoError(t, st.Err()) - - return mt.FinishedSpans() - }) - namingschematest.NewRedisTest(genSpans, "redis.client")(t) -} diff --git a/contrib/go-redis/redis.v8/option.go b/contrib/go-redis/redis.v8/option.go index d91b2ff3ad..078cece694 100644 --- a/contrib/go-redis/redis.v8/option.go +++ b/contrib/go-redis/redis.v8/option.go @@ -8,8 +8,7 @@ package redis import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const defaultServiceName = "redis.client" @@ -35,14 +34,9 @@ func (fn ClientOptionFn) apply(cfg *clientConfig) { } func defaults(cfg *clientConfig) { - cfg.serviceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.spanName = namingschema.OpName(namingschema.RedisOutbound) - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_REDIS_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.spanName = instr.OperationName(instrumentation.ComponentDefault, nil) + cfg.analyticsRate = instr.AnalyticsRate(false) cfg.errCheck = func(error) bool { return true } } diff --git a/contrib/go-redis/redis.v8/redis.go b/contrib/go-redis/redis.v8/redis.go index 5f28e5506a..231ad72800 100644 --- a/contrib/go-redis/redis.v8/redis.go +++ b/contrib/go-redis/redis.v8/redis.go @@ -17,16 +17,17 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/go-redis/redis/v8" ) const componentName = "go-redis/redis.v8" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/go-redis/redis/v8") + instr = instrumentation.Load(instrumentation.PackageGoRedisV8) } type datadogHook struct { diff --git a/contrib/go-redis/redis.v8/redis_test.go b/contrib/go-redis/redis.v8/redis_test.go index da5c5ad64d..aeed06e8b7 100644 --- a/contrib/go-redis/redis.v8/redis_test.go +++ b/contrib/go-redis/redis.v8/redis_test.go @@ -16,8 +16,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/go-redis/redis/v8" "github.com/stretchr/testify/assert" @@ -178,7 +177,10 @@ func TestWrapClient(t *testing.T) { Addrs: []string{ "127.0.0.1:6379", "127.0.0.2:6379", - }} + }, + DialTimeout: 500 * time.Millisecond, + MaxRetries: 1, + } failoverClient := redis.NewUniversalClient(failoverClientOpts) clusterClientOpts := &redis.UniversalOptions{ @@ -186,7 +188,9 @@ func TestWrapClient(t *testing.T) { "127.0.0.1:6379", "127.0.0.2:6379", }, - DialTimeout: 1} + DialTimeout: 500 * time.Millisecond, + MaxRetries: 1, + } clusterClient := redis.NewUniversalClient(clusterClientOpts) testCases := []struct { @@ -524,9 +528,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -549,9 +551,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) @@ -605,21 +605,3 @@ func TestWithContext(t *testing.T) { assert.Equal(span1.SpanID(), setSpan.ParentID()) assert.Equal(span2.SpanID(), getSpan.ParentID()) } - -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []ClientOption - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - client := NewClient(&redis.Options{Addr: "127.0.0.1:6379"}, opts...) - st := client.Set(context.Background(), "test_key", "test_value", 0) - require.NoError(t, st.Err()) - - return mt.FinishedSpans() - }) - namingschematest.NewRedisTest(genSpans, "redis.client")(t) -} diff --git a/contrib/go-redis/redis/option.go b/contrib/go-redis/redis/option.go index 84b3a6ca61..932a942408 100644 --- a/contrib/go-redis/redis/option.go +++ b/contrib/go-redis/redis/option.go @@ -8,12 +8,9 @@ package redis // import "github.com/DataDog/dd-trace-go/contrib/go-redis/redis/v import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "redis.client" - type clientConfig struct { serviceName string spanName string @@ -33,14 +30,9 @@ func (fn ClientOptionFn) apply(cfg *clientConfig) { } func defaults(cfg *clientConfig) { - cfg.serviceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.spanName = namingschema.OpName(namingschema.RedisOutbound) - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_REDIS_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.spanName = instr.OperationName(instrumentation.ComponentDefault, nil) + cfg.analyticsRate = instr.AnalyticsRate(false) } // WithService sets the given service name for the client. diff --git a/contrib/go-redis/redis/redis.go b/contrib/go-redis/redis/redis.go index 580d299026..d4e81ec26b 100644 --- a/contrib/go-redis/redis/redis.go +++ b/contrib/go-redis/redis/redis.go @@ -18,17 +18,17 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/go-redis/redis" ) const componentName = "go-redis/redis" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/go-redis/redis") + instr = instrumentation.Load(instrumentation.PackageGoRedis) } // Client is used to trace requests to a redis server. @@ -72,7 +72,7 @@ func WrapClient(c *redis.Client, opts ...ClientOption) *Client { for _, fn := range opts { fn.apply(cfg) } - log.Debug("contrib/go-redis/redis: Wrapping Client: %#v", cfg) + instr.Logger().Debug("contrib/go-redis/redis: Wrapping Client: %#v", cfg) opt := c.Options() host, port, err := net.SplitHostPort(opt.Addr) if err != nil { diff --git a/contrib/go-redis/redis/redis_test.go b/contrib/go-redis/redis/redis_test.go index bacbd4b9be..f475739cdd 100644 --- a/contrib/go-redis/redis/redis_test.go +++ b/contrib/go-redis/redis/redis_test.go @@ -16,12 +16,10 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" + "github.com/go-redis/redis" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) const debug = false @@ -360,9 +358,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -385,9 +381,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) @@ -440,21 +434,3 @@ func TestWithContext(t *testing.T) { assert.Equal(span1.SpanID(), setSpan.ParentID()) assert.Equal(span2.SpanID(), getSpan.ParentID()) } - -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []ClientOption - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - client := NewClient(&redis.Options{Addr: "127.0.0.1:6379"}, opts...) - st := client.Set("test_key", "test_value", 0) - require.NoError(t, st.Err()) - - return mt.FinishedSpans() - }) - namingschematest.NewRedisTest(genSpans, "redis.client")(t) -} diff --git a/contrib/go.mongodb.org/mongo-driver/mongo/mongo.go b/contrib/go.mongodb.org/mongo-driver/mongo/mongo.go index 9deda88534..8b7ebbdd1a 100644 --- a/contrib/go.mongodb.org/mongo-driver/mongo/mongo.go +++ b/contrib/go.mongodb.org/mongo-driver/mongo/mongo.go @@ -29,7 +29,7 @@ const componentName = "go.mongodb.org/mongo-driver/mongo" var instr *instrumentation.Instrumentation func init() { - instr = instrumentation.Load(instrumentation.PackageGoMongoDBOrgMongoDriver) + instr = instrumentation.Load(instrumentation.PackageMongoDriver) } type spanKey struct { diff --git a/contrib/gocql/gocql/gocql.go b/contrib/gocql/gocql/gocql.go index ff1ab2884b..063648b976 100644 --- a/contrib/gocql/gocql/gocql.go +++ b/contrib/gocql/gocql/gocql.go @@ -15,17 +15,17 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/gocql/gocql" ) const componentName = "gocql/gocql" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/gocql/gocql") + instr = instrumentation.Load(instrumentation.PackageGoCQL) } // ClusterConfig embeds gocql.ClusterConfig and keeps information relevant to tracing. @@ -129,7 +129,7 @@ func wrapQuery(q *gocql.Query, hosts []string, opts ...WrapOption) *Query { if len(hosts) > 0 { p.clusterContactPoints = strings.Join(hosts, ",") } - log.Debug("contrib/gocql/gocql: Wrapping Query: %#v", cfg) + instr.Logger().Debug("contrib/gocql/gocql: Wrapping Query: %#v", cfg) tq := &Query{Query: q, params: p, ctx: q.Context()} return tq } @@ -310,7 +310,7 @@ func wrapBatch(b *gocql.Batch, hosts []string, opts ...WrapOption) *Batch { if len(hosts) > 0 { p.clusterContactPoints = strings.Join(hosts, ",") } - log.Debug("contrib/gocql/gocql: Wrapping Batch: %#v", cfg) + instr.Logger().Debug("contrib/gocql/gocql: Wrapping Batch: %#v", cfg) tb := &Batch{Batch: b, params: p, ctx: b.Context()} return tb } diff --git a/contrib/gocql/gocql/gocql_test.go b/contrib/gocql/gocql/gocql_test.go index 0674391c80..fb832f6f1b 100644 --- a/contrib/gocql/gocql/gocql_test.go +++ b/contrib/gocql/gocql/gocql_test.go @@ -9,7 +9,6 @@ import ( "context" "fmt" "log" - "math" "os" "testing" "time" @@ -17,8 +16,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/gocql/gocql" "github.com/stretchr/testify/assert" @@ -212,7 +210,7 @@ func TestErrNotFound(t *testing.T) { } func TestAnalyticsSettings(t *testing.T) { - assertRate := func(t *testing.T, mt mocktracer.Tracer, rate float64, opts ...WrapOption) { + assertRate := func(t *testing.T, mt mocktracer.Tracer, rate any, opts ...WrapOption) { cluster := newCassandraCluster() session, err := cluster.CreateSession() assert.Nil(t, err) @@ -235,9 +233,7 @@ func TestAnalyticsSettings(t *testing.T) { spans := mt.FinishedSpans() assert.Len(t, spans, 3) for _, s := range spans { - if !math.IsNaN(rate) { - assert.Equal(t, rate, s.Tag(ext.EventSampleRate)) - } + assert.Equal(t, rate, s.Tag(ext.EventSampleRate)) } } @@ -245,7 +241,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - assertRate(t, mt, globalconfig.AnalyticsRate()) + assertRate(t, mt, nil) }) t.Run("global", func(t *testing.T) { @@ -253,9 +249,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -271,16 +265,14 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - assertRate(t, mt, math.NaN(), WithAnalytics(false)) + assertRate(t, mt, nil, WithAnalytics(false)) }) t.Run("override", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) @@ -505,51 +497,3 @@ func TestWithCustomTag(t *testing.T) { assert.Equal(t, "value", s0.Tag("custom_tag")) }) } - -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []WrapOption - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - cluster := newTracedCassandraCluster(opts...) - session, err := cluster.CreateSession() - require.NoError(t, err) - - stmt := "INSERT INTO trace.person (name, age, description) VALUES (?, ?, ?)" - - // generate query span - err = session.Query(stmt, "name", 30, "description").Exec() - require.NoError(t, err) - - // generate batch span - tb := session.NewBatch(gocql.UnloggedBatch) - - tb.Query(stmt, "Kate", 80, "Cassandra's sister running in kubernetes") - tb.Query(stmt, "Lucas", 60, "Another person") - err = tb.ExecuteBatch(session.Session) - require.NoError(t, err) - - return mt.FinishedSpans() - }) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "cassandra.query", spans[0].OperationName()) - assert.Equal(t, "cassandra.batch", spans[1].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "cassandra.query", spans[0].OperationName()) - assert.Equal(t, "cassandra.query", spans[1].OperationName()) - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"gocql.query", "gocql.query"}, - WithDDService: []string{"gocql.query", "gocql.query"}, - WithDDServiceAndOverride: []string{namingschematest.TestServiceOverride, namingschematest.TestServiceOverride}, - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} diff --git a/contrib/gocql/gocql/option.go b/contrib/gocql/gocql/option.go index 423d9fd568..3d046bb61e 100644 --- a/contrib/gocql/gocql/option.go +++ b/contrib/gocql/gocql/option.go @@ -8,12 +8,9 @@ package gocql import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "gocql.query" - type queryConfig struct { serviceName, resourceName string querySpanName, batchSpanName string @@ -37,15 +34,12 @@ func (fn WrapOptionFn) apply(cfg *queryConfig) { func defaultConfig() *queryConfig { cfg := &queryConfig{} - cfg.serviceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.querySpanName = namingschema.OpName(namingschema.CassandraOutbound) - cfg.batchSpanName = namingschema.OpNameOverrideV0(namingschema.CassandraOutbound, "cassandra.batch") - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_GOCQL_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.querySpanName = instr.OperationName(instrumentation.ComponentDefault, nil) + cfg.batchSpanName = instr.OperationName(instrumentation.ComponentDefault, instrumentation.OperationContext{ + "operationType": "batch", + }) + cfg.analyticsRate = instr.AnalyticsRate(false) cfg.errCheck = func(error) bool { return true } return cfg } diff --git a/contrib/gofiber/fiber.v2/fiber.go b/contrib/gofiber/fiber.v2/fiber.go index 7dae6380d4..ecf80ef7ea 100644 --- a/contrib/gofiber/fiber.v2/fiber.go +++ b/contrib/gofiber/fiber.v2/fiber.go @@ -14,17 +14,17 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/gofiber/fiber/v2" ) const componentName = "gofiber/fiber.v2" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/gofiber/fiber/v2") + instr = instrumentation.Load(instrumentation.PackageGoFiberV2) } // Middleware returns middleware that will trace incoming requests. @@ -34,7 +34,7 @@ func Middleware(opts ...Option) func(c *fiber.Ctx) error { for _, fn := range opts { fn.apply(cfg) } - log.Debug("gofiber/fiber.v2: Middleware: %#v", cfg) + instr.Logger().Debug("gofiber/fiber.v2: Middleware: %#v", cfg) return func(c *fiber.Ctx) error { if cfg.ignoreRequest(c) { return c.Next() diff --git a/contrib/gofiber/fiber.v2/fiber_test.go b/contrib/gofiber/fiber.v2/fiber_test.go index 58f952a93d..b4cf88d304 100644 --- a/contrib/gofiber/fiber.v2/fiber_test.go +++ b/contrib/gofiber/fiber.v2/fiber_test.go @@ -14,12 +14,10 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/gofiber/fiber/v2" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) func TestChildSpan(t *testing.T) { @@ -276,9 +274,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -301,38 +297,12 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) } -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - mux := fiber.New() - mux.Use(Middleware(opts...)) - mux.Get("/200", func(c *fiber.Ctx) error { - return c.SendString("ok") - }) - req := httptest.NewRequest("GET", "/200", nil) - resp, err := mux.Test(req) - require.NoError(t, err) - defer resp.Body.Close() - - return mt.FinishedSpans() - }) - namingschematest.NewHTTPServerTest(genSpans, "fiber")(t) -} - func TestIgnoreRequest(t *testing.T) { assert := assert.New(t) mt := mocktracer.Start() diff --git a/contrib/gofiber/fiber.v2/option.go b/contrib/gofiber/fiber.v2/option.go index 2e6ea929d2..d8c26462b1 100644 --- a/contrib/gofiber/fiber.v2/option.go +++ b/contrib/gofiber/fiber.v2/option.go @@ -9,15 +9,11 @@ import ( "math" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/gofiber/fiber/v2" ) -const defaultServiceName = "fiber" - type config struct { serviceName string spanName string @@ -41,17 +37,12 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - cfg.serviceName = namingschema.ServiceName(defaultServiceName) - cfg.spanName = namingschema.OpName(namingschema.HTTPServer) + cfg.serviceName = instr.ServiceName(instrumentation.ComponentServer, nil) + cfg.analyticsRate = instr.AnalyticsRate(true) + cfg.spanName = instr.OperationName(instrumentation.ComponentServer, nil) cfg.isStatusError = isServerError cfg.resourceNamer = defaultResourceNamer cfg.ignoreRequest = defaultIgnoreRequest - - if internal.BoolEnv("DD_TRACE_FIBER_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = globalconfig.AnalyticsRate() - } } // WithService sets the given service name for the router. diff --git a/contrib/gomodule/redigo/option.go b/contrib/gomodule/redigo/option.go index 868c50c82b..caa3510ddb 100644 --- a/contrib/gomodule/redigo/option.go +++ b/contrib/gomodule/redigo/option.go @@ -8,8 +8,7 @@ package redigo // import "github.com/DataDog/dd-trace-go/contrib/gomodule/redigo import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) type dialConfig struct { @@ -19,8 +18,6 @@ type dialConfig struct { connectionType int } -const defaultServiceName = "redis.conn" - const ( connectionTypeWithTimeout = iota connectionTypeWithContext @@ -40,14 +37,9 @@ func (fn DialOptionFn) apply(cfg *dialConfig) { } func defaults(cfg *dialConfig) { - cfg.serviceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.spanName = namingschema.OpName(namingschema.RedisOutbound) - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_REDIGO_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.spanName = instr.OperationName(instrumentation.ComponentDefault, nil) + cfg.analyticsRate = instr.AnalyticsRate(false) // Default to withTimeout to maintain backwards compatibility. cfg.connectionType = connectionTypeWithTimeout diff --git a/contrib/gomodule/redigo/redigo.go b/contrib/gomodule/redigo/redigo.go index 3d13ee7d07..3a62d48501 100644 --- a/contrib/gomodule/redigo/redigo.go +++ b/contrib/gomodule/redigo/redigo.go @@ -18,17 +18,17 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" - redis "github.com/gomodule/redigo/redis" + "github.com/gomodule/redigo/redis" ) const componentName = "gomodule/redigo" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/gomodule/redigo") + instr = instrumentation.Load(instrumentation.PackageRedigo) } // Conn is an implementation of the redis.Conn interface that supports tracing @@ -96,7 +96,7 @@ func wrapConn(c redis.Conn, p *params) redis.Conn { // The set of supported options must be either of type redis.DialOption or this package's DialOption. func Dial(network, address string, options ...interface{}) (redis.Conn, error) { dialOpts, cfg := parseOptions(options...) - log.Debug("contrib/gomodule/redigo: Dialing %s %s, %#v", network, address, cfg) + instr.Logger().Debug("contrib/gomodule/redigo: Dialing %s %s, %#v", network, address, cfg) c, err := redis.Dial(network, address, dialOpts...) if err != nil { return nil, err @@ -113,7 +113,7 @@ func Dial(network, address string, options ...interface{}) (redis.Conn, error) { // The set of supported options must be either of type redis.DialOption or this package's DialOption. func DialContext(ctx context.Context, network, address string, options ...interface{}) (redis.Conn, error) { dialOpts, cfg := parseOptions(options...) - log.Debug("contrib/gomodule/redigo: Dialing with context %s %s, %#v", network, address, cfg) + instr.Logger().Debug("contrib/gomodule/redigo: Dialing with context %s %s, %#v", network, address, cfg) c, err := redis.DialContext(ctx, network, address, dialOpts...) if err != nil { return nil, err @@ -132,7 +132,7 @@ func DialContext(ctx context.Context, network, address string, options ...interf // The returned redis.Conn is traced. func DialURL(rawurl string, options ...interface{}) (redis.Conn, error) { dialOpts, cfg := parseOptions(options...) - log.Debug("contrib/gomodule/redigo: Dialing %s, %#v", rawurl, cfg) + instr.Logger().Debug("contrib/gomodule/redigo: Dialing %s, %#v", rawurl, cfg) u, err := url.Parse(rawurl) if err != nil { return Conn{}, err diff --git a/contrib/gomodule/redigo/redigo_test.go b/contrib/gomodule/redigo/redigo_test.go index b6b8cb96f1..038ca59934 100644 --- a/contrib/gomodule/redigo/redigo_test.go +++ b/contrib/gomodule/redigo/redigo_test.go @@ -15,12 +15,10 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/gomodule/redigo/redis" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) func TestMain(m *testing.M) { @@ -235,9 +233,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -260,9 +256,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) @@ -271,9 +265,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, nil, WithAnalyticsRate(1.23)) }) @@ -413,22 +405,3 @@ func TestDoContext(t *testing.T) { assert.True(len(spans) > 0) }) } - -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []interface{} - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - c, err := Dial("tcp", "127.0.0.1:6379", opts...) - require.NoError(t, err) - _, err = c.Do("SET", "test_key", "test_value") - require.NoError(t, err) - - return mt.FinishedSpans() - }) - namingschematest.NewRedisTest(genSpans, "redis.conn")(t) -} diff --git a/contrib/google.golang.org/api/api.go b/contrib/google.golang.org/api/api.go index 82633ec789..d50d011a11 100644 --- a/contrib/google.golang.org/api/api.go +++ b/contrib/google.golang.org/api/api.go @@ -25,8 +25,7 @@ import ( httptrace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "golang.org/x/oauth2/google" ) @@ -36,16 +35,17 @@ var endpointBytes []byte const componentName = "google.golang.org/api" -// apiEndpoints are the defined endpoints for the Google API; it is populated -// by "go generate". -var apiEndpointsTree *tree.Tree +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported(componentName) + instr = instrumentation.Load(instrumentation.PackageGoogleAPI) initAPIEndpointsTree() } +// apiEndpoints are the defined endpoints for the Google API; it is populated +// by "go generate". +var apiEndpointsTree *tree.Tree + func loadEndpointsFromJSON() ([]*tree.Endpoint, error) { var apiEndpoints []*tree.Endpoint if err := json.Unmarshal(endpointBytes, &apiEndpoints); err != nil { @@ -57,12 +57,12 @@ func loadEndpointsFromJSON() ([]*tree.Endpoint, error) { func initAPIEndpointsTree() { apiEndpoints, err := loadEndpointsFromJSON() if err != nil { - log.Warn("contrib/google.golang.org/api: failed load json endpoints: %v", err) + instr.Logger().Warn("contrib/google.golang.org/api: failed load json endpoints: %v", err) return } tr, err := tree.New(apiEndpoints...) if err != nil { - log.Warn("contrib/google.golang.org/api: failed to create endpoints tree: %v", err) + instr.Logger().Warn("contrib/google.golang.org/api: failed to create endpoints tree: %v", err) return } apiEndpointsTree = tr @@ -72,7 +72,7 @@ func initAPIEndpointsTree() { // APIs with all requests traced automatically. func NewClient(options ...Option) (*http.Client, error) { cfg := newConfig(options...) - log.Debug("contrib/google.golang.org/api: Creating Client: %#v", cfg) + instr.Logger().Debug("contrib/google.golang.org/api: Creating Client: %#v", cfg) client, err := google.DefaultClient(cfg.ctx, cfg.scopes...) if err != nil { return nil, err @@ -85,7 +85,7 @@ func NewClient(options ...Option) (*http.Client, error) { // Google APIs and traces all requests. func WrapRoundTripper(transport http.RoundTripper, options ...Option) http.RoundTripper { cfg := newConfig(options...) - log.Debug("contrib/google.golang.org/api: Wrapping RoundTripper: %#v", cfg) + instr.Logger().Debug("contrib/google.golang.org/api: Wrapping RoundTripper: %#v", cfg) rtOpts := []httptrace.RoundTripperOption{ httptrace.WithBefore(func(req *http.Request, span *tracer.Span) { if !cfg.endpointMetadataDisabled { diff --git a/contrib/google.golang.org/api/api_test.go b/contrib/google.golang.org/api/api_test.go index 109bde2d84..eb90e8a7c5 100644 --- a/contrib/google.golang.org/api/api_test.go +++ b/contrib/google.golang.org/api/api_test.go @@ -15,7 +15,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -170,9 +170,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -195,9 +193,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) diff --git a/contrib/google.golang.org/api/internal/tree/tree.go b/contrib/google.golang.org/api/internal/tree/tree.go index 31e19f4e26..98e9967c11 100644 --- a/contrib/google.golang.org/api/internal/tree/tree.go +++ b/contrib/google.golang.org/api/internal/tree/tree.go @@ -9,9 +9,15 @@ import ( "regexp" "strings" - "github.com/DataDog/dd-trace-go/v2/internal/log" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) +var instr *instrumentation.Instrumentation + +func init() { + instr = instrumentation.Load(instrumentation.PackageGoogleAPI) +} + type ( // A Tree is a prefix tree for matching endpoints based on http requests. Tree struct { @@ -87,7 +93,7 @@ func (t *Tree) Get(hostname string, httpMethod string, httpPath string) (*Endpoi if e.pathMatcher == nil { pathMatcher, err := regexp.Compile(e.PathRegex) if err != nil { - log.Warn("contrib/google.golang.org/api: failed to create regex: %s: %v", e.PathRegex, err) + instr.Logger().Warn("contrib/google.golang.org/api: failed to create regex: %s: %v", e.PathRegex, err) continue } e.pathMatcher = pathMatcher diff --git a/contrib/google.golang.org/api/option.go b/contrib/google.golang.org/api/option.go index 4229008352..7a8e8a5d07 100644 --- a/contrib/google.golang.org/api/option.go +++ b/contrib/google.golang.org/api/option.go @@ -8,8 +8,6 @@ package api import ( "context" "math" - - "github.com/DataDog/dd-trace-go/v2/internal" ) type config struct { @@ -21,14 +19,9 @@ type config struct { } func newConfig(options ...Option) *config { - rate := math.NaN() - if internal.BoolEnv("DD_TRACE_GOOGLE_API_ANALYTICS_ENABLED", false) { - rate = 1.0 - } cfg := &config{ - ctx: context.Background(), - // analyticsRate: globalconfig.AnalyticsRate(), - analyticsRate: rate, + ctx: context.Background(), + analyticsRate: instr.AnalyticsRate(false), endpointMetadataDisabled: false, } for _, opt := range options { diff --git a/instrumentation/internal/namingschematest/chi_v1_test.go b/instrumentation/internal/namingschematest/chi_v1_test.go new file mode 100644 index 0000000000..a660fc0d2b --- /dev/null +++ b/instrumentation/internal/namingschematest/chi_v1_test.go @@ -0,0 +1,57 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "net/http" + "net/http/httptest" + "testing" + + "github.com/go-chi/chi" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + chitrace "github.com/DataDog/dd-trace-go/contrib/go-chi/chi/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var chiV1Test = harness.TestCase{ + Name: instrumentation.PackageChi, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []chitrace.Option + if serviceOverride != "" { + opts = append(opts, chitrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + mux := chi.NewRouter().With(chitrace.Middleware(opts...)) + mux.HandleFunc("/200", func(w http.ResponseWriter, r *http.Request) { + _, err := w.Write([]byte("ok")) + require.NoError(t, err) + }) + r := httptest.NewRequest("GET", "/200", nil) + w := httptest.NewRecorder() + mux.ServeHTTP(w, r) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"chi.router"}, + DDService: []string{harness.TestDDService}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.request", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.server.request", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/chi_v5_test.go b/instrumentation/internal/namingschematest/chi_v5_test.go new file mode 100644 index 0000000000..f992e082e6 --- /dev/null +++ b/instrumentation/internal/namingschematest/chi_v5_test.go @@ -0,0 +1,57 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "net/http" + "net/http/httptest" + "testing" + + "github.com/go-chi/chi/v5" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + chitrace "github.com/DataDog/dd-trace-go/contrib/go-chi/chi.v5/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var chiV5Test = harness.TestCase{ + Name: instrumentation.PackageChiV5, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []chitrace.Option + if serviceOverride != "" { + opts = append(opts, chitrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + mux := chi.NewRouter().With(chitrace.Middleware(opts...)) + mux.HandleFunc("/200", func(w http.ResponseWriter, r *http.Request) { + _, err := w.Write([]byte("ok")) + require.NoError(t, err) + }) + r := httptest.NewRequest("GET", "/200", nil) + w := httptest.NewRecorder() + mux.ServeHTTP(w, r) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"chi.router"}, + DDService: []string{harness.TestDDService}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.request", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.server.request", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/database_sql.go b/instrumentation/internal/namingschematest/database_sql.go index 6369a2938e..70507a93da 100644 --- a/instrumentation/internal/namingschematest/database_sql.go +++ b/instrumentation/internal/namingschematest/database_sql.go @@ -1,18 +1,24 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( "database/sql/driver" - sqltrace "github.com/DataDog/dd-trace-go/contrib/database/sql/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" - "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/instrumentation" + "testing" + + mssql "github.com/denisenkom/go-mssqldb" "github.com/go-sql-driver/mysql" "github.com/lib/pq" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "testing" - mssql "github.com/denisenkom/go-mssqldb" + sqltrace "github.com/DataDog/dd-trace-go/contrib/database/sql/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) func dbSQLGenSpans(driverName string, registerOverride bool) harness.GenSpansFn { diff --git a/instrumentation/internal/namingschematest/elastic_v6_test.go b/instrumentation/internal/namingschematest/elastic_v6_test.go index e3548bf62b..929469e88b 100644 --- a/instrumentation/internal/namingschematest/elastic_v6_test.go +++ b/instrumentation/internal/namingschematest/elastic_v6_test.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( diff --git a/instrumentation/internal/namingschematest/fiber_v2_test.go b/instrumentation/internal/namingschematest/fiber_v2_test.go new file mode 100644 index 0000000000..b892b765f7 --- /dev/null +++ b/instrumentation/internal/namingschematest/fiber_v2_test.go @@ -0,0 +1,57 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "net/http/httptest" + "testing" + + "github.com/gofiber/fiber/v2" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + fibertrace "github.com/DataDog/dd-trace-go/contrib/gofiber/fiber.v2/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var fiberV2Test = harness.TestCase{ + Name: instrumentation.PackageGoFiberV2, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []fibertrace.Option + if serviceOverride != "" { + opts = append(opts, fibertrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + mux := fiber.New() + mux.Use(fibertrace.Middleware(opts...)) + mux.Get("/200", func(c *fiber.Ctx) error { + return c.SendString("ok") + }) + req := httptest.NewRequest("GET", "/200", nil) + resp, err := mux.Test(req) + require.NoError(t, err) + defer resp.Body.Close() + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"fiber"}, + DDService: []string{harness.TestDDService}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.request", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.server.request", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/gcp_pubsub_test.go b/instrumentation/internal/namingschematest/gcp_pubsub_test.go index 7daf11c373..e5882aa584 100644 --- a/instrumentation/internal/namingschematest/gcp_pubsub_test.go +++ b/instrumentation/internal/namingschematest/gcp_pubsub_test.go @@ -27,7 +27,7 @@ import ( ) var gcpPubsub = harness.TestCase{ - Name: instrumentation.PackageCloudGoogleComPubsub, + Name: instrumentation.PackageGCPPubsub, GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { mt := mocktracer.Start() defer mt.Stop() diff --git a/instrumentation/internal/namingschematest/gin_test.go b/instrumentation/internal/namingschematest/gin_test.go index 1dcadbb8c4..1ff80c2bed 100644 --- a/instrumentation/internal/namingschematest/gin_test.go +++ b/instrumentation/internal/namingschematest/gin_test.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( @@ -14,8 +19,8 @@ import ( "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -var ginGonicGin = harness.TestCase{ - Name: instrumentation.PackageGinGonicGin, +var ginTest = harness.TestCase{ + Name: instrumentation.PackageGin, GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { // silence startup logs gin.SetMode(gin.ReleaseMode) diff --git a/instrumentation/internal/namingschematest/go_pg_v10_test.go b/instrumentation/internal/namingschematest/go_pg_v10_test.go new file mode 100644 index 0000000000..d35d5ac3a6 --- /dev/null +++ b/instrumentation/internal/namingschematest/go_pg_v10_test.go @@ -0,0 +1,58 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "testing" + + "github.com/go-pg/pg/v10" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + pgtrace "github.com/DataDog/dd-trace-go/contrib/go-pg/pg.v10/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var goPGv10Test = harness.TestCase{ + Name: instrumentation.PackageGoPGV10, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []pgtrace.Option + if serviceOverride != "" { + opts = append(opts, pgtrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + conn := pg.Connect(&pg.Options{ + User: "postgres", + Password: "postgres", + Database: "postgres", + }) + pgtrace.Wrap(conn, opts...) + defer conn.Close() + + var n int + _, err := conn.QueryOne(pg.Scan(&n), "SELECT 1") + require.NoError(t, err) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"gopg.db"}, + DDService: []string{harness.TestDDService}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "go-pg", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "postgresql.query", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/go_redis_v1_test.go b/instrumentation/internal/namingschematest/go_redis_v1_test.go new file mode 100644 index 0000000000..2657a2b9f0 --- /dev/null +++ b/instrumentation/internal/namingschematest/go_redis_v1_test.go @@ -0,0 +1,50 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "testing" + + "github.com/go-redis/redis" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + redistrace "github.com/DataDog/dd-trace-go/contrib/go-redis/redis/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var goRedisV1Test = harness.TestCase{ + Name: instrumentation.PackageGoRedis, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []redistrace.ClientOption + if serviceOverride != "" { + opts = append(opts, redistrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + client := redistrace.NewClient(&redis.Options{Addr: "127.0.0.1:6379"}, opts...) + st := client.Set("test_key", "test_value", 0) + require.NoError(t, st.Err()) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"redis.client"}, + DDService: []string{"redis.client"}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "redis.command", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "redis.command", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/go_redis_v7_test.go b/instrumentation/internal/namingschematest/go_redis_v7_test.go new file mode 100644 index 0000000000..bc7ca1b896 --- /dev/null +++ b/instrumentation/internal/namingschematest/go_redis_v7_test.go @@ -0,0 +1,50 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "testing" + + "github.com/go-redis/redis/v7" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + redistrace "github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v7/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var goRedisV7Test = harness.TestCase{ + Name: instrumentation.PackageGoRedis, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []redistrace.ClientOption + if serviceOverride != "" { + opts = append(opts, redistrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + client := redistrace.NewClient(&redis.Options{Addr: "127.0.0.1:6379"}, opts...) + st := client.Set("test_key", "test_value", 0) + require.NoError(t, st.Err()) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"redis.client"}, + DDService: []string{"redis.client"}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "redis.command", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "redis.command", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/go_redis_v8_test.go b/instrumentation/internal/namingschematest/go_redis_v8_test.go new file mode 100644 index 0000000000..e541aec03d --- /dev/null +++ b/instrumentation/internal/namingschematest/go_redis_v8_test.go @@ -0,0 +1,51 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "context" + "testing" + + "github.com/go-redis/redis/v8" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + redistrace "github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v8/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var goRedisV8Test = harness.TestCase{ + Name: instrumentation.PackageGoRedis, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []redistrace.ClientOption + if serviceOverride != "" { + opts = append(opts, redistrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + client := redistrace.NewClient(&redis.Options{Addr: "127.0.0.1:6379"}, opts...) + st := client.Set(context.Background(), "test_key", "test_value", 0) + require.NoError(t, st.Err()) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"redis.client"}, + DDService: []string{"redis.client"}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "redis.command", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "redis.command", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/gocql_test.go b/instrumentation/internal/namingschematest/gocql_test.go new file mode 100644 index 0000000000..cd45ffe301 --- /dev/null +++ b/instrumentation/internal/namingschematest/gocql_test.go @@ -0,0 +1,70 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "testing" + "time" + + "github.com/gocql/gocql" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + gocqltrace "github.com/DataDog/dd-trace-go/contrib/gocql/gocql/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var gocqlTest = harness.TestCase{ + Name: instrumentation.PackageGoCQL, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []gocqltrace.WrapOption + if serviceOverride != "" { + opts = append(opts, gocqltrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + cluster := gocqltrace.NewCluster([]string{"127.0.0.1:9042"}, opts...) + cluster.ConnectTimeout = 2 * time.Second + cluster.Timeout = 2 * time.Second + + session, err := cluster.CreateSession() + require.NoError(t, err) + + stmt := "INSERT INTO trace.person (name, age, description) VALUES (?, ?, ?)" + + // generate query span + err = session.Query(stmt, "name", 30, "description").Exec() + require.NoError(t, err) + + // generate batch span + tb := session.NewBatch(gocql.UnloggedBatch) + + tb.Query(stmt, "Kate", 80, "Cassandra's sister running in kubernetes") + tb.Query(stmt, "Lucas", 60, "Another person") + err = tb.ExecuteBatch(session.Session) + require.NoError(t, err) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"gocql.query", "gocql.query"}, + DDService: []string{"gocql.query", "gocql.query"}, + ServiceOverride: []string{harness.TestServiceOverride, harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "cassandra.query", spans[0].OperationName()) + assert.Equal(t, "cassandra.batch", spans[1].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "cassandra.query", spans[0].OperationName()) + assert.Equal(t, "cassandra.query", spans[1].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/main_test.go b/instrumentation/internal/namingschematest/main_test.go index 00fd762606..e3adebe98a 100644 --- a/instrumentation/internal/namingschematest/main_test.go +++ b/instrumentation/internal/namingschematest/main_test.go @@ -27,9 +27,18 @@ func TestNamingSchema(t *testing.T) { httpTreeMuxTestCase, elasticV6, goRestfulV3, - ginGonicGin, + ginTest, globalsignMgo, - goMongodbOrgMongoDriver, + mongoDriverTest, + chiV1Test, + chiV5Test, + goPGv10Test, + goRedisV1Test, + goRedisV7Test, + goRedisV8Test, + gocqlTest, + fiberV2Test, + redigoTest, netHTTPServer, netHTTPClient, gomemcache, diff --git a/instrumentation/internal/namingschematest/mgo_test.go b/instrumentation/internal/namingschematest/mgo_test.go index d6cb951d79..40ca22f2b4 100644 --- a/instrumentation/internal/namingschematest/mgo_test.go +++ b/instrumentation/internal/namingschematest/mgo_test.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( diff --git a/instrumentation/internal/namingschematest/mongodriver_test.go b/instrumentation/internal/namingschematest/mongodriver_test.go index fc7dcfce04..2f88aa8255 100644 --- a/instrumentation/internal/namingschematest/mongodriver_test.go +++ b/instrumentation/internal/namingschematest/mongodriver_test.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( @@ -17,8 +22,8 @@ import ( "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -var goMongodbOrgMongoDriver = harness.TestCase{ - Name: instrumentation.PackageGoMongoDBOrgMongoDriver, +var mongoDriverTest = harness.TestCase{ + Name: instrumentation.PackageMongoDriver, GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { var opts []mongotrace.Option if serviceOverride != "" { diff --git a/instrumentation/internal/namingschematest/redigo_test.go b/instrumentation/internal/namingschematest/redigo_test.go new file mode 100644 index 0000000000..95eed3698c --- /dev/null +++ b/instrumentation/internal/namingschematest/redigo_test.go @@ -0,0 +1,50 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + redigotrace "github.com/DataDog/dd-trace-go/contrib/gomodule/redigo/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var redigoTest = harness.TestCase{ + Name: instrumentation.PackageRedigo, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []interface{} + if serviceOverride != "" { + opts = append(opts, redigotrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + c, err := redigotrace.Dial("tcp", "127.0.0.1:6379", opts...) + require.NoError(t, err) + _, err = c.Do("SET", "test_key", "test_value") + require.NoError(t, err) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"redis.conn"}, + DDService: []string{"redis.conn"}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "redis.command", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "redis.command", spans[0].OperationName()) + }, +} diff --git a/instrumentation/packages.go b/instrumentation/packages.go index 6088f23378..ec3a877666 100644 --- a/instrumentation/packages.go +++ b/instrumentation/packages.go @@ -15,20 +15,31 @@ import ( type Package string const ( - Package99DesignsGQLGen Package = "99designs/gqlgen" - PackageAWSSDKGo Package = "aws/aws-sdk-go" - PackageAWSSDKGoV2 Package = "aws/aws-sdk-go-v2" - PackageBradfitzGoMemcache Package = "bradfitz/gomemcache" - PackageCloudGoogleComPubsub Package = "cloud.google.com/go/pubsub.v1" - PackageConfluentKafkaGo Package = "confluentinc/confluent-kafka-go/kafka" - PackageConfluentKafkaGoV2 Package = "confluentinc/confluent-kafka-go/kafka.v2" - PackageDatabaseSQL Package = "database/sql" - PackageDimfeldHTTPTreeMuxV5 Package = "dimfeld/httptreemux.v5" - PackageGoElasticSearchV6 Package = "elastic/go-elasticsearch.v6" - PackageEmickleiGoRestfulV3 Package = "emicklei/go-restful.v3" - PackageGinGonicGin Package = "gin-gonic/gin" - PackageGlobalsignMgo Package = "globalsign/mgo" - PackageGoMongoDBOrgMongoDriver Package = "go.mongodb.org/mongo-driver" + Package99DesignsGQLGen Package = "99designs/gqlgen" + PackageAWSSDKGo Package = "aws/aws-sdk-go" + PackageAWSSDKGoV2 Package = "aws/aws-sdk-go-v2" + PackageBradfitzGoMemcache Package = "bradfitz/gomemcache" + PackageGCPPubsub Package = "cloud.google.com/go/pubsub.v1" + PackageConfluentKafkaGo Package = "confluentinc/confluent-kafka-go/kafka" + PackageConfluentKafkaGoV2 Package = "confluentinc/confluent-kafka-go/kafka.v2" + PackageDatabaseSQL Package = "database/sql" + PackageDimfeldHTTPTreeMuxV5 Package = "dimfeld/httptreemux.v5" + PackageGoElasticSearchV6 Package = "elastic/go-elasticsearch.v6" + PackageEmickleiGoRestfulV3 Package = "emicklei/go-restful.v3" + PackageGin Package = "gin-gonic/gin" + PackageGlobalsignMgo Package = "globalsign/mgo" + PackageMongoDriver Package = "go.mongodb.org/mongo-driver" + PackageChi Package = "go-chi/chi" + PackageChiV5 Package = "go-chi/chi.v5" + PackageGoPGV10 Package = "go-pg/pg.v10" + PackageGoRedis Package = "go-redis/redis" + PackageGoRedisV7 Package = "go-redis/redis.v7" + PackageGoRedisV8 Package = "go-redis/redis.v8" + PackageGoCQL Package = "gocql/gocql" + PackageGoFiberV2 Package = "gofiber/fiber.v2" + PackageRedigo Package = "gomodule/redigo" + PackageGoogleAPI Package = "google.golang.org/api" + // TODO: ... PackageNetHTTP Package = "net/http" @@ -133,7 +144,7 @@ var packages = map[Package]PackageInfo{ }, }, }, - PackageCloudGoogleComPubsub: { + PackageGCPPubsub: { TracedPackage: "cloud.google.com/go/pubsub", EnvVarPrefix: "GCP_PUBSUB", naming: map[Component]componentNames{ @@ -244,7 +255,7 @@ var packages = map[Package]PackageInfo{ }, }, }, - PackageGinGonicGin: { + PackageGin: { TracedPackage: "github.com/gin-gonic/gin", EnvVarPrefix: "GIN", naming: map[Component]componentNames{ @@ -268,7 +279,7 @@ var packages = map[Package]PackageInfo{ }, }, }, - PackageGoMongoDBOrgMongoDriver: { + PackageMongoDriver: { TracedPackage: "go.mongodb.org/mongo-driver", EnvVarPrefix: "MONGO", naming: map[Component]componentNames{ @@ -280,6 +291,127 @@ var packages = map[Package]PackageInfo{ }, }, }, + PackageChi: { + TracedPackage: "github.com/go-chi/chi", + EnvVarPrefix: "CHI", + naming: map[Component]componentNames{ + ComponentServer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("chi.router"), + buildOpNameV0: staticName("http.request"), + buildOpNameV1: staticName("http.server.request"), + }, + }, + }, + PackageChiV5: { + TracedPackage: "github.com/go-chi/chi/v5", + EnvVarPrefix: "CHI", + naming: map[Component]componentNames{ + ComponentServer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("chi.router"), + buildOpNameV0: staticName("http.request"), + buildOpNameV1: staticName("http.server.request"), + }, + }, + }, + PackageGoPGV10: { + TracedPackage: "github.com/go-pg/pg/v10", + EnvVarPrefix: "GOPG", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: true, + buildServiceNameV0: staticName("gopg.db"), + buildOpNameV0: staticName("go-pg"), + buildOpNameV1: staticName("postgresql.query"), + }, + }, + }, + PackageGoRedis: { + TracedPackage: "github.com/go-redis/redis", + EnvVarPrefix: "REDIS", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("redis.client"), + buildOpNameV0: staticName("redis.command"), + buildOpNameV1: staticName("redis.command"), + }, + }, + }, + PackageGoRedisV7: { + TracedPackage: "github.com/go-redis/redis/v7", + EnvVarPrefix: "REDIS", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("redis.client"), + buildOpNameV0: staticName("redis.command"), + buildOpNameV1: staticName("redis.command"), + }, + }, + }, + PackageGoRedisV8: { + TracedPackage: "github.com/go-redis/redis/v8", + EnvVarPrefix: "REDIS", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("redis.client"), + buildOpNameV0: staticName("redis.command"), + buildOpNameV1: staticName("redis.command"), + }, + }, + }, + PackageGoCQL: { + TracedPackage: "github.com/gocql/gocql", + EnvVarPrefix: "GOCQL", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("gocql.query"), + buildOpNameV0: func(opCtx OperationContext) string { + if opCtx["operationType"] == "batch" { + return "cassandra.batch" + } + return "cassandra.query" + }, + buildOpNameV1: staticName("cassandra.query"), + }, + }, + }, + PackageGoFiberV2: { + TracedPackage: "github.com/gofiber/fiber/v2", + EnvVarPrefix: "FIBER", + naming: map[Component]componentNames{ + ComponentServer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("fiber"), + buildOpNameV0: staticName("http.request"), + buildOpNameV1: staticName("http.server.request"), + }, + }, + }, + PackageRedigo: { + TracedPackage: "github.com/gomodule/redigo", + EnvVarPrefix: "REDIGO", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("redis.conn"), + buildOpNameV0: staticName("redis.command"), + buildOpNameV1: staticName("redis.command"), + }, + }, + }, + PackageGoogleAPI: { + TracedPackage: "google.golang.org/api", + EnvVarPrefix: "GOOGLE_API", + naming: nil, // this package does not use naming schema + }, + + // TODO + PackageNetHTTP: { TracedPackage: "net/http", EnvVarPrefix: "HTTP", From fcf8440fea9384dae3fcff4beff5f0c635260f3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Tue, 27 Aug 2024 11:50:19 +0200 Subject: [PATCH 08/21] v2: feat(contrib): migrate all pending contribs (#2829) --- .gitignore | 1 + contrib/IBM/sarama/option.go | 19 +- contrib/IBM/sarama/sarama.go | 20 +- contrib/IBM/sarama/sarama_test.go | 69 ------- contrib/gorilla/mux/mux.go | 14 +- contrib/gorilla/mux/mux_test.go | 73 ++----- contrib/gorilla/mux/option.go | 20 +- contrib/gorilla/mux/telemetry_test.go | 28 --- contrib/gorm.io/gorm.v1/gorm.go | 12 +- contrib/gorm.io/gorm.v1/gorm_test.go | 10 +- contrib/gorm.io/gorm.v1/option.go | 9 +- contrib/graph-gophers/graphql-go/graphql.go | 18 +- .../graph-gophers/graphql-go/graphql_test.go | 51 +---- contrib/graph-gophers/graphql-go/option.go | 14 +- contrib/graphql-go/graphql/appsec_test.go | 7 +- contrib/graphql-go/graphql/bench_test.go | 7 +- contrib/graphql-go/graphql/graphql.go | 22 +- contrib/graphql-go/graphql/option.go | 11 +- contrib/hashicorp/consul/consul.go | 12 +- contrib/hashicorp/consul/consul_test.go | 39 ---- contrib/hashicorp/consul/option.go | 14 +- contrib/hashicorp/vault/option.go | 15 +- contrib/hashicorp/vault/vault.go | 7 +- contrib/hashicorp/vault/vault_test.go | 49 ----- contrib/jackc/pgx.v5/option.go | 6 +- contrib/jackc/pgx.v5/pgx.go | 9 +- contrib/jackc/pgx.v5/pgx_tracer.go | 3 +- contrib/jackc/pgx.v5/pgx_tracer_test.go | 3 +- contrib/jmoiron/sqlx/sql.go | 8 +- .../julienschmidt/httprouter/httprouter.go | 16 +- .../httprouter/httprouter_test.go | 69 ++----- contrib/julienschmidt/httprouter/option.go | 20 +- .../k8s.io/client-go/kubernetes/kubernetes.go | 12 +- .../client-go/kubernetes/kubernetes_test.go | 10 +- contrib/labstack/echo.v4/appsec_test.go | 24 +-- contrib/labstack/echo.v4/echotrace.go | 19 +- contrib/labstack/echo.v4/echotrace_test.go | 97 +++------ contrib/labstack/echo.v4/option.go | 17 +- contrib/miekg/dns/dns.go | 12 +- contrib/olivere/elastic.v5/elastictrace.go | 12 +- .../olivere/elastic.v5/elastictrace_test.go | 57 +----- contrib/olivere/elastic.v5/option.go | 16 +- contrib/redis/go-redis.v9/option.go | 16 +- contrib/redis/go-redis.v9/redis.go | 9 +- contrib/redis/go-redis.v9/redis_test.go | 46 +---- contrib/segmentio/kafka-go/kafka.go | 20 +- contrib/segmentio/kafka-go/kafka_test.go | 43 ---- contrib/segmentio/kafka-go/option.go | 21 +- contrib/segmentio/kafka-go/option_test.go | 10 +- .../internal/namingschematest/gorilla_mux.go | 50 +++++ .../namingschematest/graphgophers_graphql.go | 77 +++++++ .../namingschematest/hashicorp_consul.go | 55 +++++ .../namingschematest/hashicorp_vault.go | 118 +++++++++++ .../internal/namingschematest/ibm_sarama.go | 98 +++++++++ .../julienschmidt_httprouter.go | 56 +++++ .../namingschematest/labstack_echo_v4.go | 56 +++++ .../internal/namingschematest/main_test.go | 14 ++ .../namingschematest/net_http_test.go | 12 +- .../namingschematest/olivere_elastic_v5.go | 63 ++++++ .../namingschematest/redis_goredis_v9.go | 58 ++++++ .../namingschematest/segmentio_kafkago.go | 118 +++++++++++ instrumentation/packages.go | 192 +++++++++++++++++- instrumentation/testutils/testutils.go | 5 + 63 files changed, 1231 insertions(+), 857 deletions(-) delete mode 100644 contrib/gorilla/mux/telemetry_test.go create mode 100644 instrumentation/internal/namingschematest/gorilla_mux.go create mode 100644 instrumentation/internal/namingschematest/graphgophers_graphql.go create mode 100644 instrumentation/internal/namingschematest/hashicorp_consul.go create mode 100644 instrumentation/internal/namingschematest/hashicorp_vault.go create mode 100644 instrumentation/internal/namingschematest/ibm_sarama.go create mode 100644 instrumentation/internal/namingschematest/julienschmidt_httprouter.go create mode 100644 instrumentation/internal/namingschematest/labstack_echo_v4.go create mode 100644 instrumentation/internal/namingschematest/olivere_elastic_v5.go create mode 100644 instrumentation/internal/namingschematest/redis_goredis_v9.go create mode 100644 instrumentation/internal/namingschematest/segmentio_kafkago.go diff --git a/.gitignore b/.gitignore index 43c69e21ff..a2804c6e1a 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ contrib_coverage*.txt gotestsum-report*.xml /internal/apps/unit-of-work/unit-of-work tools/v2check/_stage/v2playground/* +static-analysis.datadog.yml diff --git a/contrib/IBM/sarama/option.go b/contrib/IBM/sarama/option.go index c52dfd709e..9875cc7734 100644 --- a/contrib/IBM/sarama/option.go +++ b/contrib/IBM/sarama/option.go @@ -8,12 +8,9 @@ package sarama import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "kafka" - type config struct { consumerServiceName string producerServiceName string @@ -23,18 +20,14 @@ type config struct { } func defaults(cfg *config) { - cfg.consumerServiceName = namingschema.ServiceName(defaultServiceName) - cfg.producerServiceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) + cfg.consumerServiceName = instr.ServiceName(instrumentation.ComponentConsumer, nil) + cfg.producerServiceName = instr.ServiceName(instrumentation.ComponentProducer, nil) - cfg.consumerSpanName = namingschema.OpName(namingschema.KafkaInbound) - cfg.producerSpanName = namingschema.OpName(namingschema.KafkaOutbound) + cfg.consumerSpanName = instr.OperationName(instrumentation.ComponentConsumer, nil) + cfg.producerSpanName = instr.OperationName(instrumentation.ComponentProducer, nil) // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_SARAMA_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.analyticsRate = instr.AnalyticsRate(false) } // Option describes options for the Sarama integration. diff --git a/contrib/IBM/sarama/sarama.go b/contrib/IBM/sarama/sarama.go index d7d5594d70..d6ed2aae26 100644 --- a/contrib/IBM/sarama/sarama.go +++ b/contrib/IBM/sarama/sarama.go @@ -12,17 +12,15 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/IBM/sarama" ) -const componentName = "IBM/sarama" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/IBM/sarama") + instr = instrumentation.Load(instrumentation.PackageIBMSarama) } type partitionConsumer struct { @@ -44,7 +42,7 @@ func WrapPartitionConsumer(pc sarama.PartitionConsumer, opts ...Option) sarama.P for _, opt := range opts { opt.apply(cfg) } - log.Debug("contrib/IBM/sarama: Wrapping Partition Consumer: %#v", cfg) + instr.Logger().Debug("contrib/IBM/sarama: Wrapping Partition Consumer: %#v", cfg) wrapped := &partitionConsumer{ PartitionConsumer: pc, messages: make(chan *sarama.ConsumerMessage), @@ -60,7 +58,7 @@ func WrapPartitionConsumer(pc sarama.PartitionConsumer, opts ...Option) sarama.P tracer.SpanType(ext.SpanTypeMessageConsumer), tracer.Tag(ext.MessagingKafkaPartition, msg.Partition), tracer.Tag("offset", msg.Offset), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageIBMSarama), tracer.Tag(ext.SpanKind, ext.SpanKindConsumer), tracer.Tag(ext.MessagingSystem, ext.MessagingSystemKafka), tracer.Measured(), @@ -155,7 +153,7 @@ func WrapSyncProducer(saramaConfig *sarama.Config, producer sarama.SyncProducer, for _, opt := range opts { opt.apply(cfg) } - log.Debug("contrib/IBM/sarama: Wrapping Sync Producer: %#v", cfg) + instr.Logger().Debug("contrib/IBM/sarama: Wrapping Sync Producer: %#v", cfg) if saramaConfig == nil { saramaConfig = sarama.NewConfig() } @@ -199,12 +197,12 @@ func WrapAsyncProducer(saramaConfig *sarama.Config, p sarama.AsyncProducer, opts for _, opt := range opts { opt.apply(cfg) } - log.Debug("contrib/IBM/sarama: Wrapping Async Producer: %#v", cfg) + instr.Logger().Debug("contrib/IBM/sarama: Wrapping Async Producer: %#v", cfg) if saramaConfig == nil { saramaConfig = sarama.NewConfig() saramaConfig.Version = sarama.V0_11_0_0 } else if !saramaConfig.Version.IsAtLeast(sarama.V0_11_0_0) { - log.Error("Tracing Sarama async producer requires at least sarama.V0_11_0_0 version") + instr.Logger().Error("Tracing Sarama async producer requires at least sarama.V0_11_0_0 version") } wrapped := &asyncProducer{ AsyncProducer: p, @@ -269,7 +267,7 @@ func startProducerSpan(cfg *config, version sarama.KafkaVersion, msg *sarama.Pro tracer.ServiceName(cfg.producerServiceName), tracer.ResourceName("Produce Topic " + msg.Topic), tracer.SpanType(ext.SpanTypeMessageProducer), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageIBMSarama), tracer.Tag(ext.SpanKind, ext.SpanKindProducer), tracer.Tag(ext.MessagingSystem, ext.MessagingSystemKafka), } diff --git a/contrib/IBM/sarama/sarama_test.go b/contrib/IBM/sarama/sarama_test.go index e33cc73a41..fa02cbd32b 100644 --- a/contrib/IBM/sarama/sarama_test.go +++ b/contrib/IBM/sarama/sarama_test.go @@ -13,76 +13,11 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" "github.com/IBM/sarama" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) -func genTestSpans(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - broker := sarama.NewMockBroker(t, 1) - defer broker.Close() - - broker.SetHandlerByMap(map[string]sarama.MockResponse{ - "MetadataRequest": sarama.NewMockMetadataResponse(t). - SetBroker(broker.Addr(), broker.BrokerID()). - SetLeader("test-topic", 0, broker.BrokerID()), - "OffsetRequest": sarama.NewMockOffsetResponse(t). - SetOffset("test-topic", 0, sarama.OffsetOldest, 0). - SetOffset("test-topic", 0, sarama.OffsetNewest, 1), - "FetchRequest": sarama.NewMockFetchResponse(t, 1). - SetMessage("test-topic", 0, 0, sarama.StringEncoder("hello")), - "ProduceRequest": sarama.NewMockProduceResponse(t). - SetError("test-topic", 0, sarama.ErrNoError), - }) - cfg := sarama.NewConfig() - cfg.Version = sarama.MinVersion - cfg.Producer.Return.Successes = true - cfg.Producer.Flush.Messages = 1 - - producer, err := sarama.NewSyncProducer([]string{broker.Addr()}, cfg) - require.NoError(t, err) - producer = WrapSyncProducer(cfg, producer, opts...) - - c, err := sarama.NewConsumer([]string{broker.Addr()}, cfg) - require.NoError(t, err) - defer func(c sarama.Consumer) { - err := c.Close() - require.NoError(t, err) - }(c) - c = WrapConsumer(c, opts...) - - msg1 := &sarama.ProducerMessage{ - Topic: "test-topic", - Value: sarama.StringEncoder("test 1"), - Metadata: "test", - } - _, _, err = producer.SendMessage(msg1) - require.NoError(t, err) - - pc, err := c.ConsumePartition("test-topic", 0, 0) - if err != nil { - t.Fatal(err) - } - _ = <-pc.Messages() - err = pc.Close() - require.NoError(t, err) - // wait for the channel to be closed - <-pc.Messages() - - spans := mt.FinishedSpans() - require.Len(t, spans, 2) - return spans -} - func TestConsumer(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() @@ -356,10 +291,6 @@ func TestAsyncProducer(t *testing.T) { }) } -func TestNamingSchema(t *testing.T) { - namingschematest.NewKafkaTest(genTestSpans)(t) -} - func newMockBroker(t *testing.T) *sarama.MockBroker { broker := sarama.NewMockBroker(t, 1) diff --git a/contrib/gorilla/mux/mux.go b/contrib/gorilla/mux/mux.go index ce3811a2c3..425b4cc4c1 100644 --- a/contrib/gorilla/mux/mux.go +++ b/contrib/gorilla/mux/mux.go @@ -12,19 +12,17 @@ import ( httptrace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + httptraceinternal "github.com/DataDog/dd-trace-go/v2/instrumentation/httptrace" "github.com/DataDog/dd-trace-go/v2/instrumentation/options" - httptraceinternal "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" "github.com/gorilla/mux" ) -const componentName = "gorilla/mux" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/gorilla/mux") + instr = instrumentation.Load(instrumentation.PackageGorillaMux) } // Router registers routes to be matched and dispatches a handler. @@ -124,9 +122,9 @@ func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request) { // requests and responses served by the router. func WrapRouter(router *mux.Router, opts ...RouterOption) *Router { cfg := newConfig(opts) - cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.Component, componentName)) + cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.Component, instrumentation.PackageGorillaMux)) cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.SpanKind, ext.SpanKindServer)) - log.Debug("contrib/gorilla/mux: Configuring Router: %#v", cfg) + instr.Logger().Debug("contrib/gorilla/mux: Configuring Router: %#v", cfg) return &Router{ Router: router, config: cfg, diff --git a/contrib/gorilla/mux/mux_test.go b/contrib/gorilla/mux/mux_test.go index 9b6a177331..592ddcdfce 100644 --- a/contrib/gorilla/mux/mux_test.go +++ b/contrib/gorilla/mux/mux_test.go @@ -18,10 +18,8 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -155,64 +153,58 @@ func TestWithHeaderTags(t *testing.T) { assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - _, tag := normalizer.HeaderTag(arg) + instrumentation.NewHeaderTags(htArgs).Iter(func(_ string, tag string) { assert.NotContains(s.Tags(), tag) - } + }) }) t.Run("integration", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() htArgs := []string{"h!e@a-d.e*r", "2header:tag"} - r := setupReq(WithHeaderTags(htArgs)) + _ = setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + assert.Equal("val,val2", s.Tags()["http.request.headers.h_e_a-d_e_r"]) + assert.Equal("2val", s.Tags()["tag"]) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) t.Run("global", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - header, tag := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(header, tag) + testutils.SetGlobalHeaderTags(t, "3header") - r := setupReq() + _ = setupReq() spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) + assert.Equal("3val", s.Tags()["http.request.headers.3header"]) + assert.NotContains(s.Tags(), "http.request.headers.other") assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) t.Run("override", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - globalH, globalT := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(globalH, globalT) + testutils.SetGlobalHeaderTags(t, "3header") htArgs := []string{"h!e@a-d.e*r", "2header:tag"} - r := setupReq(WithHeaderTags(htArgs)) + _ = setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + assert.Equal("val,val2", s.Tags()["http.request.headers.h_e_a-d_e_r"]) + assert.Equal("2val", s.Tags()["tag"]) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") - assert.NotContains(s.Tags(), globalT) + assert.NotContains(s.Tags(), "http.request.headers.3header") }) } @@ -296,9 +288,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -321,9 +311,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) @@ -407,10 +395,9 @@ func okHandler() http.Handler { } func TestAppSec(t *testing.T) { - appsec.Start() - defer appsec.Stop() + testutils.StartAppSec(t) - if !appsec.Enabled() { + if !instr.AppSecEnabled() { t.Skip("appsec disabled") } @@ -535,23 +522,3 @@ func TestAppSec(t *testing.T) { require.True(t, strings.Contains(event.(string), "crs-933-130")) }) } - -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []RouterOption - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - mux := NewRouter(opts...) - mux.Handle("/200", okHandler()) - req := httptest.NewRequest("GET", "/200", nil) - w := httptest.NewRecorder() - mux.ServeHTTP(w, req) - - return mt.FinishedSpans() - }) - namingschematest.NewHTTPServerTest(genSpans, "mux.router")(t) -} diff --git a/contrib/gorilla/mux/option.go b/contrib/gorilla/mux/option.go index 1c196489dc..d9d20bd09a 100644 --- a/contrib/gorilla/mux/option.go +++ b/contrib/gorilla/mux/option.go @@ -11,10 +11,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const defaultServiceName = "mux.router" @@ -27,7 +24,7 @@ type routerConfig struct { resourceNamer func(*Router, *http.Request) string ignoreRequest func(*http.Request) bool queryParams bool - headerTags *internal.LockMap + headerTags instrumentation.HeaderTags } // RouterOption describes options for the Gorilla mux integration. @@ -55,13 +52,9 @@ func newConfig(opts []RouterOption) *routerConfig { } func defaults(cfg *routerConfig) { - if internal.BoolEnv("DD_TRACE_MUX_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = globalconfig.AnalyticsRate() - } - cfg.headerTags = globalconfig.HeaderTagMap() - cfg.serviceName = namingschema.ServiceName(defaultServiceName) + cfg.analyticsRate = instr.AnalyticsRate(true) + cfg.headerTags = instr.HTTPHeadersAsTags() + cfg.serviceName = instr.ServiceName(instrumentation.ComponentServer, nil) cfg.resourceNamer = defaultResourceNamer cfg.ignoreRequest = func(_ *http.Request) bool { return false } } @@ -134,9 +127,8 @@ func WithResourceNamer(namer func(router *Router, req *http.Request) string) Rou // Using this feature can risk exposing sensitive data such as authorization tokens to Datadog. // Special headers can not be sub-selected. E.g., an entire Cookie header would be transmitted, without the ability to choose specific Cookies. func WithHeaderTags(headers []string) RouterOptionFn { - headerTagsMap := normalizer.HeaderTagSlice(headers) return func(cfg *routerConfig) { - cfg.headerTags = internal.NewLockMap(headerTagsMap) + cfg.headerTags = instrumentation.NewHeaderTags(headers) } } diff --git a/contrib/gorilla/mux/telemetry_test.go b/contrib/gorilla/mux/telemetry_test.go deleted file mode 100644 index ac6727046c..0000000000 --- a/contrib/gorilla/mux/telemetry_test.go +++ /dev/null @@ -1,28 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2016 Datadog, Inc. - -package mux - -import ( - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" -) - -// TestIntegrationInfo verifies that an integration leveraging instrumentation telemetry -// sends the correct data to the telemetry client. -func TestIntegrationInfo(t *testing.T) { - // mux.NewRouter() uses the net/http and gorilla/mux integration - NewRouter() - integrations := telemetry.Integrations() - require.Len(t, integrations, 2) - assert.Equal(t, integrations[0].Name, "net/http") - assert.True(t, integrations[0].Enabled) - assert.Equal(t, integrations[1].Name, "gorilla/mux") - assert.True(t, integrations[1].Enabled) -} diff --git a/contrib/gorm.io/gorm.v1/gorm.go b/contrib/gorm.io/gorm.v1/gorm.go index ed8ebd4df2..6c3270991f 100644 --- a/contrib/gorm.io/gorm.v1/gorm.go +++ b/contrib/gorm.io/gorm.v1/gorm.go @@ -13,17 +13,15 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "gorm.io/gorm" ) -const componentName = "gorm.io/gorm.v1" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported(componentName) + instr = instrumentation.Load(instrumentation.PackageGormIOGormV1) } type key string @@ -54,7 +52,7 @@ func withCallbacks(db *gorm.DB, opts ...Option) (*gorm.DB, error) { for _, fn := range opts { fn.apply(cfg) } - log.Debug("Registering Callbacks: %#v", cfg) + instr.Logger().Debug("Registering Callbacks: %#v", cfg) afterFunc := func(operationName string) func(*gorm.DB) { return func(db *gorm.DB) { @@ -136,7 +134,7 @@ func after(db *gorm.DB, operationName string, cfg *config) { tracer.ServiceName(cfg.serviceName), tracer.SpanType(ext.SpanTypeSQL), tracer.ResourceName(db.Statement.SQL.String()), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageGormIOGormV1), } if !math.IsNaN(cfg.analyticsRate) { opts = append(opts, tracer.Tag(ext.EventSampleRate, cfg.analyticsRate)) diff --git a/contrib/gorm.io/gorm.v1/gorm_test.go b/contrib/gorm.io/gorm.v1/gorm_test.go index aef65fc604..d9aeb84b64 100644 --- a/contrib/gorm.io/gorm.v1/gorm_test.go +++ b/contrib/gorm.io/gorm.v1/gorm_test.go @@ -16,8 +16,8 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" sqltest "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils/sql" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" "github.com/go-sql-driver/mysql" "github.com/jackc/pgx/v5/stdlib" @@ -379,9 +379,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -404,9 +402,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) diff --git a/contrib/gorm.io/gorm.v1/option.go b/contrib/gorm.io/gorm.v1/option.go index c8b05e9d23..f8c27376e9 100644 --- a/contrib/gorm.io/gorm.v1/option.go +++ b/contrib/gorm.io/gorm.v1/option.go @@ -8,8 +8,6 @@ package gorm import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "gorm.io/gorm" ) @@ -35,12 +33,7 @@ func (fn OptionFn) apply(cfg *config) { func defaults(cfg *config) { cfg.serviceName = "gorm.db" - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_GORM_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.analyticsRate = instr.AnalyticsRate(false) cfg.errCheck = func(error) bool { return true } cfg.tagFns = make(map[string]func(db *gorm.DB) interface{}) } diff --git a/contrib/graph-gophers/graphql-go/graphql.go b/contrib/graph-gophers/graphql-go/graphql.go index b553fac10d..b4831dd5be 100644 --- a/contrib/graph-gophers/graphql-go/graphql.go +++ b/contrib/graph-gophers/graphql-go/graphql.go @@ -18,21 +18,19 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" ddtracer "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/graphqlsec" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/graphqlsec/types" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/graphqlsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/graphqlsec/types" "github.com/graph-gophers/graphql-go/errors" "github.com/graph-gophers/graphql-go/introspection" "github.com/graph-gophers/graphql-go/trace/tracer" ) -const componentName = "graph-gophers/graphql-go" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - ddtracer.MarkIntegrationImported("github.com/graph-gophers/graphql-go") + instr = instrumentation.Load(instrumentation.PackageGraphGophersGraphQLGo) } const ( @@ -57,7 +55,7 @@ func (t *Tracer) TraceQuery(ctx context.Context, queryString, operationName stri ddtracer.ServiceName(t.cfg.serviceName), ddtracer.Tag(tagGraphqlQuery, queryString), ddtracer.Tag(tagGraphqlOperationName, operationName), - ddtracer.Tag(ext.Component, componentName), + ddtracer.Tag(ext.Component, instrumentation.PackageGraphGophersGraphQLGo), ddtracer.Measured(), } if t.cfg.traceVariables { @@ -106,7 +104,7 @@ func (t *Tracer) TraceField(ctx context.Context, _, typeName, fieldName string, ddtracer.ServiceName(t.cfg.serviceName), ddtracer.Tag(tagGraphqlField, fieldName), ddtracer.Tag(tagGraphqlType, typeName), - ddtracer.Tag(ext.Component, componentName), + ddtracer.Tag(ext.Component, instrumentation.PackageGraphGophersGraphQLGo), ddtracer.Measured(), } if t.cfg.traceVariables { @@ -145,7 +143,7 @@ func NewTracer(opts ...Option) tracer.Tracer { for _, opt := range opts { opt.apply(cfg) } - log.Debug("contrib/graph-gophers/graphql-go: Configuring Graphql Tracer: %#v", cfg) + instr.Logger().Debug("contrib/graph-gophers/graphql-go: Configuring Graphql Tracer: %#v", cfg) return &Tracer{ cfg: cfg, } diff --git a/contrib/graph-gophers/graphql-go/graphql_test.go b/contrib/graph-gophers/graphql-go/graphql_test.go index 892d32be8b..ff0fbc809d 100644 --- a/contrib/graph-gophers/graphql-go/graphql_test.go +++ b/contrib/graph-gophers/graphql-go/graphql_test.go @@ -13,14 +13,11 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/lists" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/graph-gophers/graphql-go" "github.com/graph-gophers/graphql-go/relay" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) type testResolver struct{} @@ -160,9 +157,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -182,48 +177,8 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) } - -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - srv := newTestServer(opts...) - defer srv.Close() - resp, err := http.Post(srv.URL, "application/json", strings.NewReader(`{"query": "{ hello }"}`)) - require.NoError(t, err) - defer resp.Body.Close() - - return mt.FinishedSpans() - }) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "graphql.field", spans[0].OperationName()) - assert.Equal(t, "graphql.request", spans[1].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "graphql.field", spans[0].OperationName()) - assert.Equal(t, "graphql.server.request", spans[1].OperationName()) - } - ddService := namingschematest.TestDDService - serviceOverride := namingschematest.TestServiceOverride - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: lists.RepeatString("graphql.server", 2), - WithDDService: lists.RepeatString(ddService, 2), - WithDDServiceAndOverride: lists.RepeatString(serviceOverride, 2), - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} diff --git a/contrib/graph-gophers/graphql-go/option.go b/contrib/graph-gophers/graphql-go/option.go index 1c71c13494..e4910600ad 100644 --- a/contrib/graph-gophers/graphql-go/option.go +++ b/contrib/graph-gophers/graphql-go/option.go @@ -8,8 +8,7 @@ package graphql import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const defaultServiceName = "graphql.server" @@ -35,14 +34,9 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - cfg.serviceName = namingschema.ServiceName(defaultServiceName) - cfg.querySpanName = namingschema.OpName(namingschema.GraphqlServer) - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_GRAPHQL_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.querySpanName = instr.OperationName(instrumentation.ComponentDefault, nil) + cfg.analyticsRate = instr.AnalyticsRate(false) } // WithService sets the given service name for the client. diff --git a/contrib/graphql-go/graphql/appsec_test.go b/contrib/graphql-go/graphql/appsec_test.go index 3ad014cce3..7327f91a58 100644 --- a/contrib/graphql-go/graphql/appsec_test.go +++ b/contrib/graphql-go/graphql/appsec_test.go @@ -17,7 +17,7 @@ import ( "github.com/stretchr/testify/require" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" ) func TestAppSec(t *testing.T) { @@ -263,14 +263,13 @@ func enableAppSec(t *testing.T) func() { require.NoError(t, err) restoreDdAppsecEnabled := setEnv("DD_APPSEC_ENABLED", "1") restoreDdAppsecRules := setEnv("DD_APPSEC_RULES", rulesFile) - appsec.Start() + testutils.StartAppSec(t) restore := func() { - appsec.Stop() restoreDdAppsecEnabled() restoreDdAppsecRules() _ = os.RemoveAll(tmpDir) } - if !appsec.Enabled() { + if !instr.AppSecEnabled() { restore() t.Skip("could not enable appsec: this platform is likely not supported") } diff --git a/contrib/graphql-go/graphql/bench_test.go b/contrib/graphql-go/graphql/bench_test.go index 6d02e2f8d6..98099c0725 100644 --- a/contrib/graphql-go/graphql/bench_test.go +++ b/contrib/graphql-go/graphql/bench_test.go @@ -15,7 +15,7 @@ import ( "github.com/stretchr/testify/require" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" ) func BenchmarkGraphQL(b *testing.B) { @@ -250,12 +250,11 @@ func enableAppSecBench(b *testing.B) func() { require.NoError(b, err) b.Setenv("DD_APPSEC_ENABLED", "1") b.Setenv("DD_APPSEC_RULES", rulesFile) - appsec.Start() + testutils.StartAppSecBench(b) restore := func() { - appsec.Stop() _ = os.RemoveAll(tmpDir) } - if !appsec.Enabled() { + if !instr.AppSecEnabled() { restore() b.Skip("could not enable appsec: this platform is likely not supported") } diff --git a/contrib/graphql-go/graphql/graphql.go b/contrib/graphql-go/graphql/graphql.go index 73bd112def..29d6780569 100644 --- a/contrib/graphql-go/graphql/graphql.go +++ b/contrib/graphql-go/graphql/graphql.go @@ -13,9 +13,9 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/graphqlsec" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/graphqlsec/types" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/graphqlsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/graphqlsec/types" "github.com/graphql-go/graphql" "github.com/graphql-go/graphql/gqlerrors" @@ -23,16 +23,14 @@ import ( "github.com/hashicorp/go-multierror" ) -const componentName = "graphql-go/graphql" - var ( + instr *instrumentation.Instrumentation spanTagKind = tracer.Tag(ext.SpanKind, ext.SpanKindServer) spanTagType = tracer.Tag(ext.SpanType, ext.SpanTypeGraphQL) ) func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/graphql-go/graphql") + instr = instrumentation.Load(instrumentation.PackageGraphQLGoGraphQL) } const ( @@ -94,7 +92,7 @@ func (i datadogExtension) Init(ctx context.Context, params *graphql.Params) cont tracer.ServiceName(i.config.serviceName), spanTagKind, spanTagType, - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageGraphQLGoGraphQL), tracer.Measured(), ) ctx, request := graphqlsec.StartRequestOperation(ctx, nil, span, types.RequestOperationArgs{ @@ -124,7 +122,7 @@ func (i datadogExtension) ParseDidStart(ctx context.Context) (context.Context, g spanTagKind, spanTagType, tracer.Tag(tagGraphqlSource, data.query), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageGraphQLGoGraphQL), tracer.Measured(), } if data.operationName != "" { @@ -151,7 +149,7 @@ func (i datadogExtension) ValidationDidStart(ctx context.Context) (context.Conte spanTagKind, spanTagType, tracer.Tag(tagGraphqlSource, data.query), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageGraphQLGoGraphQL), tracer.Measured(), } if data.operationName != "" { @@ -182,7 +180,7 @@ func (i datadogExtension) ExecutionDidStart(ctx context.Context) (context.Contex spanTagKind, spanTagType, tracer.Tag(tagGraphqlSource, data.query), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageGraphQLGoGraphQL), tracer.Measured(), } if data.operationName != "" { @@ -228,7 +226,7 @@ func (i datadogExtension) ResolveFieldDidStart(ctx context.Context, info *graphq spanTagType, tracer.Tag(tagGraphqlField, info.FieldName), tracer.Tag(tagGraphqlOperationType, info.Operation.GetOperation()), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageGraphQLGoGraphQL), tracer.Tag(ext.ResourceName, fmt.Sprintf("%s.%s", info.ParentType.Name(), info.FieldName)), tracer.Measured(), } diff --git a/contrib/graphql-go/graphql/option.go b/contrib/graphql-go/graphql/option.go index 52a17bb5fe..8773b39a28 100644 --- a/contrib/graphql-go/graphql/option.go +++ b/contrib/graphql-go/graphql/option.go @@ -8,8 +8,7 @@ package graphql import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const defaultServiceName = "graphql.server" @@ -32,12 +31,8 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - cfg.serviceName = namingschema.ServiceName(defaultServiceName) - if internal.BoolEnv("DD_TRACE_GRAPHQL_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.analyticsRate = instr.AnalyticsRate(false) } // WithAnalytics enables Trace Analytics for all started spans. diff --git a/contrib/hashicorp/consul/consul.go b/contrib/hashicorp/consul/consul.go index 44906b2703..ca1499d4dc 100644 --- a/contrib/hashicorp/consul/consul.go +++ b/contrib/hashicorp/consul/consul.go @@ -11,17 +11,15 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" consul "github.com/hashicorp/consul/api" ) -const componentName = "hashicorp/consul" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/hashicorp/consul/api") + instr = instrumentation.Load(instrumentation.PackageHashicorpConsulAPI) } // Client wraps the regular *consul.Client and augments it with tracing. Use NewClient to initialize it. @@ -49,7 +47,7 @@ func WrapClient(c *consul.Client, opts ...ClientOption) *Client { for _, fn := range opts { fn.apply(cfg) } - log.Debug("contrib/hashicorp/consul: Wrapping Client: %#v", cfg) + instr.Logger().Debug("contrib/hashicorp/consul: Wrapping Client: %#v", cfg) return &Client{c, cfg, context.Background()} } @@ -77,7 +75,7 @@ func (k *KV) startSpan(resourceName string, key string) *tracer.Span { tracer.ServiceName(k.config.serviceName), tracer.SpanType(ext.SpanTypeConsul), tracer.Tag("consul.key", key), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageHashicorpConsulAPI), tracer.Tag(ext.SpanKind, ext.SpanKindClient), tracer.Tag(ext.DBSystem, ext.DBSystemConsulKV), } diff --git a/contrib/hashicorp/consul/consul_test.go b/contrib/hashicorp/consul/consul_test.go index 5bc5b9dccb..ecc4aa8bdd 100644 --- a/contrib/hashicorp/consul/consul_test.go +++ b/contrib/hashicorp/consul/consul_test.go @@ -13,11 +13,9 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" consul "github.com/hashicorp/consul/api" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) func TestMain(m *testing.M) { @@ -107,40 +105,3 @@ func TestKV(t *testing.T) { }) } } -func TestNamingSchema(t *testing.T) { - genSpans := func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []ClientOption - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - - mt := mocktracer.Start() - defer mt.Stop() - client, err := NewClient(consul.DefaultConfig(), opts...) - require.NoError(t, err) - kv := client.KV() - - pair := &consul.KVPair{Key: "test.key", Value: []byte("test_value")} - _, err = kv.Put(pair, nil) - require.NoError(t, err) - - spans := mt.FinishedSpans() - require.Len(t, spans, 1) - return spans - } - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "consul.command", spans[0].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "consul.query", spans[0].OperationName()) - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"consul"}, - WithDDService: []string{"consul"}, - WithDDServiceAndOverride: []string{namingschematest.TestServiceOverride}, - } - t.Run("service name", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("operation name", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} diff --git a/contrib/hashicorp/consul/option.go b/contrib/hashicorp/consul/option.go index 5e57112bb4..5dc339ee6d 100644 --- a/contrib/hashicorp/consul/option.go +++ b/contrib/hashicorp/consul/option.go @@ -9,8 +9,7 @@ import ( "math" "net" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" consul "github.com/hashicorp/consul/api" ) @@ -39,14 +38,9 @@ func (fn ClientOptionFn) apply(cfg *clientConfig) { } func defaults(cfg *clientConfig) { - cfg.serviceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.spanName = namingschema.OpName(namingschema.ConsulOutbound) - - if internal.BoolEnv("DD_TRACE_CONSUL_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.spanName = instr.OperationName(instrumentation.ComponentDefault, nil) + cfg.analyticsRate = instr.AnalyticsRate(false) } // WithService sets the given service name for the client. diff --git a/contrib/hashicorp/vault/option.go b/contrib/hashicorp/vault/option.go index 8fc169b7e9..d6f4312d78 100644 --- a/contrib/hashicorp/vault/option.go +++ b/contrib/hashicorp/vault/option.go @@ -8,9 +8,7 @@ package vault import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) type config struct { @@ -34,14 +32,9 @@ func (fn OptionFn) apply(cfg *config) { } func defaults(cfg *config) { - cfg.serviceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.spanName = namingschema.OpName(namingschema.VaultOutbound) - - if internal.BoolEnv("DD_TRACE_VAULT_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = globalconfig.AnalyticsRate() - } + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.spanName = instr.OperationName(instrumentation.ComponentDefault, nil) + cfg.analyticsRate = instr.AnalyticsRate(true) } // WithAnalytics enables or disables Trace Analytics for all started spans. diff --git a/contrib/hashicorp/vault/vault.go b/contrib/hashicorp/vault/vault.go index 9bef92a63e..78bb65abe3 100644 --- a/contrib/hashicorp/vault/vault.go +++ b/contrib/hashicorp/vault/vault.go @@ -24,17 +24,16 @@ import ( httptrace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/hashicorp/vault/api" "github.com/hashicorp/vault/sdk/helper/consts" ) -const componentName = "hashicorp/vault" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/hashicorp/vault/api") + instr = instrumentation.Load(instrumentation.PackageHashicorpVaultAPI) } // NewHTTPClient returns an http.Client for use in the Vault API config diff --git a/contrib/hashicorp/vault/vault_test.go b/contrib/hashicorp/vault/vault_test.go index cbe4ae6c2d..60bf43d587 100644 --- a/contrib/hashicorp/vault/vault_test.go +++ b/contrib/hashicorp/vault/vault_test.go @@ -17,11 +17,9 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" "github.com/hashicorp/vault/api" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) const secretMountPath = "/ns1/ns2/secret" @@ -430,50 +428,3 @@ func TestOption(t *testing.T) { }) } } - -func TestNamingSchema(t *testing.T) { - genSpans := func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - - mt := mocktracer.Start() - defer mt.Stop() - - ts, cleanup := setupServer(t) - defer cleanup() - - client, err := api.NewClient(&api.Config{ - HttpClient: NewHTTPClient(opts...), - Address: ts.URL, - }) - require.NoError(t, err) - if err != nil { - t.Fatal(err) - } - defer mountKV(client, t)() - - // Write key with namespace first - data := map[string]interface{}{"Key1": "Val1", "Key2": "Val2"} - _, err = client.Logical().Write("/some/path", data) - require.NoError(t, err) - - return mt.FinishedSpans() - } - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "http.request", spans[0].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 2) - assert.Equal(t, "vault.query", spans[0].OperationName()) - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"vault", "vault"}, - WithDDService: []string{"vault", "vault"}, - WithDDServiceAndOverride: []string{namingschematest.TestServiceOverride, namingschematest.TestServiceOverride}, - } - t.Run("service name", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("operation name", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} diff --git a/contrib/jackc/pgx.v5/option.go b/contrib/jackc/pgx.v5/option.go index 491d9467dc..6d576e6e25 100644 --- a/contrib/jackc/pgx.v5/option.go +++ b/contrib/jackc/pgx.v5/option.go @@ -5,7 +5,9 @@ package pgx -import "github.com/DataDog/dd-trace-go/v2/internal/namingschema" +import ( + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) type config struct { serviceName string @@ -18,7 +20,7 @@ type config struct { func defaultConfig() *config { return &config{ - serviceName: namingschema.ServiceName(defaultServiceName), + serviceName: instr.ServiceName(instrumentation.ComponentDefault, nil), traceQuery: true, traceBatch: true, traceCopyFrom: true, diff --git a/contrib/jackc/pgx.v5/pgx.go b/contrib/jackc/pgx.v5/pgx.go index 79bfabb00d..fa4c631253 100644 --- a/contrib/jackc/pgx.v5/pgx.go +++ b/contrib/jackc/pgx.v5/pgx.go @@ -8,20 +8,19 @@ package pgx import ( "context" - "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/jackc/pgx/v5" ) const ( - componentName = "jackc/pgx.v5" defaultServiceName = "postgres.db" ) +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/jackc/pgx.v5") + instr = instrumentation.Load(instrumentation.PackageJackcPGXV5) } type Batch = pgx.Batch diff --git a/contrib/jackc/pgx.v5/pgx_tracer.go b/contrib/jackc/pgx.v5/pgx_tracer.go index 43263e27d8..45628ae8f8 100644 --- a/contrib/jackc/pgx.v5/pgx_tracer.go +++ b/contrib/jackc/pgx.v5/pgx_tracer.go @@ -10,6 +10,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/jackc/pgx/v5" ) @@ -180,7 +181,7 @@ func (t *pgxTracer) spanOptions(connConfig *pgx.ConnConfig, op operationType, sq tracer.ServiceName(t.cfg.serviceName), tracer.SpanType(ext.SpanTypeSQL), tracer.Tag(ext.DBSystem, ext.DBSystemPostgreSQL), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageJackcPGXV5), tracer.Tag(ext.SpanKind, ext.SpanKindClient), tracer.Tag(tagOperation, string(op)), } diff --git a/contrib/jackc/pgx.v5/pgx_tracer_test.go b/contrib/jackc/pgx.v5/pgx_tracer_test.go index 97994f03f2..3e520334e6 100644 --- a/contrib/jackc/pgx.v5/pgx_tracer_test.go +++ b/contrib/jackc/pgx.v5/pgx_tracer_test.go @@ -17,6 +17,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/jackc/pgx/v5" "github.com/stretchr/testify/assert" @@ -296,7 +297,7 @@ func assertCommonTags(t *testing.T, s *mocktracer.Span) { assert.Equal(t, defaultServiceName, s.Tag(ext.ServiceName)) assert.Equal(t, ext.SpanTypeSQL, s.Tag(ext.SpanType)) assert.Equal(t, ext.DBSystemPostgreSQL, s.Tag(ext.DBSystem)) - assert.Equal(t, componentName, s.Tag(ext.Component)) + assert.Equal(t, string(instrumentation.PackageJackcPGXV5), s.Tag(ext.Component)) assert.Equal(t, ext.SpanKindClient, s.Tag(ext.SpanKind)) assert.Equal(t, "127.0.0.1", s.Tag(ext.NetworkDestinationName)) assert.Equal(t, float64(5432), s.Tag(ext.NetworkDestinationPort)) diff --git a/contrib/jmoiron/sqlx/sql.go b/contrib/jmoiron/sqlx/sql.go index 4497004993..7322fdffc9 100644 --- a/contrib/jmoiron/sqlx/sql.go +++ b/contrib/jmoiron/sqlx/sql.go @@ -13,17 +13,15 @@ package sqlx // import "github.com/DataDog/dd-trace-go/contrib/jmoiron/sqlx/v2" import ( sqltraced "github.com/DataDog/dd-trace-go/contrib/database/sql/v2" - "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/jmoiron/sqlx" ) -const componentName = "jmoiron/sqlx" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/jmoiron/sqlx") + instr = instrumentation.Load(instrumentation.PackageJmoironSQLx) } // Open opens a new (traced) connection to the database using the given driver and source. diff --git a/contrib/julienschmidt/httprouter/httprouter.go b/contrib/julienschmidt/httprouter/httprouter.go index e737ce6dc7..7a25b48bb7 100644 --- a/contrib/julienschmidt/httprouter/httprouter.go +++ b/contrib/julienschmidt/httprouter/httprouter.go @@ -14,19 +14,17 @@ import ( httptrace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + httptraceinstr "github.com/DataDog/dd-trace-go/v2/instrumentation/httptrace" "github.com/DataDog/dd-trace-go/v2/instrumentation/options" - httptraceinternal "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" "github.com/julienschmidt/httprouter" ) -const componentName = "julienschmidt/httprouter" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/julienschmidt/httprouter") + instr = instrumentation.Load(instrumentation.PackageJulienschmidtHTTPRouter) } // Router is a traced version of httprouter.Router. @@ -47,9 +45,9 @@ func New(opts ...RouterOption) *Router { } cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.SpanKind, ext.SpanKindServer)) - cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.Component, componentName)) + cfg.spanOpts = append(cfg.spanOpts, tracer.Tag(ext.Component, instrumentation.PackageJulienschmidtHTTPRouter)) - log.Debug("contrib/julienschmidt/httprouter: Configuring Router: %#v", cfg) + instr.Logger().Debug("contrib/julienschmidt/httprouter: Configuring Router: %#v", cfg) return &Router{httprouter.New(), cfg} } @@ -63,7 +61,7 @@ func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request) { } resource := req.Method + " " + route spanOpts := options.Expand(r.config.spanOpts, 0, 1) // spanOpts must be a copy of r.config.spanOpts, locally scoped, to avoid races. - spanOpts = append(spanOpts, httptraceinternal.HeaderTagsFromRequest(req, r.config.headerTags)) + spanOpts = append(spanOpts, httptraceinstr.HeaderTagsFromRequest(req, r.config.headerTags)) httptrace.TraceAndServe(r.Router, w, req, &httptrace.ServeConfig{ Service: r.config.serviceName, diff --git a/contrib/julienschmidt/httprouter/httprouter_test.go b/contrib/julienschmidt/httprouter/httprouter_test.go index fbf7cf5740..dd3aa5cc4b 100644 --- a/contrib/julienschmidt/httprouter/httprouter_test.go +++ b/contrib/julienschmidt/httprouter/httprouter_test.go @@ -8,15 +8,13 @@ package httprouter import ( "net/http" "net/http/httptest" - "strings" "testing" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/julienschmidt/httprouter" "github.com/stretchr/testify/assert" @@ -137,9 +135,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -162,9 +158,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) @@ -195,26 +189,6 @@ func handler500(w http.ResponseWriter, _ *http.Request, _ httprouter.Params) { http.Error(w, "500!", http.StatusInternalServerError) } -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []RouterOption - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - mux := New(opts...) - mux.GET("/200", handler200) - r := httptest.NewRequest("GET", "/200", nil) - w := httptest.NewRecorder() - mux.ServeHTTP(w, r) - - return mt.FinishedSpans() - }) - namingschematest.NewHTTPServerTest(genSpans, "http.router")(t) -} - func TestWithHeaderTags(t *testing.T) { setupReq := func(opts ...RouterOption) *http.Request { mux := New(opts...) @@ -239,63 +213,58 @@ func TestWithHeaderTags(t *testing.T) { assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - _, tag := normalizer.HeaderTag(arg) + + instrumentation.NewHeaderTags(htArgs).Iter(func(_ string, tag string) { assert.NotContains(s.Tags(), tag) - } + }) }) t.Run("integration", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() htArgs := []string{"h!e@a-d.e*r", "2header:tag"} - r := setupReq(WithHeaderTags(htArgs)) + _ = setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + assert.Equal("val,val2", s.Tags()["http.request.headers.h_e_a-d_e_r"]) + assert.Equal("2val", s.Tags()["tag"]) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) t.Run("global", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - header, tag := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(header, tag) + testutils.SetGlobalHeaderTags(t, "3header") - r := setupReq() + _ = setupReq() spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) + assert.Equal("3val", s.Tags()["http.request.headers.3header"]) + assert.NotContains(s.Tags(), "http.request.headers.other") assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) t.Run("override", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - globalH, globalT := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(globalH, globalT) + testutils.SetGlobalHeaderTags(t, "3header") htArgs := []string{"h!e@a-d.e*r", "2header:tag"} - r := setupReq(WithHeaderTags(htArgs)) + _ = setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + assert.Equal("val,val2", s.Tags()["http.request.headers.h_e_a-d_e_r"]) + assert.Equal("2val", s.Tags()["tag"]) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") - assert.NotContains(s.Tags(), globalT) + assert.NotContains(s.Tags(), "http.request.headers.3header") }) } diff --git a/contrib/julienschmidt/httprouter/option.go b/contrib/julienschmidt/httprouter/option.go index ad013d7ebd..b776b56102 100644 --- a/contrib/julienschmidt/httprouter/option.go +++ b/contrib/julienschmidt/httprouter/option.go @@ -9,10 +9,7 @@ import ( "math" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) const defaultServiceName = "http.router" @@ -21,7 +18,7 @@ type routerConfig struct { serviceName string spanOpts []tracer.StartSpanOption analyticsRate float64 - headerTags *internal.LockMap + headerTags instrumentation.HeaderTags } // RouterOption describes options for the HTTPRouter integration. @@ -37,13 +34,9 @@ func (fn RouterOptionFn) apply(cfg *routerConfig) { } func defaults(cfg *routerConfig) { - if internal.BoolEnv("DD_TRACE_HTTPROUTER_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = globalconfig.AnalyticsRate() - } - cfg.serviceName = namingschema.ServiceName(defaultServiceName) - cfg.headerTags = globalconfig.HeaderTagMap() + cfg.analyticsRate = instr.AnalyticsRate(true) + cfg.serviceName = instr.ServiceName(instrumentation.ComponentServer, nil) + cfg.headerTags = instr.HTTPHeadersAsTags() } // WithService sets the given service name for the returned router. @@ -88,8 +81,7 @@ func WithAnalyticsRate(rate float64) RouterOptionFn { // Using this feature can risk exposing sensitive data such as authorization tokens to Datadog. // Special headers can not be sub-selected. E.g., an entire Cookie header would be transmitted, without the ability to choose specific Cookies. func WithHeaderTags(headers []string) RouterOptionFn { - headerTagsMap := normalizer.HeaderTagSlice(headers) return func(cfg *routerConfig) { - cfg.headerTags = internal.NewLockMap(headerTagsMap) + cfg.headerTags = instrumentation.NewHeaderTags(headers) } } diff --git a/contrib/k8s.io/client-go/kubernetes/kubernetes.go b/contrib/k8s.io/client-go/kubernetes/kubernetes.go index 7a3c1c04b2..eeeeb882d4 100644 --- a/contrib/k8s.io/client-go/kubernetes/kubernetes.go +++ b/contrib/k8s.io/client-go/kubernetes/kubernetes.go @@ -13,15 +13,13 @@ import ( httptrace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const componentName = "k8s.io/client-go/kubernetes" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported(componentName) + instr = instrumentation.Load(instrumentation.PackageK8SClientGo) } const ( @@ -50,7 +48,7 @@ func wrapRoundTripperWithOptions(rt http.RoundTripper, opts ...httptrace.RoundTr copy(localOpts, opts) // make a copy of the opts, to avoid data races and side effects. localOpts = append(localOpts, httptrace.WithBefore(func(req *http.Request, span *tracer.Span) { span.SetTag(ext.ResourceName, RequestToResource(req.Method, req.URL.Path)) - span.SetTag(ext.Component, componentName) + span.SetTag(ext.Component, instrumentation.PackageK8SClientGo) span.SetTag(ext.SpanKind, ext.SpanKindClient) traceID := span.Context().TraceID() if traceID == tracer.TraceIDZero { @@ -60,7 +58,7 @@ func wrapRoundTripperWithOptions(rt http.RoundTripper, opts ...httptrace.RoundTr req.Header.Set("Audit-Id", traceID) span.SetTag("kubernetes.audit_id", traceID) })) - log.Debug("contrib/k8s.io/client-go/kubernetes: Wrapping RoundTripper.") + instr.Logger().Debug("contrib/k8s.io/client-go/kubernetes: Wrapping RoundTripper.") return httptrace.WrapRoundTripper(rt, localOpts...) } diff --git a/contrib/k8s.io/client-go/kubernetes/kubernetes_test.go b/contrib/k8s.io/client-go/kubernetes/kubernetes_test.go index fdcbefe654..6a17fa5996 100644 --- a/contrib/k8s.io/client-go/kubernetes/kubernetes_test.go +++ b/contrib/k8s.io/client-go/kubernetes/kubernetes_test.go @@ -14,7 +14,7 @@ import ( httptrace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/stretchr/testify/assert" meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -128,9 +128,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -153,9 +151,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, httptrace.WithAnalyticsRate(0.23)) }) diff --git a/contrib/labstack/echo.v4/appsec_test.go b/contrib/labstack/echo.v4/appsec_test.go index e988e7480e..20ebaa0014 100644 --- a/contrib/labstack/echo.v4/appsec_test.go +++ b/contrib/labstack/echo.v4/appsec_test.go @@ -17,17 +17,15 @@ import ( pappsec "github.com/DataDog/dd-trace-go/v2/appsec" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/labstack/echo/v4" "github.com/stretchr/testify/require" ) func TestAppSec(t *testing.T) { - appsec.Start() - defer appsec.Stop() - - if !appsec.Enabled() { + testutils.StartAppSec(t) + if !instr.AppSecEnabled() { t.Skip("appsec disabled") } @@ -239,10 +237,9 @@ func TestAppSec(t *testing.T) { // TestControlFlow ensures that the AppSec middleware behaves correctly in various execution flows and wrapping // scenarios. func TestControlFlow(t *testing.T) { - appsec.Start() - defer appsec.Stop() - if !appsec.Enabled() { - t.Skip("AppSec needs to be enabled for this test") + testutils.StartAppSec(t) + if !instr.AppSecEnabled() { + t.Skip("appsec disabled") } middlewareResponseBody := "Hello Middleware" @@ -550,10 +547,9 @@ func TestControlFlow(t *testing.T) { func TestBlocking(t *testing.T) { t.Setenv("DD_APPSEC_RULES", "../../../internal/appsec/testdata/blocking.json") - appsec.Start() - defer appsec.Stop() - if !appsec.Enabled() { - t.Skip("AppSec needs to be enabled for this test") + testutils.StartAppSec(t) + if !instr.AppSecEnabled() { + t.Skip("appsec disabled") } // Start and trace an HTTP server @@ -618,7 +614,7 @@ func TestBlocking(t *testing.T) { if tc.shouldBlock { require.Equal(t, http.StatusForbidden, res.StatusCode) - require.Equal(t, spans[0].Tag("appsec.blocked"), true) + require.Equal(t, spans[0].Tag("appsec.blocked"), "true") } else { require.Equal(t, http.StatusOK, res.StatusCode) require.NotContains(t, spans[0].Tags(), "appsec.blocked") diff --git a/contrib/labstack/echo.v4/echotrace.go b/contrib/labstack/echo.v4/echotrace.go index 1c5d223ef4..12404da339 100644 --- a/contrib/labstack/echo.v4/echotrace.go +++ b/contrib/labstack/echo.v4/echotrace.go @@ -18,19 +18,17 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/httptrace" "github.com/DataDog/dd-trace-go/v2/instrumentation/options" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" "github.com/labstack/echo/v4" ) -const componentName = "labstack/echo" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/labstack/echo") + instr = instrumentation.Load(instrumentation.PackageLabstackEchoV4) } // Middleware returns echo middleware which will trace incoming requests. @@ -40,10 +38,10 @@ func Middleware(opts ...OptionFn) echo.MiddlewareFunc { for _, fn := range opts { fn(cfg) } - log.Debug("contrib/labstack/echo: Configuring Middleware: %#v", cfg) + instr.Logger().Debug("contrib/labstack/echo: Configuring Middleware: %#v", cfg) spanOpts := []tracer.StartSpanOption{ tracer.ServiceName(cfg.serviceName), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageLabstackEchoV4), tracer.Tag(ext.SpanKind, ext.SpanKindServer), } return func(next echo.HandlerFunc) echo.HandlerFunc { @@ -72,6 +70,11 @@ func Middleware(opts ...OptionFn) echo.MiddlewareFunc { // pass the span through the request context c.SetRequest(request.WithContext(ctx)) + // Use AppSec if enabled by user + if instr.AppSecEnabled() { + next = withAppSec(next, span) + } + // serve the request to the next middleware err := next(c) if err != nil { diff --git a/contrib/labstack/echo.v4/echotrace_test.go b/contrib/labstack/echo.v4/echotrace_test.go index be12449884..afc3086b51 100644 --- a/contrib/labstack/echo.v4/echotrace_test.go +++ b/contrib/labstack/echo.v4/echotrace_test.go @@ -10,16 +10,13 @@ import ( "fmt" "net/http" "net/http/httptest" - "strings" "testing" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" @@ -76,26 +73,23 @@ func TestWithHeaderTags(t *testing.T) { assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - _, tag := normalizer.HeaderTag(arg) + instrumentation.NewHeaderTags(htArgs).Iter(func(_ string, tag string) { assert.NotContains(s.Tags(), tag) - } + }) }) t.Run("integration", func(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() htArgs := []string{"h!e@a-d.e*r", "2header:tag"} - r := setupReq(WithHeaderTags(htArgs)) + _ = setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + assert.Equal("val,val2", s.Tags()["http.request.headers.h_e_a-d_e_r"]) + assert.Equal("2val", s.Tags()["tag"]) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) @@ -103,16 +97,16 @@ func TestWithHeaderTags(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - header, tag := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(header, tag) + testutils.SetGlobalHeaderTags(t, "3header") - r := setupReq() + _ = setupReq() spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) + assert.Equal("3val", s.Tags()["http.request.headers.3header"]) + assert.NotContains(s.Tags(), "http.request.headers.other") assert.NotContains(s.Tags(), "http.headers.x-datadog-header") }) @@ -120,22 +114,19 @@ func TestWithHeaderTags(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - globalH, globalT := normalizer.HeaderTag("3header") - globalconfig.SetHeaderTag(globalH, globalT) + testutils.SetGlobalHeaderTags(t, "3header") htArgs := []string{"h!e@a-d.e*r", "2header:tag"} - r := setupReq(WithHeaderTags(htArgs)) + _ = setupReq(WithHeaderTags(htArgs)) spans := mt.FinishedSpans() assert := assert.New(t) assert.Equal(len(spans), 1) s := spans[0] - for _, arg := range htArgs { - header, tag := normalizer.HeaderTag(arg) - assert.Equal(strings.Join(r.Header.Values(header), ","), s.Tags()[tag]) - } + assert.Equal("val,val2", s.Tags()["http.request.headers.h_e_a-d_e_r"]) + assert.Equal("2val", s.Tags()["tag"]) assert.NotContains(s.Tags(), "http.headers.x-datadog-header") - assert.NotContains(s.Tags(), globalT) + assert.NotContains(s.Tags(), "http.request.headers.3header") }) } @@ -247,14 +238,14 @@ func TestError(t *testing.T) { // setup router := echo.New() router.Use(Middleware(WithService("foobar"))) - wantErr := errors.New("oh no") + errWant := errors.New("oh no") // a handler with an error and make the requests router.GET("/err", func(c echo.Context) error { _, traced = tracer.SpanFromContext(c.Request().Context()) called = true - err := wantErr + err := errWant c.Error(err) return err }) @@ -273,8 +264,8 @@ func TestError(t *testing.T) { assert.Equal("http.request", span.OperationName()) assert.Equal("foobar", span.Tag(ext.ServiceName)) assert.Equal("500", span.Tag(ext.HTTPCode)) - require.NotNil(t, span.Tag(ext.Error)) - assert.Equal(wantErr.Error(), span.Tag(ext.Error).(error).Error()) + require.NotNil(t, span.Tag(ext.ErrorMsg)) + assert.Equal(errWant.Error(), span.Tag(ext.ErrorMsg)) assert.Equal("labstack/echo", span.Tag(ext.Component)) assert.Equal(ext.SpanKindServer, span.Tag(ext.SpanKind)) } @@ -291,13 +282,13 @@ func TestErrorHandling(t *testing.T) { ctx.Response().WriteHeader(http.StatusInternalServerError) } router.Use(Middleware(WithService("foobar"))) - wantErr := errors.New("oh no") + errWant := errors.New("oh no") // a handler with an error and make the requests router.GET("/err", func(c echo.Context) error { _, traced = tracer.SpanFromContext(c.Request().Context()) called = true - return wantErr + return errWant }) r := httptest.NewRequest("GET", "/err", nil) w := httptest.NewRecorder() @@ -314,8 +305,8 @@ func TestErrorHandling(t *testing.T) { assert.Equal("http.request", span.OperationName()) assert.Equal("foobar", span.Tag(ext.ServiceName)) assert.Equal("500", span.Tag(ext.HTTPCode)) - require.NotNil(t, span.Tag(ext.Error)) - assert.Equal(wantErr.Error(), span.Tag(ext.Error).(error).Error()) + require.NotNil(t, span.Tag(ext.ErrorMsg)) + assert.Equal(errWant.Error(), span.Tag(ext.ErrorMsg)) assert.Equal("labstack/echo", span.Tag(ext.Component)) assert.Equal(ext.SpanKindServer, span.Tag(ext.SpanKind)) } @@ -417,11 +408,10 @@ func TestStatusError(t *testing.T) { assert.Contains(span.Tag(ext.ResourceName), "/err") assert.Equal(tt.code, span.Tag(ext.HTTPCode)) assert.Equal("GET", span.Tag(ext.HTTPMethod)) - err := span.Tag(ext.Error) + err := span.Tag(ext.ErrorMsg) if tt.err != nil { assert.NotNil(err) - require.NotNil(t, span.Tag(ext.Error)) - assert.Equal(tt.err.Error(), err.(error).Error()) + assert.Equal(tt.err.Error(), err) } else { assert.Nil(err) } @@ -458,14 +448,14 @@ func TestNoDebugStack(t *testing.T) { // setup router := echo.New() router.Use(Middleware(NoDebugStack())) - wantErr := errors.New("oh no") + errWant := errors.New("oh no") // a handler with an error and make the requests router.GET("/err", func(c echo.Context) error { _, traced = tracer.SpanFromContext(c.Request().Context()) called = true - err := wantErr + err := errWant c.Error(err) return err }) @@ -481,36 +471,13 @@ func TestNoDebugStack(t *testing.T) { assert.Len(spans, 1) span := spans[0] - require.NotNil(t, span.Tag(ext.Error)) - assert.Equal(wantErr.Error(), span.Tag(ext.Error).(error).Error()) - assert.Equal("", span.Tag(ext.ErrorStack)) + require.NotNil(t, span.Tag(ext.ErrorMsg)) + assert.Equal(errWant.Error(), span.Tag(ext.ErrorMsg)) + assert.Empty(span.Tag(ext.ErrorStack)) assert.Equal("labstack/echo", span.Tag(ext.Component)) assert.Equal(ext.SpanKindServer, span.Tag(ext.SpanKind)) } -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []OptionFn - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - mux := echo.New() - mux.Use(Middleware(opts...)) - mux.GET("/200", func(c echo.Context) error { - return c.NoContent(200) - }) - r := httptest.NewRequest("GET", "/200", nil) - w := httptest.NewRecorder() - mux.ServeHTTP(w, r) - - return mt.FinishedSpans() - }) - namingschematest.NewHTTPServerTest(genSpans, "echo")(t) -} - func BenchmarkEchoNoTracing(b *testing.B) { mux := echo.New() mux.GET("/200", func(c echo.Context) error { @@ -526,7 +493,7 @@ func BenchmarkEchoNoTracing(b *testing.B) { } func BenchmarkEchoWithTracing(b *testing.B) { - tracer.Start(tracer.WithLogger(log.DiscardLogger{})) + tracer.Start(tracer.WithLogger(testutils.DiscardLogger())) defer tracer.Stop() mux := echo.New() diff --git a/contrib/labstack/echo.v4/option.go b/contrib/labstack/echo.v4/option.go index a6f7dff6cc..83dd89360b 100644 --- a/contrib/labstack/echo.v4/option.go +++ b/contrib/labstack/echo.v4/option.go @@ -9,16 +9,11 @@ import ( "errors" "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" - "github.com/DataDog/dd-trace-go/v2/internal/normalizer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/labstack/echo/v4" ) -const defaultServiceName = "echo" - type config struct { serviceName string analyticsRate float64 @@ -26,7 +21,7 @@ type config struct { ignoreRequestFunc IgnoreRequestFunc isStatusError func(statusCode int) bool translateError func(err error) (*echo.HTTPError, bool) - headerTags *internal.LockMap + headerTags instrumentation.HeaderTags errCheck func(error) bool tags map[string]interface{} } @@ -47,10 +42,10 @@ func (fn OptionFn) apply(cfg *config) { type IgnoreRequestFunc func(c echo.Context) bool func defaults(cfg *config) { - cfg.serviceName = namingschema.ServiceName(defaultServiceName) + cfg.serviceName = instr.ServiceName(instrumentation.ComponentServer, nil) cfg.analyticsRate = math.NaN() cfg.isStatusError = isServerError - cfg.headerTags = globalconfig.HeaderTagMap() + cfg.headerTags = instr.HTTPHeadersAsTags() cfg.tags = make(map[string]interface{}) cfg.translateError = func(err error) (*echo.HTTPError, bool) { var echoErr *echo.HTTPError @@ -133,9 +128,9 @@ func isServerError(statusCode int) bool { // Using this feature can risk exposing sensitive data such as authorization tokens to Datadog. // Special headers can not be sub-selected. E.g., an entire Cookie header would be transmitted, without the ability to choose specific Cookies. func WithHeaderTags(headers []string) OptionFn { - headerTagsMap := normalizer.HeaderTagSlice(headers) + headerTagsMap := instrumentation.NewHeaderTags(headers) return func(cfg *config) { - cfg.headerTags = internal.NewLockMap(headerTagsMap) + cfg.headerTags = headerTagsMap } } diff --git a/contrib/miekg/dns/dns.go b/contrib/miekg/dns/dns.go index afbdf97b4a..b58e5e0d4a 100644 --- a/contrib/miekg/dns/dns.go +++ b/contrib/miekg/dns/dns.go @@ -13,17 +13,15 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/miekg/dns" ) -const componentName = "miekg/dns" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/miekg/dns") + instr = instrumentation.Load(instrumentation.PackageMiekgDNS) } // ListenAndServe calls dns.ListenAndServe with a wrapped Handler. @@ -43,7 +41,7 @@ type Handler struct { // WrapHandler creates a new, wrapped DNS handler. func WrapHandler(handler dns.Handler) *Handler { - log.Debug("contrib/miekg/dns: Wrapping Handler") + instr.Logger().Debug("contrib/miekg/dns: Wrapping Handler") return &Handler{ Handler: handler, } @@ -122,7 +120,7 @@ func startSpan(ctx context.Context, opcode int) (*tracer.Span, context.Context) tracer.ServiceName("dns"), tracer.ResourceName(dns.OpcodeToString[opcode]), tracer.SpanType(ext.SpanTypeDNS), - tracer.Tag(ext.Component, componentName)) + tracer.Tag(ext.Component, instrumentation.PackageMiekgDNS)) } func startClientSpan(ctx context.Context, opcode int) (*tracer.Span, context.Context) { diff --git a/contrib/olivere/elastic.v5/elastictrace.go b/contrib/olivere/elastic.v5/elastictrace.go index 21d57d0cf5..99ac4a6a9f 100644 --- a/contrib/olivere/elastic.v5/elastictrace.go +++ b/contrib/olivere/elastic.v5/elastictrace.go @@ -20,15 +20,13 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const componentName = "olivere/elastic" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("gopkg.in/olivere/elastic.v5") + instr = instrumentation.Load(instrumentation.PackageOlivereElasticV5) } // NewHTTPClient returns a new http.Client which traces requests under the given service name. @@ -38,7 +36,7 @@ func NewHTTPClient(opts ...ClientOption) *http.Client { for _, fn := range opts { fn.apply(cfg) } - log.Debug("contrib/olivere/elastic: Configuring HTTP Client: %#v", cfg) + instr.Logger().Debug("contrib/olivere/elastic: Configuring HTTP Client: %#v", cfg) return &http.Client{Transport: &httpTransport{config: cfg}} } @@ -62,7 +60,7 @@ func (t *httpTransport) RoundTrip(req *http.Request) (*http.Response, error) { tracer.Tag("elasticsearch.method", method), tracer.Tag("elasticsearch.url", url), tracer.Tag("elasticsearch.params", req.URL.Query().Encode()), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageOlivereElasticV5), tracer.Tag(ext.SpanKind, ext.SpanKindClient), tracer.Tag(ext.DBSystem, ext.DBSystemElasticsearch), tracer.Tag(ext.NetworkDestinationName, req.URL.Hostname()), diff --git a/contrib/olivere/elastic.v5/elastictrace_test.go b/contrib/olivere/elastic.v5/elastictrace_test.go index f7982a0b67..53f7520aa1 100644 --- a/contrib/olivere/elastic.v5/elastictrace_test.go +++ b/contrib/olivere/elastic.v5/elastictrace_test.go @@ -16,11 +16,9 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "gopkg.in/olivere/elastic.v5" ) @@ -394,9 +392,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -419,55 +415,8 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) } - -func TestNamingSchema(t *testing.T) { - genSpans := func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []ClientOption - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - tc := NewHTTPClient(opts...) - client, err := elastic.NewClient( - elastic.SetURL(elasticURL), - elastic.SetHttpClient(tc), - elastic.SetSniff(false), - elastic.SetHealthcheck(false), - ) - require.NoError(t, err) - - _, err = client.Index(). - Index("twitter").Id("1"). - Type("tweet"). - BodyString(`{"user": "test", "message": "hello"}`). - Do(context.Background()) - require.NoError(t, err) - - spans := mt.FinishedSpans() - require.Len(t, spans, 1) - return spans - } - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "elasticsearch.query", spans[0].OperationName()) - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 1) - assert.Equal(t, "elasticsearch.query", spans[0].OperationName()) - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: []string{"elastic.client"}, - WithDDService: []string{"elastic.client"}, - WithDDServiceAndOverride: []string{namingschematest.TestServiceOverride}, - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} diff --git a/contrib/olivere/elastic.v5/option.go b/contrib/olivere/elastic.v5/option.go index dcb3ee54f1..37e10b8819 100644 --- a/contrib/olivere/elastic.v5/option.go +++ b/contrib/olivere/elastic.v5/option.go @@ -9,12 +9,9 @@ import ( "math" "net/http" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "elastic.client" - type clientConfig struct { serviceName string spanName string @@ -36,16 +33,11 @@ func (fn ClientOptionFn) apply(cfg *clientConfig) { } func defaults(cfg *clientConfig) { - cfg.serviceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.spanName = namingschema.OpName(namingschema.ElasticSearchOutbound) + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.spanName = instr.OperationName(instrumentation.ComponentDefault, nil) cfg.transport = http.DefaultTransport.(*http.Transport) cfg.resourceNamer = quantize - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_ELASTIC_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.analyticsRate = instr.AnalyticsRate(false) } // WithService sets the given service name for the client. diff --git a/contrib/redis/go-redis.v9/option.go b/contrib/redis/go-redis.v9/option.go index d91b2ff3ad..eb690a8a0d 100644 --- a/contrib/redis/go-redis.v9/option.go +++ b/contrib/redis/go-redis.v9/option.go @@ -8,12 +8,9 @@ package redis import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "redis.client" - type clientConfig struct { serviceName string spanName string @@ -35,14 +32,9 @@ func (fn ClientOptionFn) apply(cfg *clientConfig) { } func defaults(cfg *clientConfig) { - cfg.serviceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.spanName = namingschema.OpName(namingschema.RedisOutbound) - // cfg.analyticsRate = globalconfig.AnalyticsRate() - if internal.BoolEnv("DD_TRACE_REDIS_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 - } else { - cfg.analyticsRate = math.NaN() - } + cfg.serviceName = instr.ServiceName(instrumentation.ComponentDefault, nil) + cfg.spanName = instr.OperationName(instrumentation.ComponentDefault, nil) + cfg.analyticsRate = instr.AnalyticsRate(false) cfg.errCheck = func(error) bool { return true } } diff --git a/contrib/redis/go-redis.v9/redis.go b/contrib/redis/go-redis.v9/redis.go index f784d89121..546fe4c7ac 100644 --- a/contrib/redis/go-redis.v9/redis.go +++ b/contrib/redis/go-redis.v9/redis.go @@ -16,16 +16,15 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/redis/go-redis/v9" ) -const componentName = "redis/go-redis.v9" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/redis/go-redis/v9") + instr = instrumentation.Load(instrumentation.PackageRedisGoRedisV9) } type datadogHook struct { @@ -102,7 +101,7 @@ func additionalTagOptions(client redis.UniversalClient) []tracer.StartSpanOption } additionalTags = append(additionalTags, tracer.SpanType(ext.SpanTypeRedis), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageRedisGoRedisV9), tracer.Tag(ext.SpanKind, ext.SpanKindClient), tracer.Tag(ext.DBSystem, ext.DBSystemRedis), ) diff --git a/contrib/redis/go-redis.v9/redis_test.go b/contrib/redis/go-redis.v9/redis_test.go index c7533c08a2..05feab0559 100644 --- a/contrib/redis/go-redis.v9/redis_test.go +++ b/contrib/redis/go-redis.v9/redis_test.go @@ -16,8 +16,8 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/redis/go-redis/v9" "github.com/stretchr/testify/assert" @@ -234,7 +234,7 @@ func TestAdditionalTagsFromClient(t *testing.T) { simpleClient := redis.NewUniversalClient(simpleClientOpts) config := &tracer.StartSpanConfig{} expectedTags := map[string]interface{}{ - "component": "redis/go-redis.v9", + "component": instrumentation.PackageRedisGoRedisV9, "db.system": "redis", "out.db": "0", "out.host": "127.0.0.1", @@ -261,7 +261,7 @@ func TestAdditionalTagsFromClient(t *testing.T) { config := &tracer.StartSpanConfig{} expectedTags := map[string]interface{}{ "out.db": "0", - "component": "redis/go-redis.v9", + "component": instrumentation.PackageRedisGoRedisV9, "db.system": "redis", "span.kind": "client", "span.type": "redis", @@ -285,7 +285,7 @@ func TestAdditionalTagsFromClient(t *testing.T) { config := &tracer.StartSpanConfig{} expectedTags := map[string]interface{}{ "addrs": "127.0.0.1:6379, 127.0.0.2:6379", - "component": "redis/go-redis.v9", + "component": instrumentation.PackageRedisGoRedisV9, "db.system": "redis", "span.kind": "client", "span.type": "redis", @@ -577,9 +577,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -602,9 +600,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) @@ -687,31 +683,3 @@ func TestDial(t *testing.T) { assert.Equal(ext.SpanKindClient, span.Tag(ext.SpanKind)) assert.Equal("redis", span.Tag(ext.DBSystem)) } - -func TestNamingSchema(t *testing.T) { - genSpans := namingschematest.GenSpansFn(func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []ClientOption - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - mt := mocktracer.Start() - defer mt.Stop() - - client := NewClient(&redis.Options{Addr: "127.0.0.1:6379"}, opts...) - st := client.Set(context.Background(), "test_key", "test_value", 0) - require.NoError(t, st.Err()) - - spans := mt.FinishedSpans() - var span *mocktracer.Span - for _, s := range spans { - // pick up the redis.command span except dial - if s.OperationName() == "redis.command" { - span = s - } - } - assert.NotNil(t, span) - return []*mocktracer.Span{span} - }) - - namingschematest.NewRedisTest(genSpans, "redis.client")(t) -} diff --git a/contrib/segmentio/kafka-go/kafka.go b/contrib/segmentio/kafka-go/kafka.go index 5c68238b77..0432813c06 100644 --- a/contrib/segmentio/kafka-go/kafka.go +++ b/contrib/segmentio/kafka-go/kafka.go @@ -14,17 +14,15 @@ import ( "github.com/DataDog/dd-trace-go/v2/datastreams/options" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/segmentio/kafka-go" ) -const componentName = "segmentio/kafka.go.v0" +var instr *instrumentation.Instrumentation func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported("github.com/segmentio/kafka-go") + instr = instrumentation.Load(instrumentation.PackageSegmentioKafkaGo) } // NewReader calls kafka.NewReader and wraps the resulting Consumer. @@ -52,7 +50,7 @@ func WrapReader(c *kafka.Reader, opts ...Option) *Reader { wrapped.groupID = c.Config().GroupID } - log.Debug("contrib/segmentio/kafka-go.v0/kafka: Wrapping Reader: %#v", wrapped.cfg) + instr.Logger().Debug("contrib/segmentio/kafka-go.v0/kafka: Wrapping Reader: %#v", wrapped.cfg) return wrapped } @@ -77,7 +75,7 @@ func (r *Reader) startSpan(ctx context.Context, msg *kafka.Message) *tracer.Span tracer.SpanType(ext.SpanTypeMessageConsumer), tracer.Tag(ext.MessagingKafkaPartition, msg.Partition), tracer.Tag("offset", msg.Offset), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageSegmentioKafkaGo), tracer.Tag(ext.SpanKind, ext.SpanKindConsumer), tracer.Tag(ext.MessagingSystem, ext.MessagingSystemKafka), tracer.Tag(ext.KafkaBootstrapServers, r.bootstrapServers), @@ -95,7 +93,7 @@ func (r *Reader) startSpan(ctx context.Context, msg *kafka.Message) *tracer.Span span, _ := tracer.StartSpanFromContext(ctx, r.cfg.consumerSpanName, opts...) // reinject the span context so consumers can pick it up if err := tracer.Inject(span.Context(), carrier); err != nil { - log.Debug("contrib/segmentio/kafka-go: Failed to inject span context into carrier in reader, %v", err) + instr.Logger().Debug("contrib/segmentio/kafka-go: Failed to inject span context into carrier in reader, %v", err) } return span } @@ -176,7 +174,7 @@ func WrapWriter(w *kafka.Writer, opts ...Option) *Writer { if w.Addr.String() != "" { writer.bootstrapServers = w.Addr.String() } - log.Debug("contrib/segmentio/kafka-go: Wrapping Writer: %#v", writer.cfg) + instr.Logger().Debug("contrib/segmentio/kafka-go: Wrapping Writer: %#v", writer.cfg) return writer } @@ -191,7 +189,7 @@ func (w *Writer) startSpan(ctx context.Context, msg *kafka.Message) *tracer.Span opts := []tracer.StartSpanOption{ tracer.ServiceName(w.cfg.producerServiceName), tracer.SpanType(ext.SpanTypeMessageProducer), - tracer.Tag(ext.Component, componentName), + tracer.Tag(ext.Component, instrumentation.PackageSegmentioKafkaGo), tracer.Tag(ext.SpanKind, ext.SpanKindProducer), tracer.Tag(ext.MessagingSystem, ext.MessagingSystemKafka), tracer.Tag(ext.KafkaBootstrapServers, w.bootstrapServers), @@ -207,7 +205,7 @@ func (w *Writer) startSpan(ctx context.Context, msg *kafka.Message) *tracer.Span carrier := messageCarrier{msg} span, _ := tracer.StartSpanFromContext(ctx, w.cfg.producerSpanName, opts...) if err := tracer.Inject(span.Context(), carrier); err != nil { - log.Debug("contrib/segmentio/kafka-go: Failed to inject span context into carrier in writer, %v", err) + instr.Logger().Debug("contrib/segmentio/kafka-go: Failed to inject span context into carrier in writer, %v", err) } return span } diff --git a/contrib/segmentio/kafka-go/kafka_test.go b/contrib/segmentio/kafka-go/kafka_test.go index 97ece3eab8..836ac02ef6 100644 --- a/contrib/segmentio/kafka-go/kafka_test.go +++ b/contrib/segmentio/kafka-go/kafka_test.go @@ -15,7 +15,6 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" kafka "github.com/segmentio/kafka-go" "github.com/stretchr/testify/assert" @@ -240,48 +239,6 @@ func TestFetchMessageFunctional(t *testing.T) { assert.Equal(t, expected.GetHash(), p.GetHash()) } -func TestNamingSchema(t *testing.T) { - genSpans := func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - - mt := mocktracer.Start() - defer mt.Stop() - - messagesToWrite := []kafka.Message{ - { - Key: []byte("key1"), - Value: []byte("value1"), - }, - } - - spans, _ := genIntegrationTestSpans( - t, - mt, - func(t *testing.T, w *Writer) { - err := w.WriteMessages(context.Background(), messagesToWrite...) - require.NoError(t, err, "Expected to write message to topic") - }, - func(t *testing.T, r *Reader) { - ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second) - defer cancel() - readMsg, err := r.FetchMessage(ctx) - require.NoError(t, err, "Expected to consume message") - assert.Equal(t, messagesToWrite[0].Value, readMsg.Value, "Values should be equal") - - err = r.CommitMessages(context.Background(), readMsg) - assert.NoError(t, err, "Expected CommitMessages to not return an error") - }, - opts, - opts, - ) - return spans - } - namingschematest.NewKafkaTest(genSpans)(t) -} - func BenchmarkReaderStartSpan(b *testing.B) { r := NewReader(kafka.ReaderConfig{ Brokers: []string{"localhost:9092", "localhost:9093", "localhost:9094"}, diff --git a/contrib/segmentio/kafka-go/option.go b/contrib/segmentio/kafka-go/option.go index f02e6552ef..a43d06daa0 100644 --- a/contrib/segmentio/kafka-go/option.go +++ b/contrib/segmentio/kafka-go/option.go @@ -8,12 +8,9 @@ package kafka import ( "math" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" ) -const defaultServiceName = "kafka" - type config struct { consumerServiceName string producerServiceName string @@ -37,19 +34,15 @@ func (fn OptionFn) apply(cfg *config) { func newConfig(opts ...Option) *config { cfg := &config{ - // analyticsRate: globalconfig.AnalyticsRate(), - analyticsRate: math.NaN(), - } - if internal.BoolEnv("DD_TRACE_KAFKA_ANALYTICS_ENABLED", false) { - cfg.analyticsRate = 1.0 + analyticsRate: instr.AnalyticsRate(false), } - cfg.dataStreamsEnabled = internal.BoolEnv("DD_DATA_STREAMS_ENABLED", false) + cfg.dataStreamsEnabled = instr.DataStreamsEnabled() - cfg.consumerServiceName = namingschema.ServiceName(defaultServiceName) - cfg.producerServiceName = namingschema.ServiceNameOverrideV0(defaultServiceName, defaultServiceName) - cfg.consumerSpanName = namingschema.OpName(namingschema.KafkaInbound) - cfg.producerSpanName = namingschema.OpName(namingschema.KafkaOutbound) + cfg.consumerServiceName = instr.ServiceName(instrumentation.ComponentConsumer, nil) + cfg.producerServiceName = instr.ServiceName(instrumentation.ComponentProducer, nil) + cfg.consumerSpanName = instr.OperationName(instrumentation.ComponentConsumer, nil) + cfg.producerSpanName = instr.OperationName(instrumentation.ComponentProducer, nil) for _, opt := range opts { opt.apply(cfg) diff --git a/contrib/segmentio/kafka-go/option_test.go b/contrib/segmentio/kafka-go/option_test.go index dcc930a252..43147f6ee1 100644 --- a/contrib/segmentio/kafka-go/option_test.go +++ b/contrib/segmentio/kafka-go/option_test.go @@ -9,7 +9,7 @@ import ( "math" "testing" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/stretchr/testify/assert" ) @@ -22,9 +22,7 @@ func TestAnalyticsSettings(t *testing.T) { t.Run("global", func(t *testing.T) { t.Skip("global flag disabled") - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) cfg := newConfig() assert.Equal(t, 0.4, cfg.analyticsRate) @@ -36,9 +34,7 @@ func TestAnalyticsSettings(t *testing.T) { }) t.Run("override", func(t *testing.T) { - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) cfg := newConfig(WithAnalyticsRate(0.2)) assert.Equal(t, 0.2, cfg.analyticsRate) diff --git a/instrumentation/internal/namingschematest/gorilla_mux.go b/instrumentation/internal/namingschematest/gorilla_mux.go new file mode 100644 index 0000000000..131e4ba60f --- /dev/null +++ b/instrumentation/internal/namingschematest/gorilla_mux.go @@ -0,0 +1,50 @@ +package namingschematest + +import ( + "net/http" + "net/http/httptest" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + muxtrace "github.com/DataDog/dd-trace-go/contrib/gorilla/mux/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var gorillaMux = harness.TestCase{ + Name: instrumentation.PackageGinGonicGin, + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []muxtrace.RouterOption + if serviceOverride != "" { + opts = append(opts, muxtrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + mux := muxtrace.NewRouter(opts...) + mux.Handle("/200", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Write([]byte("200!\n")) + })) + req := httptest.NewRequest("GET", "/200", nil) + w := httptest.NewRecorder() + mux.ServeHTTP(w, req) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"mux.router"}, + DDService: []string{harness.TestDDService}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.request", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.server.request", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/graphgophers_graphql.go b/instrumentation/internal/namingschematest/graphgophers_graphql.go new file mode 100644 index 0000000000..3588031da4 --- /dev/null +++ b/instrumentation/internal/namingschematest/graphgophers_graphql.go @@ -0,0 +1,77 @@ +package namingschematest + +import ( + "net/http" + "net/http/httptest" + "strings" + "testing" + + "github.com/graph-gophers/graphql-go" + "github.com/graph-gophers/graphql-go/relay" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + grahqltrace "github.com/DataDog/dd-trace-go/contrib/graph-gophers/graphql-go/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +type testResolver struct{} + +func (*testResolver) Hello() string { return "Hello, world!" } +func (*testResolver) HelloNonTrivial() (string, error) { return "Hello, world!", nil } + +const testServerSchema = ` + schema { + query: Query + } + type Query { + hello: String! + helloNonTrivial: String! + } +` + +func newTestServer(opts ...grahqltrace.Option) *httptest.Server { + schema := graphql.MustParseSchema(testServerSchema, new(testResolver), graphql.Tracer(grahqltrace.NewTracer(opts...))) + return httptest.NewServer(&relay.Handler{Schema: schema}) +} + +func graphGophersGraphQLGoGenSpans() harness.GenSpansFn { + return func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []grahqltrace.Option + if serviceOverride != "" { + opts = append(opts, grahqltrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + srv := newTestServer(opts...) + defer srv.Close() + resp, err := http.Post(srv.URL, "application/json", strings.NewReader(`{"query": "{ hello }"}`)) + require.NoError(t, err) + defer resp.Body.Close() + + return mt.FinishedSpans() + } +} + +var graphGophersGraphQLGo = harness.TestCase{ + Name: instrumentation.PackageGraphGophersGraphQLGo, + GenSpans: graphGophersGraphQLGoGenSpans(), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: harness.RepeatString("graphql", 2), + DDService: harness.RepeatString(harness.TestDDService, 2), + ServiceOverride: harness.RepeatString(harness.TestServiceOverride, 2), + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "graphql.field", spans[0].OperationName()) + assert.Equal(t, "graphql.request", spans[1].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "graphql.field", spans[0].OperationName()) + assert.Equal(t, "graphql.server.request", spans[1].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/hashicorp_consul.go b/instrumentation/internal/namingschematest/hashicorp_consul.go new file mode 100644 index 0000000000..8c2b5f7ec3 --- /dev/null +++ b/instrumentation/internal/namingschematest/hashicorp_consul.go @@ -0,0 +1,55 @@ +package namingschematest + +import ( + "testing" + + consul "github.com/hashicorp/consul/api" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + consultrace "github.com/DataDog/dd-trace-go/contrib/hashicorp/consul/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +func hashicorpConsulGenSpans() harness.GenSpansFn { + return func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []consultrace.ClientOption + if serviceOverride != "" { + opts = append(opts, consultrace.WithService(serviceOverride)) + } + + mt := mocktracer.Start() + defer mt.Stop() + client, err := consultrace.NewClient(consul.DefaultConfig(), opts...) + require.NoError(t, err) + kv := client.KV() + + pair := &consul.KVPair{Key: "test.key", Value: []byte("test_value")} + _, err = kv.Put(pair, nil) + require.NoError(t, err) + + spans := mt.FinishedSpans() + require.Len(t, spans, 1) + return spans + } +} + +var hashicorpConsul = harness.TestCase{ + Name: instrumentation.PackageHashicorpConsulAPI, + GenSpans: hashicorpConsulGenSpans(), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"consul"}, + DDService: []string{"consul"}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "consul.command", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "consul.query", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/hashicorp_vault.go b/instrumentation/internal/namingschematest/hashicorp_vault.go new file mode 100644 index 0000000000..24707141cb --- /dev/null +++ b/instrumentation/internal/namingschematest/hashicorp_vault.go @@ -0,0 +1,118 @@ +package namingschematest + +import ( + "encoding/json" + "fmt" + "io" + "net/http" + "net/http/httptest" + "testing" + + "github.com/hashicorp/vault/api" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + vaulttrace "github.com/DataDog/dd-trace-go/contrib/hashicorp/vault/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +const secretMountPath = "/ns1/ns2/secret" + +func hashicorpVaultGenSpans() harness.GenSpansFn { + return func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []vaulttrace.Option + if serviceOverride != "" { + opts = append(opts, vaulttrace.WithService(serviceOverride)) + } + + mt := mocktracer.Start() + defer mt.Stop() + + ts, cleanup := setupServer(t) + defer cleanup() + + client, err := api.NewClient(&api.Config{ + HttpClient: vaulttrace.NewHTTPClient(opts...), + Address: ts.URL, + }) + require.NoError(t, err) + if err != nil { + t.Fatal(err) + } + defer mountKV(client, t)() + + // Write key with namespace first + data := map[string]interface{}{"Key1": "Val1", "Key2": "Val2"} + _, err = client.Logical().Write("/some/path", data) + require.NoError(t, err) + + return mt.FinishedSpans() + } +} + +func setupServer(t *testing.T) (*httptest.Server, func()) { + storage := make(map[string]string) + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.Method { + case http.MethodPut: + slurp, err := io.ReadAll(r.Body) + if err != nil { + t.Fatal(err) + } + defer r.Body.Close() + storage[r.URL.Path] = string(slurp) + fmt.Fprintln(w, "{}") + case http.MethodGet: + val, ok := storage[r.URL.Path] + if !ok { + http.Error(w, "No data for key.", http.StatusNotFound) + return + } + secret := api.Secret{Data: make(map[string]interface{})} + json.Unmarshal([]byte(val), &secret.Data) + if err := json.NewEncoder(w).Encode(secret); err != nil { + t.Fatal(err) + } + } + })) + return ts, func() { + ts.Close() + } +} + +// mountKV mounts the K/V engine on secretMountPath and returns a function to unmount it. +// See: https://www.vaultproject.io/docs/secrets/ +func mountKV(c *api.Client, t *testing.T) func() { + secretMount := api.MountInput{ + Type: "kv", + Description: "Test KV Store", + Local: true, + } + if err := c.Sys().Mount(secretMountPath, &secretMount); err != nil { + t.Fatal(err) + } + return func() { + c.Sys().Unmount(secretMountPath) + } +} + +var hashicorpVault = harness.TestCase{ + Name: instrumentation.PackageHashicorpVaultAPI, + GenSpans: hashicorpVaultGenSpans(), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: harness.RepeatString("vault", 2), + DDService: harness.RepeatString("vault", 2), + ServiceOverride: harness.RepeatString(harness.TestServiceOverride, 2), + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + // According to v1 tests, this should be "http.request" + assert.Equal(t, "vault.command", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "vault.query", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/ibm_sarama.go b/instrumentation/internal/namingschematest/ibm_sarama.go new file mode 100644 index 0000000000..df2e9a944c --- /dev/null +++ b/instrumentation/internal/namingschematest/ibm_sarama.go @@ -0,0 +1,98 @@ +package namingschematest + +import ( + "testing" + + saramatrace "github.com/DataDog/dd-trace-go/contrib/IBM/sarama/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/IBM/sarama" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func ibmSaramaGenSpans() harness.GenSpansFn { + return func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []saramatrace.Option + if serviceOverride != "" { + opts = append(opts, saramatrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + broker := sarama.NewMockBroker(t, 1) + defer broker.Close() + + broker.SetHandlerByMap(map[string]sarama.MockResponse{ + "MetadataRequest": sarama.NewMockMetadataResponse(t). + SetBroker(broker.Addr(), broker.BrokerID()). + SetLeader("test-topic", 0, broker.BrokerID()), + "OffsetRequest": sarama.NewMockOffsetResponse(t). + SetOffset("test-topic", 0, sarama.OffsetOldest, 0). + SetOffset("test-topic", 0, sarama.OffsetNewest, 1), + "FetchRequest": sarama.NewMockFetchResponse(t, 1). + SetMessage("test-topic", 0, 0, sarama.StringEncoder("hello")), + "ProduceRequest": sarama.NewMockProduceResponse(t). + SetError("test-topic", 0, sarama.ErrNoError), + }) + cfg := sarama.NewConfig() + cfg.Version = sarama.MinVersion + cfg.Producer.Return.Successes = true + cfg.Producer.Flush.Messages = 1 + + producer, err := sarama.NewSyncProducer([]string{broker.Addr()}, cfg) + require.NoError(t, err) + producer = saramatrace.WrapSyncProducer(cfg, producer, opts...) + + c, err := sarama.NewConsumer([]string{broker.Addr()}, cfg) + require.NoError(t, err) + defer func(c sarama.Consumer) { + err := c.Close() + require.NoError(t, err) + }(c) + c = saramatrace.WrapConsumer(c, opts...) + + msg1 := &sarama.ProducerMessage{ + Topic: "test-topic", + Value: sarama.StringEncoder("test 1"), + Metadata: "test", + } + _, _, err = producer.SendMessage(msg1) + require.NoError(t, err) + + pc, err := c.ConsumePartition("test-topic", 0, 0) + if err != nil { + t.Fatal(err) + } + _ = <-pc.Messages() + err = pc.Close() + require.NoError(t, err) + // wait for the channel to be closed + <-pc.Messages() + + spans := mt.FinishedSpans() + require.Len(t, spans, 2) + return spans + } +} + +var ibmSarama = harness.TestCase{ + Name: instrumentation.PackageIBMSarama, + GenSpans: ibmSaramaGenSpans(), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: harness.RepeatString("kafka", 2), + DDService: []string{"kafka", harness.TestDDService}, + ServiceOverride: harness.RepeatString(harness.TestServiceOverride, 2), + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "kafka.produce", spans[0].OperationName()) + assert.Equal(t, "kafka.consume", spans[1].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "kafka.send", spans[0].OperationName()) + assert.Equal(t, "kafka.process", spans[1].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/julienschmidt_httprouter.go b/instrumentation/internal/namingschematest/julienschmidt_httprouter.go new file mode 100644 index 0000000000..38add00111 --- /dev/null +++ b/instrumentation/internal/namingschematest/julienschmidt_httprouter.go @@ -0,0 +1,56 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "net/http" + "net/http/httptest" + "testing" + + "github.com/julienschmidt/httprouter" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + httproutertrace "github.com/DataDog/dd-trace-go/contrib/julienschmidt/httprouter/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var julienschmidtHTTPRouter = harness.TestCase{ + Name: instrumentation.PackageNetHTTP + "_server", + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []httproutertrace.RouterOption + if serviceOverride != "" { + opts = append(opts, httproutertrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + mux := httproutertrace.New(opts...) + mux.GET("/200", func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { + w.Write([]byte("OK\n")) + }) + r := httptest.NewRequest("GET", "/200", nil) + w := httptest.NewRecorder() + mux.ServeHTTP(w, r) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"http.router"}, + DDService: []string{harness.TestDDService}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.request", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.server.request", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/labstack_echo_v4.go b/instrumentation/internal/namingschematest/labstack_echo_v4.go new file mode 100644 index 0000000000..d3a8a7964f --- /dev/null +++ b/instrumentation/internal/namingschematest/labstack_echo_v4.go @@ -0,0 +1,56 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package namingschematest + +import ( + "net/http/httptest" + "testing" + + "github.com/labstack/echo/v4" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + echotrace "github.com/DataDog/dd-trace-go/contrib/labstack/echo.v4/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" +) + +var labstackEchoV4 = harness.TestCase{ + Name: instrumentation.PackageNetHTTP + "_server", + GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []echotrace.OptionFn + if serviceOverride != "" { + opts = append(opts, echotrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + mux := echo.New() + mux.Use(echotrace.Middleware(opts...)) + mux.GET("/200", func(c echo.Context) error { + return c.NoContent(200) + }) + r := httptest.NewRequest("GET", "/200", nil) + w := httptest.NewRecorder() + mux.ServeHTTP(w, r) + + return mt.FinishedSpans() + }, + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"http.router"}, + DDService: []string{harness.TestDDService}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.request", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "http.server.request", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/main_test.go b/instrumentation/internal/namingschematest/main_test.go index e3adebe98a..1e731d51e0 100644 --- a/instrumentation/internal/namingschematest/main_test.go +++ b/instrumentation/internal/namingschematest/main_test.go @@ -6,12 +6,16 @@ package namingschematest import ( + "os" "testing" "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" ) func TestNamingSchema(t *testing.T) { + if _, ok := os.LookupEnv("INTEGRATION"); !ok { + t.Skip("🚧 Skipping integration test (INTEGRATION environment variable is not set)") + } testCases := []harness.TestCase{ gqlgen, awsSDKV1, @@ -48,6 +52,16 @@ func TestNamingSchema(t *testing.T) { tidwallBuntDB, syndtrGoLevelDB, shopifySarama, + segmentioKafkaGo, + redisGoRedisV9, + olivereElasticV5, + labstackEchoV4, + julienschmidtHTTPRouter, + ibmSarama, + hashicorpConsul, + hashicorpVault, + graphGophersGraphQLGo, + gorillaMux, } for _, tc := range testCases { harness.RunTest(t, tc) diff --git a/instrumentation/internal/namingschematest/net_http_test.go b/instrumentation/internal/namingschematest/net_http_test.go index 6a4b21e630..0b4e859146 100644 --- a/instrumentation/internal/namingschematest/net_http_test.go +++ b/instrumentation/internal/namingschematest/net_http_test.go @@ -31,7 +31,9 @@ var ( defer mt.Stop() mux := httptrace.NewServeMux(opts...) - mux.HandleFunc("/200", handler200) + mux.HandleFunc("/200", func(w http.ResponseWriter, r *http.Request) { + w.Write([]byte("OK\n")) + }) r := httptest.NewRequest("GET", "http://localhost/200", nil) w := httptest.NewRecorder() mux.ServeHTTP(w, r) @@ -63,7 +65,9 @@ var ( mt := mocktracer.Start() defer mt.Stop() - srv := httptest.NewServer(http.HandlerFunc(handler200)) + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Write([]byte("OK\n")) + })) defer srv.Close() c := httptrace.WrapClient(&http.Client{}, opts...) @@ -90,7 +94,3 @@ var ( }, } ) - -func handler200(w http.ResponseWriter, _ *http.Request) { - w.Write([]byte("OK\n")) -} diff --git a/instrumentation/internal/namingschematest/olivere_elastic_v5.go b/instrumentation/internal/namingschematest/olivere_elastic_v5.go new file mode 100644 index 0000000000..506019c7a2 --- /dev/null +++ b/instrumentation/internal/namingschematest/olivere_elastic_v5.go @@ -0,0 +1,63 @@ +package namingschematest + +import ( + "context" + "testing" + + elastictrace "github.com/DataDog/dd-trace-go/contrib/olivere/elastic.v5/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "gopkg.in/olivere/elastic.v5" +) + +func olivereElasticV5GenSpans() harness.GenSpansFn { + const elasticURL = "http://127.0.0.1:9201" + return func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []elastictrace.ClientOption + if serviceOverride != "" { + opts = append(opts, elastictrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + tc := elastictrace.NewHTTPClient(opts...) + client, err := elastic.NewClient( + elastic.SetURL(elasticURL), + elastic.SetHttpClient(tc), + elastic.SetSniff(false), + elastic.SetHealthcheck(false), + ) + require.NoError(t, err) + + _, err = client.Index(). + Index("twitter").Id("1"). + Type("tweet"). + BodyString(`{"user": "test", "message": "hello"}`). + Do(context.Background()) + require.NoError(t, err) + + spans := mt.FinishedSpans() + require.Len(t, spans, 1) + return spans + } +} + +var olivereElasticV5 = harness.TestCase{ + Name: instrumentation.PackageOlivereElasticV5, + GenSpans: olivereElasticV5GenSpans(), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"elastic.client"}, + DDService: []string{"elastic.client"}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "elasticsearch.query", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "elasticsearch.query", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/redis_goredis_v9.go b/instrumentation/internal/namingschematest/redis_goredis_v9.go new file mode 100644 index 0000000000..226689c9c5 --- /dev/null +++ b/instrumentation/internal/namingschematest/redis_goredis_v9.go @@ -0,0 +1,58 @@ +package namingschematest + +import ( + "context" + "testing" + + redistrace "github.com/DataDog/dd-trace-go/contrib/redis/go-redis.v9/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/redis/go-redis/v9" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func redisGoRedisV9GenSpans() harness.GenSpansFn { + return func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []redistrace.ClientOption + if serviceOverride != "" { + opts = append(opts, redistrace.WithService(serviceOverride)) + } + mt := mocktracer.Start() + defer mt.Stop() + + client := redistrace.NewClient(&redis.Options{Addr: "127.0.0.1:6379"}, opts...) + st := client.Set(context.Background(), "test_key", "test_value", 0) + require.NoError(t, st.Err()) + + spans := mt.FinishedSpans() + var span *mocktracer.Span + for _, s := range spans { + // pick up the redis.command span except dial + if s.OperationName() == "redis.command" { + span = s + } + } + assert.NotNil(t, span) + return []*mocktracer.Span{span} + } +} + +var redisGoRedisV9 = harness.TestCase{ + Name: instrumentation.PackageRedisGoRedisV9, + GenSpans: redisGoRedisV9GenSpans(), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: []string{"redis.client"}, + DDService: []string{harness.TestDDService}, + ServiceOverride: []string{harness.TestServiceOverride}, + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "redis.command", spans[0].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 1) + assert.Equal(t, "redis.command", spans[0].OperationName()) + }, +} diff --git a/instrumentation/internal/namingschematest/segmentio_kafkago.go b/instrumentation/internal/namingschematest/segmentio_kafkago.go new file mode 100644 index 0000000000..ae48761ace --- /dev/null +++ b/instrumentation/internal/namingschematest/segmentio_kafkago.go @@ -0,0 +1,118 @@ +package namingschematest + +import ( + "context" + "testing" + "time" + + segmentiotracer "github.com/DataDog/dd-trace-go/contrib/segmentio/kafka-go/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + "github.com/segmentio/kafka-go" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +const ( + testGroupID = "gosegtest" + testTopic = "gosegtest" + testReaderMaxWait = 10 * time.Millisecond +) + +type readerOpFn func(t *testing.T, r *segmentiotracer.Reader) + +func genIntegrationTestSpans(t *testing.T, mt mocktracer.Tracer, writerOp func(t *testing.T, w *segmentiotracer.Writer), readerOp readerOpFn, writerOpts []segmentiotracer.Option, readerOpts []segmentiotracer.Option) ([]*mocktracer.Span, []kafka.Message) { + writtenMessages := []kafka.Message{} + + // add some dummy values to broker/addr to test bootstrap servers. + kw := &kafka.Writer{ + Addr: kafka.TCP("localhost:9092", "localhost:9093", "localhost:9094"), + Topic: testTopic, + RequiredAcks: kafka.RequireOne, + Completion: func(messages []kafka.Message, err error) { + writtenMessages = append(writtenMessages, messages...) + }, + } + w := segmentiotracer.WrapWriter(kw, writerOpts...) + writerOp(t, w) + err := w.Close() + require.NoError(t, err) + + r := segmentiotracer.NewReader(kafka.ReaderConfig{ + Brokers: []string{"localhost:9092", "localhost:9093", "localhost:9094"}, + GroupID: testGroupID, + Topic: testTopic, + MaxWait: testReaderMaxWait, + }, readerOpts...) + readerOp(t, r) + err = r.Close() + require.NoError(t, err) + + spans := mt.FinishedSpans() + require.Len(t, spans, 2) + // they should be linked via headers + assert.Equal(t, spans[0].TraceID(), spans[1].TraceID(), "Trace IDs should match") + return spans, writtenMessages +} + +func segmentioKafkaGoGenSpans() harness.GenSpansFn { + return func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []segmentiotracer.Option + if serviceOverride != "" { + opts = append(opts, segmentiotracer.WithService(serviceOverride)) + } + + mt := mocktracer.Start() + defer mt.Stop() + + messagesToWrite := []kafka.Message{ + { + Key: []byte("key1"), + Value: []byte("value1"), + }, + } + + spans, _ := genIntegrationTestSpans( + t, + mt, + func(t *testing.T, w *segmentiotracer.Writer) { + err := w.WriteMessages(context.Background(), messagesToWrite...) + require.NoError(t, err, "Expected to write message to topic") + }, + func(t *testing.T, r *segmentiotracer.Reader) { + ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second) + defer cancel() + readMsg, err := r.FetchMessage(ctx) + require.NoError(t, err, "Expected to consume message") + assert.Equal(t, messagesToWrite[0].Value, readMsg.Value, "Values should be equal") + + err = r.CommitMessages(context.Background(), readMsg) + assert.NoError(t, err, "Expected CommitMessages to not return an error") + }, + opts, + opts, + ) + return spans + } +} + +var segmentioKafkaGo = harness.TestCase{ + Name: instrumentation.PackageSegmentioKafkaGo, + GenSpans: segmentioKafkaGoGenSpans(), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: harness.RepeatString("kafka", 2), + DDService: harness.RepeatString(harness.TestDDService, 2), + ServiceOverride: harness.RepeatString(harness.TestServiceOverride, 2), + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "kafka.produce", spans[0].OperationName()) + assert.Equal(t, "kafka.consume", spans[1].OperationName()) + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 2) + assert.Equal(t, "kafka.send", spans[0].OperationName()) + assert.Equal(t, "kafka.process", spans[1].OperationName()) + }, +} diff --git a/instrumentation/packages.go b/instrumentation/packages.go index ec3a877666..7775737bf0 100644 --- a/instrumentation/packages.go +++ b/instrumentation/packages.go @@ -45,13 +45,28 @@ const ( PackageNetHTTP Package = "net/http" PackageIBMSarama Package = "IBM/sarama" - PackageValyalaFastHTTP Package = "valyala/fasthttp" - PackageUrfaveNegroni Package = "urfave/negroni" - PackageTwitchTVTwirp Package = "twitchtv/twirp" - PackageTidwallBuntDB Package = "tidwall/buntdb" - PackageSyndtrGoLevelDB Package = "syndtr/goleveldb/leveldb" - PackageSirupsenLogrus Package = "sirupsen/logrus" - PackageShopifySarama Package = "Shopify/sarama" + PackageValyalaFastHTTP Package = "valyala/fasthttp" + PackageUrfaveNegroni Package = "urfave/negroni" + PackageTwitchTVTwirp Package = "twitchtv/twirp" + PackageTidwallBuntDB Package = "tidwall/buntdb" + PackageSyndtrGoLevelDB Package = "syndtr/goleveldb/leveldb" + PackageSirupsenLogrus Package = "sirupsen/logrus" + PackageShopifySarama Package = "Shopify/sarama" + PackageSegmentioKafkaGo Package = "segmentio/kafka-go" + PackageRedisGoRedisV9 Package = "redis/go-redis.v9" + PackageOlivereElasticV5 Package = "olivere/elastic" + PackageMiekgDNS Package = "miekg/dns" + PackageLabstackEchoV4 Package = "labstack/echo" + PackageK8SClientGo Package = "k8s.io/client-go/kubernetes" + PackageJulienschmidtHTTPRouter Package = "julienschmidt/httprouter" + PackageJmoironSQLx Package = "jmoiron/sqlx" + PackageJackcPGXV5 Package = "jackc/pgx.v5" + PackageHashicorpConsulAPI Package = "hashicorp/consul" + PackageHashicorpVaultAPI Package = "hashicorp/vault" + PackageGraphQLGoGraphQL Package = "graphql-go/graphql" + PackageGraphGophersGraphQLGo Package = "graph-gophers/graphql-go" + PackageGormIOGormV1 Package = "gorm.io/gorm.v1" + PackageGorillaMux Package = "gorilla/mux" ) type Component int @@ -524,6 +539,169 @@ var packages = map[Package]PackageInfo{ }, }, }, + PackageSegmentioKafkaGo: { + TracedPackage: "github.com/segmentio/kafka-go", + EnvVarPrefix: "KAFKA", + naming: map[Component]componentNames{ + ComponentConsumer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("kafka"), + buildOpNameV0: staticName("kafka.consume"), + buildOpNameV1: staticName("kafka.process"), + }, + ComponentProducer: { + useDDServiceV0: false, + buildServiceNameV0: staticName("kafka"), + buildOpNameV0: staticName("kafka.produce"), + buildOpNameV1: staticName("kafka.send"), + }, + }, + }, + PackageRedisGoRedisV9: { + TracedPackage: "github.com/redis/go-redis/v9", + EnvVarPrefix: "REDIS", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: true, + buildServiceNameV0: staticName("redis.client"), + buildOpNameV0: staticName("redis.command"), + buildOpNameV1: staticName("redis.command"), + }, + }, + }, + PackageOlivereElasticV5: { + TracedPackage: "gopkg.in/olivere/elastic.v5", + EnvVarPrefix: "ELASTIC", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("elastic.client"), + buildOpNameV0: staticName("elasticsearch.query"), + buildOpNameV1: staticName("elasticsearch.query"), + }, + }, + }, + PackageMiekgDNS: { + TracedPackage: "github.com/miekg/dns", + }, + PackageLabstackEchoV4: { + TracedPackage: "github.com/labstack/echo/v4", + EnvVarPrefix: "ECHO", + naming: map[Component]componentNames{ + ComponentServer: { + useDDServiceV0: false, + buildServiceNameV0: staticName("echo"), + buildOpNameV0: staticName("http.request"), + buildOpNameV1: staticName("http.server.request"), + }, + }, + }, + PackageK8SClientGo: { + TracedPackage: "k8s.io/client-go/kubernetes", + }, + PackageJulienschmidtHTTPRouter: { + TracedPackage: "github.com/julienschmidt/httprouter", + EnvVarPrefix: "HTTPROUTER", + naming: map[Component]componentNames{ + ComponentServer: { + useDDServiceV0: false, + buildServiceNameV0: staticName("http.router"), + buildOpNameV0: staticName("http.request"), + buildOpNameV1: staticName("http.server.request"), + }, + }, + }, + PackageJmoironSQLx: { + TracedPackage: "github.com/jmoiron/sqlx", + }, + PackageJackcPGXV5: { + TracedPackage: "github.com/jackc/pgx/v5", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("postgres.db"), + }, + }, + }, + PackageIBMSarama: { + TracedPackage: "github.com/IBM/sarama", + EnvVarPrefix: "SARAMA", + naming: map[Component]componentNames{ + ComponentConsumer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("kafka"), + buildOpNameV0: staticName("kafka.consume"), + buildOpNameV1: staticName("kafka.process"), + }, + ComponentProducer: { + useDDServiceV0: false, + buildServiceNameV0: staticName("kafka"), + buildOpNameV0: staticName("kafka.produce"), + buildOpNameV1: staticName("kafka.send"), + }, + }, + }, + PackageHashicorpConsulAPI: { + TracedPackage: "github.com/hashicorp/consul/api", + EnvVarPrefix: "CONSUL", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("consul"), + buildOpNameV0: staticName("consul.command"), + buildOpNameV1: staticName("consul.query"), + }, + }, + }, + PackageHashicorpVaultAPI: { + TracedPackage: "github.com/hashicorp/vault/api", + EnvVarPrefix: "VAULT", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("vault"), + buildOpNameV0: staticName("vault.command"), + buildOpNameV1: staticName("vault.query"), + }, + }, + }, + PackageGraphQLGoGraphQL: { + TracedPackage: "github.com/graphql-go/graphql", + EnvVarPrefix: "GRAPHQL", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: false, + buildServiceNameV0: staticName("graphql"), + }, + }, + }, + PackageGraphGophersGraphQLGo: { + TracedPackage: "github.com/graph-gophers/graphql-go", + EnvVarPrefix: "GRAPHQL", + naming: map[Component]componentNames{ + ComponentDefault: { + useDDServiceV0: true, + buildServiceNameV0: staticName("graphql"), + buildOpNameV0: staticName("graphql.request"), + buildOpNameV1: staticName("graphql.server.request"), + }, + }, + }, + PackageGormIOGormV1: { + TracedPackage: "gorm.io/gorm.v1", + }, + PackageGorillaMux: { + TracedPackage: "github.com/gorilla/mux", + EnvVarPrefix: "MUX", + naming: map[Component]componentNames{ + ComponentServer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("mux.router"), + buildOpNameV0: staticName("http.request"), + buildOpNameV1: staticName("http.server.request"), + }, + }, + }, } func staticName(name string) func(OperationContext) string { diff --git a/instrumentation/testutils/testutils.go b/instrumentation/testutils/testutils.go index 67606639e1..a4c3ae3d8c 100644 --- a/instrumentation/testutils/testutils.go +++ b/instrumentation/testutils/testutils.go @@ -64,6 +64,11 @@ func StartAppSec(t *testing.T) { t.Cleanup(appsec.Stop) } +func StartAppSecBench(b *testing.B) { + appsec.Start() + b.Cleanup(appsec.Stop) +} + type discardLogger struct{} func (d discardLogger) Log(_ string) {} From ba210b976b092ed99f92b3c82b65bb1905c273ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Arg=C3=BCello?= Date: Tue, 27 Aug 2024 11:50:56 +0200 Subject: [PATCH 09/21] v2: migrate grpc contrib to new instrumentation api (2) (#2828) --- appsec/appsec.go | 2 +- contrib/google.golang.org/grpc/appsec.go | 19 +- contrib/google.golang.org/grpc/appsec_test.go | 77 +++---- contrib/google.golang.org/grpc/client.go | 11 +- contrib/google.golang.org/grpc/go.mod | 9 +- contrib/google.golang.org/grpc/go.sum | 12 +- contrib/google.golang.org/grpc/grpc.go | 13 +- contrib/google.golang.org/grpc/grpc_test.go | 216 +++--------------- contrib/google.golang.org/grpc/option.go | 70 +++--- contrib/google.golang.org/grpc/server.go | 18 +- .../google.golang.org/grpc/stats_client.go | 2 +- .../grpc/stats_client_test.go | 3 +- .../google.golang.org/grpc/stats_server.go | 2 +- .../grpc/stats_server_test.go | 3 +- ddtrace/tracer/textmap.go | 8 - ddtrace/tracer/tracer.go | 2 + go.work | 3 +- go.work.sum | 6 +- .../appsec/dyngo/operation.go | 0 .../appsec/dyngo/operation_test.go | 2 +- .../appsec/emitter/doc.go | 0 .../appsec/emitter/graphqlsec/context.go | 2 +- .../appsec/emitter/graphqlsec/execution.go | 4 +- .../appsec/emitter/graphqlsec/request.go | 4 +- .../appsec/emitter/graphqlsec/resolve.go | 4 +- .../appsec/emitter/graphqlsec/types/types.go | 4 +- .../appsec/emitter/grpcsec/grpc.go | 6 +- .../appsec/emitter/grpcsec/grpc_test.go | 6 +- .../appsec/emitter/grpcsec/init.go | 0 .../appsec/emitter/grpcsec/types/types.go | 4 +- .../appsec/emitter/httpsec/http.go | 8 +- .../appsec/emitter/httpsec/tags.go | 4 +- .../appsec/emitter/httpsec/tags_test.go | 2 +- .../appsec/emitter/httpsec/types/types.go | 4 +- .../appsec/emitter/sharedsec/actions.go | 0 .../appsec/emitter/sharedsec/actions_test.go | 0 .../emitter/sharedsec/blocked-template.html | 0 .../emitter/sharedsec/blocked-template.json | 0 .../appsec/emitter/sharedsec/shared.go | 2 +- .../appsec/trace/grpctrace/grpc.go | 4 +- .../appsec/trace/grpctrace/grpc_test.go | 0 .../appsec/trace/httptrace/http.go | 2 +- .../appsec/trace/httptrace/http_test.go | 2 +- .../appsec/trace/securityholder.go | 0 .../appsec/trace/tagsholder.go | 0 .../appsec/trace/trace.go | 0 instrumentation/httptrace/httptrace.go | 2 +- instrumentation/instrumentation.go | 5 + .../namingschematest/aws_sdk_v1_test.go | 2 +- .../namingschematest/aws_sdk_v2_test.go | 2 +- .../internal/namingschematest/chi_v1_test.go | 2 +- .../internal/namingschematest/chi_v5_test.go | 2 +- .../confluent_kafka_go_test.go | 2 +- .../confluent_kafka_v2_test.go | 2 +- .../internal/namingschematest/database_sql.go | 2 +- .../namingschematest/elastic_v6_test.go | 2 +- .../namingschematest/fiber_v2_test.go | 2 +- .../namingschematest/gcp_pubsub_test.go | 2 +- .../internal/namingschematest/gin_test.go | 2 +- .../internal/namingschematest/go.mod | 65 +++++- .../internal/namingschematest/go.sum | 82 ++++++- .../namingschematest/go_pg_v10_test.go | 2 +- .../namingschematest/go_redis_v1_test.go | 2 +- .../namingschematest/go_redis_v7_test.go | 2 +- .../namingschematest/go_redis_v8_test.go | 2 +- .../namingschematest/go_restful_v3_test.go | 2 +- .../internal/namingschematest/gocql_test.go | 2 +- .../namingschematest/gomemcache_test.go | 2 +- .../internal/namingschematest/gqlgen_test.go | 2 +- .../internal/namingschematest/grpc_test.go | 152 ++++++++++++ .../namingschematest/httptreemux_v5_test.go | 2 +- .../internal/namingschematest/main_test.go | 4 +- .../internal/namingschematest/mgo_test.go | 2 +- .../namingschematest/mongodriver_test.go | 2 +- .../internal/namingschematest/negroni_test.go | 2 +- .../namingschematest/net_http_test.go | 2 +- .../internal/namingschematest/redigo_test.go | 2 +- instrumentation/packages.go | 21 +- .../testutils/grpc/fixturepb/fixture.go | 76 ++++++ .../testutils/grpc/fixturepb/fixture.pb.go | 116 +++++----- .../testutils/grpc/fixturepb/fixture.proto | 2 +- .../grpc/fixturepb/fixture_grpc.pb.go | 11 +- .../testutils/grpc/fixturepb}/gen_proto.sh | 5 +- instrumentation/testutils/grpc/go.mod | 42 ++++ instrumentation/testutils/grpc/go.sum | 153 +++++++++++++ internal/appsec/appsec.go | 2 +- .../appsec/listener/graphqlsec/graphql.go | 6 +- internal/appsec/listener/grpcsec/grpc.go | 6 +- internal/appsec/listener/httpsec/http.go | 4 +- internal/appsec/listener/sharedsec/shared.go | 6 +- .../appsec/listener/sharedsec/shared_test.go | 2 +- internal/appsec/waf.go | 4 +- internal/log/log.go | 4 - internal/tracer.go | 20 ++ internal/v1.go | 12 - tools/fixmodules/main.go | 9 +- v1internal/v1internal.go | 20 -- 97 files changed, 921 insertions(+), 500 deletions(-) rename {internal => instrumentation}/appsec/dyngo/operation.go (100%) rename {internal => instrumentation}/appsec/dyngo/operation_test.go (99%) rename {internal => instrumentation}/appsec/emitter/doc.go (100%) rename {internal => instrumentation}/appsec/emitter/grpcsec/grpc.go (89%) rename {internal => instrumentation}/appsec/emitter/grpcsec/grpc_test.go (92%) rename {internal => instrumentation}/appsec/emitter/grpcsec/init.go (100%) rename {internal => instrumentation}/appsec/emitter/grpcsec/types/types.go (96%) rename {internal => instrumentation}/appsec/emitter/sharedsec/actions.go (100%) rename {internal => instrumentation}/appsec/emitter/sharedsec/actions_test.go (100%) rename {internal => instrumentation}/appsec/emitter/sharedsec/blocked-template.html (100%) rename {internal => instrumentation}/appsec/emitter/sharedsec/blocked-template.json (100%) rename {internal => instrumentation}/appsec/emitter/sharedsec/shared.go (97%) rename {internal => instrumentation}/appsec/trace/grpctrace/grpc.go (87%) rename {internal => instrumentation}/appsec/trace/grpctrace/grpc_test.go (100%) rename {internal => instrumentation}/appsec/trace/httptrace/http.go (98%) rename {internal => instrumentation}/appsec/trace/httptrace/http_test.go (97%) rename {internal => instrumentation}/appsec/trace/securityholder.go (100%) rename {internal => instrumentation}/appsec/trace/tagsholder.go (100%) rename {internal => instrumentation}/appsec/trace/trace.go (100%) create mode 100644 instrumentation/internal/namingschematest/grpc_test.go create mode 100644 instrumentation/testutils/grpc/fixturepb/fixture.go rename contrib/google.golang.org/grpc/fixtures_test.pb.go => instrumentation/testutils/grpc/fixturepb/fixture.pb.go (54%) rename contrib/google.golang.org/grpc/fixtures_test.proto => instrumentation/testutils/grpc/fixturepb/fixture.proto (93%) rename contrib/google.golang.org/grpc/fixtures_test_grpc.pb.go => instrumentation/testutils/grpc/fixturepb/fixture_grpc.pb.go (97%) rename {contrib/google.golang.org/grpc => instrumentation/testutils/grpc/fixturepb}/gen_proto.sh (93%) create mode 100644 instrumentation/testutils/grpc/go.mod create mode 100644 instrumentation/testutils/grpc/go.sum create mode 100644 internal/tracer.go delete mode 100644 internal/v1.go delete mode 100644 v1internal/v1internal.go diff --git a/appsec/appsec.go b/appsec/appsec.go index bf086c6806..48587b5f51 100644 --- a/appsec/appsec.go +++ b/appsec/appsec.go @@ -18,8 +18,8 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/sharedsec" "github.com/DataDog/dd-trace-go/v2/internal/appsec" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/sharedsec" "github.com/DataDog/dd-trace-go/v2/internal/log" ) diff --git a/contrib/google.golang.org/grpc/appsec.go b/contrib/google.golang.org/grpc/appsec.go index ac9e9be4c8..b627c4474a 100644 --- a/contrib/google.golang.org/grpc/appsec.go +++ b/contrib/google.golang.org/grpc/appsec.go @@ -8,17 +8,16 @@ package grpc import ( "context" + "github.com/DataDog/appsec-internal-go/netip" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/grpcsec" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/grpcsec/types" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/sharedsec" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace/grpctrace" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace/httptrace" - "github.com/DataDog/dd-trace-go/v2/internal/log" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/grpcsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/grpcsec/types" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/sharedsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace/grpctrace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace/httptrace" - "github.com/DataDog/appsec-internal-go/netip" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" @@ -147,7 +146,7 @@ func setClientIP(ctx context.Context, span *tracer.Span, md metadata.MD) netip.A remoteAddr = p.Addr.String() } ipTags, clientIP := httptrace.ClientIPTags(md, false, remoteAddr) - log.Debug("appsec: http client ip detection returned `%s` given the http headers `%v`", clientIP, md) + instr.Logger().Debug("appsec: http client ip detection returned `%s` given the http headers `%v`", clientIP, md) if len(ipTags) > 0 { trace.SetTags(span, ipTags) } diff --git a/contrib/google.golang.org/grpc/appsec_test.go b/contrib/google.golang.org/grpc/appsec_test.go index 63c79f209c..710436bcc0 100644 --- a/contrib/google.golang.org/grpc/appsec_test.go +++ b/contrib/google.golang.org/grpc/appsec_test.go @@ -13,9 +13,10 @@ import ( "strings" "testing" - pappsec "github.com/DataDog/dd-trace-go/v2/appsec" + "github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2/fixturepb" + "github.com/DataDog/dd-trace-go/v2/appsec" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/stretchr/testify/require" "google.golang.org/grpc" @@ -25,13 +26,12 @@ import ( ) func TestAppSec(t *testing.T) { - appsec.Start() - defer appsec.Stop() - if !appsec.Enabled() { + testutils.StartAppSec(t) + if !instr.AppSecEnabled() { t.Skip("appsec disabled") } - setup := func() (FixtureClient, mocktracer.Tracer, func()) { + setup := func() (fixturepb.FixtureClient, mocktracer.Tracer, func()) { rig, err := newRig(false) require.NoError(t, err) @@ -49,7 +49,7 @@ func TestAppSec(t *testing.T) { // Send a XSS attack in the payload along with the canary value in the RPC metadata ctx := metadata.NewOutgoingContext(context.Background(), metadata.Pairs("dd-canary", "dd-test-scanner-log")) - res, err := client.Ping(ctx, &FixtureRequest{Name: ""}) + res, err := client.Ping(ctx, &fixturepb.FixtureRequest{Name: ""}) // Check that the handler was properly called require.NoError(t, err) require.Equal(t, "passed", res.Message) @@ -74,7 +74,7 @@ func TestAppSec(t *testing.T) { require.NoError(t, err) // Send a XSS attack - err = stream.Send(&FixtureRequest{Name: ""}) + err = stream.Send(&fixturepb.FixtureRequest{Name: ""}) require.NoError(t, err) // Check that the handler was properly called @@ -84,7 +84,7 @@ func TestAppSec(t *testing.T) { for i := 0; i < 5; i++ { // Fire multiple times, each time should result in a detected event // Send a SQLi attack - err = stream.Send(&FixtureRequest{Name: fmt.Sprintf("-%[1]d' and %[1]d=%[1]d union select * from users--", i)}) + err = stream.Send(&fixturepb.FixtureRequest{Name: fmt.Sprintf("-%[1]d' and %[1]d=%[1]d union select * from users--", i)}) require.NoError(t, err) // Check that the handler was properly called @@ -133,13 +133,12 @@ func TestAppSec(t *testing.T) { // Test that http blocking works by using custom rules/rules data func TestBlocking(t *testing.T) { t.Setenv("DD_APPSEC_RULES", "../../../internal/appsec/testdata/blocking.json") - appsec.Start() - defer appsec.Stop() - if !appsec.Enabled() { + testutils.StartAppSec(t) + if !instr.AppSecEnabled() { t.Skip("appsec disabled") } - setup := func() (FixtureClient, mocktracer.Tracer, func()) { + setup := func() (fixturepb.FixtureClient, mocktracer.Tracer, func()) { rig, err := newRig(false) require.NoError(t, err) @@ -157,7 +156,7 @@ func TestBlocking(t *testing.T) { // Send a XSS attack in the payload along with the canary value in the RPC metadata ctx := metadata.NewOutgoingContext(context.Background(), metadata.Pairs("dd-canary", "dd-test-scanner-log", "x-client-ip", "1.2.3.4")) - reply, err := client.Ping(ctx, &FixtureRequest{Name: ""}) + reply, err := client.Ping(ctx, &fixturepb.FixtureRequest{Name: ""}) require.Nil(t, reply) require.Equal(t, codes.Aborted, status.Code(err)) @@ -176,7 +175,7 @@ func TestBlocking(t *testing.T) { // Send a XSS attack in the payload along with the canary value in the RPC metadata ctx := metadata.NewOutgoingContext(context.Background(), metadata.Pairs("dd-canary", "dd-test-scanner-log", "x-client-ip", "1.2.3.5")) - reply, err := client.Ping(ctx, &FixtureRequest{Name: ""}) + reply, err := client.Ping(ctx, &fixturepb.FixtureRequest{Name: ""}) require.Equal(t, "passed", reply.Message) require.Equal(t, codes.OK, status.Code(err)) @@ -211,7 +210,7 @@ func TestBlocking(t *testing.T) { require.NoError(t, err) // Send a XSS attack - err = stream.Send(&FixtureRequest{Name: ""}) + err = stream.Send(&fixturepb.FixtureRequest{Name: ""}) require.NoError(t, err) reply, err := stream.Recv() require.Equal(t, codes.OK, status.Code(err)) @@ -226,13 +225,12 @@ func TestBlocking(t *testing.T) { // Test that user blocking works by using custom rules/rules data func TestUserBlocking(t *testing.T) { t.Setenv("DD_APPSEC_RULES", "../../../internal/appsec/testdata/blocking.json") - appsec.Start() - defer appsec.Stop() - if !appsec.Enabled() { + testutils.StartAppSec(t) + if !instr.AppSecEnabled() { t.Skip("appsec disabled") } - setup := func() (FixtureClient, mocktracer.Tracer, func()) { + setup := func() (fixturepb.FixtureClient, mocktracer.Tracer, func()) { rig, err := newAppsecRig(false) require.NoError(t, err) @@ -250,7 +248,7 @@ func TestUserBlocking(t *testing.T) { // Send a XSS attack in the payload along with the canary value in the RPC metadata ctx := metadata.NewOutgoingContext(context.Background(), metadata.Pairs("user-id", "blocked-user-1")) - reply, err := client.Ping(ctx, &FixtureRequest{Name: ""}) + reply, err := client.Ping(ctx, &fixturepb.FixtureRequest{Name: ""}) require.Nil(t, reply) require.Equal(t, codes.Aborted, status.Code(err)) @@ -269,7 +267,7 @@ func TestUserBlocking(t *testing.T) { defer cleanup() ctx := metadata.NewOutgoingContext(context.Background(), metadata.Pairs("user-id", "legit user")) - reply, err := client.Ping(ctx, &FixtureRequest{Name: ""}) + reply, err := client.Ping(ctx, &fixturepb.FixtureRequest{Name: ""}) require.Equal(t, "passed", reply.Message) require.Equal(t, codes.OK, status.Code(err)) @@ -282,7 +280,7 @@ func TestUserBlocking(t *testing.T) { defer cleanup() ctx := metadata.NewOutgoingContext(context.Background(), metadata.Pairs("user-id", "blocked-user-1", "x-forwarded-for", "1.2.3.4")) - reply, err := client.Ping(ctx, &FixtureRequest{}) + reply, err := client.Ping(ctx, &fixturepb.FixtureRequest{}) require.Nil(t, reply) require.Equal(t, codes.Aborted, status.Code(err)) @@ -323,7 +321,7 @@ func TestUserBlocking(t *testing.T) { require.NoError(t, err) // Send a XSS attack - err = stream.Send(&FixtureRequest{Name: ""}) + err = stream.Send(&fixturepb.FixtureRequest{Name: ""}) require.NoError(t, err) reply, err := stream.Recv() require.Equal(t, codes.OK, status.Code(err)) @@ -360,13 +358,12 @@ func TestPasslist(t *testing.T) { // but only one of them is passlisted (custom-1 is passlisted, custom-2 is not and must trigger). t.Setenv("DD_APPSEC_RULES", "../../../internal/appsec/testdata/passlist.json") - appsec.Start() - defer appsec.Stop() - if !appsec.Enabled() { + testutils.StartAppSec(t) + if !instr.AppSecEnabled() { t.Skip("appsec disabled") } - setup := func() (FixtureClient, mocktracer.Tracer, func()) { + setup := func() (fixturepb.FixtureClient, mocktracer.Tracer, func()) { rig, err := newRig(false) require.NoError(t, err) @@ -384,7 +381,7 @@ func TestPasslist(t *testing.T) { // Send the payload triggering the sec event thanks to the "zouzou" value in the RPC metadata ctx := metadata.NewOutgoingContext(context.Background(), metadata.Pairs("dd-canary", "zouzou")) - res, err := client.Ping(ctx, &FixtureRequest{Name: "hello"}) + res, err := client.Ping(ctx, &fixturepb.FixtureRequest{Name: "hello"}) // Check that the handler was properly called require.NoError(t, err) @@ -411,7 +408,7 @@ func TestPasslist(t *testing.T) { // Send some messages for i := 0; i < 5; i++ { - err = stream.Send(&FixtureRequest{Name: "hello"}) + err = stream.Send(&fixturepb.FixtureRequest{Name: "hello"}) require.NoError(t, err) // Check that the handler was properly called @@ -444,8 +441,8 @@ func newAppsecRig(traceClient bool, interceptorOpts ...Option) (*appsecRig, erro grpc.StreamInterceptor(StreamServerInterceptor(interceptorOpts...)), ) - fixtureServer := new(appsecFixtureServer) - RegisterFixtureServer(server, fixtureServer) + fixtureServer := &appsecFixtureServer{s: fixturepb.NewFixtureServer()} + fixturepb.RegisterFixtureServer(server, fixtureServer) li, err := net.Listen("tcp", "127.0.0.1:0") if err != nil { @@ -472,7 +469,7 @@ func newAppsecRig(traceClient bool, interceptorOpts ...Option) (*appsecRig, erro port: port, server: server, conn: conn, - client: NewFixtureClient(conn), + client: fixturepb.NewFixtureClient(conn), }, err } @@ -484,7 +481,7 @@ type appsecRig struct { port string listener net.Listener conn *grpc.ClientConn - client FixtureClient + client fixturepb.FixtureClient } func (r *appsecRig) Close() { @@ -493,23 +490,23 @@ func (r *appsecRig) Close() { } type appsecFixtureServer struct { - UnimplementedFixtureServer - s fixtureServer + fixturepb.UnimplementedFixtureServer + s *fixturepb.FixtureSrv } -func (s *appsecFixtureServer) StreamPing(stream Fixture_StreamPingServer) (err error) { +func (s *appsecFixtureServer) StreamPing(stream fixturepb.Fixture_StreamPingServer) (err error) { ctx := stream.Context() md, _ := metadata.FromIncomingContext(ctx) ids := md.Get("user-id") - if err := pappsec.SetUser(ctx, ids[0]); err != nil { + if err := appsec.SetUser(ctx, ids[0]); err != nil { return err } return s.s.StreamPing(stream) } -func (s *appsecFixtureServer) Ping(ctx context.Context, in *FixtureRequest) (*FixtureReply, error) { +func (s *appsecFixtureServer) Ping(ctx context.Context, in *fixturepb.FixtureRequest) (*fixturepb.FixtureReply, error) { md, _ := metadata.FromIncomingContext(ctx) ids := md.Get("user-id") - if err := pappsec.SetUser(ctx, ids[0]); err != nil { + if err := appsec.SetUser(ctx, ids[0]); err != nil { return nil, err } diff --git a/contrib/google.golang.org/grpc/client.go b/contrib/google.golang.org/grpc/client.go index c5c72bb831..ecf3ead2e5 100644 --- a/contrib/google.golang.org/grpc/client.go +++ b/contrib/google.golang.org/grpc/client.go @@ -12,7 +12,6 @@ import ( "github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2/internal/grpcutil" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/log" "google.golang.org/grpc" "google.golang.org/grpc/grpclog" @@ -37,7 +36,7 @@ func (cs *clientStream) RecvMsg(m interface{}) (err error) { cs.Context(), cs.method, "grpc.message", - cs.cfg.serviceName, + cs.cfg.serviceName.String(), cs.cfg.startSpanOptions()..., ) span.SetTag(ext.Component, componentName) @@ -56,7 +55,7 @@ func (cs *clientStream) SendMsg(m interface{}) (err error) { cs.Context(), cs.method, "grpc.message", - cs.cfg.serviceName, + cs.cfg.serviceName.String(), cs.cfg.startSpanOptions()..., ) span.SetTag(ext.Component, componentName) @@ -77,7 +76,7 @@ func StreamClientInterceptor(opts ...Option) grpc.StreamClientInterceptor { for _, fn := range opts { fn.apply(cfg) } - log.Debug("contrib/google.golang.org/grpc: Configuring StreamClientInterceptor: %#v", cfg) + instr.Logger().Debug("contrib/google.golang.org/grpc: Configuring StreamClientInterceptor: %#v", cfg) return func(ctx context.Context, desc *grpc.StreamDesc, cc *grpc.ClientConn, method string, streamer grpc.Streamer, opts ...grpc.CallOption) (grpc.ClientStream, error) { var methodKind string if desc != nil { @@ -148,7 +147,7 @@ func UnaryClientInterceptor(opts ...Option) grpc.UnaryClientInterceptor { for _, fn := range opts { fn.apply(cfg) } - log.Debug("contrib/google.golang.org/grpc: Configuring UnaryClientInterceptor: %#v", cfg) + instr.Logger().Debug("contrib/google.golang.org/grpc: Configuring UnaryClientInterceptor: %#v", cfg) return func(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error { if _, ok := cfg.untracedMethods[method]; ok { return invoker(ctx, method, req, reply, cc, opts...) @@ -173,7 +172,7 @@ func doClientRequest( ctx, method, cfg.spanName, - cfg.serviceName, + cfg.serviceName.String(), cfg.startSpanOptions( tracer.Tag(ext.Component, componentName), tracer.Tag(ext.SpanKind, ext.SpanKindClient))..., diff --git a/contrib/google.golang.org/grpc/go.mod b/contrib/google.golang.org/grpc/go.mod index 757fb797d4..77b5b9dd15 100644 --- a/contrib/google.golang.org/grpc/go.mod +++ b/contrib/google.golang.org/grpc/go.mod @@ -4,12 +4,13 @@ go 1.21 require ( github.com/DataDog/appsec-internal-go v1.5.0 + github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/golang/protobuf v1.5.4 github.com/stretchr/testify v1.8.4 github.com/tinylib/msgp v1.1.9 - google.golang.org/grpc v1.64.0 - google.golang.org/protobuf v1.34.1 + google.golang.org/grpc v1.65.0 + google.golang.org/protobuf v1.34.2 ) require ( @@ -39,8 +40,10 @@ require ( golang.org/x/text v0.15.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) +replace github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 => ../../../instrumentation/testutils/grpc + replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/contrib/google.golang.org/grpc/go.sum b/contrib/google.golang.org/grpc/go.sum index 51d8055579..9ca8563147 100644 --- a/contrib/google.golang.org/grpc/go.sum +++ b/contrib/google.golang.org/grpc/go.sum @@ -129,12 +129,12 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= -google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= -google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= -google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= +google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/contrib/google.golang.org/grpc/grpc.go b/contrib/google.golang.org/grpc/grpc.go index c3baa66137..7e8e8de4b4 100644 --- a/contrib/google.golang.org/grpc/grpc.go +++ b/contrib/google.golang.org/grpc/grpc.go @@ -3,8 +3,6 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2016 Datadog, Inc. -//go:generate sh gen_proto.sh - // Package grpc provides functions to trace the google.golang.org/grpc package v1.2. package grpc // import "github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2" @@ -18,7 +16,7 @@ import ( "github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2/internal/grpcutil" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/telemetry" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/golang/protobuf/proto" "google.golang.org/grpc/codes" @@ -28,9 +26,10 @@ import ( const componentName = "google.golang.org/grpc" +var instr *instrumentation.Instrumentation + func init() { - telemetry.LoadIntegration(componentName) - tracer.MarkIntegrationImported(componentName) + instr = instrumentation.Load(instrumentation.PackageGRPC) } // cache a constant option: saves one allocation per call @@ -55,11 +54,11 @@ func (cfg *config) startSpanOptions(opts ...tracer.StartSpanOption) []tracer.Sta } func startSpanFromContext( - ctx context.Context, method, operation string, serviceFn func() string, opts ...tracer.StartSpanOption, + ctx context.Context, method, operation string, serviceName string, opts ...tracer.StartSpanOption, ) (*tracer.Span, context.Context) { methodElements := strings.SplitN(strings.TrimPrefix(method, "/"), "/", 2) opts = append(opts, - tracer.ServiceName(serviceFn()), + tracer.ServiceName(serviceName), tracer.ResourceName(method), tracer.Tag(tagMethodName, method), spanTypeRPC, diff --git a/contrib/google.golang.org/grpc/grpc_test.go b/contrib/google.golang.org/grpc/grpc_test.go index 63056efd4d..e7656a67a0 100644 --- a/contrib/google.golang.org/grpc/grpc_test.go +++ b/contrib/google.golang.org/grpc/grpc_test.go @@ -14,17 +14,14 @@ import ( "net" "net/http" "strings" - "sync/atomic" "testing" "time" + "github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2/fixturepb" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/contrib/namingschematest" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/lists" - "github.com/DataDog/dd-trace-go/v2/internal/log" + "github.com/DataDog/dd-trace-go/v2/instrumentation/testutils" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -72,7 +69,7 @@ func TestUnary(t *testing.T) { span, ctx := tracer.StartSpanFromContext(context.Background(), "a", tracer.ServiceName("b"), tracer.ResourceName("c")) - resp, err := client.Ping(ctx, &FixtureRequest{Name: tt.message}) + resp, err := client.Ping(ctx, &fixturepb.FixtureRequest{Name: tt.message}) span.Finish() if tt.error { assert.Error(err) @@ -132,12 +129,12 @@ func TestUnary(t *testing.T) { func TestStreaming(t *testing.T) { // creates a stream, then sends/recvs two pings, then closes the stream - runPings := func(t *testing.T, ctx context.Context, client FixtureClient) { + runPings := func(t *testing.T, ctx context.Context, client fixturepb.FixtureClient) { stream, err := client.StreamPing(ctx) assert.NoError(t, err) for i := 0; i < 2; i++ { - err = stream.Send(&FixtureRequest{Name: "pass"}) + err = stream.Send(&fixturepb.FixtureRequest{Name: "pass"}) assert.NoError(t, err) resp, err := stream.Recv() @@ -324,7 +321,7 @@ func TestSpanTree(t *testing.T) { // root span -> client Ping span -> server Ping span -> child span rootSpan, ctx := tracer.StartSpanFromContext(context.Background(), "root") client := rig.client - resp, err := client.Ping(ctx, &FixtureRequest{Name: "child"}) + resp, err := client.Ping(ctx, &fixturepb.FixtureRequest{Name: "child"}) assert.NoError(err) assert.Equal("child", resp.Message) rootSpan.Finish() @@ -366,7 +363,7 @@ func TestSpanTree(t *testing.T) { ctx = metadata.AppendToOutgoingContext(ctx, "custom_metadata_key", "custom_metadata_value") stream, err := client.StreamPing(ctx) assert.NoError(err) - err = stream.SendMsg(&FixtureRequest{Name: "break"}) + err = stream.SendMsg(&fixturepb.FixtureRequest{Name: "break"}) assert.NoError(err) resp, err := stream.Recv() assert.Nil(err) @@ -441,7 +438,7 @@ func TestPass(t *testing.T) { ctx := context.Background() ctx = metadata.AppendToOutgoingContext(ctx, "test-key", "test-value") - resp, err := client.Ping(ctx, &FixtureRequest{Name: "pass"}) + resp, err := client.Ping(ctx, &fixturepb.FixtureRequest{Name: "pass"}) assert.Nil(err) assert.Equal("passed", resp.Message) @@ -475,10 +472,10 @@ func TestPreservesMetadata(t *testing.T) { ctx := context.Background() ctx = metadata.AppendToOutgoingContext(ctx, "test-key", "test-value") span, ctx := tracer.StartSpanFromContext(ctx, "x", tracer.ServiceName("y"), tracer.ResourceName("z")) - rig.client.Ping(ctx, &FixtureRequest{Name: "pass"}) + rig.client.Ping(ctx, &fixturepb.FixtureRequest{Name: "pass"}) span.Finish() - md := rig.fixtureServer.lastRequestMetadata.Load().(metadata.MD) + md := rig.fixtureServer.LastRequestMetadata.Load().(metadata.MD) assert.Equal(t, []string{"test-value"}, md.Get("test-key"), "existing metadata should be preserved") @@ -505,7 +502,7 @@ func TestStreamSendsErrorCode(t *testing.T) { stream, err := rig.client.StreamPing(ctx) require.NoError(t, err, "no error should be returned after creating stream client") - err = stream.Send(&FixtureRequest{Name: "invalid"}) + err = stream.Send(&fixturepb.FixtureRequest{Name: "invalid"}) require.NoError(t, err, "no error should be returned after sending message") resp, err := stream.Recv() @@ -534,71 +531,15 @@ func TestStreamSendsErrorCode(t *testing.T) { assert.Equal(t, wantCode, gotLastSpanCode, "last span should contain error code") } -// fixtureServer a dummy implementation of our grpc fixtureServer. -type fixtureServer struct { - UnimplementedFixtureServer - lastRequestMetadata atomic.Value -} - -func (s *fixtureServer) StreamPing(stream Fixture_StreamPingServer) (err error) { - for { - msg, err := stream.Recv() - if err != nil { - return err - } - - reply, err := s.Ping(stream.Context(), msg) - if err != nil { - return err - } - - err = stream.Send(reply) - if err != nil { - return err - } - - if msg.Name == "break" { - return nil - } - } -} - -func (s *fixtureServer) Ping(ctx context.Context, in *FixtureRequest) (*FixtureReply, error) { - if md, ok := metadata.FromIncomingContext(ctx); ok { - s.lastRequestMetadata.Store(md) - } - switch { - case in.Name == "child": - span, _ := tracer.StartSpanFromContext(ctx, "child") - span.Finish() - return &FixtureReply{Message: "child"}, nil - case in.Name == "disabled": - if _, ok := tracer.SpanFromContext(ctx); ok { - panic("should be disabled") - } - return &FixtureReply{Message: "disabled"}, nil - case in.Name == "invalid": - return nil, status.Error(codes.InvalidArgument, "invalid") - case in.Name == "errorDetails": - s, _ := status.New(codes.Unknown, "unknown"). - WithDetails(&FixtureReply{Message: "a"}, &FixtureReply{Message: "b"}) - return nil, s.Err() - } - return &FixtureReply{Message: "passed"}, nil -} - -// ensure it's a fixtureServer -var _ FixtureServer = &fixtureServer{} - // rig contains all of the servers and connections we'd need for a // grpc integration test type rig struct { - fixtureServer *fixtureServer + fixtureServer *fixturepb.FixtureSrv server *grpc.Server port string listener net.Listener conn *grpc.ClientConn - client FixtureClient + client fixturepb.FixtureClient } func (r *rig) Close() { @@ -611,8 +552,8 @@ func newRigWithInterceptors( clientInterceptors []grpc.DialOption, ) (*rig, error) { server := grpc.NewServer(serverInterceptors...) - fixtureSrv := new(fixtureServer) - RegisterFixtureServer(server, fixtureSrv) + fixtureSrv := fixturepb.NewFixtureServer() + fixturepb.RegisterFixtureServer(server, fixtureSrv) li, err := net.Listen("tcp", "127.0.0.1:0") if err != nil { @@ -632,7 +573,7 @@ func newRigWithInterceptors( port: port, server: server, conn: conn, - client: NewFixtureClient(conn), + client: fixturepb.NewFixtureClient(conn), }, err } @@ -670,7 +611,7 @@ func TestAnalyticsSettings(t *testing.T) { defer rig.Close() client := rig.client - resp, err := client.Ping(context.Background(), &FixtureRequest{Name: "pass"}) + resp, err := client.Ping(context.Background(), &fixturepb.FixtureRequest{Name: "pass"}) assert.Nil(t, err) assert.Equal(t, "passed", resp.Message) @@ -705,9 +646,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.4) }) @@ -730,9 +669,7 @@ func TestAnalyticsSettings(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - rate := globalconfig.AnalyticsRate() - defer globalconfig.SetAnalyticsRate(rate) - globalconfig.SetAnalyticsRate(0.4) + testutils.SetGlobalAnalyticsRate(t, 0.4) assertRate(t, mt, 0.23, WithAnalyticsRate(0.23)) }) @@ -763,7 +700,7 @@ func TestUntracedMethods(t *testing.T) { t.Fatalf("error setting up rig: %s", err) } client := rig.client - resp, err := client.Ping(context.Background(), &FixtureRequest{Name: "pass"}) + resp, err := client.Ping(context.Background(), &fixturepb.FixtureRequest{Name: "pass"}) assert.Nil(t, err) assert.Equal(t, "passed", resp.Message) @@ -798,7 +735,7 @@ func TestUntracedMethods(t *testing.T) { stream, err := client.StreamPing(ctx) assert.NoError(t, err) - err = stream.Send(&FixtureRequest{Name: "pass"}) + err = stream.Send(&fixturepb.FixtureRequest{Name: "pass"}) assert.NoError(t, err) resp, err := stream.Recv() @@ -836,7 +773,7 @@ func TestIgnoredMetadata(t *testing.T) { ctx := context.Background() ctx = metadata.AppendToOutgoingContext(ctx, "test-key", "test-value", "test-key2", "test-value2") span, ctx := tracer.StartSpanFromContext(ctx, "x", tracer.ServiceName("y"), tracer.ResourceName("z")) - rig.client.Ping(ctx, &FixtureRequest{Name: "pass"}) + rig.client.Ping(ctx, &fixturepb.FixtureRequest{Name: "pass"}) span.Finish() spans := mt.FinishedSpans() @@ -870,7 +807,7 @@ func TestSpanOpts(t *testing.T) { t.Fatalf("error setting up rig: %s", err) } client := rig.client - resp, err := client.Ping(context.Background(), &FixtureRequest{Name: "pass"}) + resp, err := client.Ping(context.Background(), &fixturepb.FixtureRequest{Name: "pass"}) assert.Nil(t, err) assert.Equal(t, "passed", resp.Message) @@ -897,7 +834,7 @@ func TestSpanOpts(t *testing.T) { stream, err := client.StreamPing(ctx) assert.NoError(t, err) - err = stream.Send(&FixtureRequest{Name: "pass"}) + err = stream.Send(&fixturepb.FixtureRequest{Name: "pass"}) assert.NoError(t, err) resp, err := stream.Recv() @@ -935,7 +872,7 @@ func TestCustomTag(t *testing.T) { } ctx := context.Background() span, ctx := tracer.StartSpanFromContext(ctx, "x", tracer.ServiceName("y"), tracer.ResourceName("z")) - rig.client.Ping(ctx, &FixtureRequest{Name: "pass"}) + rig.client.Ping(ctx, &fixturepb.FixtureRequest{Name: "pass"}) span.Finish() spans := mt.FinishedSpans() @@ -955,52 +892,6 @@ func TestCustomTag(t *testing.T) { } } -func TestServerNamingSchema(t *testing.T) { - genSpans := getGenSpansFn(false, true) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 4) - for i := 0; i < 4; i++ { - assert.Equal(t, "grpc.server", spans[i].OperationName()) - } - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 4) - for i := 0; i < 4; i++ { - assert.Equal(t, "grpc.server.request", spans[i].OperationName()) - } - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: lists.RepeatString("grpc.server", 4), - WithDDService: lists.RepeatString(namingschematest.TestDDService, 4), - WithDDServiceAndOverride: lists.RepeatString(namingschematest.TestServiceOverride, 4), - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} - -func TestClientNamingSchema(t *testing.T) { - genSpans := getGenSpansFn(true, false) - assertOpV0 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 4) - for i := 0; i < 4; i++ { - assert.Equal(t, "grpc.client", spans[i].OperationName()) - } - } - assertOpV1 := func(t *testing.T, spans []*mocktracer.Span) { - require.Len(t, spans, 4) - for i := 0; i < 4; i++ { - assert.Equal(t, "grpc.client.request", spans[i].OperationName()) - } - } - wantServiceNameV0 := namingschematest.ServiceNameAssertions{ - WithDefaults: lists.RepeatString("grpc.client", 4), - WithDDService: lists.RepeatString("grpc.client", 4), - WithDDServiceAndOverride: lists.RepeatString(namingschematest.TestServiceOverride, 4), - } - t.Run("ServiceName", namingschematest.NewServiceNameTest(genSpans, wantServiceNameV0)) - t.Run("SpanName", namingschematest.NewSpanNameTest(genSpans, assertOpV0, assertOpV1)) -} - func TestWithErrorDetailTags(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() @@ -1019,7 +910,7 @@ func TestWithErrorDetailTags(t *testing.T) { } ctx := context.Background() span, ctx := tracer.StartSpanFromContext(ctx, "x", tracer.ServiceName("y"), tracer.ResourceName("z")) - rig.client.Ping(ctx, &FixtureRequest{Name: "errorDetails"}) + rig.client.Ping(ctx, &fixturepb.FixtureRequest{Name: "errorDetails"}) span.Finish() spans := mt.FinishedSpans() @@ -1041,58 +932,9 @@ func TestWithErrorDetailTags(t *testing.T) { } } -func getGenSpansFn(traceClient, traceServer bool) namingschematest.GenSpansFn { - return func(t *testing.T, serviceOverride string) []*mocktracer.Span { - var opts []Option - if serviceOverride != "" { - opts = append(opts, WithService(serviceOverride)) - } - // exclude the grpc.message spans as they are not affected by naming schema - opts = append(opts, WithStreamMessages(false)) - mt := mocktracer.Start() - defer mt.Stop() - - var serverInterceptors []grpc.ServerOption - if traceServer { - serverInterceptors = append(serverInterceptors, - grpc.UnaryInterceptor(UnaryServerInterceptor(opts...)), - grpc.StreamInterceptor(StreamServerInterceptor(opts...)), - grpc.StatsHandler(NewServerStatsHandler(opts...)), - ) - } - clientInterceptors := []grpc.DialOption{grpc.WithInsecure()} - if traceClient { - clientInterceptors = append(clientInterceptors, - grpc.WithUnaryInterceptor(UnaryClientInterceptor(opts...)), - grpc.WithStreamInterceptor(StreamClientInterceptor(opts...)), - grpc.WithStatsHandler(NewClientStatsHandler(opts...)), - ) - } - rig, err := newRigWithInterceptors(serverInterceptors, clientInterceptors) - require.NoError(t, err) - defer rig.Close() - _, err = rig.client.Ping(context.Background(), &FixtureRequest{Name: "pass"}) - require.NoError(t, err) - - stream, err := rig.client.StreamPing(context.Background()) - require.NoError(t, err) - err = stream.Send(&FixtureRequest{Name: "break"}) - require.NoError(t, err) - _, err = stream.Recv() - require.NoError(t, err) - err = stream.CloseSend() - require.NoError(t, err) - // to flush the spans - _, _ = stream.Recv() - - waitForSpans(mt, 4) - return mt.FinishedSpans() - } -} - func BenchmarkUnaryServerInterceptor(b *testing.B) { // need to use the real tracer to get representative measurments - tracer.Start(tracer.WithLogger(log.DiscardLogger{}), + tracer.Start(tracer.WithLogger(testutils.DiscardLogger()), tracer.WithEnv("test"), tracer.WithServiceVersion("0.1.2")) defer tracer.Stop() @@ -1240,10 +1082,10 @@ func TestIssue2050(t *testing.T) { defer rig.Close() // call tracer.Start after integration is initialized, to reproduce the issue - tracer.Start(tracer.WithHTTPClient(httpClient)) + tracer.Start(tracer.WithHTTPClient(httpClient), tracer.WithLogger(testutils.DiscardLogger())) defer tracer.Stop() - _, err = rig.client.Ping(context.Background(), &FixtureRequest{Name: "pass"}) + _, err = rig.client.Ping(context.Background(), &fixturepb.FixtureRequest{Name: "pass"}) require.NoError(t, err) select { diff --git a/contrib/google.golang.org/grpc/option.go b/contrib/google.golang.org/grpc/option.go index 20c5386b61..218f4e9233 100644 --- a/contrib/google.golang.org/grpc/option.go +++ b/contrib/google.golang.org/grpc/option.go @@ -6,20 +6,14 @@ package grpc import ( + "math" + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal" - "github.com/DataDog/dd-trace-go/v2/internal/globalconfig" - "github.com/DataDog/dd-trace-go/v2/internal/log" - "github.com/DataDog/dd-trace-go/v2/internal/namingschema" + "github.com/DataDog/dd-trace-go/v2/instrumentation" "google.golang.org/grpc/codes" ) -const ( - defaultClientServiceName = "grpc.client" - defaultServerServiceName = "grpc.server" -) - // Option describes options for the gRPC integration. type Option interface { apply(*config) @@ -37,8 +31,33 @@ func (fn OptionFn) applyStream(cfg *config) { fn(cfg) } +type cachedServiceName struct { + value string + getValue func() string +} + +func newCachedServiceName(getValue func() string) *cachedServiceName { + c := &cachedServiceName{getValue: getValue} + // warmup cache + _ = c.String() + return c +} + +func (cs *cachedServiceName) String() string { + if cs.value != "" { + return cs.value + } + svc := cs.getValue() + // cache only if the tracer has been started. This ensures we get the final value for service name, since this + // is where the tracer configuration is resolved (including env variables and tracer options). + if instr.TracerInitialized() { + cs.value = svc + } + return svc +} + type config struct { - serviceName func() string + serviceName *cachedServiceName spanName string nonErrorCodes map[codes.Code]bool traceStreamCalls bool @@ -57,9 +76,8 @@ func defaults(cfg *config) { cfg.traceStreamCalls = true cfg.traceStreamMessages = true cfg.nonErrorCodes = map[codes.Code]bool{codes.Canceled: true} - // cfg.spanOpts = append(cfg.spanOpts, tracer.AnalyticsRate(globalconfig.AnalyticsRate())) - if internal.BoolEnv("DD_TRACE_GRPC_ANALYTICS_ENABLED", false) { - cfg.spanOpts = append(cfg.spanOpts, tracer.AnalyticsRate(1.0)) + if rate := instr.AnalyticsRate(false); !math.IsNaN(rate) { + cfg.spanOpts = append(cfg.spanOpts, tracer.AnalyticsRate(rate)) } cfg.ignoredMetadata = map[string]struct{}{ "x-datadog-trace-id": {}, @@ -69,31 +87,27 @@ func defaults(cfg *config) { } func clientDefaults(cfg *config) { - sn := namingschema.ServiceNameOverrideV0(defaultClientServiceName, defaultClientServiceName) - cfg.serviceName = func() string { return sn } - cfg.spanName = namingschema.OpName(namingschema.GRPCClient) + cfg.serviceName = newCachedServiceName(func() string { + return instr.ServiceName(instrumentation.ComponentClient, nil) + }) + cfg.spanName = instr.OperationName(instrumentation.ComponentClient, nil) defaults(cfg) } func serverDefaults(cfg *config) { - // We check for a configured service name, so we don't break users who are incorrectly creating their server - // before the call `tracer.Start()` - if globalconfig.ServiceName() != "" { - sn := namingschema.ServiceName(defaultServerServiceName) - cfg.serviceName = func() string { return sn } - } else { - log.Warn("No global service name was detected. GRPC Server may have been created before calling tracer.Start(). Will dynamically fetch service name for every span. " + - "Note this may have a slight performance cost, it is always recommended to start the tracer before initializing any traced packages.\n") - cfg.serviceName = func() string { return namingschema.ServiceName(defaultServerServiceName) } - } - cfg.spanName = namingschema.OpName(namingschema.GRPCServer) + cfg.serviceName = newCachedServiceName(func() string { + return instr.ServiceName(instrumentation.ComponentServer, nil) + }) + cfg.spanName = instr.OperationName(instrumentation.ComponentServer, nil) defaults(cfg) } // WithService sets the given service name for the intercepted client. func WithService(name string) OptionFn { return func(cfg *config) { - cfg.serviceName = func() string { return name } + cfg.serviceName = newCachedServiceName(func() string { + return name + }) } } diff --git a/contrib/google.golang.org/grpc/server.go b/contrib/google.golang.org/grpc/server.go index f6aafd2709..261349e06e 100644 --- a/contrib/google.golang.org/grpc/server.go +++ b/contrib/google.golang.org/grpc/server.go @@ -10,8 +10,6 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" - "github.com/DataDog/dd-trace-go/v2/internal/appsec" - "github.com/DataDog/dd-trace-go/v2/internal/log" "google.golang.org/grpc" "google.golang.org/grpc/metadata" @@ -45,7 +43,7 @@ func (ss *serverStream) RecvMsg(m interface{}) (err error) { ss.ctx, ss.method, "grpc.message", - ss.cfg.serviceName, + ss.cfg.serviceName.String(), ss.cfg.startSpanOptions(tracer.Measured())..., ) span.SetTag(ext.Component, componentName) @@ -66,7 +64,7 @@ func (ss *serverStream) SendMsg(m interface{}) (err error) { ss.ctx, ss.method, "grpc.message", - ss.cfg.serviceName, + ss.cfg.serviceName.String(), ss.cfg.startSpanOptions(tracer.Measured())..., ) span.SetTag(ext.Component, componentName) @@ -83,7 +81,7 @@ func StreamServerInterceptor(opts ...Option) grpc.StreamServerInterceptor { for _, fn := range opts { fn.apply(cfg) } - log.Debug("contrib/google.golang.org/grpc: Configuring StreamServerInterceptor: %#v", cfg) + instr.Logger().Debug("contrib/google.golang.org/grpc: Configuring StreamServerInterceptor: %#v", cfg) return func(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) (err error) { ctx := ss.Context() // if we've enabled call tracing, create a span @@ -94,7 +92,7 @@ func StreamServerInterceptor(opts ...Option) grpc.StreamServerInterceptor { ctx, info.FullMethod, cfg.spanName, - cfg.serviceName, + cfg.serviceName.String(), cfg.startSpanOptions(tracer.Measured(), tracer.Tag(ext.Component, componentName), tracer.Tag(ext.SpanKind, ext.SpanKindServer))..., @@ -108,7 +106,7 @@ func StreamServerInterceptor(opts ...Option) grpc.StreamServerInterceptor { span.SetTag(tagMethodKind, methodKindClientStream) } defer func() { finishWithError(span, err, cfg) }() - if appsec.Enabled() { + if instr.AppSecEnabled() { handler = appsecStreamHandlerMiddleware(info.FullMethod, span, handler) } } @@ -131,7 +129,7 @@ func UnaryServerInterceptor(opts ...Option) grpc.UnaryServerInterceptor { for _, fn := range opts { fn.apply(cfg) } - log.Debug("contrib/google.golang.org/grpc: Configuring UnaryServerInterceptor: %#v", cfg) + instr.Logger().Debug("contrib/google.golang.org/grpc: Configuring UnaryServerInterceptor: %#v", cfg) return func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) { _, um := cfg.untracedMethods[info.FullMethod] if um { @@ -141,7 +139,7 @@ func UnaryServerInterceptor(opts ...Option) grpc.UnaryServerInterceptor { ctx, info.FullMethod, cfg.spanName, - cfg.serviceName, + cfg.serviceName.String(), cfg.startSpanOptions(tracer.Measured(), tracer.Tag(ext.Component, componentName), tracer.Tag(ext.SpanKind, ext.SpanKindServer))..., @@ -149,7 +147,7 @@ func UnaryServerInterceptor(opts ...Option) grpc.UnaryServerInterceptor { span.SetTag(tagMethodKind, methodKindUnary) withMetadataTags(ctx, cfg, span) withRequestTags(cfg, req, span) - if appsec.Enabled() { + if instr.AppSecEnabled() { handler = appsecUnaryHandlerMiddleware(info.FullMethod, span, handler) } resp, err := handler(ctx, req) diff --git a/contrib/google.golang.org/grpc/stats_client.go b/contrib/google.golang.org/grpc/stats_client.go index 92be190b2f..1692bbd79e 100644 --- a/contrib/google.golang.org/grpc/stats_client.go +++ b/contrib/google.golang.org/grpc/stats_client.go @@ -36,7 +36,7 @@ func (h *clientStatsHandler) TagRPC(ctx context.Context, rti *stats.RPCTagInfo) ctx, rti.FullMethodName, h.cfg.spanName, - h.cfg.serviceName, + h.cfg.serviceName.String(), spanOpts..., ) ctx = injectSpanIntoContext(ctx) diff --git a/contrib/google.golang.org/grpc/stats_client_test.go b/contrib/google.golang.org/grpc/stats_client_test.go index f06b5c2a2a..b6edf60eb1 100644 --- a/contrib/google.golang.org/grpc/stats_client_test.go +++ b/contrib/google.golang.org/grpc/stats_client_test.go @@ -9,6 +9,7 @@ import ( "context" "testing" + "github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2/fixturepb" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" @@ -34,7 +35,7 @@ func TestClientStatsHandler(t *testing.T) { defer mt.Stop() rootSpan, ctx := tracer.StartSpanFromContext(context.Background(), "a", tracer.ServiceName("b"), tracer.ResourceName("c")) - _, err = server.client.Ping(ctx, &FixtureRequest{Name: "name"}) + _, err = server.client.Ping(ctx, &fixturepb.FixtureRequest{Name: "name"}) assert.NoError(err) rootSpan.Finish() diff --git a/contrib/google.golang.org/grpc/stats_server.go b/contrib/google.golang.org/grpc/stats_server.go index 626728c044..fa402c51b9 100644 --- a/contrib/google.golang.org/grpc/stats_server.go +++ b/contrib/google.golang.org/grpc/stats_server.go @@ -41,7 +41,7 @@ func (h *serverStatsHandler) TagRPC(ctx context.Context, rti *stats.RPCTagInfo) ctx, rti.FullMethodName, h.cfg.spanName, - h.cfg.serviceName, + h.cfg.serviceName.String(), spanOpts..., ) return ctx diff --git a/contrib/google.golang.org/grpc/stats_server_test.go b/contrib/google.golang.org/grpc/stats_server_test.go index 5ff5f53312..ea19882010 100644 --- a/contrib/google.golang.org/grpc/stats_server_test.go +++ b/contrib/google.golang.org/grpc/stats_server_test.go @@ -10,6 +10,7 @@ import ( "fmt" "testing" + "github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2/fixturepb" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" @@ -33,7 +34,7 @@ func TestServerStatsHandler(t *testing.T) { mt := mocktracer.Start() defer mt.Stop() - _, err = server.client.Ping(context.Background(), &FixtureRequest{Name: "name"}) + _, err = server.client.Ping(context.Background(), &fixturepb.FixtureRequest{Name: "name"}) assert.NoError(err) waitForSpans(mt, 1) diff --git a/ddtrace/tracer/textmap.go b/ddtrace/tracer/textmap.go index 92c34644e3..9f17c8eeb4 100644 --- a/ddtrace/tracer/textmap.go +++ b/ddtrace/tracer/textmap.go @@ -13,20 +13,12 @@ import ( "strconv" "strings" - "github.com/DataDog/dd-trace-go/v2/ddtrace" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/internal" "github.com/DataDog/dd-trace-go/v2/internal/log" "github.com/DataDog/dd-trace-go/v2/internal/samplernames" ) -func init() { - // Push the private API for a propagating tag into the internal package. - internal.SetPropagatingTag = func(ctx ddtrace.SpanContext, k, v string) { - setPropagatingTag(ctx.(*SpanContext), k, v) - } -} - // HTTPHeadersCarrier wraps an http.Header as a TextMapWriter and TextMapReader, allowing // it to be used using the provided Propagator implementation. type HTTPHeadersCarrier http.Header diff --git a/ddtrace/tracer/tracer.go b/ddtrace/tracer/tracer.go index 13ed13aa84..1c5e018f02 100644 --- a/ddtrace/tracer/tracer.go +++ b/ddtrace/tracer/tracer.go @@ -210,12 +210,14 @@ func Start(opts ...StartOption) error { // client is appropriately configured. appsec.Start(appsecConfig.WithRCConfig(cfg)) _ = t.hostname() // Prime the hostname cache + globalinternal.SetTracerInitialized(true) return nil } // Stop stops the started tracer. Subsequent calls are valid but become no-op. func Stop() { SetGlobalTracer(&NoopTracer{}) + globalinternal.SetTracerInitialized(false) log.Flush() } diff --git a/go.work b/go.work index 3b23bf95b7..2db2029d97 100644 --- a/go.work +++ b/go.work @@ -1,4 +1,4 @@ -go 1.22.5 // Go version must match the highest supported version, not the minimum supported version. +go 1.22.6 // Go version must match the highest supported version, not the minimum supported version. use ( . @@ -53,6 +53,7 @@ use ( ./contrib/urfave/negroni ./contrib/valyala/fasthttp ./instrumentation/internal/namingschematest + ./instrumentation/testutils/grpc ./internal/apps ./internal/contrib/validationtest ./internal/traceprof/traceproftest diff --git a/go.work.sum b/go.work.sum index b7d52f77d6..4bc2dd9c21 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1254,6 +1254,7 @@ github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= github.com/google/cel-go v0.17.7/go.mod h1:HXZKzB0LXqer5lHHgfWAnlYwJaQBDKMjxjulNQzhwhY= @@ -1604,6 +1605,7 @@ github.com/tchap/go-patricia/v2 v2.3.1/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwD github.com/tink-crypto/tink-go-gcpkms/v2 v2.1.0/go.mod h1:QXPc/i5yUEWWZ4lbe2WOam1kDdrXjGHRjl0Lzo7IQDU= github.com/tink-crypto/tink-go-hcvault/v2 v2.1.0/go.mod h1:OJLS+EYJo/BTViJj7EBG5deKLeQfYwVNW8HMS1qHAAo= github.com/tink-crypto/tink-go/v2 v2.1.0/go.mod h1:y1TnYFt1i2eZVfx4OGc+C+EMp4CoKWAw2VSEuoicHHI= +github.com/tinylib/msgp v1.1.8/go.mod h1:qkpG+2ldGg4xRFmx+jfTvZPxfGFhi64BcnL9vkCm/Tw= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 h1:uruHq4dN7GR16kFc5fp3d1RIYzJW5onx8Ybykw2YQFA= github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1:KO6IkyS8Y3j8OdNO85qEYBsRPuteD+YciPomcXdrMnk= github.com/tonistiigi/go-actions-cache v0.0.0-20240227172821-a0b64f338598/go.mod h1:anhKd3mnC1shAbQj1Q4IJ+w6xqezxnyDYlx/yKa7IXM= @@ -1793,6 +1795,7 @@ golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2 golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ= golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA= golang.org/x/oauth2 v0.19.0/go.mod h1:vYi7skDa1x015PmRRYZ7+s1cWyPgrPiSYRe4rnsexc8= +golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= @@ -1909,6 +1912,7 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1: google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8= google.golang.org/genproto/googleapis/api v0.0.0-20240311132316-a219d84964c2/go.mod h1:O1cOfN1Cy6QEYr7VxtjOyP5AdAuR0aJ/MYZaaof623Y= google.golang.org/genproto/googleapis/api v0.0.0-20240429193739-8cf5692501f6/go.mod h1:10yRODfgim2/T8csjQsMPgZOMvtytXKTDRzH6HRGzRw= +google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157/go.mod h1:99sLkeliLXfdj2J75X3Ho+rrVCaJze0uwN7zDDkjPVU= google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117/go.mod h1:OimBR/bc1wPO9iV4NC2bpyjy3VnAwZh5EBPQdtaE5oo= google.golang.org/genproto/googleapis/api v0.0.0-20240711142825-46eb208f015d/go.mod h1:mw8MG/Qz5wfgYr6VqVCiZcHe/GJEfI+oGGDCohaVgB0= google.golang.org/genproto/googleapis/api v0.0.0-20240722135656-d784300faade/go.mod h1:mw8MG/Qz5wfgYr6VqVCiZcHe/GJEfI+oGGDCohaVgB0= @@ -1943,7 +1947,6 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go. google.golang.org/genproto/googleapis/rpc v0.0.0-20240304161311-37d4d3c04a78/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= google.golang.org/genproto/googleapis/rpc v0.0.0-20240314234333-6e1732d8331c/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240624140628-dc46fd24d27d/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240711142825-46eb208f015d/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= @@ -1963,6 +1966,7 @@ google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJai google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= +google.golang.org/grpc v1.64.1/go.mod h1:hiQF4LFZelK2WKaP6W0L92zGHtiQdZxk8CrSdvyjeP0= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= diff --git a/internal/appsec/dyngo/operation.go b/instrumentation/appsec/dyngo/operation.go similarity index 100% rename from internal/appsec/dyngo/operation.go rename to instrumentation/appsec/dyngo/operation.go diff --git a/internal/appsec/dyngo/operation_test.go b/instrumentation/appsec/dyngo/operation_test.go similarity index 99% rename from internal/appsec/dyngo/operation_test.go rename to instrumentation/appsec/dyngo/operation_test.go index e2ea93c9f4..1db1c05800 100644 --- a/internal/appsec/dyngo/operation_test.go +++ b/instrumentation/appsec/dyngo/operation_test.go @@ -17,7 +17,7 @@ import ( "sync/atomic" "testing" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" "github.com/stretchr/testify/require" ) diff --git a/internal/appsec/emitter/doc.go b/instrumentation/appsec/emitter/doc.go similarity index 100% rename from internal/appsec/emitter/doc.go rename to instrumentation/appsec/emitter/doc.go diff --git a/instrumentation/appsec/emitter/graphqlsec/context.go b/instrumentation/appsec/emitter/graphqlsec/context.go index 3a0f6b4663..6f1e6d100b 100644 --- a/instrumentation/appsec/emitter/graphqlsec/context.go +++ b/instrumentation/appsec/emitter/graphqlsec/context.go @@ -8,7 +8,7 @@ package graphqlsec import ( "context" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" "github.com/DataDog/dd-trace-go/v2/internal/log" ) diff --git a/instrumentation/appsec/emitter/graphqlsec/execution.go b/instrumentation/appsec/emitter/graphqlsec/execution.go index 27507122ce..f6dbc5b9e0 100644 --- a/instrumentation/appsec/emitter/graphqlsec/execution.go +++ b/instrumentation/appsec/emitter/graphqlsec/execution.go @@ -8,9 +8,9 @@ package graphqlsec import ( "context" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/graphqlsec/types" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" ) // StartExecutionOperation starts a new GraphQL query operation, along with the given arguments, and diff --git a/instrumentation/appsec/emitter/graphqlsec/request.go b/instrumentation/appsec/emitter/graphqlsec/request.go index f6bfea2f14..2048debffb 100644 --- a/instrumentation/appsec/emitter/graphqlsec/request.go +++ b/instrumentation/appsec/emitter/graphqlsec/request.go @@ -12,9 +12,9 @@ package graphqlsec import ( "context" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/graphqlsec/types" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" ) // StartRequestOperation starts a new GraphQL request operation, along with the given arguments, and diff --git a/instrumentation/appsec/emitter/graphqlsec/resolve.go b/instrumentation/appsec/emitter/graphqlsec/resolve.go index b64698f2bd..370815862a 100644 --- a/instrumentation/appsec/emitter/graphqlsec/resolve.go +++ b/instrumentation/appsec/emitter/graphqlsec/resolve.go @@ -8,9 +8,9 @@ package graphqlsec import ( "context" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/graphqlsec/types" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" ) // StartResolveOperation starts a new GraphQL Resolve operation, along with the given arguments, and diff --git a/instrumentation/appsec/emitter/graphqlsec/types/types.go b/instrumentation/appsec/emitter/graphqlsec/types/types.go index 51f2baade1..96101ee9e1 100644 --- a/instrumentation/appsec/emitter/graphqlsec/types/types.go +++ b/instrumentation/appsec/emitter/graphqlsec/types/types.go @@ -6,8 +6,8 @@ package types import ( - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" ) type ( diff --git a/internal/appsec/emitter/grpcsec/grpc.go b/instrumentation/appsec/emitter/grpcsec/grpc.go similarity index 89% rename from internal/appsec/emitter/grpcsec/grpc.go rename to instrumentation/appsec/emitter/grpcsec/grpc.go index 997ea88919..27d859cfc4 100644 --- a/internal/appsec/emitter/grpcsec/grpc.go +++ b/instrumentation/appsec/emitter/grpcsec/grpc.go @@ -12,10 +12,10 @@ package grpcsec import ( "context" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/grpcsec/types" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/grpcsec/types" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" ) // StartHandlerOperation starts an gRPC server handler operation, along with the diff --git a/internal/appsec/emitter/grpcsec/grpc_test.go b/instrumentation/appsec/emitter/grpcsec/grpc_test.go similarity index 92% rename from internal/appsec/emitter/grpcsec/grpc_test.go rename to instrumentation/appsec/emitter/grpcsec/grpc_test.go index ac0f770b95..8eee6fb5bc 100644 --- a/internal/appsec/emitter/grpcsec/grpc_test.go +++ b/instrumentation/appsec/emitter/grpcsec/grpc_test.go @@ -10,9 +10,9 @@ import ( "fmt" "testing" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/grpcsec" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/grpcsec/types" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/grpcsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/grpcsec/types" "github.com/stretchr/testify/require" ) diff --git a/internal/appsec/emitter/grpcsec/init.go b/instrumentation/appsec/emitter/grpcsec/init.go similarity index 100% rename from internal/appsec/emitter/grpcsec/init.go rename to instrumentation/appsec/emitter/grpcsec/init.go diff --git a/internal/appsec/emitter/grpcsec/types/types.go b/instrumentation/appsec/emitter/grpcsec/types/types.go similarity index 96% rename from internal/appsec/emitter/grpcsec/types/types.go rename to instrumentation/appsec/emitter/grpcsec/types/types.go index 6ec586a3bb..af080d5e02 100644 --- a/internal/appsec/emitter/grpcsec/types/types.go +++ b/instrumentation/appsec/emitter/grpcsec/types/types.go @@ -8,8 +8,8 @@ package types import ( "net/netip" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" ) // Abstract gRPC server handler operation definitions. It is based on two diff --git a/instrumentation/appsec/emitter/httpsec/http.go b/instrumentation/appsec/emitter/httpsec/http.go index 64319e3969..b145a32ef7 100644 --- a/instrumentation/appsec/emitter/httpsec/http.go +++ b/instrumentation/appsec/emitter/httpsec/http.go @@ -18,12 +18,12 @@ import ( "strings" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec/types" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/sharedsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/sharedsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace/httptrace" "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace/httptrace" "github.com/DataDog/dd-trace-go/v2/internal/log" "github.com/DataDog/appsec-internal-go/netip" diff --git a/instrumentation/appsec/emitter/httpsec/tags.go b/instrumentation/appsec/emitter/httpsec/tags.go index f4d8de9a67..da2c778d7a 100644 --- a/instrumentation/appsec/emitter/httpsec/tags.go +++ b/instrumentation/appsec/emitter/httpsec/tags.go @@ -6,8 +6,8 @@ package httpsec import ( - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace/httptrace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace/httptrace" ) // setRequestHeadersTags sets the AppSec-specific request headers span tags. diff --git a/instrumentation/appsec/emitter/httpsec/tags_test.go b/instrumentation/appsec/emitter/httpsec/tags_test.go index 3f6687323a..a51812cfff 100644 --- a/instrumentation/appsec/emitter/httpsec/tags_test.go +++ b/instrumentation/appsec/emitter/httpsec/tags_test.go @@ -9,8 +9,8 @@ import ( "fmt" "testing" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" testlib "github.com/DataDog/dd-trace-go/v2/internal/appsec/_testlib" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" "github.com/stretchr/testify/require" ) diff --git a/instrumentation/appsec/emitter/httpsec/types/types.go b/instrumentation/appsec/emitter/httpsec/types/types.go index 3507cc7bac..10fd7ebd1e 100644 --- a/instrumentation/appsec/emitter/httpsec/types/types.go +++ b/instrumentation/appsec/emitter/httpsec/types/types.go @@ -9,8 +9,8 @@ import ( "net/netip" "sync" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" ) // Operation type representing an HTTP operation. It must be created with diff --git a/internal/appsec/emitter/sharedsec/actions.go b/instrumentation/appsec/emitter/sharedsec/actions.go similarity index 100% rename from internal/appsec/emitter/sharedsec/actions.go rename to instrumentation/appsec/emitter/sharedsec/actions.go diff --git a/internal/appsec/emitter/sharedsec/actions_test.go b/instrumentation/appsec/emitter/sharedsec/actions_test.go similarity index 100% rename from internal/appsec/emitter/sharedsec/actions_test.go rename to instrumentation/appsec/emitter/sharedsec/actions_test.go diff --git a/internal/appsec/emitter/sharedsec/blocked-template.html b/instrumentation/appsec/emitter/sharedsec/blocked-template.html similarity index 100% rename from internal/appsec/emitter/sharedsec/blocked-template.html rename to instrumentation/appsec/emitter/sharedsec/blocked-template.html diff --git a/internal/appsec/emitter/sharedsec/blocked-template.json b/instrumentation/appsec/emitter/sharedsec/blocked-template.json similarity index 100% rename from internal/appsec/emitter/sharedsec/blocked-template.json rename to instrumentation/appsec/emitter/sharedsec/blocked-template.json diff --git a/internal/appsec/emitter/sharedsec/shared.go b/instrumentation/appsec/emitter/sharedsec/shared.go similarity index 97% rename from internal/appsec/emitter/sharedsec/shared.go rename to instrumentation/appsec/emitter/sharedsec/shared.go index 9c8b968c42..9dc739acd1 100644 --- a/internal/appsec/emitter/sharedsec/shared.go +++ b/instrumentation/appsec/emitter/sharedsec/shared.go @@ -9,7 +9,7 @@ import ( "context" "reflect" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener" "github.com/DataDog/dd-trace-go/v2/internal/log" ) diff --git a/internal/appsec/trace/grpctrace/grpc.go b/instrumentation/appsec/trace/grpctrace/grpc.go similarity index 87% rename from internal/appsec/trace/grpctrace/grpc.go rename to instrumentation/appsec/trace/grpctrace/grpc.go index 78df9c8350..99a5ec75ae 100644 --- a/internal/appsec/trace/grpctrace/grpc.go +++ b/instrumentation/appsec/trace/grpctrace/grpc.go @@ -6,8 +6,8 @@ package grpctrace import ( - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace/httptrace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace/httptrace" "github.com/DataDog/dd-trace-go/v2/internal/log" ) diff --git a/internal/appsec/trace/grpctrace/grpc_test.go b/instrumentation/appsec/trace/grpctrace/grpc_test.go similarity index 100% rename from internal/appsec/trace/grpctrace/grpc_test.go rename to instrumentation/appsec/trace/grpctrace/grpc_test.go diff --git a/internal/appsec/trace/httptrace/http.go b/instrumentation/appsec/trace/httptrace/http.go similarity index 98% rename from internal/appsec/trace/httptrace/http.go rename to instrumentation/appsec/trace/httptrace/http.go index 0367b8c7e5..0044c2dcaf 100644 --- a/internal/appsec/trace/httptrace/http.go +++ b/instrumentation/appsec/trace/httptrace/http.go @@ -12,7 +12,7 @@ import ( "github.com/DataDog/appsec-internal-go/httpsec" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" "github.com/DataDog/dd-trace-go/v2/internal/log" ) diff --git a/internal/appsec/trace/httptrace/http_test.go b/instrumentation/appsec/trace/httptrace/http_test.go similarity index 97% rename from internal/appsec/trace/httptrace/http_test.go rename to instrumentation/appsec/trace/httptrace/http_test.go index 8da251573e..282c68f6d8 100644 --- a/internal/appsec/trace/httptrace/http_test.go +++ b/instrumentation/appsec/trace/httptrace/http_test.go @@ -13,7 +13,7 @@ import ( "github.com/stretchr/testify/require" "google.golang.org/grpc/metadata" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace/httptrace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace/httptrace" ) func TestClientIP(t *testing.T) { diff --git a/internal/appsec/trace/securityholder.go b/instrumentation/appsec/trace/securityholder.go similarity index 100% rename from internal/appsec/trace/securityholder.go rename to instrumentation/appsec/trace/securityholder.go diff --git a/internal/appsec/trace/tagsholder.go b/instrumentation/appsec/trace/tagsholder.go similarity index 100% rename from internal/appsec/trace/tagsholder.go rename to instrumentation/appsec/trace/tagsholder.go diff --git a/internal/appsec/trace/trace.go b/instrumentation/appsec/trace/trace.go similarity index 100% rename from internal/appsec/trace/trace.go rename to instrumentation/appsec/trace/trace.go diff --git a/instrumentation/httptrace/httptrace.go b/instrumentation/httptrace/httptrace.go index cef6a8a568..e9b60604e9 100644 --- a/instrumentation/httptrace/httptrace.go +++ b/instrumentation/httptrace/httptrace.go @@ -17,7 +17,7 @@ import ( "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace/httptrace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace/httptrace" ) var ( diff --git a/instrumentation/instrumentation.go b/instrumentation/instrumentation.go index 7190461310..4693c2e49c 100644 --- a/instrumentation/instrumentation.go +++ b/instrumentation/instrumentation.go @@ -109,6 +109,11 @@ func (i *Instrumentation) DataStreamsEnabled() bool { return internal.BoolEnv("DD_DATA_STREAMS_ENABLED", false) } +// TracerInitialized returns whether the global tracer has been initialized or not. +func (i *Instrumentation) TracerInitialized() bool { + return internal.TracerInitialized() +} + // WithExecutionTraced marks ctx as being associated with an execution trace // task. It is assumed that ctx already contains a trace task. The caller is // responsible for ending the task. diff --git a/instrumentation/internal/namingschematest/aws_sdk_v1_test.go b/instrumentation/internal/namingschematest/aws_sdk_v1_test.go index 7a71e41365..ce9cb2be64 100644 --- a/instrumentation/internal/namingschematest/aws_sdk_v1_test.go +++ b/instrumentation/internal/namingschematest/aws_sdk_v1_test.go @@ -19,7 +19,7 @@ import ( "github.com/stretchr/testify/require" awstrace "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2/aws" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/aws_sdk_v2_test.go b/instrumentation/internal/namingschematest/aws_sdk_v2_test.go index 84cc4a8537..149747ac58 100644 --- a/instrumentation/internal/namingschematest/aws_sdk_v2_test.go +++ b/instrumentation/internal/namingschematest/aws_sdk_v2_test.go @@ -20,7 +20,7 @@ import ( "github.com/stretchr/testify/require" awstrace "github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2/aws" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/chi_v1_test.go b/instrumentation/internal/namingschematest/chi_v1_test.go index a660fc0d2b..929705fd40 100644 --- a/instrumentation/internal/namingschematest/chi_v1_test.go +++ b/instrumentation/internal/namingschematest/chi_v1_test.go @@ -15,7 +15,7 @@ import ( "github.com/stretchr/testify/require" chitrace "github.com/DataDog/dd-trace-go/contrib/go-chi/chi/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/chi_v5_test.go b/instrumentation/internal/namingschematest/chi_v5_test.go index f992e082e6..3cc94d742f 100644 --- a/instrumentation/internal/namingschematest/chi_v5_test.go +++ b/instrumentation/internal/namingschematest/chi_v5_test.go @@ -15,7 +15,7 @@ import ( "github.com/stretchr/testify/require" chitrace "github.com/DataDog/dd-trace-go/contrib/go-chi/chi.v5/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/confluent_kafka_go_v1/confluent_kafka_go_test.go b/instrumentation/internal/namingschematest/confluent_kafka_go_v1/confluent_kafka_go_test.go index d559f99dda..94a8ca9d5f 100644 --- a/instrumentation/internal/namingschematest/confluent_kafka_go_v1/confluent_kafka_go_test.go +++ b/instrumentation/internal/namingschematest/confluent_kafka_go_v1/confluent_kafka_go_test.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/require" kafkatrace "github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/kafka/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/confluent_kafka_v2_test.go b/instrumentation/internal/namingschematest/confluent_kafka_v2_test.go index 1c795aee5d..89da038606 100644 --- a/instrumentation/internal/namingschematest/confluent_kafka_v2_test.go +++ b/instrumentation/internal/namingschematest/confluent_kafka_v2_test.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/require" kafkatrace "github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/kafka.v2/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/database_sql.go b/instrumentation/internal/namingschematest/database_sql.go index 70507a93da..179ad3831a 100644 --- a/instrumentation/internal/namingschematest/database_sql.go +++ b/instrumentation/internal/namingschematest/database_sql.go @@ -16,7 +16,7 @@ import ( "github.com/stretchr/testify/require" sqltrace "github.com/DataDog/dd-trace-go/contrib/database/sql/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/elastic_v6_test.go b/instrumentation/internal/namingschematest/elastic_v6_test.go index 929469e88b..e4ff6788f0 100644 --- a/instrumentation/internal/namingschematest/elastic_v6_test.go +++ b/instrumentation/internal/namingschematest/elastic_v6_test.go @@ -16,7 +16,7 @@ import ( "github.com/stretchr/testify/require" elastictrace "github.com/DataDog/dd-trace-go/contrib/elastic/go-elasticsearch.v6/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/fiber_v2_test.go b/instrumentation/internal/namingschematest/fiber_v2_test.go index b892b765f7..dbf24b7b0d 100644 --- a/instrumentation/internal/namingschematest/fiber_v2_test.go +++ b/instrumentation/internal/namingschematest/fiber_v2_test.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/require" fibertrace "github.com/DataDog/dd-trace-go/contrib/gofiber/fiber.v2/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/gcp_pubsub_test.go b/instrumentation/internal/namingschematest/gcp_pubsub_test.go index e5882aa584..38ab73d8bf 100644 --- a/instrumentation/internal/namingschematest/gcp_pubsub_test.go +++ b/instrumentation/internal/namingschematest/gcp_pubsub_test.go @@ -21,7 +21,7 @@ import ( "google.golang.org/grpc/status" pubsubtrace "github.com/DataDog/dd-trace-go/contrib/cloud.google.com/go/pubsub.v1/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/gin_test.go b/instrumentation/internal/namingschematest/gin_test.go index 1ff80c2bed..c3acc6ff10 100644 --- a/instrumentation/internal/namingschematest/gin_test.go +++ b/instrumentation/internal/namingschematest/gin_test.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/require" gintrace "github.com/DataDog/dd-trace-go/contrib/gin-gonic/gin/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/go.mod b/instrumentation/internal/namingschematest/go.mod index 756e401b11..882ae4cde0 100644 --- a/instrumentation/internal/namingschematest/go.mod +++ b/instrumentation/internal/namingschematest/go.mod @@ -1,4 +1,4 @@ -module github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest +module github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2 go 1.21 @@ -18,9 +18,20 @@ require ( github.com/DataDog/dd-trace-go/contrib/emicklei/go-restful.v3/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/contrib/gin-gonic/gin/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/contrib/globalsign/mgo/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/go-chi/chi.v5/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/go-chi/chi/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/go-pg/pg.v10/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v7/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v8/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/go-redis/redis/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/contrib/go.mongodb.org/mongo-driver/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/gocql/gocql/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/gofiber/fiber.v2/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/gomodule/redigo/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/v2 v2.0.0-beta.2 github.com/aws/aws-sdk-go v1.54.20 github.com/aws/aws-sdk-go-v2 v1.30.3 @@ -37,13 +48,21 @@ require ( github.com/emicklei/go-restful/v3 v3.11.0 github.com/gin-gonic/gin v1.10.0 github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 + github.com/go-chi/chi v1.5.5 + github.com/go-chi/chi/v5 v5.1.0 + github.com/go-pg/pg/v10 v10.13.0 + github.com/go-redis/redis v6.15.9+incompatible + github.com/go-redis/redis/v7 v7.4.1 + github.com/go-redis/redis/v8 v8.11.5 github.com/go-sql-driver/mysql v1.8.1 + github.com/gocql/gocql v1.6.0 + github.com/gofiber/fiber/v2 v2.52.5 github.com/lib/pq v1.10.9 github.com/stretchr/testify v1.9.0 github.com/urfave/negroni v1.0.0 go.mongodb.org/mongo-driver v1.16.1 google.golang.org/api v0.191.0 - google.golang.org/grpc v1.64.1 + google.golang.org/grpc v1.65.0 ) require ( @@ -63,6 +82,7 @@ require ( github.com/DataDog/sketches-go v1.4.6 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/agnivade/levenshtein v1.1.1 // indirect + github.com/andybalholm/brotli v1.0.6 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.17.27 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 // indirect @@ -89,6 +109,7 @@ require ( github.com/cloudwego/base64x v0.1.4 // indirect github.com/cloudwego/iasm v0.2.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/dimfeld/httptreemux/v5 v5.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/ebitengine/purego v0.7.1 // indirect @@ -98,6 +119,7 @@ require ( github.com/gin-contrib/sse v0.1.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-pg/zerochecker v0.2.0 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect github.com/go-playground/validator/v10 v10.20.0 // indirect @@ -105,22 +127,28 @@ require ( github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect github.com/golang-sql/sqlexp v0.1.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect + github.com/gomodule/redigo v1.8.9 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/google/s2a-go v0.1.8 // indirect github.com/google/uuid v1.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect github.com/googleapis/gax-go/v2 v2.13.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect + github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.17.7 // indirect github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/leodido/go-urn v1.4.0 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-runewidth v0.0.15 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect @@ -130,12 +158,21 @@ require ( github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/rivo/uniseg v0.4.4 // indirect github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect github.com/sosodev/duration v1.3.1 // indirect github.com/tinylib/msgp v1.2.0 // indirect + github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + github.com/valyala/fasthttp v1.51.0 // indirect + github.com/valyala/tcplisten v1.0.0 // indirect github.com/vektah/gqlparser/v2 v2.5.16 // indirect + github.com/vmihailenco/bufpool v0.1.11 // indirect + github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect + github.com/vmihailenco/tagparser v0.1.2 // indirect + github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.2 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect @@ -162,7 +199,9 @@ require ( google.golang.org/genproto/googleapis/api v0.0.0-20240725223205-93522f1f2a9f // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf // indirect google.golang.org/protobuf v1.34.2 // indirect + gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect + mellium.im/sasl v0.3.1 // indirect ) replace github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2 => ../../../contrib/99designs/gqlgen @@ -191,10 +230,32 @@ replace github.com/DataDog/dd-trace-go/contrib/gin-gonic/gin/v2 => ../../../cont replace github.com/DataDog/dd-trace-go/contrib/globalsign/mgo/v2 => ../../../contrib/globalsign/mgo +replace github.com/DataDog/dd-trace-go/contrib/go-chi/chi.v5/v2 => ../../../contrib/go-chi/chi.v5 + +replace github.com/DataDog/dd-trace-go/contrib/go-chi/chi/v2 => ../../../contrib/go-chi/chi + +replace github.com/DataDog/dd-trace-go/contrib/go-pg/pg.v10/v2 => ../../../contrib/go-pg/pg.v10 + +replace github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v7/v2 => ../../../contrib/go-redis/redis.v7 + +replace github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v8/v2 => ../../../contrib/go-redis/redis.v8 + +replace github.com/DataDog/dd-trace-go/contrib/go-redis/redis/v2 => ../../../contrib/go-redis/redis + replace github.com/DataDog/dd-trace-go/contrib/go.mongodb.org/mongo-driver/v2 => ../../../contrib/go.mongodb.org/mongo-driver +replace github.com/DataDog/dd-trace-go/contrib/gocql/gocql/v2 => ../../../contrib/gocql/gocql + +replace github.com/DataDog/dd-trace-go/contrib/gofiber/fiber.v2/v2 => ../../../contrib/gofiber/fiber.v2 + +replace github.com/DataDog/dd-trace-go/contrib/gomodule/redigo/v2 => ../../../contrib/gomodule/redigo + +replace github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2 => ../../../contrib/google.golang.org/grpc + replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../../contrib/net/http replace github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2 => ../../../contrib/urfave/negroni +replace github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 => ../../testutils/grpc + replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/instrumentation/internal/namingschematest/go.sum b/instrumentation/internal/namingschematest/go.sum index d453a86762..e2c89cb9ff 100644 --- a/instrumentation/internal/namingschematest/go.sum +++ b/instrumentation/internal/namingschematest/go.sum @@ -66,6 +66,8 @@ github.com/agnivade/levenshtein v1.1.1 h1:QY8M92nrzkmr798gCo3kmMyqXFzdQVpxLlGPRB github.com/agnivade/levenshtein v1.1.1/go.mod h1:veldBMzWxcCG2ZvUTKD2kJNRdCk5hVbJomOvKkmgYbo= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sxfOI= +github.com/andybalholm/brotli v1.0.6/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= @@ -127,6 +129,10 @@ github.com/aws/smithy-go v1.20.3 h1:ryHwveWzPV5BIof6fyDvor6V3iUL7nTfiTKXHiW05nE= github.com/aws/smithy-go v1.20.3/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY= +github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k= +github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= +github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874 h1:N7oVaKyGp8bttX0bfZGmcGkjz7DLQXhAn3DNd3T0ous= github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874/go.mod h1:r5xuitiExdLAJ09PR7vBVENGvp4ZuTBeWTGtxuX3K+c= github.com/buger/goterm v1.0.4 h1:Z9YvGmOih81P0FbVtEYTFF6YsSgxSUKEhf/f9bTMXbY= @@ -184,6 +190,8 @@ github.com/denisenkom/go-mssqldb v0.12.3 h1:pBSGx9Tq67pBOTLmxNuirNTeB8Vjmf886Kx+ github.com/denisenkom/go-mssqldb v0.12.3/go.mod h1:k0mtMFOnU+AihqFxPMiF05rtiDrorD1Vrm1KEz5hxDo= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/dgryski/trifles v0.0.0-20200323201526-dd97f9abfb48 h1:fRzb/w+pyskVMQ+UbP35JkH8yB7MYb4q/qhBarqZE6g= github.com/dgryski/trifles v0.0.0-20200323201526-dd97f9abfb48/go.mod h1:if7Fbed8SFyPtHLHbg49SI7NAdJiC5WIA09pe59rfAA= github.com/dimfeld/httptreemux/v5 v5.5.0 h1:p8jkiMrCuZ0CmhwYLcbNbl7DDo21fozhKHQ2PccwOFQ= @@ -243,6 +251,9 @@ github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq github.com/frankban/quicktest v1.14.0/go.mod h1:NeW+ay9A/U67EYXNFA1nPE8e/tnQv/09mUdL/ijj8og= github.com/fsnotify/fsevents v0.1.1 h1:/125uxJvvoSDDBPen6yUZbil8J9ydKZnnl3TWWmvnkw= github.com/fsnotify/fsevents v0.1.1/go.mod h1:+d+hS27T6k5J8CRaPLKFgwKYcpS7GwW3Ule9+SC2ZRc= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fvbommel/sortorder v1.0.2 h1:mV4o8B2hKboCdkJm+a7uX/SIpZob4JzUpc5GGnM45eo= github.com/fvbommel/sortorder v1.0.2/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= @@ -254,6 +265,10 @@ github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 h1:DujepqpGd1hyOd7aW59XpK7Qymp8iy83xq74fLr21is= github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= +github.com/go-chi/chi v1.5.5 h1:vOB/HbEMt9QqBqErz07QehcOKHaWFtuj87tTDVz2qXE= +github.com/go-chi/chi v1.5.5/go.mod h1:C9JqLr3tIYjDOZpzn+BCuxY8z8vmca43EeMgyZt7irw= +github.com/go-chi/chi/v5 v5.1.0 h1:acVI1TYaD+hhedDJ3r54HyA6sExp3HfXq7QWEEY/xMw= +github.com/go-chi/chi/v5 v5.1.0/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= @@ -267,6 +282,10 @@ github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2Kv github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-pg/pg/v10 v10.13.0 h1:xMagDE57VP8Y2KvIf9PvrsOAIjX62XqaKmfEzB0c5eU= +github.com/go-pg/pg/v10 v10.13.0/go.mod h1:IXp9Ok9JNNW9yWedbQxxvKUv84XhoH5+tGd+68y+zDs= +github.com/go-pg/zerochecker v0.2.0 h1:pp7f72c3DobMWOb2ErtZsnrPaSvHd2W4o9//8HtF4mU= +github.com/go-pg/zerochecker v0.2.0/go.mod h1:NJZ4wKL0NmTtz0GKCoJ8kym6Xn/EQzXRl2OnAe7MmDo= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= @@ -275,10 +294,20 @@ github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJn github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.20.0 h1:K9ISHbSaI0lyB2eWMPJo+kOS/FBExVwjEviJTixqxL8= github.com/go-playground/validator/v10 v10.20.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= +github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= +github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= +github.com/go-redis/redis/v7 v7.4.1 h1:PASvf36gyUpr2zdOUS/9Zqc80GbM+9BDyiJSJDDOrTI= +github.com/go-redis/redis/v7 v7.4.1/go.mod h1:JDNMw23GTyLNC4GZu9njt15ctBQVn7xjRfnwdHj/Dcg= +github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI= +github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo= github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/gocql/gocql v1.6.0 h1:IdFdOTbnpbd0pDhl4REKQDM+Q0SzKXQ1Yh+YZZ8T/qU= +github.com/gocql/gocql v1.6.0/go.mod h1:3gM2c4D3AnkISwBxGnMMsS8Oy4y2lhbPRsH4xnJrHG8= +github.com/gofiber/fiber/v2 v2.52.5 h1:tWoP1MJQjGEe4GB5TUGOi7P2E0ZMMRx5ZTG4rT+yGMo= +github.com/gofiber/fiber/v2 v2.52.5/go.mod h1:KEOE+cXMhXG0zHc9d8+E38hoX+ZN7bhOtgeF2oT6jrQ= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= @@ -315,6 +344,8 @@ github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/gomodule/redigo v1.8.9 h1:Sl3u+2BI/kk+VEatbj0scLdrFhjPmbxOc1myhDP41ws= +github.com/gomodule/redigo v1.8.9/go.mod h1:7ArFNvsTjH8GMMzB4uy1snslv2BwmginuMs06a1uzZE= github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -356,6 +387,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4 github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= +github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed h1:5upAirOpQc1Q53c0bnx2ufif5kANL7bfZWcc6VJWJd8= +github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= github.com/hamba/avro v1.5.6/go.mod h1:3vNT0RLXXpFm2Tb/5KC71ZRJlOroggq1Rcitb6k4Fr8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= @@ -369,6 +402,7 @@ github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09 github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/heetch/avro v0.3.1/go.mod h1:4xn38Oz/+hiEUTpbVfGVLfvOg0yKLlRP7Q9+gJJILgA= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/iancoleman/orderedmap v0.0.0-20190318233801-ac98e3ecb4b0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36vB07FNRdD2geA= github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= @@ -383,6 +417,8 @@ github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+ github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= github.com/jhump/protoreflect v1.12.0/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= @@ -428,6 +464,7 @@ github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0 github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= @@ -487,6 +524,15 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8m github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/nrwiersma/avro-benchmarks v0.0.0-20210913175520-21aec48c8f76/go.mod h1:iKyFMidsk/sVYONJRE372sJuX/QTRPacU7imPqqsu7g= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= +github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= @@ -521,8 +567,9 @@ github.com/r3labs/sse v0.0.0-20210224172625-26fe804710bc h1:zAsgcP8MhzAbhMnB1QQ2 github.com/r3labs/sse v0.0.0-20210224172625-26fe804710bc/go.mod h1:S8xSOnV3CgpNrWd0GQ/OoQfMtlg2uPRSuTzcSGrzwK8= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= -github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= +github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/clock v0.0.0-20190514195947-2896927a307a/go.mod h1:4r5QyqhjIWCcK8DO4KMclc5Iknq5qVBAlbYYzAbUScQ= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= @@ -564,6 +611,7 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.3.1-0.20190311161405-34c6fa2dc709/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= @@ -585,6 +633,8 @@ github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFA github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= +github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo= +github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs= github.com/tonistiigi/fsutil v0.0.0-20240301111122-7525a1af2bb5 h1:oZS8KCqAg62sxJkEq/Ppzqrb6EooqzWtL8Oaex7bc5c= github.com/tonistiigi/fsutil v0.0.0-20240301111122-7525a1af2bb5/go.mod h1:vbbYqJlnswsbJqWUcJN8fKtBhnEgldDrcagTgnBVKKM= github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea h1:SXhTLE6pb6eld/v/cCndK0AMpt1wiVFb/YYmqB3/QG0= @@ -597,8 +647,22 @@ github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65E github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/urfave/negroni v1.0.0 h1:kIimOitoypq34K7TG7DUaJ9kq/N4Ofuwi1sjz0KipXc= github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.51.0 h1:8b30A5JlZ6C7AS81RsWjYMQmrZG6feChmgAolCl1SqA= +github.com/valyala/fasthttp v1.51.0/go.mod h1:oI2XroL+lI7vdXyYoQk03bXBThfFl2cVdIA3Xl7cH8g= +github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= +github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= github.com/vektah/gqlparser/v2 v2.5.16 h1:1gcmLTvs3JLKXckwCwlUagVn/IlV2bwqle0vJ0vy5p8= github.com/vektah/gqlparser/v2 v2.5.16/go.mod h1:1lz1OeCqgQbQepsGxPVywrjdBHW2T08PUS3pJqepRww= +github.com/vmihailenco/bufpool v0.1.11 h1:gOq2WmBrq0i2yW5QJ16ykccQ4wH9UyEsgLm6czKAd94= +github.com/vmihailenco/bufpool v0.1.11/go.mod h1:AFf/MOy3l2CFTKbxwt0mp2MwnqjNEs5H/UxrkA5jxTQ= +github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= +github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= +github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vbd1qPqc= +github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= +github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= @@ -686,11 +750,13 @@ 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/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= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200505041828-1ed23360d12c/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -718,8 +784,10 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -734,6 +802,7 @@ golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= @@ -792,8 +861,8 @@ google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv 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.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.64.1 h1:LKtvyfbX3UGVPFcGqJ9ItpVWW6oN/2XqTxfAnwRRXiA= -google.golang.org/grpc v1.64.1/go.mod h1:hiQF4LFZelK2WKaP6W0L92zGHtiQdZxk8CrSdvyjeP0= +google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= +google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= 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= @@ -819,13 +888,18 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v1 v1.0.0/go.mod h1:CxwszS/Xz1C49Ucd2i6Zil5UToP1EmyrFhKaMVbg1mk= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/httprequest.v1 v1.2.1/go.mod h1:x2Otw96yda5+8+6ZeWwHIJTFkEHWP/qP8pJOzqEtWPM= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/retry.v1 v1.0.3/go.mod h1:FJkXmWiMaAo7xB+xhvDF59zhfjDWyzmyAxiT4dB688g= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= @@ -854,6 +928,8 @@ k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/A k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +mellium.im/sasl v0.3.1 h1:wE0LW6g7U83vhvxjC1IY8DnXM+EU095yeo8XClvCdfo= +mellium.im/sasl v0.3.1/go.mod h1:xm59PUYpZHhgQ9ZqoJ5QaCqzWMi8IeS49dhp6plPCzw= nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= diff --git a/instrumentation/internal/namingschematest/go_pg_v10_test.go b/instrumentation/internal/namingschematest/go_pg_v10_test.go index d35d5ac3a6..746f668751 100644 --- a/instrumentation/internal/namingschematest/go_pg_v10_test.go +++ b/instrumentation/internal/namingschematest/go_pg_v10_test.go @@ -13,7 +13,7 @@ import ( "github.com/stretchr/testify/require" pgtrace "github.com/DataDog/dd-trace-go/contrib/go-pg/pg.v10/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/go_redis_v1_test.go b/instrumentation/internal/namingschematest/go_redis_v1_test.go index 2657a2b9f0..a058127da6 100644 --- a/instrumentation/internal/namingschematest/go_redis_v1_test.go +++ b/instrumentation/internal/namingschematest/go_redis_v1_test.go @@ -13,7 +13,7 @@ import ( "github.com/stretchr/testify/require" redistrace "github.com/DataDog/dd-trace-go/contrib/go-redis/redis/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/go_redis_v7_test.go b/instrumentation/internal/namingschematest/go_redis_v7_test.go index bc7ca1b896..72c863aa26 100644 --- a/instrumentation/internal/namingschematest/go_redis_v7_test.go +++ b/instrumentation/internal/namingschematest/go_redis_v7_test.go @@ -13,7 +13,7 @@ import ( "github.com/stretchr/testify/require" redistrace "github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v7/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/go_redis_v8_test.go b/instrumentation/internal/namingschematest/go_redis_v8_test.go index e541aec03d..7de7d43485 100644 --- a/instrumentation/internal/namingschematest/go_redis_v8_test.go +++ b/instrumentation/internal/namingschematest/go_redis_v8_test.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/require" redistrace "github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v8/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/go_restful_v3_test.go b/instrumentation/internal/namingschematest/go_restful_v3_test.go index 3a0de1e968..9780666122 100644 --- a/instrumentation/internal/namingschematest/go_restful_v3_test.go +++ b/instrumentation/internal/namingschematest/go_restful_v3_test.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/require" restfultrace "github.com/DataDog/dd-trace-go/contrib/emicklei/go-restful.v3/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/gocql_test.go b/instrumentation/internal/namingschematest/gocql_test.go index cd45ffe301..72acd1e1f4 100644 --- a/instrumentation/internal/namingschematest/gocql_test.go +++ b/instrumentation/internal/namingschematest/gocql_test.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/require" gocqltrace "github.com/DataDog/dd-trace-go/contrib/gocql/gocql/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/gomemcache_test.go b/instrumentation/internal/namingschematest/gomemcache_test.go index 75dba7271d..cad302c1a6 100644 --- a/instrumentation/internal/namingschematest/gomemcache_test.go +++ b/instrumentation/internal/namingschematest/gomemcache_test.go @@ -18,7 +18,7 @@ import ( "github.com/stretchr/testify/require" memcachetrace "github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2/memcache" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/gqlgen_test.go b/instrumentation/internal/namingschematest/gqlgen_test.go index bc0539e53a..bd7e59b699 100644 --- a/instrumentation/internal/namingschematest/gqlgen_test.go +++ b/instrumentation/internal/namingschematest/gqlgen_test.go @@ -16,7 +16,7 @@ import ( "github.com/stretchr/testify/require" gqlgentrace "github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/grpc_test.go b/instrumentation/internal/namingschematest/grpc_test.go new file mode 100644 index 0000000000..bfbb28b14e --- /dev/null +++ b/instrumentation/internal/namingschematest/grpc_test.go @@ -0,0 +1,152 @@ +package namingschematest + +import ( + "context" + "net" + "testing" + "time" + + grpctrace "github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" + "github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2/fixturepb" + "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" + "github.com/DataDog/dd-trace-go/v2/instrumentation" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" +) + +var ( + grpcServerTest = harness.TestCase{ + Name: instrumentation.PackageGRPC + "_server", + GenSpans: grpcGenSpansFn(false, true), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: harness.RepeatString("grpc.server", 4), + DDService: harness.RepeatString(harness.TestDDService, 4), + ServiceOverride: harness.RepeatString(harness.TestServiceOverride, 4), + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 4) + for i := 0; i < 4; i++ { + assert.Equal(t, "grpc.server", spans[i].OperationName()) + } + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 4) + for i := 0; i < 4; i++ { + assert.Equal(t, "grpc.server.request", spans[i].OperationName()) + } + }, + } + grpcClientTest = harness.TestCase{ + Name: instrumentation.PackageGRPC + "_client", + GenSpans: grpcGenSpansFn(true, false), + WantServiceNameV0: harness.ServiceNameAssertions{ + Defaults: harness.RepeatString("grpc.client", 4), + DDService: harness.RepeatString("grpc.client", 4), + ServiceOverride: harness.RepeatString(harness.TestServiceOverride, 4), + }, + AssertOpV0: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 4) + for i := 0; i < 4; i++ { + assert.Equal(t, "grpc.client", spans[i].OperationName()) + } + }, + AssertOpV1: func(t *testing.T, spans []*mocktracer.Span) { + require.Len(t, spans, 4) + for i := 0; i < 4; i++ { + assert.Equal(t, "grpc.client.request", spans[i].OperationName()) + } + }, + } +) + +func grpcGenSpansFn(traceClient, traceServer bool) harness.GenSpansFn { + return func(t *testing.T, serviceOverride string) []*mocktracer.Span { + var opts []grpctrace.Option + if serviceOverride != "" { + opts = append(opts, grpctrace.WithService(serviceOverride)) + } + // exclude the grpc.message spans as they are not affected by naming schema + opts = append(opts, grpctrace.WithStreamMessages(false)) + mt := mocktracer.Start() + defer mt.Stop() + + var serverInterceptors []grpc.ServerOption + if traceServer { + serverInterceptors = append(serverInterceptors, + grpc.UnaryInterceptor(grpctrace.UnaryServerInterceptor(opts...)), + grpc.StreamInterceptor(grpctrace.StreamServerInterceptor(opts...)), + grpc.StatsHandler(grpctrace.NewServerStatsHandler(opts...)), + ) + } + clientInterceptors := []grpc.DialOption{grpc.WithTransportCredentials(insecure.NewCredentials())} + if traceClient { + clientInterceptors = append(clientInterceptors, + grpc.WithUnaryInterceptor(grpctrace.UnaryClientInterceptor(opts...)), + grpc.WithStreamInterceptor(grpctrace.StreamClientInterceptor(opts...)), + grpc.WithStatsHandler(grpctrace.NewClientStatsHandler(opts...)), + ) + } + client := startGRPCTestServer(t, serverInterceptors, clientInterceptors) + _, err := client.Ping(context.Background(), &fixturepb.FixtureRequest{Name: "pass"}) + require.NoError(t, err) + + stream, err := client.StreamPing(context.Background()) + require.NoError(t, err) + err = stream.Send(&fixturepb.FixtureRequest{Name: "break"}) + require.NoError(t, err) + _, err = stream.Recv() + require.NoError(t, err) + err = stream.CloseSend() + require.NoError(t, err) + // to flush the spans + _, _ = stream.Recv() + + waitForSpans(t, mt, 4, 2*time.Second) + return mt.FinishedSpans() + } +} + +func startGRPCTestServer( + t *testing.T, + serverInterceptors []grpc.ServerOption, + clientInterceptors []grpc.DialOption, +) fixturepb.FixtureClient { + server := grpc.NewServer(serverInterceptors...) + srv := fixturepb.NewFixtureServer() + fixturepb.RegisterFixtureServer(server, srv) + + li, err := net.Listen("tcp", "127.0.0.1:0") + require.NoError(t, err) + + _, port, _ := net.SplitHostPort(li.Addr().String()) + // start our test server + go server.Serve(li) + t.Cleanup(server.Stop) + + conn, err := grpc.NewClient("localhost:"+port, clientInterceptors...) + require.NoError(t, err) + + return fixturepb.NewFixtureClient(conn) +} + +func waitForSpans(t *testing.T, mt mocktracer.Tracer, minSpans int, timeout time.Duration) { + timeoutChan := time.After(timeout) + ticker := time.NewTicker(100 * time.Millisecond) + defer ticker.Stop() + + for { + if len(mt.FinishedSpans()) >= minSpans { + return + } + select { + case <-ticker.C: + continue + case <-timeoutChan: + assert.FailNow(t, "timeout waiting for spans", "(want: %d, got: %d)", minSpans, len(mt.FinishedSpans())) + } + } +} diff --git a/instrumentation/internal/namingschematest/httptreemux_v5_test.go b/instrumentation/internal/namingschematest/httptreemux_v5_test.go index ebe0e0562a..55865d0de9 100644 --- a/instrumentation/internal/namingschematest/httptreemux_v5_test.go +++ b/instrumentation/internal/namingschematest/httptreemux_v5_test.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/require" httptrace "github.com/DataDog/dd-trace-go/contrib/dimfeld/httptreemux.v5/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/main_test.go b/instrumentation/internal/namingschematest/main_test.go index 1e731d51e0..a0dc3ee042 100644 --- a/instrumentation/internal/namingschematest/main_test.go +++ b/instrumentation/internal/namingschematest/main_test.go @@ -9,7 +9,7 @@ import ( "os" "testing" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" ) func TestNamingSchema(t *testing.T) { @@ -41,6 +41,8 @@ func TestNamingSchema(t *testing.T) { goRedisV7Test, goRedisV8Test, gocqlTest, + grpcServerTest, + grpcClientTest, fiberV2Test, redigoTest, netHTTPServer, diff --git a/instrumentation/internal/namingschematest/mgo_test.go b/instrumentation/internal/namingschematest/mgo_test.go index 40ca22f2b4..31f8066657 100644 --- a/instrumentation/internal/namingschematest/mgo_test.go +++ b/instrumentation/internal/namingschematest/mgo_test.go @@ -13,7 +13,7 @@ import ( "github.com/stretchr/testify/require" mgotrace "github.com/DataDog/dd-trace-go/contrib/globalsign/mgo/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/mongodriver_test.go b/instrumentation/internal/namingschematest/mongodriver_test.go index 2f88aa8255..f7d0a3c9f6 100644 --- a/instrumentation/internal/namingschematest/mongodriver_test.go +++ b/instrumentation/internal/namingschematest/mongodriver_test.go @@ -17,7 +17,7 @@ import ( "go.mongodb.org/mongo-driver/mongo/options" mongotrace "github.com/DataDog/dd-trace-go/contrib/go.mongodb.org/mongo-driver/v2/mongo" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/negroni_test.go b/instrumentation/internal/namingschematest/negroni_test.go index adf6ffa7ac..eb156eed08 100644 --- a/instrumentation/internal/namingschematest/negroni_test.go +++ b/instrumentation/internal/namingschematest/negroni_test.go @@ -15,7 +15,7 @@ import ( "github.com/urfave/negroni" negronitrace "github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/net_http_test.go b/instrumentation/internal/namingschematest/net_http_test.go index 0b4e859146..1cbd57adea 100644 --- a/instrumentation/internal/namingschematest/net_http_test.go +++ b/instrumentation/internal/namingschematest/net_http_test.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/require" httptrace "github.com/DataDog/dd-trace-go/contrib/net/http/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/redigo_test.go b/instrumentation/internal/namingschematest/redigo_test.go index 95eed3698c..a1ee1f981e 100644 --- a/instrumentation/internal/namingschematest/redigo_test.go +++ b/instrumentation/internal/namingschematest/redigo_test.go @@ -12,7 +12,7 @@ import ( "github.com/stretchr/testify/require" redigotrace "github.com/DataDog/dd-trace-go/contrib/gomodule/redigo/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/packages.go b/instrumentation/packages.go index 7775737bf0..d71a9678f0 100644 --- a/instrumentation/packages.go +++ b/instrumentation/packages.go @@ -39,7 +39,7 @@ const ( PackageGoFiberV2 Package = "gofiber/fiber.v2" PackageRedigo Package = "gomodule/redigo" PackageGoogleAPI Package = "google.golang.org/api" - + PackageGRPC Package = "google.golang.org/grpc" // TODO: ... PackageNetHTTP Package = "net/http" @@ -424,7 +424,24 @@ var packages = map[Package]PackageInfo{ EnvVarPrefix: "GOOGLE_API", naming: nil, // this package does not use naming schema }, - + PackageGRPC: { + TracedPackage: "google.golang.org/grpc", + EnvVarPrefix: "GRPC", + naming: map[Component]componentNames{ + ComponentServer: { + useDDServiceV0: true, + buildServiceNameV0: staticName("grpc.server"), + buildOpNameV0: staticName("grpc.server"), + buildOpNameV1: staticName("grpc.server.request"), + }, + ComponentClient: { + useDDServiceV0: false, + buildServiceNameV0: staticName("grpc.client"), + buildOpNameV0: staticName("grpc.client"), + buildOpNameV1: staticName("grpc.client.request"), + }, + }, + }, // TODO PackageNetHTTP: { diff --git a/instrumentation/testutils/grpc/fixturepb/fixture.go b/instrumentation/testutils/grpc/fixturepb/fixture.go new file mode 100644 index 0000000000..215bb9d029 --- /dev/null +++ b/instrumentation/testutils/grpc/fixturepb/fixture.go @@ -0,0 +1,76 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +//go:generate sh ./gen_proto.sh . + +package fixturepb + +import ( + "context" + "sync/atomic" + + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" +) + +// FixtureSrv a dummy implementation of FixtureServer. +type FixtureSrv struct { + UnimplementedFixtureServer + LastRequestMetadata atomic.Value +} + +func NewFixtureServer() *FixtureSrv { + return &FixtureSrv{} +} + +func (s *FixtureSrv) StreamPing(stream Fixture_StreamPingServer) (err error) { + for { + msg, err := stream.Recv() + if err != nil { + return err + } + + reply, err := s.Ping(stream.Context(), msg) + if err != nil { + return err + } + + err = stream.Send(reply) + if err != nil { + return err + } + + if msg.Name == "break" { + return nil + } + } +} + +func (s *FixtureSrv) Ping(ctx context.Context, in *FixtureRequest) (*FixtureReply, error) { + if md, ok := metadata.FromIncomingContext(ctx); ok { + s.LastRequestMetadata.Store(md) + } + switch { + case in.Name == "child": + span, _ := tracer.StartSpanFromContext(ctx, "child") + span.Finish() + return &FixtureReply{Message: "child"}, nil + case in.Name == "disabled": + if _, ok := tracer.SpanFromContext(ctx); ok { + panic("should be disabled") + } + return &FixtureReply{Message: "disabled"}, nil + case in.Name == "invalid": + return nil, status.Error(codes.InvalidArgument, "invalid") + case in.Name == "errorDetails": + s, _ := status.New(codes.Unknown, "unknown"). + WithDetails(&FixtureReply{Message: "a"}, &FixtureReply{Message: "b"}) + return nil, s.Err() + } + return &FixtureReply{Message: "passed"}, nil +} diff --git a/contrib/google.golang.org/grpc/fixtures_test.pb.go b/instrumentation/testutils/grpc/fixturepb/fixture.pb.go similarity index 54% rename from contrib/google.golang.org/grpc/fixtures_test.pb.go rename to instrumentation/testutils/grpc/fixturepb/fixture.pb.go index 083542dc72..f4ad5d9216 100644 --- a/contrib/google.golang.org/grpc/fixtures_test.pb.go +++ b/instrumentation/testutils/grpc/fixturepb/fixture.pb.go @@ -1,22 +1,21 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2023 Datadog, Inc. +// Copyright 2024 Datadog, Inc. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.23.4 -// source: fixtures_test.proto +// protoc v5.27.3 +// source: fixture.proto -package grpc +package fixturepb import ( - reflect "reflect" - sync "sync" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" ) const ( @@ -38,7 +37,7 @@ type FixtureRequest struct { func (x *FixtureRequest) Reset() { *x = FixtureRequest{} if protoimpl.UnsafeEnabled { - mi := &file_fixtures_test_proto_msgTypes[0] + mi := &file_fixture_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51,7 +50,7 @@ func (x *FixtureRequest) String() string { func (*FixtureRequest) ProtoMessage() {} func (x *FixtureRequest) ProtoReflect() protoreflect.Message { - mi := &file_fixtures_test_proto_msgTypes[0] + mi := &file_fixture_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64,7 +63,7 @@ func (x *FixtureRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FixtureRequest.ProtoReflect.Descriptor instead. func (*FixtureRequest) Descriptor() ([]byte, []int) { - return file_fixtures_test_proto_rawDescGZIP(), []int{0} + return file_fixture_proto_rawDescGZIP(), []int{0} } func (x *FixtureRequest) GetName() string { @@ -86,7 +85,7 @@ type FixtureReply struct { func (x *FixtureReply) Reset() { *x = FixtureReply{} if protoimpl.UnsafeEnabled { - mi := &file_fixtures_test_proto_msgTypes[1] + mi := &file_fixture_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -99,7 +98,7 @@ func (x *FixtureReply) String() string { func (*FixtureReply) ProtoMessage() {} func (x *FixtureReply) ProtoReflect() protoreflect.Message { - mi := &file_fixtures_test_proto_msgTypes[1] + mi := &file_fixture_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -112,7 +111,7 @@ func (x *FixtureReply) ProtoReflect() protoreflect.Message { // Deprecated: Use FixtureReply.ProtoReflect.Descriptor instead. func (*FixtureReply) Descriptor() ([]byte, []int) { - return file_fixtures_test_proto_rawDescGZIP(), []int{1} + return file_fixture_proto_rawDescGZIP(), []int{1} } func (x *FixtureReply) GetMessage() string { @@ -122,51 +121,52 @@ func (x *FixtureReply) GetMessage() string { return "" } -var File_fixtures_test_proto protoreflect.FileDescriptor - -var file_fixtures_test_proto_rawDesc = []byte{ - 0x0a, 0x13, 0x66, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x73, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x67, 0x72, 0x70, 0x63, 0x22, 0x24, 0x0a, 0x0e, 0x46, - 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x28, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x7b, 0x0a, 0x07, 0x46, - 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x14, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x78, 0x74, - 0x75, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0a, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, +var File_fixture_proto protoreflect.FileDescriptor + +var file_fixture_proto_rawDesc = []byte{ + 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x04, 0x67, 0x72, 0x70, 0x63, 0x22, 0x24, 0x0a, 0x0e, 0x46, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x28, 0x0a, 0x0c, 0x46, + 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x7b, 0x0a, 0x07, 0x46, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x32, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0x6c, 0x0a, 0x19, 0x69, 0x6f, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x2e, 0x74, 0x65, 0x73, - 0x74, 0x67, 0x72, 0x70, 0x63, 0x42, 0x0d, 0x54, 0x65, 0x73, 0x74, 0x47, 0x52, 0x50, 0x43, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x6f, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6e, - 0x2f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x6f, 0x67, 0x2f, 0x64, 0x64, 0x2d, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x2d, 0x67, 0x6f, 0x2e, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, - 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x69, + 0x6e, 0x67, 0x12, 0x14, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x78, 0x74, 0x75, 0x72, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x46, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x28, 0x01, + 0x30, 0x01, 0x42, 0x7e, 0x0a, 0x19, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x70, 0x63, 0x42, + 0x0d, 0x54, 0x65, 0x73, 0x74, 0x47, 0x52, 0x50, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, + 0x61, 0x44, 0x6f, 0x67, 0x2f, 0x64, 0x64, 0x2d, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2d, 0x67, 0x6f, + 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_fixtures_test_proto_rawDescOnce sync.Once - file_fixtures_test_proto_rawDescData = file_fixtures_test_proto_rawDesc + file_fixture_proto_rawDescOnce sync.Once + file_fixture_proto_rawDescData = file_fixture_proto_rawDesc ) -func file_fixtures_test_proto_rawDescGZIP() []byte { - file_fixtures_test_proto_rawDescOnce.Do(func() { - file_fixtures_test_proto_rawDescData = protoimpl.X.CompressGZIP(file_fixtures_test_proto_rawDescData) +func file_fixture_proto_rawDescGZIP() []byte { + file_fixture_proto_rawDescOnce.Do(func() { + file_fixture_proto_rawDescData = protoimpl.X.CompressGZIP(file_fixture_proto_rawDescData) }) - return file_fixtures_test_proto_rawDescData + return file_fixture_proto_rawDescData } -var file_fixtures_test_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_fixtures_test_proto_goTypes = []interface{}{ +var file_fixture_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_fixture_proto_goTypes = []interface{}{ (*FixtureRequest)(nil), // 0: grpc.FixtureRequest (*FixtureReply)(nil), // 1: grpc.FixtureReply } -var file_fixtures_test_proto_depIdxs = []int32{ +var file_fixture_proto_depIdxs = []int32{ 0, // 0: grpc.Fixture.Ping:input_type -> grpc.FixtureRequest 0, // 1: grpc.Fixture.StreamPing:input_type -> grpc.FixtureRequest 1, // 2: grpc.Fixture.Ping:output_type -> grpc.FixtureReply @@ -178,13 +178,13 @@ var file_fixtures_test_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for field type_name } -func init() { file_fixtures_test_proto_init() } -func file_fixtures_test_proto_init() { - if File_fixtures_test_proto != nil { +func init() { file_fixture_proto_init() } +func file_fixture_proto_init() { + if File_fixture_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_fixtures_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_fixture_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FixtureRequest); i { case 0: return &v.state @@ -196,7 +196,7 @@ func file_fixtures_test_proto_init() { return nil } } - file_fixtures_test_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_fixture_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FixtureReply); i { case 0: return &v.state @@ -213,18 +213,18 @@ func file_fixtures_test_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_fixtures_test_proto_rawDesc, + RawDescriptor: file_fixture_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_fixtures_test_proto_goTypes, - DependencyIndexes: file_fixtures_test_proto_depIdxs, - MessageInfos: file_fixtures_test_proto_msgTypes, + GoTypes: file_fixture_proto_goTypes, + DependencyIndexes: file_fixture_proto_depIdxs, + MessageInfos: file_fixture_proto_msgTypes, }.Build() - File_fixtures_test_proto = out.File - file_fixtures_test_proto_rawDesc = nil - file_fixtures_test_proto_goTypes = nil - file_fixtures_test_proto_depIdxs = nil + File_fixture_proto = out.File + file_fixture_proto_rawDesc = nil + file_fixture_proto_goTypes = nil + file_fixture_proto_depIdxs = nil } diff --git a/contrib/google.golang.org/grpc/fixtures_test.proto b/instrumentation/testutils/grpc/fixturepb/fixture.proto similarity index 93% rename from contrib/google.golang.org/grpc/fixtures_test.proto rename to instrumentation/testutils/grpc/fixturepb/fixture.proto index 5395336ace..eadf63c248 100644 --- a/contrib/google.golang.org/grpc/fixtures_test.proto +++ b/instrumentation/testutils/grpc/fixturepb/fixture.proto @@ -3,7 +3,7 @@ syntax = "proto3"; option java_multiple_files = true; option java_package = "io.grpc.examples.testgrpc"; option java_outer_classname = "TestGRPCProto"; -option go_package = "github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc";/v2 +option go_package = "github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/internal/fixturepb"; package grpc; diff --git a/contrib/google.golang.org/grpc/fixtures_test_grpc.pb.go b/instrumentation/testutils/grpc/fixturepb/fixture_grpc.pb.go similarity index 97% rename from contrib/google.golang.org/grpc/fixtures_test_grpc.pb.go rename to instrumentation/testutils/grpc/fixturepb/fixture_grpc.pb.go index 0a13df6756..c0081b9bbd 100644 --- a/contrib/google.golang.org/grpc/fixtures_test_grpc.pb.go +++ b/instrumentation/testutils/grpc/fixturepb/fixture_grpc.pb.go @@ -1,19 +1,18 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2023 Datadog, Inc. +// Copyright 2024 Datadog, Inc. // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.23.4 -// source: fixtures_test.proto +// - protoc v5.27.3 +// source: fixture.proto -package grpc +package fixturepb import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -181,5 +180,5 @@ var Fixture_ServiceDesc = grpc.ServiceDesc{ ClientStreams: true, }, }, - Metadata: "fixtures_test.proto", + Metadata: "fixture.proto", } diff --git a/contrib/google.golang.org/grpc/gen_proto.sh b/instrumentation/testutils/grpc/fixturepb/gen_proto.sh similarity index 93% rename from contrib/google.golang.org/grpc/gen_proto.sh rename to instrumentation/testutils/grpc/fixturepb/gen_proto.sh index 3affdf0783..5945f667d9 100755 --- a/contrib/google.golang.org/grpc/gen_proto.sh +++ b/instrumentation/testutils/grpc/fixturepb/gen_proto.sh @@ -1,5 +1,8 @@ #!/bin/sh +OUT_DIR=$1 +cd $OUT_DIR + YEAR=$(date +'%Y') COPYRIGHT_HEADER="// Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. @@ -10,7 +13,7 @@ COPYRIGHT_HEADER="// Unless explicitly stated otherwise all files in this reposi go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.31.0 go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0 -protoc fixtures_test.proto \ +protoc fixture.proto \ --go_out=. \ --go_opt=paths=source_relative \ --go-grpc_out=. \ diff --git a/instrumentation/testutils/grpc/go.mod b/instrumentation/testutils/grpc/go.mod new file mode 100644 index 0000000000..77237aab9a --- /dev/null +++ b/instrumentation/testutils/grpc/go.mod @@ -0,0 +1,42 @@ +module github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 + +go 1.21 + +require ( + github.com/DataDog/dd-trace-go/v2 v2.0.0-00010101000000-000000000000 + google.golang.org/grpc v1.65.0 + google.golang.org/protobuf v1.34.2 +) + +require ( + github.com/DataDog/appsec-internal-go v1.5.0 // indirect + github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 // indirect + github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 // indirect + github.com/DataDog/datadog-go/v5 v5.3.0 // indirect + github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect + github.com/DataDog/go-tuf v1.0.2-0.5.2 // indirect + github.com/DataDog/sketches-go v1.4.3 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/ebitengine/purego v0.6.0-alpha.5 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/outcaste-io/ristretto v0.2.3 // indirect + github.com/philhofer/fwd v1.1.2 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect + github.com/tinylib/msgp v1.1.9 // indirect + go.uber.org/atomic v1.11.0 // indirect + golang.org/x/mod v0.14.0 // indirect + golang.org/x/net v0.25.0 // indirect + golang.org/x/sys v0.20.0 // indirect + golang.org/x/text v0.15.0 // indirect + golang.org/x/time v0.5.0 // indirect + golang.org/x/tools v0.16.1 // indirect + golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect +) + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. diff --git a/instrumentation/testutils/grpc/go.sum b/instrumentation/testutils/grpc/go.sum new file mode 100644 index 0000000000..053637aff4 --- /dev/null +++ b/instrumentation/testutils/grpc/go.sum @@ -0,0 +1,153 @@ +github.com/DataDog/appsec-internal-go v1.5.0 h1:8kS5zSx5T49uZ8dZTdT19QVAvC/B8ByyZdhQKYQWHno= +github.com/DataDog/appsec-internal-go v1.5.0/go.mod h1:pEp8gjfNLtEOmz+iZqC8bXhu0h4k7NUsW/qiQb34k1U= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 h1:bUMSNsw1iofWiju9yc1f+kBd33E3hMJtq9GuU602Iy8= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0/go.mod h1:HzySONXnAgSmIQfL6gOv9hWprKJkx8CicuXuUbmgWfo= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 h1:5nE6N3JSs2IG3xzMthNFhXfOaXlrsdgqmJ73lndFf8c= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1/go.mod h1:Vc+snp0Bey4MrrJyiV2tVxxJb6BmLomPvN1RgAvjGaQ= +github.com/DataDog/datadog-go/v5 v5.3.0 h1:2q2qjFOb3RwAZNU+ez27ZVDwErJv5/VpbBPprz7Z+s8= +github.com/DataDog/datadog-go/v5 v5.3.0/go.mod h1:XRDJk1pTc00gm+ZDiBKsjh7oOOtJfYfglVCmFb8C2+Q= +github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= +github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= +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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= +github.com/DataDog/sketches-go v1.4.3 h1:ZB9nijteJRFUQixkQfatCqASartGNfiolIlMiEv3u/w= +github.com/DataDog/sketches-go v1.4.3/go.mod h1:XR0ns2RtEEF09mDKXiKZiQg+nfZStrq1ZuL1eezeZe0= +github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= +github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/ebitengine/purego v0.6.0-alpha.5 h1:EYID3JOAdmQ4SNZYJHu9V6IqOeRQDBYxqKAg9PyoHFY= +github.com/ebitengine/purego v0.6.0-alpha.5/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= +github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= +github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= +github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= +github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/tinylib/msgp v1.1.9 h1:SHf3yoO2sGA0veCJeCBYLHuttAVFHGm2RHgNodW7wQU= +github.com/tinylib/msgp v1.1.9/go.mod h1:BCXGB54lDD8qUEPmiG0cQQUANC4IUQyB2ItS2UDlO/k= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +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= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= +golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA= +golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= +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= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= +google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= diff --git a/internal/appsec/appsec.go b/internal/appsec/appsec.go index 49dde04bb9..19c5fe540f 100644 --- a/internal/appsec/appsec.go +++ b/internal/appsec/appsec.go @@ -13,8 +13,8 @@ import ( appsecLog "github.com/DataDog/appsec-internal-go/log" waf "github.com/DataDog/go-libddwaf/v2" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" "github.com/DataDog/dd-trace-go/v2/internal/appsec/config" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" "github.com/DataDog/dd-trace-go/v2/internal/log" ) diff --git a/internal/appsec/listener/graphqlsec/graphql.go b/internal/appsec/listener/graphqlsec/graphql.go index fdeb912bcb..efde5a3cf2 100644 --- a/internal/appsec/listener/graphqlsec/graphql.go +++ b/internal/appsec/listener/graphqlsec/graphql.go @@ -12,13 +12,13 @@ import ( waf "github.com/DataDog/go-libddwaf/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/graphqlsec/types" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/sharedsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" "github.com/DataDog/dd-trace-go/v2/internal/appsec/config" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/sharedsec" "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener" shared "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener/sharedsec" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" "github.com/DataDog/dd-trace-go/v2/internal/log" "github.com/DataDog/dd-trace-go/v2/internal/samplernames" ) diff --git a/internal/appsec/listener/grpcsec/grpc.go b/internal/appsec/listener/grpcsec/grpc.go index cdda42bb07..8633c92262 100644 --- a/internal/appsec/listener/grpcsec/grpc.go +++ b/internal/appsec/listener/grpcsec/grpc.go @@ -14,10 +14,10 @@ import ( waf "github.com/DataDog/go-libddwaf/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/grpcsec/types" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/sharedsec" "github.com/DataDog/dd-trace-go/v2/internal/appsec/config" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/grpcsec/types" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/sharedsec" "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener" "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener/httpsec" shared "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener/sharedsec" diff --git a/internal/appsec/listener/httpsec/http.go b/internal/appsec/listener/httpsec/http.go index b87dfcf029..21af4de5c0 100644 --- a/internal/appsec/listener/httpsec/http.go +++ b/internal/appsec/listener/httpsec/http.go @@ -14,10 +14,10 @@ import ( waf "github.com/DataDog/go-libddwaf/v2" "github.com/DataDog/dd-trace-go/v2/ddtrace/ext" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/httpsec/types" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/sharedsec" "github.com/DataDog/dd-trace-go/v2/internal/appsec/config" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/sharedsec" "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener" shared "github.com/DataDog/dd-trace-go/v2/internal/appsec/listener/sharedsec" "github.com/DataDog/dd-trace-go/v2/internal/log" diff --git a/internal/appsec/listener/sharedsec/shared.go b/internal/appsec/listener/sharedsec/shared.go index 2a2bd07114..5d6798f53f 100644 --- a/internal/appsec/listener/sharedsec/shared.go +++ b/internal/appsec/listener/sharedsec/shared.go @@ -12,9 +12,9 @@ import ( "github.com/DataDog/appsec-internal-go/limiter" waf "github.com/DataDog/go-libddwaf/v2" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/sharedsec" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/sharedsec" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" "github.com/DataDog/dd-trace-go/v2/internal/log" ) diff --git a/internal/appsec/listener/sharedsec/shared_test.go b/internal/appsec/listener/sharedsec/shared_test.go index 5d5559b057..3c9fe74977 100644 --- a/internal/appsec/listener/sharedsec/shared_test.go +++ b/internal/appsec/listener/sharedsec/shared_test.go @@ -11,7 +11,7 @@ import ( waf "github.com/DataDog/go-libddwaf/v2" "github.com/stretchr/testify/require" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/trace" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/trace" ) const ( diff --git a/internal/appsec/waf.go b/internal/appsec/waf.go index 288f4dcf5d..44ef57ad29 100644 --- a/internal/appsec/waf.go +++ b/internal/appsec/waf.go @@ -9,9 +9,9 @@ import ( "github.com/DataDog/appsec-internal-go/limiter" waf "github.com/DataDog/go-libddwaf/v2" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/dyngo" + "github.com/DataDog/dd-trace-go/v2/instrumentation/appsec/emitter/sharedsec" "github.com/DataDog/dd-trace-go/v2/internal/appsec/config" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/dyngo" - "github.com/DataDog/dd-trace-go/v2/internal/appsec/emitter/sharedsec" "github.com/DataDog/dd-trace-go/v2/internal/log" ) diff --git a/internal/log/log.go b/internal/log/log.go index adbc51e442..c3ad618877 100644 --- a/internal/log/log.go +++ b/internal/log/log.go @@ -55,10 +55,6 @@ var prefixMsg = fmt.Sprintf("Datadog Tracer %s", version.Tag) type Logger interface { // Log prints the given message. Log(msg string) - //Debug(msg string, args ...any) - //Info(msg string, args ...any) - //Warn(msg string, args ...any) - //Error(msg string, args ...any) } var ( diff --git a/internal/tracer.go b/internal/tracer.go new file mode 100644 index 0000000000..da7a4c5f2f --- /dev/null +++ b/internal/tracer.go @@ -0,0 +1,20 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + +package internal + +import "sync/atomic" + +var ( + tracerInit atomic.Bool +) + +func SetTracerInitialized(val bool) { + tracerInit.Store(val) +} + +func TracerInitialized() bool { + return tracerInit.Load() +} diff --git a/internal/v1.go b/internal/v1.go deleted file mode 100644 index 0c42064e94..0000000000 --- a/internal/v1.go +++ /dev/null @@ -1,12 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2016 Datadog, Inc. - -package internal - -import "github.com/DataDog/dd-trace-go/v2/ddtrace" - -// SetPropagatingTag is an intermediary holder to push the propagating tag code -// into the internal package, so that it can be used by v1internal. -var SetPropagatingTag func(ctx ddtrace.SpanContext, k, v string) diff --git a/tools/fixmodules/main.go b/tools/fixmodules/main.go index 690679f421..1649f4294d 100644 --- a/tools/fixmodules/main.go +++ b/tools/fixmodules/main.go @@ -126,18 +126,17 @@ func main() { replacesSet := make(map[string]Replace) for _, im := range imports { - if im == mod.Module.Path { - // exclude self - continue - } // the module name and the import path might be different (when the imported package is a sub-package) importModule := im if strings.HasPrefix(im, "github.com/DataDog/dd-trace-go") { if left, _, ok := strings.Cut(im, "/v2"); ok { - fmt.Println(left) importModule = left + "/v2" } } + if importModule == mod.Module.Path { + // exclude self + continue + } // it's a local module _, ok := allModules[importModule] if ok { diff --git a/v1internal/v1internal.go b/v1internal/v1internal.go deleted file mode 100644 index 03ef1e8911..0000000000 --- a/v1internal/v1internal.go +++ /dev/null @@ -1,20 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2024 Datadog, Inc. - -// Package v1internal provides support for v1 as frontend of v2 implementation. -// Note that this package is for dd-trace-go internal usage only. -// This package is not intended for use by external consumers, no API stability is guaranteed. -package v1internal - -import ( - "github.com/DataDog/dd-trace-go/v2/ddtrace" - "github.com/DataDog/dd-trace-go/v2/internal" -) - -// SetPropagatingTag sets the key/value pair as a trace propagating tag. -// This function is not intended for use by external consumers, no API stability is guaranteed. -func SetPropagatingTag(ctx ddtrace.SpanContext, k, v string) { - internal.SetPropagatingTag(ctx, k, v) -} From 4432301df9f422c275036acb845cbb8e673c6dec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Tue, 27 Aug 2024 12:26:15 +0200 Subject: [PATCH 10/21] fix(instrumentation): change internal/namingschematest import URL --- instrumentation/internal/namingschematest/gorilla_mux.go | 4 ++-- .../internal/namingschematest/graphgophers_graphql.go | 2 +- instrumentation/internal/namingschematest/hashicorp_consul.go | 2 +- instrumentation/internal/namingschematest/hashicorp_vault.go | 2 +- instrumentation/internal/namingschematest/ibm_sarama.go | 2 +- .../internal/namingschematest/julienschmidt_httprouter.go | 2 +- instrumentation/internal/namingschematest/labstack_echo_v4.go | 2 +- .../internal/namingschematest/olivere_elastic_v5.go | 2 +- instrumentation/internal/namingschematest/redis_goredis_v9.go | 2 +- .../internal/namingschematest/segmentio_kafkago.go | 2 +- instrumentation/internal/namingschematest/shopify_sarama.go | 2 +- instrumentation/internal/namingschematest/syndtr_goleveldb.go | 2 +- instrumentation/internal/namingschematest/tidwall_buntdb.go | 2 +- instrumentation/internal/namingschematest/twirp_test.go | 2 +- 14 files changed, 15 insertions(+), 15 deletions(-) diff --git a/instrumentation/internal/namingschematest/gorilla_mux.go b/instrumentation/internal/namingschematest/gorilla_mux.go index 131e4ba60f..ddada8767d 100644 --- a/instrumentation/internal/namingschematest/gorilla_mux.go +++ b/instrumentation/internal/namingschematest/gorilla_mux.go @@ -9,13 +9,13 @@ import ( "github.com/stretchr/testify/require" muxtrace "github.com/DataDog/dd-trace-go/contrib/gorilla/mux/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) var gorillaMux = harness.TestCase{ - Name: instrumentation.PackageGinGonicGin, + Name: instrumentation.PackageGin, GenSpans: func(t *testing.T, serviceOverride string) []*mocktracer.Span { var opts []muxtrace.RouterOption if serviceOverride != "" { diff --git a/instrumentation/internal/namingschematest/graphgophers_graphql.go b/instrumentation/internal/namingschematest/graphgophers_graphql.go index 3588031da4..8b86967cf4 100644 --- a/instrumentation/internal/namingschematest/graphgophers_graphql.go +++ b/instrumentation/internal/namingschematest/graphgophers_graphql.go @@ -12,7 +12,7 @@ import ( "github.com/stretchr/testify/require" grahqltrace "github.com/DataDog/dd-trace-go/contrib/graph-gophers/graphql-go/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/hashicorp_consul.go b/instrumentation/internal/namingschematest/hashicorp_consul.go index 8c2b5f7ec3..eb6fb807e4 100644 --- a/instrumentation/internal/namingschematest/hashicorp_consul.go +++ b/instrumentation/internal/namingschematest/hashicorp_consul.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/require" consultrace "github.com/DataDog/dd-trace-go/contrib/hashicorp/consul/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/hashicorp_vault.go b/instrumentation/internal/namingschematest/hashicorp_vault.go index 24707141cb..56fbc237b6 100644 --- a/instrumentation/internal/namingschematest/hashicorp_vault.go +++ b/instrumentation/internal/namingschematest/hashicorp_vault.go @@ -13,7 +13,7 @@ import ( "github.com/stretchr/testify/require" vaulttrace "github.com/DataDog/dd-trace-go/contrib/hashicorp/vault/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/ibm_sarama.go b/instrumentation/internal/namingschematest/ibm_sarama.go index df2e9a944c..72b95a335a 100644 --- a/instrumentation/internal/namingschematest/ibm_sarama.go +++ b/instrumentation/internal/namingschematest/ibm_sarama.go @@ -4,7 +4,7 @@ import ( "testing" saramatrace "github.com/DataDog/dd-trace-go/contrib/IBM/sarama/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/IBM/sarama" diff --git a/instrumentation/internal/namingschematest/julienschmidt_httprouter.go b/instrumentation/internal/namingschematest/julienschmidt_httprouter.go index 38add00111..215d4a0668 100644 --- a/instrumentation/internal/namingschematest/julienschmidt_httprouter.go +++ b/instrumentation/internal/namingschematest/julienschmidt_httprouter.go @@ -15,7 +15,7 @@ import ( "github.com/stretchr/testify/require" httproutertrace "github.com/DataDog/dd-trace-go/contrib/julienschmidt/httprouter/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/labstack_echo_v4.go b/instrumentation/internal/namingschematest/labstack_echo_v4.go index d3a8a7964f..71ff573301 100644 --- a/instrumentation/internal/namingschematest/labstack_echo_v4.go +++ b/instrumentation/internal/namingschematest/labstack_echo_v4.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/require" echotrace "github.com/DataDog/dd-trace-go/contrib/labstack/echo.v4/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" ) diff --git a/instrumentation/internal/namingschematest/olivere_elastic_v5.go b/instrumentation/internal/namingschematest/olivere_elastic_v5.go index 506019c7a2..dfead99672 100644 --- a/instrumentation/internal/namingschematest/olivere_elastic_v5.go +++ b/instrumentation/internal/namingschematest/olivere_elastic_v5.go @@ -5,7 +5,7 @@ import ( "testing" elastictrace "github.com/DataDog/dd-trace-go/contrib/olivere/elastic.v5/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/stretchr/testify/assert" diff --git a/instrumentation/internal/namingschematest/redis_goredis_v9.go b/instrumentation/internal/namingschematest/redis_goredis_v9.go index 226689c9c5..6f9536e920 100644 --- a/instrumentation/internal/namingschematest/redis_goredis_v9.go +++ b/instrumentation/internal/namingschematest/redis_goredis_v9.go @@ -5,7 +5,7 @@ import ( "testing" redistrace "github.com/DataDog/dd-trace-go/contrib/redis/go-redis.v9/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/redis/go-redis/v9" diff --git a/instrumentation/internal/namingschematest/segmentio_kafkago.go b/instrumentation/internal/namingschematest/segmentio_kafkago.go index ae48761ace..21148ee5ce 100644 --- a/instrumentation/internal/namingschematest/segmentio_kafkago.go +++ b/instrumentation/internal/namingschematest/segmentio_kafkago.go @@ -6,7 +6,7 @@ import ( "time" segmentiotracer "github.com/DataDog/dd-trace-go/contrib/segmentio/kafka-go/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/segmentio/kafka-go" diff --git a/instrumentation/internal/namingschematest/shopify_sarama.go b/instrumentation/internal/namingschematest/shopify_sarama.go index 338063c414..2cdd8e88d9 100644 --- a/instrumentation/internal/namingschematest/shopify_sarama.go +++ b/instrumentation/internal/namingschematest/shopify_sarama.go @@ -4,7 +4,7 @@ import ( "testing" saramatrace "github.com/DataDog/dd-trace-go/contrib/Shopify/sarama/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/Shopify/sarama" diff --git a/instrumentation/internal/namingschematest/syndtr_goleveldb.go b/instrumentation/internal/namingschematest/syndtr_goleveldb.go index 4bb41c8b05..f3c23eee77 100644 --- a/instrumentation/internal/namingschematest/syndtr_goleveldb.go +++ b/instrumentation/internal/namingschematest/syndtr_goleveldb.go @@ -4,7 +4,7 @@ import ( "testing" leveldbtrace "github.com/DataDog/dd-trace-go/contrib/syndtr/goleveldb/v2/leveldb" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/stretchr/testify/assert" diff --git a/instrumentation/internal/namingschematest/tidwall_buntdb.go b/instrumentation/internal/namingschematest/tidwall_buntdb.go index 5ec5cc9a68..f6a105fa42 100644 --- a/instrumentation/internal/namingschematest/tidwall_buntdb.go +++ b/instrumentation/internal/namingschematest/tidwall_buntdb.go @@ -4,7 +4,7 @@ import ( "testing" buntdbtrace "github.com/DataDog/dd-trace-go/contrib/tidwall/buntdb/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/stretchr/testify/assert" diff --git a/instrumentation/internal/namingschematest/twirp_test.go b/instrumentation/internal/namingschematest/twirp_test.go index a5449c9091..0bf19a42d6 100644 --- a/instrumentation/internal/namingschematest/twirp_test.go +++ b/instrumentation/internal/namingschematest/twirp_test.go @@ -12,7 +12,7 @@ import ( "testing" twitchtvtrace "github.com/DataDog/dd-trace-go/contrib/twitchtv/twirp/v2" - "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/harness" + "github.com/DataDog/dd-trace-go/instrumentation/internal/namingschematest/v2/harness" "github.com/DataDog/dd-trace-go/v2/ddtrace/mocktracer" "github.com/DataDog/dd-trace-go/v2/instrumentation" "github.com/stretchr/testify/assert" From 70fa827f849f69e804f048d7a20a79bc44c026d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Tue, 27 Aug 2024 12:26:49 +0200 Subject: [PATCH 11/21] chore: go mod tidy --- .gitignore | 1 + contrib/aws/aws-sdk-go-v2/go.mod | 1 - contrib/aws/aws-sdk-go-v2/go.sum | 10 ++-- go.work.sum | 14 ++++++ .../internal/namingschematest/go.mod | 46 +++++++++++++++++++ .../internal/namingschematest/go.sum | 37 +++++++++++++++ 6 files changed, 102 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index a2804c6e1a..42916aa324 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ gotestsum-report*.xml /internal/apps/unit-of-work/unit-of-work tools/v2check/_stage/v2playground/* static-analysis.datadog.yml +.vscode/settings.json diff --git a/contrib/aws/aws-sdk-go-v2/go.mod b/contrib/aws/aws-sdk-go-v2/go.mod index f77e10ed50..4c842354a3 100644 --- a/contrib/aws/aws-sdk-go-v2/go.mod +++ b/contrib/aws/aws-sdk-go-v2/go.mod @@ -24,7 +24,6 @@ require ( github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect - github.com/DataDog/go-sqllexer v0.0.12 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect github.com/DataDog/sketches-go v1.4.6 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect diff --git a/contrib/aws/aws-sdk-go-v2/go.sum b/contrib/aws/aws-sdk-go-v2/go.sum index d4ee11f92d..7a807262fe 100644 --- a/contrib/aws/aws-sdk-go-v2/go.sum +++ b/contrib/aws/aws-sdk-go-v2/go.sum @@ -1,15 +1,13 @@ github.com/DataDog/appsec-internal-go v1.7.0 h1:iKRNLih83dJeVya3IoUfK+6HLD/hQsIbyBlfvLmAeb0= github.com/DataDog/appsec-internal-go v1.7.0/go.mod h1:wW0cRfWBo4C044jHGwYiyh5moQV2x0AhnwqMuiX7O/g= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.55.0 h1:q8n6qVTPATzBL02e0rxCOrLFWDNw4as0GcuKWkJENFk= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.55.0/go.mod h1:/C99KWKukVnTtIiYCQ55izSNDQceREb8vSPa3zUn6jc= -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.55.0 h1:+T+3WXCFC9g8r4AVBaD3v1LOKSLyKAtl/LtXyCTcm7I= -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.55.0/go.mod h1:3yFk56PJ57yS1GqI9HAsS4PSlAeGCC9RQA7jxKzYj6g= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 h1:bUMSNsw1iofWiju9yc1f+kBd33E3hMJtq9GuU602Iy8= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0/go.mod h1:HzySONXnAgSmIQfL6gOv9hWprKJkx8CicuXuUbmgWfo= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 h1:5nE6N3JSs2IG3xzMthNFhXfOaXlrsdgqmJ73lndFf8c= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1/go.mod h1:Vc+snp0Bey4MrrJyiV2tVxxJb6BmLomPvN1RgAvjGaQ= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= -github.com/DataDog/go-sqllexer v0.0.12 h1:ncvAr5bbwtc7JMezzcU2379oKz1oHhRF1hkR6BSvhqM= -github.com/DataDog/go-sqllexer v0.0.12/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/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= diff --git a/go.work.sum b/go.work.sum index 4bc2dd9c21..cd69d80dde 100644 --- a/go.work.sum +++ b/go.work.sum @@ -890,6 +890,7 @@ github.com/Microsoft/hcsshim v0.10.0-rc.7 h1:HBytQPxcv8Oy4244zbQbe6hnOnx544eL5QP github.com/Microsoft/hcsshim v0.10.0-rc.7/go.mod h1:ILuwjA+kNW+MrN/w5un7n3mTqkwsFu4Bp05/okFUZlE= github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3 h1:4FA+QBaydEHlwxg0lMN3rhwoDaQy6LKhVWR4qvq4BuA= github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I= +github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= @@ -983,6 +984,7 @@ github.com/benbjohnson/clock v1.0.3 h1:vkLuvpK4fmtSCuo60+yC63p7y0BmQ8gm5ZXGuBCJy github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20150223135152-b965b613227f/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= +github.com/bitly/go-hostpool v0.1.0 h1:XKmsF6k5el6xHG3WPJ8U0Ku/ye7njX7W81Ng7O2ioR0= github.com/bitly/go-hostpool v0.1.0/go.mod h1:4gOCgp6+NZnVqlKyZ/iBZFTAJKembaVENUpMkpg42fw= github.com/bitly/go-simplejson v0.5.0 h1:6IH+V8/tVMab511d5bn4M7EwGXZf9Hj6i2xSwkNEM+Y= github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA= @@ -1138,11 +1140,14 @@ github.com/docker/cli-docs-tool v0.7.0/go.mod h1:zMjqTFCU361PRh8apiXzeAZ1Q/xupbI github.com/docker/docker-credential-helpers v0.6.3 h1:zI2p9+1NQYdnG6sMU26EX4aVGlqbInSQxQXLvzJ4RPQ= github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8= github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1 h1:ZClxb8laGDf5arXfYcAtECDFgAgHklGI8CxgjHnXKJ4= +github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 h1:UhxFibDNY/bfvqU5CAUmr9zpesgbU6SWc8/B4mflAE4= github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96 h1:cenwrSVm+Z7QLSV/BsnenAOcDXdX4cMv4wP0B/5QbPg= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= github.com/dvsekhvalnov/jose2go v0.0.0-20170216131308-f21a8cedbbae/go.mod h1:7BvyPhdbLxMXIYTFPLsyJRFMsKmOZnQmzh6Gb+uquuM= github.com/dvyukov/go-fuzz v0.0.0-20210103155950-6a8e9d1f2415 h1:q1oJaUPdmpDm/VyXosjgPgr6wS7c5iV2p0PwJD73bUI= +github.com/eapache/go-resiliency v1.3.0/go.mod h1:5yPzW0MIvSe0JDsv0v+DvcjEv2FyD6iZYSs1ZI+iQho= +github.com/eapache/go-xerial-snappy v0.0.0-20230111030713-bf00bc1b83b6/go.mod h1:YvSRo5mw33fLEx1+DlK6L2VV43tJt5Eyel9n9XBcR+0= github.com/elastic/elastic-transport-go/v8 v8.1.0 h1:NeqEz1ty4RQz+TVbUrpSU7pZ48XkzGWQj02k5koahIE= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= @@ -1161,6 +1166,7 @@ github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBF github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= +github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y= github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A= github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= @@ -1179,6 +1185,7 @@ github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNy github.com/frankban/quicktest v1.14.0 h1:+cqqvzZV87b4adx/5ayVOaYZ2CrvM4ejQvUdBzPPUss= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU= github.com/fxamacker/cbor/v2 v2.4.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= @@ -1339,6 +1346,7 @@ github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87 h1:xixZ2bWeofWV68J github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/heetch/avro v0.4.4 h1:5PmgDy1cX/MegMy6btJ4bUFHgT5GLfSYfc5U7+JUQzg= github.com/heetch/avro v0.4.5/go.mod h1:gxf9GnbjTXmWmqxhdNbAMcZCjpye7RV5r9t3Q0dL6ws= +github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec h1:qv2VnGeEQHchGaZ/u7lxST/RaJw+cv273q79D81Xbog= github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= @@ -1363,6 +1371,7 @@ github.com/j-keck/arping v1.0.2 h1:hlLhuXgQkzIJTZuhMigvG/CuSkaspeaD9hRDk2zuiMI= github.com/jackc/pgx/v5 v5.5.4 h1:Xp2aQS8uXButQdnCMWNmvx6UysWQQC+u1EoizjguY+8= github.com/jackc/pgx/v5 v5.5.4/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A= github.com/jackc/puddle/v2 v2.2.0/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= +github.com/jcmturner/gokrb5/v8 v8.4.3/go.mod h1:dqRwJGXznQrzw6cWmyo6kH+E7jksEQG/CyVWsJEsJO0= github.com/jhump/gopoet v0.1.0 h1:gYjOPnzHd2nzB37xYQZxj4EIQNpBrBskRqQQ3q4ZgSg= github.com/jhump/goprotoc v0.5.0 h1:Y1UgUX+txUznfqcGdDef8ZOVlyQvnV0pKWZH08RmZuo= github.com/jhump/protoreflect v1.14.1 h1:N88q7JkxTHWFEqReuTsYH1dPIwXxA0ITNQp7avLY10s= @@ -1386,6 +1395,7 @@ github.com/kevinmbeaulieu/eq-go v1.0.0/go.mod h1:G3S8ajA56gKBZm4UB9AOyoOS37JO3ro github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= +github.com/klauspost/compress v1.15.14/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= @@ -1512,6 +1522,7 @@ github.com/phpdave11/gofpdf v1.4.2 h1:KPKiIbfwbvC/wOncwhrpRdXVj2CZTCFlw4wnoyjtHf github.com/phpdave11/gofpdi v1.0.13 h1:o61duiW8M9sMlkVXWlvP92sZJtGKENvW3VExs6dZukQ= github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4/v4 v4.1.17/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= @@ -1566,6 +1577,7 @@ github.com/sclevine/spec v1.2.0 h1:1Jwdf9jSfDl9NVmt8ndHqbTZ7XCCPbh1jI3hkDBHVYA= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds= github.com/secure-systems-lab/go-securesystemslib v0.4.0/go.mod h1:FGBZgq2tXWICsxWQW1msNf49F0Pf2Op5Htayx335Qbs= github.com/secure-systems-lab/go-securesystemslib v0.7.0/go.mod h1:/2gYnlnHVQ6xeGtfIqFy7Do03K4cdCY0A/GlJLDKLHI= +github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= @@ -1577,6 +1589,7 @@ github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9 h1:hp2CY github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a h1:pa8hGb/2YqsZKovtsgrwcDH1RZhVbTKCjLp47XpqCDs= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= +github.com/spdx/tools-golang v0.5.3 h1:ialnHeEYUC4+hkm5vJm4qz2x+oEJbS0mAMFrNXdQraY= github.com/spdx/tools-golang v0.5.3/go.mod h1:/ETOahiAo96Ob0/RAIBmFZw6XN0yTnyr/uFZm2NTMhI= github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= @@ -1775,6 +1788,7 @@ golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20191116160921-f9c825593386/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220725212005-46097bf591d3/go.mod h1:AaygXjzTFtRAg2ttMY5RMuhpJ3cNnI0XpyFJD1iQRSM= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= diff --git a/instrumentation/internal/namingschematest/go.mod b/instrumentation/internal/namingschematest/go.mod index 882ae4cde0..e605a29bb0 100644 --- a/instrumentation/internal/namingschematest/go.mod +++ b/instrumentation/internal/namingschematest/go.mod @@ -33,6 +33,8 @@ require ( github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/v2 v2.0.0-beta.2 + github.com/IBM/sarama v1.40.0 + github.com/Shopify/sarama v1.38.1 github.com/aws/aws-sdk-go v1.54.20 github.com/aws/aws-sdk-go-v2 v1.30.3 github.com/aws/aws-sdk-go-v2/config v1.27.27 @@ -65,6 +67,20 @@ require ( google.golang.org/grpc v1.65.0 ) +require ( + github.com/eapache/go-resiliency v1.4.0 // indirect + github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect + github.com/eapache/queue v1.1.0 // indirect + github.com/hashicorp/go-uuid v1.0.3 // indirect + github.com/jcmturner/aescts/v2 v2.0.0 // indirect + github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect + github.com/jcmturner/gofork v1.7.6 // indirect + github.com/jcmturner/gokrb5/v8 v8.4.4 // indirect + github.com/jcmturner/rpc/v2 v2.0.3 // indirect + github.com/pierrec/lz4/v4 v4.1.18 // indirect + github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect +) + require ( cloud.google.com/go v0.115.0 // indirect cloud.google.com/go/auth v0.7.3 // indirect @@ -76,6 +92,8 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect + github.com/DataDog/dd-trace-go/contrib/IBM/sarama/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/Shopify/sarama/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.12 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect @@ -206,6 +224,10 @@ require ( replace github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2 => ../../../contrib/99designs/gqlgen +replace github.com/DataDog/dd-trace-go/contrib/IBM/sarama/v2 => ../../../contrib/IBM/sarama + +replace github.com/DataDog/dd-trace-go/contrib/Shopify/sarama/v2 => ../../../contrib/Shopify/sarama + replace github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2 => ../../../contrib/aws/aws-sdk-go-v2 replace github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2 => ../../../contrib/aws/aws-sdk-go @@ -252,8 +274,32 @@ replace github.com/DataDog/dd-trace-go/contrib/gomodule/redigo/v2 => ../../../co replace github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2 => ../../../contrib/google.golang.org/grpc +replace github.com/DataDog/dd-trace-go/contrib/gorilla/mux/v2 => ../../../contrib/gorilla/mux + +replace github.com/DataDog/dd-trace-go/contrib/graph-gophers/graphql-go/v2 => ../../../contrib/graph-gophers/graphql-go + +replace github.com/DataDog/dd-trace-go/contrib/hashicorp/consul/v2 => ../../../contrib/hashicorp/consul + +replace github.com/DataDog/dd-trace-go/contrib/hashicorp/vault/v2 => ../../../contrib/hashicorp/vault + +replace github.com/DataDog/dd-trace-go/contrib/julienschmidt/httprouter/v2 => ../../../contrib/julienschmidt/httprouter + +replace github.com/DataDog/dd-trace-go/contrib/labstack/echo.v4/v2 => ../../../contrib/labstack/echo.v4 + replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../../contrib/net/http +replace github.com/DataDog/dd-trace-go/contrib/olivere/elastic.v5/v2 => ../../../contrib/olivere/elastic.v5 + +replace github.com/DataDog/dd-trace-go/contrib/redis/go-redis.v9/v2 => ../../../contrib/redis/go-redis.v9 + +replace github.com/DataDog/dd-trace-go/contrib/segmentio/kafka-go/v2 => ../../../contrib/segmentio/kafka-go + +replace github.com/DataDog/dd-trace-go/contrib/syndtr/goleveldb/v2 => ../../../contrib/syndtr/goleveldb + +replace github.com/DataDog/dd-trace-go/contrib/tidwall/buntdb/v2 => ../../../contrib/tidwall/buntdb + +replace github.com/DataDog/dd-trace-go/contrib/twitchtv/twirp/v2 => ../../../contrib/twitchtv/twirp + replace github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2 => ../../../contrib/urfave/negroni replace github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 => ../../testutils/grpc diff --git a/instrumentation/internal/namingschematest/go.sum b/instrumentation/internal/namingschematest/go.sum index e2c89cb9ff..3b17994b7f 100644 --- a/instrumentation/internal/namingschematest/go.sum +++ b/instrumentation/internal/namingschematest/go.sum @@ -50,6 +50,8 @@ github.com/DataDog/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/ github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/DataDog/sketches-go v1.4.6 h1:acd5fb+QdUzGrosfNLwrIhqyrbMORpvBy7mE+vHlT3I= github.com/DataDog/sketches-go v1.4.6/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= +github.com/IBM/sarama v1.40.0 h1:QTVmX+gMKye52mT5x+Ve/Bod2D0Gy7ylE2Wslv+RHtc= +github.com/IBM/sarama v1.40.0/go.mod h1:6pBloAs1WanL/vsq5qFTyTGulJUntZHhMLOUYEIs9mg= github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -57,6 +59,8 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7fz8= github.com/Microsoft/hcsshim v0.11.4/go.mod h1:smjE4dvqPX9Zldna+t5FG3rnoHhaB7QYxPRqGcpAD9w= +github.com/Shopify/sarama v1.38.1 h1:lqqPUPQZ7zPqYlWpTh+LQ9bhYNu2xJL6k1SJN4WVe2A= +github.com/Shopify/sarama v1.38.1/go.mod h1:iwv9a67Ha8VNa+TifujYoWGxWnu2kNVAQdSdZ4X2o5g= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= github.com/actgardner/gogen-avro/v10 v10.1.0/go.mod h1:o+ybmVjEa27AAr35FRqU98DJu1fXES56uXniYFv4yDA= @@ -222,6 +226,12 @@ github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDD github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/eapache/go-resiliency v1.4.0 h1:3OK9bWpPk5q6pbFAaYSEwD9CLUSHG8bnZuqX2yMt3B0= +github.com/eapache/go-resiliency v1.4.0/go.mod h1:5yPzW0MIvSe0JDsv0v+DvcjEv2FyD6iZYSs1ZI+iQho= +github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 h1:Oy0F4ALJ04o5Qqpdz8XLIpNA3WM/iSIXqxtqo7UGVws= +github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3/go.mod h1:YvSRo5mw33fLEx1+DlK6L2VV43tJt5Eyel9n9XBcR+0= +github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/ebitengine/purego v0.7.1 h1:6/55d26lG3o9VCZX8lping+bZcmShseiqlh2bnUDiPA= github.com/ebitengine/purego v0.7.1/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ= github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203 h1:XBBHcIb256gUJtLmY22n99HaZTz+r2Z51xUPi01m3wg= @@ -379,6 +389,8 @@ github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDP github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= +github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= +github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= @@ -397,6 +409,9 @@ github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9n github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= +github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= @@ -412,6 +427,17 @@ github.com/in-toto/in-toto-golang v0.5.0/go.mod h1:/Rq0IZHLV7Ku5gielPT4wPHJfH1Gd github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/invopop/jsonschema v0.4.0/go.mod h1:O9uiLokuu0+MGFlyiaqtWxwqJm41/+8Nj0lD7A36YH0= +github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= +github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= +github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo= +github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= +github.com/jcmturner/gofork v1.7.6 h1:QH0l3hzAU1tfT3rZCnW5zXl+orbkNMMRGJfdJjHVETg= +github.com/jcmturner/gofork v1.7.6/go.mod h1:1622LH6i/EZqLloHfE7IeZ0uEJwMSUyQ/nDd82IeqRo= +github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg= +github.com/jcmturner/gokrb5/v8 v8.4.4 h1:x1Sv4HaTpepFkXbt2IkL29DXRf8sOfZXo8eRKh687T8= +github.com/jcmturner/gokrb5/v8 v8.4.4/go.mod h1:1btQEpgT6k+unzCwX1KdWMEwPPkkgBtP+F6aCACiMrs= +github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= +github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= @@ -545,6 +571,8 @@ github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6 github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 h1:jYi87L8j62qkXzaYHAQAhEapgukhenIMZRBKTNRLHJ4= github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM= +github.com/pierrec/lz4/v4 v4.1.18 h1:xaKrnTkyoqfh1YItXl56+6KJNVYWlEEPuAQW9xsplYQ= +github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -565,6 +593,8 @@ github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/r3labs/sse v0.0.0-20210224172625-26fe804710bc h1:zAsgcP8MhzAbhMnB1QQ2O7ZhWYVGYSR2iVcjzQuPV+o= github.com/r3labs/sse v0.0.0-20210224172625-26fe804710bc/go.mod h1:S8xSOnV3CgpNrWd0GQ/OoQfMtlg2uPRSuTzcSGrzwK8= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= @@ -610,6 +640,7 @@ github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.3.1-0.20190311161405-34c6fa2dc709/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -737,6 +768,7 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -757,6 +789,7 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200505041828-1ed23360d12c/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -768,6 +801,8 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -809,6 +844,7 @@ golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= golang.org/x/sys v0.22.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.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -818,6 +854,7 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= From 261bff709e1dafc76755f25ed0c06507b6149704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Tue, 27 Aug 2024 12:39:44 +0200 Subject: [PATCH 12/21] chore: go run tools/fixmodules --- go.work.sum | 27 +- .../internal/namingschematest/go.mod | 54 ++++ .../internal/namingschematest/go.sum | 283 ++++++++++++++++++ internal/traceprof/traceproftest/go.mod | 4 +- 4 files changed, 342 insertions(+), 26 deletions(-) diff --git a/go.work.sum b/go.work.sum index cd69d80dde..2b52b13937 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1173,8 +1173,6 @@ github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= -github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= -github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw= @@ -1206,8 +1204,6 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe github.com/go-ini/ini v1.25.4 h1:Mujh4R/dH6YL8bxuISne3xX2+qcQ9p0IxKAP6ExWoUo= github.com/go-jose/go-jose/v3 v3.0.1 h1:pWmKFVtt+Jl0vBZTIpz/eAKwsm6LkIxDVVbFHKkchhA= github.com/go-jose/go-jose/v3 v3.0.1/go.mod h1:RNkWWRld676jZEYoV3+XK8L2ZnNSvIsxFMht0mSX+u8= -github.com/go-jose/go-jose/v3 v3.0.3 h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k= -github.com/go-jose/go-jose/v3 v3.0.3/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ= github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk= github.com/go-kit/log v0.1.0 h1:DGJh0Sm43HbOeYDNnVZFl8BvcYVvjD5bqYJvp0REbwQ= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= @@ -1322,8 +1318,6 @@ github.com/hashicorp/go-kms-wrapping/v2 v2.0.8/go.mod h1:qTCjxGig/kjuj3hk1z8pOUr github.com/hashicorp/go-plugin v1.4.8 h1:CHGwpxYDOttQOY7HOWgETU9dyVjOXzniXDqJcYJE1zM= github.com/hashicorp/go-plugin v1.4.8/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-retryablehttp v0.7.5 h1:bJj+Pj19UZMIweq/iie+1u5YCdGrnxCT9yvm0e+Nd5M= -github.com/hashicorp/go-retryablehttp v0.7.5/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= github.com/hashicorp/go-secure-stdlib/base62 v0.1.2 h1:ET4pqyjiGmY09R5y+rSd70J2w45CtbWDNvGqWp/R3Ng= github.com/hashicorp/go-secure-stdlib/base62 v0.1.2/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 h1:p4AKXPPS24tO8Wc8i1gLvSKdmkiSY5xuju57czJ/IJQ= @@ -1336,12 +1330,12 @@ github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.2 h1:phcbL8urUzF/kxA/Oj6awENa github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.2/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= github.com/hashicorp/go-syslog v1.0.0 h1:KaodqZuhUoZereWVIYmpUgZysurB1kBLX2j0MwMrUAE= +github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1 h1:sNCoNyDEvN1xa+X0baata4RdcpKwcMS6DH+xwfqPgjw= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl/v2 v2.20.1/go.mod h1:TZDqQ4kNKCbh1iJp99FdPiUaVDDUPivbqxZulxDYqL4= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/mdns v1.0.4 h1:sY0CMhFmjIPDMlTB+HfymFHCaYLhgifZ0QhjaYKD/UQ= -github.com/hashicorp/vault/api v1.12.1 h1:WzGN4X5jrJdNO39g6Sa55djNio3I9DxEBOTmCZE7tm0= -github.com/hashicorp/vault/api v1.12.1/go.mod h1:1pqP/sErScodde+ybJCyP+ONC4jzEg7Dmawg/QLWo1k= github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87 h1:xixZ2bWeofWV68J+x6AzmKuVM/JWCQwkWm6GW/MUR6I= github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/heetch/avro v0.4.4 h1:5PmgDy1cX/MegMy6btJ4bUFHgT5GLfSYfc5U7+JUQzg= @@ -1763,14 +1757,13 @@ golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45 golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= +golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63/go.mod h1:0v4NqG35kSWCMzLaMeX+IQrlSnVE/bqGSyC2cz/9Le8= golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91 h1:ryT6Nf0R83ZgD8WnFFdfI8wCeyqgdXWN4+CkFVNPAT0= golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91/go.mod h1:VjAR7z0ngyATZTELrBSkxOOHhhlnVUxDye4mcjx5h/8= golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI= @@ -1783,17 +1776,13 @@ golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= -golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20191116160921-f9c825593386/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220725212005-46097bf591d3/go.mod h1:AaygXjzTFtRAg2ttMY5RMuhpJ3cNnI0XpyFJD1iQRSM= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= @@ -1823,34 +1812,26 @@ golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2 h1:IRJeR9r1pYWsHKTRe/IInb7lYvbBVIqOgsX/u0mbOWY= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457 h1:zf5N6UOrA487eEFacMePxjXAJctxKmyjKUsjA11Uzuk= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= @@ -1863,8 +1844,6 @@ golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= -golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= gonum.org/v1/gonum v0.11.0 h1:f1IJhK4Km5tBJmaiJXtk/PkL4cdVX6J+tGiM187uT5E= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc= gonum.org/v1/plot v0.10.1 h1:dnifSs43YJuNMDzB7v8wV64O4ABBHReuAVAoBxqBqS4= diff --git a/instrumentation/internal/namingschematest/go.mod b/instrumentation/internal/namingschematest/go.mod index e605a29bb0..070b43ddb1 100644 --- a/instrumentation/internal/namingschematest/go.mod +++ b/instrumentation/internal/namingschematest/go.mod @@ -29,7 +29,19 @@ require ( github.com/DataDog/dd-trace-go/contrib/gofiber/fiber.v2/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/contrib/gomodule/redigo/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/gorilla/mux/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/graph-gophers/graphql-go/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/hashicorp/consul/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/hashicorp/vault/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/julienschmidt/httprouter/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/labstack/echo.v4/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/contrib/olivere/elastic.v5/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/redis/go-redis.v9/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/segmentio/kafka-go/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/syndtr/goleveldb/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/tidwall/buntdb/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/twitchtv/twirp/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 v2.0.0-00010101000000-000000000000 github.com/DataDog/dd-trace-go/v2 v2.0.0-beta.2 @@ -59,26 +71,68 @@ require ( github.com/go-sql-driver/mysql v1.8.1 github.com/gocql/gocql v1.6.0 github.com/gofiber/fiber/v2 v2.52.5 + github.com/graph-gophers/graphql-go v1.5.0 + github.com/hashicorp/consul/api v1.29.4 + github.com/hashicorp/vault/api v1.12.1 + github.com/julienschmidt/httprouter v1.3.0 + github.com/labstack/echo/v4 v4.12.0 github.com/lib/pq v1.10.9 + github.com/redis/go-redis/v9 v9.6.1 + github.com/segmentio/kafka-go v0.4.47 github.com/stretchr/testify v1.9.0 + github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d + github.com/twitchtv/twirp v8.1.3+incompatible github.com/urfave/negroni v1.0.0 go.mongodb.org/mongo-driver v1.16.1 google.golang.org/api v0.191.0 google.golang.org/grpc v1.65.0 + gopkg.in/olivere/elastic.v5 v5.0.86 ) require ( + github.com/armon/go-metrics v0.4.1 // indirect + github.com/cenkalti/backoff/v3 v3.2.2 // indirect github.com/eapache/go-resiliency v1.4.0 // indirect github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect github.com/eapache/queue v1.1.0 // indirect + github.com/fatih/color v1.16.0 // indirect + github.com/go-jose/go-jose/v3 v3.0.3 // indirect + github.com/gorilla/mux v1.8.1 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect + github.com/hashicorp/go-hclog v1.5.0 // indirect + github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/go-retryablehttp v0.7.5 // indirect + github.com/hashicorp/go-rootcerts v1.0.2 // indirect + github.com/hashicorp/go-secure-stdlib/parseutil v0.1.8 // indirect + github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect + github.com/hashicorp/go-sockaddr v1.0.5 // indirect github.com/hashicorp/go-uuid v1.0.3 // indirect + github.com/hashicorp/golang-lru v1.0.2 // indirect + github.com/hashicorp/hcl v1.0.1-vault-5 // indirect + github.com/hashicorp/serf v0.10.1 // indirect + github.com/hashicorp/vault/sdk v0.9.2 // indirect github.com/jcmturner/aescts/v2 v2.0.0 // indirect github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect github.com/jcmturner/gofork v1.7.6 // indirect github.com/jcmturner/gokrb5/v8 v8.4.4 // indirect github.com/jcmturner/rpc/v2 v2.0.3 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/labstack/gommon v0.4.2 // indirect + github.com/mailru/easyjson v0.7.7 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/pierrec/lz4/v4 v4.1.18 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect + github.com/ryanuber/go-glob v1.0.0 // indirect + github.com/tidwall/btree v1.6.0 // indirect + github.com/tidwall/buntdb v1.3.0 // indirect + github.com/tidwall/gjson v1.16.0 // indirect + github.com/tidwall/grect v0.1.4 // indirect + github.com/tidwall/match v1.1.1 // indirect + github.com/tidwall/pretty v1.2.1 // indirect + github.com/tidwall/rtred v0.1.2 // indirect + github.com/tidwall/tinyqueue v0.1.1 // indirect + github.com/valyala/fasttemplate v1.2.2 // indirect + golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect ) require ( diff --git a/instrumentation/internal/namingschematest/go.sum b/instrumentation/internal/namingschematest/go.sum index 3b17994b7f..83a719001b 100644 --- a/instrumentation/internal/namingschematest/go.sum +++ b/instrumentation/internal/namingschematest/go.sum @@ -38,6 +38,7 @@ github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 h1:/oxF4p/4XUGNpNw2TE7vDu github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1/go.mod h1:AVPQWekk3h9AOC7+plBlNB68Sy6UIGFoMMVUDeSoNoI= github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBpuwNMcqtY1x1I2fCaPH2Br4xPAAjbkM= github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= @@ -61,6 +62,8 @@ github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7 github.com/Microsoft/hcsshim v0.11.4/go.mod h1:smjE4dvqPX9Zldna+t5FG3rnoHhaB7QYxPRqGcpAD9w= github.com/Shopify/sarama v1.38.1 h1:lqqPUPQZ7zPqYlWpTh+LQ9bhYNu2xJL6k1SJN4WVe2A= github.com/Shopify/sarama v1.38.1/go.mod h1:iwv9a67Ha8VNa+TifujYoWGxWnu2kNVAQdSdZ4X2o5g= +github.com/Shopify/toxiproxy/v2 v2.5.0 h1:i4LPT+qrSlKNtQf5QliVjdP08GyAH8+BUIc9gT0eahc= +github.com/Shopify/toxiproxy/v2 v2.5.0/go.mod h1:yhM2epWtAmel9CB8r2+L+PCmhH6yH2pITaPAo7jxJl0= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= github.com/actgardner/gogen-avro/v10 v10.1.0/go.mod h1:o+ybmVjEa27AAr35FRqU98DJu1fXES56uXniYFv4yDA= @@ -68,6 +71,10 @@ github.com/actgardner/gogen-avro/v10 v10.2.1/go.mod h1:QUhjeHPchheYmMDni/Nx7VB0R github.com/actgardner/gogen-avro/v9 v9.1.0/go.mod h1:nyTj6wPqDJoxM3qdnjcLv+EnMDSDFqE0qDpva2QRmKc= github.com/agnivade/levenshtein v1.1.1 h1:QY8M92nrzkmr798gCo3kmMyqXFzdQVpxLlGPRBij0P8= github.com/agnivade/levenshtein v1.1.1/go.mod h1:veldBMzWxcCG2ZvUTKD2kJNRdCk5hVbJomOvKkmgYbo= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sxfOI= @@ -75,6 +82,13 @@ github.com/andybalholm/brotli v1.0.6/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHG github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= +github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aws/aws-sdk-go v1.29.11/go.mod h1:1KvfttTE3SPKMpo8g2c6jL3ZKfXtFvKscTgahTma5Xg= github.com/aws/aws-sdk-go v1.54.20 h1:FZ2UcXya7bUkvkpf7TaPmiL7EubK0go1nlXGLRwEsoo= github.com/aws/aws-sdk-go v1.54.20/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= github.com/aws/aws-sdk-go-v2 v1.30.3 h1:jUeBtG0Ih+ZIFH0F4UkmL9w3cSpaMv9tYYDbzILP8dY= @@ -131,20 +145,29 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 h1:ZsDKRLXGWHk8WdtyYMoGNO7bTudr github.com/aws/aws-sdk-go-v2/service/sts v1.30.3/go.mod h1:zwySh8fpFyXp9yOr/KVzxOl8SRqgf/IDw5aUt9UKFcQ= github.com/aws/smithy-go v1.20.3 h1:ryHwveWzPV5BIof6fyDvor6V3iUL7nTfiTKXHiW05nE= github.com/aws/smithy-go v1.20.3/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY= github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874 h1:N7oVaKyGp8bttX0bfZGmcGkjz7DLQXhAn3DNd3T0ous= github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874/go.mod h1:r5xuitiExdLAJ09PR7vBVENGvp4ZuTBeWTGtxuX3K+c= +github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= +github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= +github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= +github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= github.com/buger/goterm v1.0.4 h1:Z9YvGmOih81P0FbVtEYTFF6YsSgxSUKEhf/f9bTMXbY= github.com/buger/goterm v1.0.4/go.mod h1:HiFWV3xnkolgrBV3mY8m0X0Pumt4zg4QhbdOzQtB8tE= github.com/bytedance/sonic v1.11.6 h1:oUp34TzMlL+OY1OUWxHqsdkgC/Zfc85zGqw9siXjrc0= github.com/bytedance/sonic v1.11.6/go.mod h1:LysEHSvpvDySVdC2f87zGWf6CIKJcAvqab1ZaiQtds4= github.com/bytedance/sonic/loader v0.1.1 h1:c+e5Pt1k/cy5wMveRDyk2X4B9hF4g7an8N3zCYjJFNM= github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= +github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M= +github.com/cenkalti/backoff/v3 v3.2.2/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -154,6 +177,8 @@ github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y= github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= @@ -253,8 +278,15 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= +github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/frankban/quicktest v1.2.2/go.mod h1:Qh/WofXFeiAFII1aEBu529AtJo6Zg2VHscnEsbBnJ20= github.com/frankban/quicktest v1.7.2/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03DbaAcR7Ks/o= github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= @@ -262,6 +294,7 @@ github.com/frankban/quicktest v1.14.0/go.mod h1:NeW+ay9A/U67EYXNFA1nPE8e/tnQv/09 github.com/fsnotify/fsevents v0.1.1 h1:/125uxJvvoSDDBPen6yUZbil8J9ydKZnnl3TWWmvnkw= github.com/fsnotify/fsevents v0.1.1/go.mod h1:+d+hS27T6k5J8CRaPLKFgwKYcpS7GwW3Ule9+SC2ZRc= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fvbommel/sortorder v1.0.2 h1:mV4o8B2hKboCdkJm+a7uX/SIpZob4JzUpc5GGnM45eo= @@ -279,7 +312,14 @@ github.com/go-chi/chi v1.5.5 h1:vOB/HbEMt9QqBqErz07QehcOKHaWFtuj87tTDVz2qXE= github.com/go-chi/chi v1.5.5/go.mod h1:C9JqLr3tIYjDOZpzn+BCuxY8z8vmca43EeMgyZt7irw= github.com/go-chi/chi/v5 v5.1.0 h1:acVI1TYaD+hhedDJ3r54HyA6sExp3HfXq7QWEEY/xMw= github.com/go-chi/chi/v5 v5.1.0/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= +github.com/go-jose/go-jose/v3 v3.0.3 h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k= +github.com/go-jose/go-jose/v3 v3.0.3/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= @@ -310,8 +350,13 @@ github.com/go-redis/redis/v7 v7.4.1 h1:PASvf36gyUpr2zdOUS/9Zqc80GbM+9BDyiJSJDDOr github.com/go-redis/redis/v7 v7.4.1/go.mod h1:JDNMw23GTyLNC4GZu9njt15ctBQVn7xjRfnwdHj/Dcg= github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI= github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg= +github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/gocql/gocql v1.6.0 h1:IdFdOTbnpbd0pDhl4REKQDM+Q0SzKXQ1Yh+YZZ8T/qU= @@ -322,6 +367,7 @@ github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= @@ -330,12 +376,14 @@ github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2V github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= @@ -356,6 +404,9 @@ github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/gomodule/redigo v1.8.9 h1:Sl3u+2BI/kk+VEatbj0scLdrFhjPmbxOc1myhDP41ws= github.com/gomodule/redigo v1.8.9/go.mod h1:7ArFNvsTjH8GMMzB4uy1snslv2BwmginuMs06a1uzZE= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -367,11 +418,14 @@ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20211008130755-947d60d73cc0/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= @@ -393,6 +447,8 @@ github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+ github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/graph-gophers/graphql-go v1.5.0 h1:fDqblo50TEpD0LY7RXk/LFVYEVqo3+tXMNMPSVXA1yc= +github.com/graph-gophers/graphql-go v1.5.0/go.mod h1:YtmJZDLbF1YYNrlNAuiO5zAStUWc3XZT07iGsVqe1Os= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= @@ -402,23 +458,72 @@ github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9K github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed h1:5upAirOpQc1Q53c0bnx2ufif5kANL7bfZWcc6VJWJd8= github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= github.com/hamba/avro v1.5.6/go.mod h1:3vNT0RLXXpFm2Tb/5KC71ZRJlOroggq1Rcitb6k4Fr8= +github.com/hashicorp/consul/api v1.29.4 h1:P6slzxDLBOxUSj3fWo2o65VuKtbtOXFi7TSSgtXutuE= +github.com/hashicorp/consul/api v1.29.4/go.mod h1:HUlfw+l2Zy68ceJavv2zAyArl2fqhGWnMycyt56sBgg= +github.com/hashicorp/consul/proto-public v0.6.2 h1:+DA/3g/IiKlJZb88NBn0ZgXrxJp2NlvCZdEyl+qxvL0= +github.com/hashicorp/consul/proto-public v0.6.2/go.mod h1:cXXbOg74KBNGajC+o8RlA502Esf0R9prcoJgiOX/2Tg= +github.com/hashicorp/consul/sdk v0.16.1 h1:V8TxTnImoPD5cj0U9Spl0TUxcytjcbbJeADFF07KdHg= +github.com/hashicorp/consul/sdk v0.16.1/go.mod h1:fSXvwxB2hmh1FMZCNl6PwX0Q/1wdWtHJcZ7Ea5tns0s= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= +github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI= +github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-retryablehttp v0.7.5 h1:bJj+Pj19UZMIweq/iie+1u5YCdGrnxCT9yvm0e+Nd5M= +github.com/hashicorp/go-retryablehttp v0.7.5/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= +github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.8 h1:iBt4Ew4XEGLfh6/bPk4rSYmuZJGizr6/x/AEizP0CQc= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.8/go.mod h1:aiJI+PIApBRQG7FZTEBx5GiiX+HbOHilUdNxUZi4eV0= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 h1:kes8mmyCpxJsI7FTwtzRqEy9CdjCtrXrXGuOpxEA7Ts= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-sockaddr v1.0.5 h1:dvk7TIXCZpmfOlM+9mlcrWmWjw/wlKT+VDq2wMvfPJU= +github.com/hashicorp/go-sockaddr v1.0.5/go.mod h1:uoUUmtwU7n9Dv3O4SNLeFvg0SxQ3lyjsj6+CCykpaxI= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= +github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= +github.com/hashicorp/hcl v1.0.1-vault-5 h1:kI3hhbbyzr4dldA8UdTb7ZlVVlI2DACdCfz31RPDgJM= +github.com/hashicorp/hcl v1.0.1-vault-5/go.mod h1:XYhtn6ijBSAj6n4YqAaf7RBPS4I06AItNorpy+MoQNM= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.5.0 h1:EtYPN8DpAURiapus508I4n9CzHs2W+8NZGbmmR/prTM= +github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= +github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY= +github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= +github.com/hashicorp/vault/api v1.12.1 h1:WzGN4X5jrJdNO39g6Sa55djNio3I9DxEBOTmCZE7tm0= +github.com/hashicorp/vault/api v1.12.1/go.mod h1:1pqP/sErScodde+ybJCyP+ONC4jzEg7Dmawg/QLWo1k= +github.com/hashicorp/vault/sdk v0.9.2 h1:H1kitfl1rG2SHbeGEyvhEqmIjVKE3E6c2q3ViKOs6HA= +github.com/hashicorp/vault/sdk v0.9.2/go.mod h1:gG0lA7P++KefplzvcD3vrfCmgxVAM7Z/SqX5NeOL/98= github.com/heetch/avro v0.3.1/go.mod h1:4xn38Oz/+hiEUTpbVfGVLfvOg0yKLlRP7Q9+gJJILgA= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/iancoleman/orderedmap v0.0.0-20190318233801-ac98e3ecb4b0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36vB07FNRdD2geA= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= @@ -433,6 +538,7 @@ github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8 github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= github.com/jcmturner/gofork v1.7.6 h1:QH0l3hzAU1tfT3rZCnW5zXl+orbkNMMRGJfdJjHVETg= github.com/jcmturner/gofork v1.7.6/go.mod h1:1622LH6i/EZqLloHfE7IeZ0uEJwMSUyQ/nDd82IeqRo= +github.com/jcmturner/goidentity/v6 v6.0.1 h1:VKnZd2oEIMorCTsFBnJWbExfNN7yZr3EhJAxwOkZg6o= github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg= github.com/jcmturner/gokrb5/v8 v8.4.4 h1:x1Sv4HaTpepFkXbt2IkL29DXRf8sOfZXo8eRKh687T8= github.com/jcmturner/gokrb5/v8 v8.4.4/go.mod h1:1btQEpgT6k+unzCwX1KdWMEwPPkkgBtP+F6aCACiMrs= @@ -445,6 +551,7 @@ github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuT github.com/jhump/protoreflect v1.12.0/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= @@ -453,19 +560,26 @@ github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/juju/qthttptest v0.1.1/go.mod h1:aTlAv8TYaflIiTDIQYzxnl1QdPjAg8Q8qJMErpKy6A4= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= +github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= @@ -474,6 +588,10 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/labstack/echo/v4 v4.12.0 h1:IKpw49IMryVB2p1a4dzwlhP1O2Tf2E0Ir/450lH+kI0= +github.com/labstack/echo/v4 v4.12.0/go.mod h1:UP9Cr2DJXbOK3Kr9ONYzNowSh7HP0aG0ShAyycHSJvM= +github.com/labstack/gommon v0.4.2 h1:F8qTUNXgG1+6WQmqoUWnz8WiEU60mXVVw0P4ht1WRA0= +github.com/labstack/gommon v0.4.2/go.mod h1:QlUFxVM+SNXhDL/Z7YhocGIBYOiwB0mXm1+1bAPHPyU= github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= @@ -486,10 +604,21 @@ github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= @@ -499,14 +628,23 @@ github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebG github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/miekg/dns v1.1.57 h1:Jzi7ApEIzwEPLHWRcafCN9LZSBbqQpxjt/wpgvg7wcM= +github.com/miekg/dns v1.1.57/go.mod h1:uqRjCRUuEAA6qsOiJvDd+CFo/vW+y5WR6SNmHE55hZk= github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -547,54 +685,86 @@ github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/nrwiersma/avro-benchmarks v0.0.0-20210913175520-21aec48c8f76/go.mod h1:iKyFMidsk/sVYONJRE372sJuX/QTRPacU7imPqqsu7g= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/olivere/elastic/v7 v7.0.12/go.mod h1:14rWX28Pnh3qCKYRVnSGXWLf9MbLonYS/4FDCY3LAPo= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 h1:jYi87L8j62qkXzaYHAQAhEapgukhenIMZRBKTNRLHJ4= github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM= +github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pierrec/lz4/v4 v4.1.18 h1:xaKrnTkyoqfh1YItXl56+6KJNVYWlEEPuAQW9xsplYQ= github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q= github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/r3labs/sse v0.0.0-20210224172625-26fe804710bc h1:zAsgcP8MhzAbhMnB1QQ2O7ZhWYVGYSR2iVcjzQuPV+o= github.com/r3labs/sse v0.0.0-20210224172625-26fe804710bc/go.mod h1:S8xSOnV3CgpNrWd0GQ/OoQfMtlg2uPRSuTzcSGrzwK8= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/redis/go-redis/v9 v9.6.1 h1:HHDteefn6ZkTtY5fGUE8tj8uy85AHk6zP7CpzIAM0y4= +github.com/redis/go-redis/v9 v9.6.1/go.mod h1:0C0c6ycQsdpVNQpxb1njEQIqkx5UcsM8FJCQLgE9+RA= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= @@ -606,9 +776,16 @@ github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTE github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= +github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= +github.com/segmentio/kafka-go v0.4.47 h1:IqziR4pA3vrZq7YdRxaT3w1/5fvIH5qpCwstUanQQB0= +github.com/segmentio/kafka-go v0.4.47/go.mod h1:HjF6XbOKh0Pjlkr5GVZxt6CsjjwnmhVOfURM5KMd8qg= github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= github.com/serialx/hashring v0.0.0-20200727003509-22c0c7ab6b1b h1:h+3JX2VoWTFuyQEo87pStk/a99dzIO1mM9KxIyLPGTU= @@ -619,11 +796,16 @@ github.com/shirou/gopsutil/v3 v3.23.12 h1:z90NtUkp3bMtmICZKpC4+WaknU1eXtp5vtbQ11 github.com/shirou/gopsutil/v3 v3.23.12/go.mod h1:1FrWgea594Jp7qmjHUUPlJDTPgcsb9mGnXDxavtikzM= github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 h1:JIAuq3EEf9cgbU6AtGPK4CTG3Zf6CKMNqf0MHTggAUA= github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= +github.com/smartystreets/assertions v1.0.1/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= +github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM= +github.com/smartystreets/gunit v1.1.3/go.mod h1:EH5qMBab2UclzXUcpR8b93eHsIlp9u+pDQIRp5DZNzQ= github.com/sosodev/duration v1.3.1 h1:qtHBDMQ6lvMQsL15g4aopM4HEfOaYuhWBw3NPTtlqq4= github.com/sosodev/duration v1.3.1/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= @@ -633,6 +815,7 @@ github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyh github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= @@ -645,17 +828,42 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d h1:vfofYNRScrDdvS342BElfbETmL1Aiz3i2t0zfRj16Hs= +github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= github.com/testcontainers/testcontainers-go v0.31.0 h1:W0VwIhcEVhRflwL9as3dhY6jXjVCA27AkmbnZ+UTh3U= github.com/testcontainers/testcontainers-go v0.31.0/go.mod h1:D2lAoA0zUFiSY+eAflqK5mcUx/A5hrrORaEQrd0SefI= github.com/testcontainers/testcontainers-go/modules/compose v0.31.0 h1:H74o3HisnApIDQx7sWibGzOl/Oo0By8DjyVeUf3qd6I= github.com/testcontainers/testcontainers-go/modules/compose v0.31.0/go.mod h1:z1JAsvL2/pNFy40yJX0VX9Yk+hzOCIO5DydxBJHBbCY= github.com/theupdateframework/notary v0.7.0 h1:QyagRZ7wlSpjT5N2qQAh/pN+DVqgekv4DzbAiAiEL3c= github.com/theupdateframework/notary v0.7.0/go.mod h1:c9DRxcmhHmVLDay4/2fUYdISnHqbFDGRSlXPO0AhYWw= +github.com/tidwall/assert v0.1.0 h1:aWcKyRBUAdLoVebxo95N7+YZVTFF/ASTr7BN4sLP6XI= +github.com/tidwall/assert v0.1.0/go.mod h1:QLYtGyeqse53vuELQheYl9dngGCJQ+mTtlxcktb+Kj8= +github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= +github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= +github.com/tidwall/buntdb v1.3.0 h1:gdhWO+/YwoB2qZMeAU9JcWWsHSYU3OvcieYgFRS0zwA= +github.com/tidwall/buntdb v1.3.0/go.mod h1:lZZrZUWzlyDJKlLQ6DKAy53LnG7m5kHyrEHvvcDmBpU= +github.com/tidwall/gjson v1.12.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.16.0 h1:SyXa+dsSPpUlcwEDuKuEBJEz5vzTvOea+9rjyYodQFg= +github.com/tidwall/gjson v1.16.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/grect v0.1.4 h1:dA3oIgNgWdSspFzn1kS4S/RDpZFLrIxAZOdJKjYapOg= +github.com/tidwall/grect v0.1.4/go.mod h1:9FBsaYRaR0Tcy4UwefBX/UDcDcDy9V5jUcxHzv2jd5Q= +github.com/tidwall/lotsa v1.0.2 h1:dNVBH5MErdaQ/xd9s769R31/n2dXavsQ0Yf4TMEHHw8= +github.com/tidwall/lotsa v1.0.2/go.mod h1:X6NiU+4yHA3fE3Puvpnn1XMDrFZrE9JO2/w+UMuqgR8= +github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= +github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/rtred v0.1.2 h1:exmoQtOLvDoO8ud++6LwVsAMTu0KPzLTUrMln8u1yu8= +github.com/tidwall/rtred v0.1.2/go.mod h1:hd69WNXQ5RP9vHd7dqekAz+RIdtfBogmglkZSRxCHFQ= +github.com/tidwall/tinyqueue v0.1.1 h1:SpNEvEggbpyN5DIReaJ2/1ndroY8iyEGxPYxoSaymYE= +github.com/tidwall/tinyqueue v0.1.1/go.mod h1:O/QNHwrnjqr6IHItYrzoHAKYhBkLI67Q096fQP5zMYw= github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375 h1:QB54BJwA6x8QU9nHY3xJSZR2kX9bgpZekRKGkLTmEXA= github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375/go.mod h1:xRroudyp5iVtxKqZCrA6n2TLFRBf8bmnjr1UD4x+z7g= github.com/tinylib/msgp v1.2.0 h1:0uKB/662twsVBpYUPbokj4sTSKhWFKB7LopO2kWK8lY= @@ -672,6 +880,9 @@ github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea h1:SXhTLE6pb6eld/ github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea/go.mod h1:WPnis/6cRcDZSUvVmezrxJPkiO87ThFYsoUiMwWNDJk= github.com/tonistiigi/vt100 v0.0.0-20230623042737-f9a4f7ef6531 h1:Y/M5lygoNPKwVNLMPXgVfsRT40CSFKXCxuU8LoHySjs= github.com/tonistiigi/vt100 v0.0.0-20230623042737-f9a4f7ef6531/go.mod h1:ulncasL3N9uLrVann0m+CDlJKWsIAP34MPcOJF6VRvc= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/twitchtv/twirp v8.1.3+incompatible h1:+F4TdErPgSUbMZMwp13Q/KgDVuI7HJXP61mNV3/7iuU= +github.com/twitchtv/twirp v8.1.3+incompatible/go.mod h1:RRJoFSAmTEh2weEqWtpPE3vFK5YBhA6bqp2l1kfCC5A= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= @@ -682,6 +893,8 @@ github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6Kllzaw github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasthttp v1.51.0 h1:8b30A5JlZ6C7AS81RsWjYMQmrZG6feChmgAolCl1SqA= github.com/valyala/fasthttp v1.51.0/go.mod h1:oI2XroL+lI7vdXyYoQk03bXBThfFl2cVdIA3Xl7cH8g= +github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= +github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= github.com/vektah/gqlparser/v2 v2.5.16 h1:1gcmLTvs3JLKXckwCwlUagVn/IlV2bwqle0vJ0vy5p8= @@ -709,6 +922,7 @@ github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQ github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= 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= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= @@ -717,6 +931,7 @@ go.einride.tech/aip v0.67.1 h1:d/4TW92OxXBngkSOwWS2CH5rez869KpKMaN44mdxkFI= go.einride.tech/aip v0.67.1/go.mod h1:ZGX4/zKw8dcgzdLsrvpOOGxfxI2QSk12SlP7d6c0/XI= go.mongodb.org/mongo-driver v1.16.1 h1:rIVLL3q0IHM39dvE+z2ulZLp9ENZKThVfuvN/IiN4l8= go.mongodb.org/mongo-driver v1.16.1/go.mod h1:oB6AhJQvFQL4LEHyXi6aJzQJtBiTQHiAd83l0GdFaiw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= @@ -725,6 +940,7 @@ go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0. go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.46.1/go.mod h1:GnOaBaFQ2we3b9AGWJpsBa7v1S5RlQzlC3O7dRMxZhM= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= +go.opentelemetry.io/otel v1.6.3/go.mod h1:7BgNga5fNlF/iZjG06hM3yofffp0ofKCDwSXx1GC4dI= go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.42.0 h1:ZtfnDL+tUrs1F0Pzfwbg2d59Gru9NCH3bgSHBM6LDwU= @@ -747,6 +963,7 @@ go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucg go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= go.opentelemetry.io/otel/sdk/metric v1.21.0 h1:smhI5oD714d6jHE6Tie36fPx4WDFIg+Y6RfAY4ICcR0= go.opentelemetry.io/otel/sdk/metric v1.21.0/go.mod h1:FJ8RAsoPGv/wYMgBdUJXOm+6pzFY3YdljnXtv1SBE8Q= +go.opentelemetry.io/otel/trace v1.6.3/go.mod h1:GNJQusJlUgZl9/TQBPKU/Y/ty+0iVB5fjhKeJGZPGFs= go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= @@ -762,13 +979,17 @@ go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/arch v0.8.0 h1:3wRIsP3pM4yUptoR96otTUOXI367OS0+c9eeRi9doIc= golang.org/x/arch v0.8.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= 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-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -778,31 +999,45 @@ golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTk golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= 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= 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.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= +golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= 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= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200505041828-1ed23360d12c/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -812,39 +1047,71 @@ golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbht golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/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-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= golang.org/x/sys v0.22.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.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -855,6 +1122,9 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= @@ -864,14 +1134,20 @@ golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= 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.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= 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= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 h1:LLhsEBxRTBLuKlQxFBYUOU8xyFgXv6cOTp2HASDlsDk= golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= google.golang.org/api v0.191.0 h1:cJcF09Z+4HAB2t5qTQM1ZtfL/PemsLFkcFG67qq2afk= @@ -879,6 +1155,7 @@ google.golang.org/api v0.191.0/go.mod h1:tD5dsFGxFza0hnQveGfVk9QQYKcfp+VzgRqyXFx google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= @@ -890,6 +1167,7 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240725223205-93522f1f2a9f/go. google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf h1:liao9UHurZLtiEwBgT9LMOnKYsHze6eA6w1KQCMVN2Q= google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -915,6 +1193,7 @@ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/avro.v0 v0.0.0-20171217001914-a730b5802183/go.mod h1:FvqrFXt+jCsyQibeRv4xxEJBL5iG2DDW5aeJwzDiq4A= gopkg.in/cenkalti/backoff.v1 v1.1.0 h1:Arh75ttbsvlpVA7WtVpH4u9h6Zl46xuptxqLxPiSo4Y= gopkg.in/cenkalti/backoff.v1 v1.1.0/go.mod h1:J6Vskwqd+OMVJl8C33mmtxTBs2gyzfv7UDAkHu8BrjI= @@ -930,6 +1209,8 @@ gopkg.in/httprequest.v1 v1.2.1/go.mod h1:x2Otw96yda5+8+6ZeWwHIJTFkEHWP/qP8pJOzqE gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= +gopkg.in/olivere/elastic.v5 v5.0.86 h1:xFy6qRCGAmo5Wjx96srho9BitLhZl2fcnpuidPwduXM= +gopkg.in/olivere/elastic.v5 v5.0.86/go.mod h1:M3WNlsF+WhYn7api4D87NIflwTV/c0iVs8cqfWhK+68= gopkg.in/retry.v1 v1.0.3/go.mod h1:FJkXmWiMaAo7xB+xhvDF59zhfjDWyzmyAxiT4dB688g= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= @@ -937,8 +1218,10 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/internal/traceprof/traceproftest/go.mod b/internal/traceprof/traceproftest/go.mod index 66cdbfd9cf..0eff392aec 100644 --- a/internal/traceprof/traceproftest/go.mod +++ b/internal/traceprof/traceproftest/go.mod @@ -52,6 +52,6 @@ replace github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2 => ../. replace github.com/DataDog/dd-trace-go/contrib/julienschmidt/httprouter/v2 => ../../../contrib/julienschmidt/httprouter -replace github.com/DataDog/dd-trace-go/v2 => ../../.. - replace github.com/DataDog/dd-trace-go/contrib/net/http/v2 => ../../../contrib/net/http + +replace github.com/DataDog/dd-trace-go/v2 => ../../.. From c6fc4fe2047a765f25509159dc8671d8721432cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Tue, 27 Aug 2024 13:02:13 +0200 Subject: [PATCH 13/21] chore: add copyright headers --- instrumentation/internal/namingschema/namingschema.go | 5 +++++ instrumentation/internal/namingschematest/gorilla_mux.go | 5 +++++ .../internal/namingschematest/graphgophers_graphql.go | 5 +++++ instrumentation/internal/namingschematest/grpc_test.go | 5 +++++ .../internal/namingschematest/hashicorp_consul.go | 5 +++++ instrumentation/internal/namingschematest/hashicorp_vault.go | 5 +++++ instrumentation/internal/namingschematest/ibm_sarama.go | 5 +++++ .../internal/namingschematest/olivere_elastic_v5.go | 5 +++++ .../internal/namingschematest/redis_goredis_v9.go | 5 +++++ .../internal/namingschematest/segmentio_kafkago.go | 5 +++++ instrumentation/internal/namingschematest/shopify_sarama.go | 5 +++++ .../internal/namingschematest/syndtr_goleveldb.go | 5 +++++ instrumentation/internal/namingschematest/tidwall_buntdb.go | 5 +++++ instrumentation/testutils/testutils.go | 5 +++++ 14 files changed, 70 insertions(+) diff --git a/instrumentation/internal/namingschema/namingschema.go b/instrumentation/internal/namingschema/namingschema.go index b5ec9c696c..84a92b0333 100644 --- a/instrumentation/internal/namingschema/namingschema.go +++ b/instrumentation/internal/namingschema/namingschema.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschema import ( diff --git a/instrumentation/internal/namingschematest/gorilla_mux.go b/instrumentation/internal/namingschematest/gorilla_mux.go index ddada8767d..3a35c41db5 100644 --- a/instrumentation/internal/namingschematest/gorilla_mux.go +++ b/instrumentation/internal/namingschematest/gorilla_mux.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( diff --git a/instrumentation/internal/namingschematest/graphgophers_graphql.go b/instrumentation/internal/namingschematest/graphgophers_graphql.go index 8b86967cf4..bcde1f76e8 100644 --- a/instrumentation/internal/namingschematest/graphgophers_graphql.go +++ b/instrumentation/internal/namingschematest/graphgophers_graphql.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( diff --git a/instrumentation/internal/namingschematest/grpc_test.go b/instrumentation/internal/namingschematest/grpc_test.go index bfbb28b14e..45546e7370 100644 --- a/instrumentation/internal/namingschematest/grpc_test.go +++ b/instrumentation/internal/namingschematest/grpc_test.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( diff --git a/instrumentation/internal/namingschematest/hashicorp_consul.go b/instrumentation/internal/namingschematest/hashicorp_consul.go index eb6fb807e4..43d8e7de8c 100644 --- a/instrumentation/internal/namingschematest/hashicorp_consul.go +++ b/instrumentation/internal/namingschematest/hashicorp_consul.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( diff --git a/instrumentation/internal/namingschematest/hashicorp_vault.go b/instrumentation/internal/namingschematest/hashicorp_vault.go index 56fbc237b6..1f96fa59b3 100644 --- a/instrumentation/internal/namingschematest/hashicorp_vault.go +++ b/instrumentation/internal/namingschematest/hashicorp_vault.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( diff --git a/instrumentation/internal/namingschematest/ibm_sarama.go b/instrumentation/internal/namingschematest/ibm_sarama.go index 72b95a335a..bd6f4266b5 100644 --- a/instrumentation/internal/namingschematest/ibm_sarama.go +++ b/instrumentation/internal/namingschematest/ibm_sarama.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( diff --git a/instrumentation/internal/namingschematest/olivere_elastic_v5.go b/instrumentation/internal/namingschematest/olivere_elastic_v5.go index dfead99672..43bf36fe58 100644 --- a/instrumentation/internal/namingschematest/olivere_elastic_v5.go +++ b/instrumentation/internal/namingschematest/olivere_elastic_v5.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( diff --git a/instrumentation/internal/namingschematest/redis_goredis_v9.go b/instrumentation/internal/namingschematest/redis_goredis_v9.go index 6f9536e920..4e80f383a8 100644 --- a/instrumentation/internal/namingschematest/redis_goredis_v9.go +++ b/instrumentation/internal/namingschematest/redis_goredis_v9.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( diff --git a/instrumentation/internal/namingschematest/segmentio_kafkago.go b/instrumentation/internal/namingschematest/segmentio_kafkago.go index 21148ee5ce..60fb01f0a5 100644 --- a/instrumentation/internal/namingschematest/segmentio_kafkago.go +++ b/instrumentation/internal/namingschematest/segmentio_kafkago.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( diff --git a/instrumentation/internal/namingschematest/shopify_sarama.go b/instrumentation/internal/namingschematest/shopify_sarama.go index 2cdd8e88d9..7379914945 100644 --- a/instrumentation/internal/namingschematest/shopify_sarama.go +++ b/instrumentation/internal/namingschematest/shopify_sarama.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( diff --git a/instrumentation/internal/namingschematest/syndtr_goleveldb.go b/instrumentation/internal/namingschematest/syndtr_goleveldb.go index f3c23eee77..825467dd41 100644 --- a/instrumentation/internal/namingschematest/syndtr_goleveldb.go +++ b/instrumentation/internal/namingschematest/syndtr_goleveldb.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( diff --git a/instrumentation/internal/namingschematest/tidwall_buntdb.go b/instrumentation/internal/namingschematest/tidwall_buntdb.go index f6a105fa42..d702420557 100644 --- a/instrumentation/internal/namingschematest/tidwall_buntdb.go +++ b/instrumentation/internal/namingschematest/tidwall_buntdb.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package namingschematest import ( diff --git a/instrumentation/testutils/testutils.go b/instrumentation/testutils/testutils.go index a4c3ae3d8c..9a5d65cbca 100644 --- a/instrumentation/testutils/testutils.go +++ b/instrumentation/testutils/testutils.go @@ -1,3 +1,8 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024 Datadog, Inc. + package testutils import ( From b7fb367f9b6f7d4f0c8367943a08fad5e3fcfe7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Tue, 27 Aug 2024 13:20:56 +0200 Subject: [PATCH 14/21] fix: pin to current branch --- contrib/google.golang.org/grpc/go.mod | 2 +- .../internal/namingschematest/go.mod | 80 +++++++++---------- instrumentation/testutils/grpc/go.mod | 2 +- internal/traceprof/traceproftest/go.mod | 6 +- internal/traceprof/traceproftest/go.sum | 14 ++-- 5 files changed, 53 insertions(+), 51 deletions(-) diff --git a/contrib/google.golang.org/grpc/go.mod b/contrib/google.golang.org/grpc/go.mod index 77b5b9dd15..961f7d8392 100644 --- a/contrib/google.golang.org/grpc/go.mod +++ b/contrib/google.golang.org/grpc/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/DataDog/appsec-internal-go v1.5.0 - github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 v2.0.0-20240827110213-c6fc4fe2047a github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/golang/protobuf v1.5.4 github.com/stretchr/testify v1.8.4 diff --git a/instrumentation/internal/namingschematest/go.mod b/instrumentation/internal/namingschematest/go.mod index 070b43ddb1..cf3eae60f0 100644 --- a/instrumentation/internal/namingschematest/go.mod +++ b/instrumentation/internal/namingschematest/go.mod @@ -5,45 +5,45 @@ go 1.21 require ( cloud.google.com/go/pubsub v1.41.0 github.com/99designs/gqlgen v0.17.49 - github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/cloud.google.com/go/pubsub.v1/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/kafka.v2/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/kafka/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/database/sql/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/dimfeld/httptreemux.v5/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/elastic/go-elasticsearch.v6/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/emicklei/go-restful.v3/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/gin-gonic/gin/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/globalsign/mgo/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/go-chi/chi.v5/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/go-chi/chi/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/go-pg/pg.v10/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v7/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v8/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/go-redis/redis/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/go.mongodb.org/mongo-driver/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/gocql/gocql/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/gofiber/fiber.v2/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/gomodule/redigo/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/gorilla/mux/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/graph-gophers/graphql-go/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/hashicorp/consul/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/hashicorp/vault/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/julienschmidt/httprouter/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/labstack/echo.v4/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/99designs/gqlgen/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/cloud.google.com/go/pubsub.v1/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/kafka.v2/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/kafka/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/database/sql/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/dimfeld/httptreemux.v5/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/elastic/go-elasticsearch.v6/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/emicklei/go-restful.v3/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/gin-gonic/gin/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/globalsign/mgo/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/go-chi/chi.v5/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/go-chi/chi/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/go-pg/pg.v10/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v7/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v8/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/go-redis/redis/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/go.mongodb.org/mongo-driver/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/gocql/gocql/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/gofiber/fiber.v2/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/gomodule/redigo/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/gorilla/mux/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/graph-gophers/graphql-go/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/hashicorp/consul/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/hashicorp/vault/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/julienschmidt/httprouter/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/labstack/echo.v4/v2 v2.0.0-20240827110213-c6fc4fe2047a github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/DataDog/dd-trace-go/contrib/olivere/elastic.v5/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/redis/go-redis.v9/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/segmentio/kafka-go/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/syndtr/goleveldb/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/tidwall/buntdb/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/twitchtv/twirp/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/olivere/elastic.v5/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/redis/go-redis.v9/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/segmentio/kafka-go/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/syndtr/goleveldb/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/tidwall/buntdb/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/twitchtv/twirp/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 v2.0.0-20240827110213-c6fc4fe2047a github.com/DataDog/dd-trace-go/v2 v2.0.0-beta.2 github.com/IBM/sarama v1.40.0 github.com/Shopify/sarama v1.38.1 @@ -146,8 +146,8 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/contrib/IBM/sarama/v2 v2.0.0-00010101000000-000000000000 - github.com/DataDog/dd-trace-go/contrib/Shopify/sarama/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/contrib/IBM/sarama/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/contrib/Shopify/sarama/v2 v2.0.0-20240827110213-c6fc4fe2047a github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-sqllexer v0.0.12 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect diff --git a/instrumentation/testutils/grpc/go.mod b/instrumentation/testutils/grpc/go.mod index 77237aab9a..8d480470b1 100644 --- a/instrumentation/testutils/grpc/go.mod +++ b/instrumentation/testutils/grpc/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-00010101000000-000000000000 + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240827110213-c6fc4fe2047a google.golang.org/grpc v1.65.0 google.golang.org/protobuf v1.34.2 ) diff --git a/internal/traceprof/traceproftest/go.mod b/internal/traceprof/traceproftest/go.mod index 0eff392aec..23c929fd58 100644 --- a/internal/traceprof/traceproftest/go.mod +++ b/internal/traceprof/traceproftest/go.mod @@ -9,7 +9,7 @@ require ( github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b github.com/julienschmidt/httprouter v1.3.0 github.com/stretchr/testify v1.8.4 - google.golang.org/grpc v1.64.0 + google.golang.org/grpc v1.65.0 ) require ( @@ -43,8 +43,8 @@ require ( golang.org/x/text v0.15.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect - google.golang.org/protobuf v1.34.1 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect + google.golang.org/protobuf v1.34.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/internal/traceprof/traceproftest/go.sum b/internal/traceprof/traceproftest/go.sum index ecefc74b49..1b59bc40c6 100644 --- a/internal/traceprof/traceproftest/go.sum +++ b/internal/traceprof/traceproftest/go.sum @@ -6,6 +6,8 @@ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 h1:mmkGuCHBFuDBp github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1/go.mod h1:JhAilx32dkIgoDkFXquCTfaWDsAOfe+vfBaxbiZoPI0= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= +github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 v2.0.0-20240827110213-c6fc4fe2047a h1:AynHClFW0Rzk/efPfOg2EvGZJHZsPHb9KdyU8S/HzdQ= +github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 v2.0.0-20240827110213-c6fc4fe2047a/go.mod h1:OmOGzTQANh0ArQZBXXkckBU/tl6SkPC78MDfdSIY4uo= github.com/DataDog/go-libddwaf/v2 v2.4.2 h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA= github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= github.com/DataDog/go-sqllexer v0.0.11 h1:OfPBjmayreblOXreszbrOTICNZ3qWrA6Bg4sypvxpbw= @@ -131,12 +133,12 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 h1:AgADTJarZTBqgjiUzRgfaBchgYB3/WFTC80GPwsMcRI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= -google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= -google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= +google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= From a448b837c6402507a2b2bd00a4db235a1e4ee6fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Tue, 27 Aug 2024 13:29:37 +0200 Subject: [PATCH 15/21] fix(go.work): adjust to specified format --- go.work | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.work b/go.work index 2db2029d97..89dfe0b5a8 100644 --- a/go.work +++ b/go.work @@ -1,4 +1,4 @@ -go 1.22.6 // Go version must match the highest supported version, not the minimum supported version. +go 1.23 // Go version must match the highest supported version, not the minimum supported version, with format X.Y. use ( . From 1a2f42b60d6a0d142c7a0dad01ae1c2a85a53073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Tue, 27 Aug 2024 17:36:25 +0200 Subject: [PATCH 16/21] fix: set correct segmentio/kafka-go.v0 name --- instrumentation/packages.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation/packages.go b/instrumentation/packages.go index d71a9678f0..489b23e9e7 100644 --- a/instrumentation/packages.go +++ b/instrumentation/packages.go @@ -52,7 +52,7 @@ const ( PackageSyndtrGoLevelDB Package = "syndtr/goleveldb/leveldb" PackageSirupsenLogrus Package = "sirupsen/logrus" PackageShopifySarama Package = "Shopify/sarama" - PackageSegmentioKafkaGo Package = "segmentio/kafka-go" + PackageSegmentioKafkaGo Package = "segmentio/kafka-go.v0" PackageRedisGoRedisV9 Package = "redis/go-redis.v9" PackageOlivereElasticV5 Package = "olivere/elastic" PackageMiekgDNS Package = "miekg/dns" From b1ed61b9b321ac36eb193cfa2ca2a43fa791d216 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Tue, 27 Aug 2024 18:33:48 +0200 Subject: [PATCH 17/21] fix: remove Go 1.20 support --- .github/workflows/appsec.yml | 4 ++-- .github/workflows/main-branch-tests.yml | 4 ++-- .github/workflows/parametric-tests.yml | 2 +- .github/workflows/pull-request.yml | 2 +- .github/workflows/smoke-tests.yml | 2 +- .gitlab/macrobenchmarks.yml | 12 ++++++------ pinddtrace.go | 8 ++++---- 7 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/appsec.yml b/.github/workflows/appsec.yml index e9b7f19d21..6e30ebfe85 100644 --- a/.github/workflows/appsec.yml +++ b/.github/workflows/appsec.yml @@ -98,7 +98,7 @@ jobs: strategy: matrix: runs-on: [ macos-11, macos-14 ] # oldest and newest macos runners available - macos-14 mainly is here to cover the fact it is an ARM machine - go-version: [ "1.22", "1.21", "1.20" ] + go-version: [ "1.23", "1.22" ] fail-fast: true # saving some CI time - macos runners too long to get steps: - uses: actions/checkout@v4 @@ -211,7 +211,7 @@ jobs: needs: go-mod-caching strategy: matrix: - go-version: [ "1.22", "1.21", "1.20" ] + go-version: [ "1.23", "1.22" ] distribution: [ bookworm, bullseye, buster, alpine ] platform: [ linux/amd64, linux/arm64 ] exclude: diff --git a/.github/workflows/main-branch-tests.yml b/.github/workflows/main-branch-tests.yml index b681aaa9b7..b0436a5a93 100644 --- a/.github/workflows/main-branch-tests.yml +++ b/.github/workflows/main-branch-tests.yml @@ -22,7 +22,7 @@ jobs: unit-integration-tests: strategy: matrix: - go-version: ["1.20", "1.21", "1.22"] + go-version: ["1.22", "1.23"] fail-fast: false uses: ./.github/workflows/unit-integration-tests.yml with: @@ -33,7 +33,7 @@ jobs: strategy: matrix: runs-on: [ macos-latest, windows-latest, ubuntu-latest ] - go-version: ["1.20", "1.21", "1.22"] + go-version: ["1.22", "1.23"] fail-fast: false uses: ./.github/workflows/multios-unit-tests.yml with: diff --git a/.github/workflows/parametric-tests.yml b/.github/workflows/parametric-tests.yml index d797fd010f..594c8b4cc2 100644 --- a/.github/workflows/parametric-tests.yml +++ b/.github/workflows/parametric-tests.yml @@ -43,7 +43,7 @@ jobs: - uses: actions/setup-go@v3 with: - go-version: "1.20" + go-version: "1.22" - name: Build runner uses: ./.github/actions/install_runner diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index ad5016b050..9513b2e328 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -18,6 +18,6 @@ jobs: name: PR Unit and Integration Tests uses: ./.github/workflows/unit-integration-tests.yml with: - go-version: "1.20" + go-version: "1.22" ref: ${{ github.ref }} secrets: inherit diff --git a/.github/workflows/smoke-tests.yml b/.github/workflows/smoke-tests.yml index 98491d463d..a0526759ce 100644 --- a/.github/workflows/smoke-tests.yml +++ b/.github/workflows/smoke-tests.yml @@ -106,7 +106,7 @@ jobs: matrix: # TODO: cross-compilation from/to different hardware architectures once # github provides native ARM runners. - go: [ "1.20", "1.21", "1.22" ] + go: [ "1.22", "1.23" ] build-env: [ alpine, bookworm, bullseye ] build-with-cgo: [ 0, 1 ] deployment-env: [ alpine, debian11, debian12, al2, al2023, busybox, scratch ] diff --git a/.gitlab/macrobenchmarks.yml b/.gitlab/macrobenchmarks.yml index 0b60a295d4..8f750cfe62 100644 --- a/.gitlab/macrobenchmarks.yml +++ b/.gitlab/macrobenchmarks.yml @@ -109,7 +109,7 @@ go120-baseline: ENABLE_PROFILING: "false" ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.20.14" + GO_VERSION: "1.21.13" LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled PARALLELIZE: "true" go120-only-trace: @@ -120,7 +120,7 @@ go120-only-trace: ENABLE_PROFILING: "false" ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.20.14" + GO_VERSION: "1.21.13" LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled PARALLELIZE: "true" go120-only-profile: @@ -131,7 +131,7 @@ go120-only-profile: ENABLE_PROFILING: "true" ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.20.14" + GO_VERSION: "1.21.13" LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled PARALLELIZE: "true" go120-profile-trace: @@ -142,7 +142,7 @@ go120-profile-trace: ENABLE_PROFILING: "true" ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.20.14" + GO_VERSION: "1.21.13" LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled PARALLELIZE: "true" go120-trace-asm: @@ -153,7 +153,7 @@ go120-trace-asm: ENABLE_PROFILING: "false" ENABLE_APPSEC: "true" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.20.14" + GO_VERSION: "1.21.13" LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled PARALLELIZE: "true" go120-profile-trace-asm: @@ -164,6 +164,6 @@ go120-profile-trace-asm: ENABLE_PROFILING: "true" ENABLE_APPSEC: "true" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.20.14" + GO_VERSION: "1.21.13" LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled PARALLELIZE: "true" diff --git a/pinddtrace.go b/pinddtrace.go index a50d0073e8..44a736750a 100644 --- a/pinddtrace.go +++ b/pinddtrace.go @@ -127,8 +127,8 @@ func modTidy(goVersion string) error { func main() { p := pinning{} p.loadHeadCommit() - p.pin("internal/apps/go.mod", "1.21.10") - p.pin("internal/**/**/go.mod", "1.20.14") - p.pin("v2/contrib/**/**/go.mod", "1.20.14") - p.pin("v2/contrib/**/**/**/go.mod", "1.20.14") + p.pin("internal/apps/go.mod", "1.21.13") + p.pin("internal/**/**/go.mod", "1.21.13") + p.pin("contrib/**/**/go.mod", "1.21.13") + p.pin("contrib/**/**/**/go.mod", "1.21.13") } From 8888a9c8d776b36f85a42892c4e96c9b1e47e3b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Tue, 27 Aug 2024 18:36:34 +0200 Subject: [PATCH 18/21] fix: set go.work version to 1.22 --- go.work | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.work b/go.work index 89dfe0b5a8..336add9989 100644 --- a/go.work +++ b/go.work @@ -1,4 +1,4 @@ -go 1.23 // Go version must match the highest supported version, not the minimum supported version, with format X.Y. +go 1.22 // Go version must match the highest supported version, not the minimum supported version, with format X.Y. use ( . From 5eaee6a866cf7ab106bd86e1615fecbd1b6dca44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Wed, 28 Aug 2024 10:54:14 +0200 Subject: [PATCH 19/21] fix: set correct segmentio/kafka.go.v0 name --- instrumentation/packages.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation/packages.go b/instrumentation/packages.go index 489b23e9e7..47ef8359b0 100644 --- a/instrumentation/packages.go +++ b/instrumentation/packages.go @@ -52,7 +52,7 @@ const ( PackageSyndtrGoLevelDB Package = "syndtr/goleveldb/leveldb" PackageSirupsenLogrus Package = "sirupsen/logrus" PackageShopifySarama Package = "Shopify/sarama" - PackageSegmentioKafkaGo Package = "segmentio/kafka-go.v0" + PackageSegmentioKafkaGo Package = "segmentio/kafka.go.v0" PackageRedisGoRedisV9 Package = "redis/go-redis.v9" PackageOlivereElasticV5 Package = "olivere/elastic" PackageMiekgDNS Package = "miekg/dns" From 1d90163852f1af9ddcbafca355befbe8cdbd1d42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Wed, 28 Aug 2024 10:56:50 +0200 Subject: [PATCH 20/21] fix: update container_linux_test.go --- internal/container_linux_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/container_linux_test.go b/internal/container_linux_test.go index b5814b0bb8..029ff647c4 100644 --- a/internal/container_linux_test.go +++ b/internal/container_linux_test.go @@ -69,7 +69,7 @@ func TestReadContainerIDFromCgroup(t *testing.T) { cid := "8c046cb0b72cd4c99f51b5591cd5b095967f58ee003710a45280c28ee1a9c7fa" cgroupContents := "10:hugetlb:/kubepods/burstable/podfd52ef25-a87d-11e9-9423-0800271a638e/" + cid - tmpFile, err := os.CreateTemp(os.MkdirTemp(), "fake-cgroup-") + tmpFile, err := os.CreateTemp(os.TempDir(), "fake-cgroup-") if err != nil { t.Fatalf("failed to create fake cgroup file: %v", err) } @@ -101,7 +101,7 @@ func TestReadEntityIDFallbackOnInode(t *testing.T) { defer func(cid string) { containerID = cid }(containerID) containerID = "" - sysFsCgroupPath := path.Join(os.MkdirTemp(), "sysfscgroup") + sysFsCgroupPath := path.Join(os.TempDir(), "sysfscgroup") groupControllerPath := path.Join(sysFsCgroupPath, "mynode") err := os.MkdirAll(groupControllerPath, 0755) require.NoError(t, err) @@ -236,7 +236,7 @@ func TestGetCgroupInode(t *testing.T) { for _, tc := range tests { t.Run(tc.description, func(t *testing.T) { - sysFsCgroupPath := path.Join(os.MkdirTemp(), "sysfscgroup") + sysFsCgroupPath := path.Join(os.TempDir(), "sysfscgroup") groupControllerPath := path.Join(sysFsCgroupPath, tc.controller, tc.cgroupNodeDir) err := os.MkdirAll(groupControllerPath, 0755) require.NoError(t, err) From 44b203dcd6fc337a4fdcccd244a489dc19151bf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Wed, 28 Aug 2024 11:20:03 +0200 Subject: [PATCH 21/21] chore: pin to latest dd-trace-go commit --- contrib/99designs/gqlgen/go.mod | 2 +- contrib/IBM/sarama/go.mod | 2 +- contrib/Shopify/sarama/go.mod | 2 +- contrib/aws/aws-sdk-go-v2/go.mod | 2 +- contrib/aws/aws-sdk-go/go.mod | 2 +- contrib/bradfitz/gomemcache/go.mod | 2 +- contrib/cloud.google.com/go/pubsub.v1/go.mod | 2 +- contrib/confluentinc/confluent-kafka-go/kafka.v2/go.mod | 2 +- contrib/confluentinc/confluent-kafka-go/kafka/go.mod | 2 +- contrib/database/sql/go.mod | 2 +- contrib/dimfeld/httptreemux.v5/go.mod | 2 +- contrib/elastic/go-elasticsearch.v6/go.mod | 2 +- contrib/emicklei/go-restful.v3/go.mod | 2 +- contrib/gin-gonic/gin/go.mod | 2 +- contrib/globalsign/mgo/go.mod | 2 +- contrib/go-chi/chi.v5/go.mod | 2 +- contrib/go-chi/chi/go.mod | 2 +- contrib/go-pg/pg.v10/go.mod | 2 +- contrib/go-redis/redis.v7/go.mod | 2 +- contrib/go-redis/redis.v8/go.mod | 2 +- contrib/go-redis/redis/go.mod | 2 +- contrib/go.mongodb.org/mongo-driver/go.mod | 2 +- contrib/gocql/gocql/go.mod | 2 +- contrib/gofiber/fiber.v2/go.mod | 2 +- contrib/gomodule/redigo/go.mod | 2 +- contrib/google.golang.org/api/go.mod | 2 +- contrib/google.golang.org/grpc/go.mod | 2 +- contrib/gorilla/mux/go.mod | 2 +- contrib/gorm.io/gorm.v1/go.mod | 2 +- contrib/graph-gophers/graphql-go/go.mod | 2 +- contrib/graphql-go/graphql/go.mod | 2 +- contrib/hashicorp/consul/go.mod | 2 +- contrib/hashicorp/vault/go.mod | 2 +- contrib/jackc/pgx.v5/go.mod | 2 +- contrib/jmoiron/sqlx/go.mod | 2 +- contrib/julienschmidt/httprouter/go.mod | 2 +- contrib/k8s.io/client-go/go.mod | 2 +- contrib/labstack/echo.v4/go.mod | 2 +- contrib/miekg/dns/go.mod | 2 +- contrib/net/http/go.mod | 2 +- contrib/olivere/elastic.v5/go.mod | 2 +- contrib/redis/go-redis.v9/go.mod | 2 +- contrib/segmentio/kafka-go/go.mod | 2 +- contrib/sirupsen/logrus/go.mod | 2 +- contrib/syndtr/goleveldb/go.mod | 2 +- contrib/tidwall/buntdb/go.mod | 2 +- contrib/twitchtv/twirp/go.mod | 2 +- contrib/urfave/negroni/go.mod | 2 +- contrib/valyala/fasthttp/go.mod | 2 +- instrumentation/internal/namingschematest/go.mod | 2 +- instrumentation/testutils/grpc/go.mod | 2 +- internal/apps/go.mod | 2 +- internal/contrib/validationtest/go.mod | 2 +- internal/traceprof/traceproftest/go.mod | 2 +- tools/fixmodules/go.sum | 0 tools/v2check/_stage/go.mod | 2 +- tools/v2check/go.mod | 2 +- 57 files changed, 56 insertions(+), 56 deletions(-) create mode 100644 tools/fixmodules/go.sum diff --git a/contrib/99designs/gqlgen/go.mod b/contrib/99designs/gqlgen/go.mod index 7844658078..4477a186a2 100644 --- a/contrib/99designs/gqlgen/go.mod +++ b/contrib/99designs/gqlgen/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/99designs/gqlgen v0.17.36 - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/stretchr/testify v1.9.0 github.com/vektah/gqlparser/v2 v2.5.16 ) diff --git a/contrib/IBM/sarama/go.mod b/contrib/IBM/sarama/go.mod index 79baa44ea9..85bc6f7f11 100644 --- a/contrib/IBM/sarama/go.mod +++ b/contrib/IBM/sarama/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/IBM/sarama/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/IBM/sarama v1.40.0 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/Shopify/sarama/go.mod b/contrib/Shopify/sarama/go.mod index a4ea920761..62a4438e14 100644 --- a/contrib/Shopify/sarama/go.mod +++ b/contrib/Shopify/sarama/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/Shopify/sarama/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/Shopify/sarama v1.38.1 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/aws/aws-sdk-go-v2/go.mod b/contrib/aws/aws-sdk-go-v2/go.mod index 4c842354a3..4851f84807 100644 --- a/contrib/aws/aws-sdk-go-v2/go.mod +++ b/contrib/aws/aws-sdk-go-v2/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go-v2/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-beta.2 + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/aws/aws-sdk-go-v2 v1.30.3 github.com/aws/aws-sdk-go-v2/config v1.27.27 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8 diff --git a/contrib/aws/aws-sdk-go/go.mod b/contrib/aws/aws-sdk-go/go.mod index ac8963e8da..43bd8a9c6f 100644 --- a/contrib/aws/aws-sdk-go/go.mod +++ b/contrib/aws/aws-sdk-go/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/aws/aws-sdk-go/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/aws/aws-sdk-go v1.44.327 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/bradfitz/gomemcache/go.mod b/contrib/bradfitz/gomemcache/go.mod index 491f03b8bb..bfec16c8a6 100644 --- a/contrib/bradfitz/gomemcache/go.mod +++ b/contrib/bradfitz/gomemcache/go.mod @@ -19,7 +19,7 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect github.com/DataDog/sketches-go v1.4.5 // indirect diff --git a/contrib/cloud.google.com/go/pubsub.v1/go.mod b/contrib/cloud.google.com/go/pubsub.v1/go.mod index a4711dd6ac..bcbb666a54 100644 --- a/contrib/cloud.google.com/go/pubsub.v1/go.mod +++ b/contrib/cloud.google.com/go/pubsub.v1/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( cloud.google.com/go/pubsub v1.36.1 - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/stretchr/testify v1.8.4 google.golang.org/api v0.169.0 google.golang.org/grpc v1.64.0 diff --git a/contrib/confluentinc/confluent-kafka-go/kafka.v2/go.mod b/contrib/confluentinc/confluent-kafka-go/kafka.v2/go.mod index 393f8c0b0d..cb3dc4dda8 100644 --- a/contrib/confluentinc/confluent-kafka-go/kafka.v2/go.mod +++ b/contrib/confluentinc/confluent-kafka-go/kafka.v2/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/ka go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/confluentinc/confluent-kafka-go/v2 v2.2.0 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/confluentinc/confluent-kafka-go/kafka/go.mod b/contrib/confluentinc/confluent-kafka-go/kafka/go.mod index 34071876cb..6c9528dc24 100644 --- a/contrib/confluentinc/confluent-kafka-go/kafka/go.mod +++ b/contrib/confluentinc/confluent-kafka-go/kafka/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/confluentinc/confluent-kafka-go/ka go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/confluentinc/confluent-kafka-go v1.9.2 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/database/sql/go.mod b/contrib/database/sql/go.mod index a7d172ed97..8887a5ac3f 100644 --- a/contrib/database/sql/go.mod +++ b/contrib/database/sql/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/DataDog/datadog-go/v5 v5.5.0 - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/denisenkom/go-mssqldb v0.11.0 github.com/go-sql-driver/mysql v1.6.0 github.com/lib/pq v1.10.2 diff --git a/contrib/dimfeld/httptreemux.v5/go.mod b/contrib/dimfeld/httptreemux.v5/go.mod index 1da4716247..0a5aa6715a 100644 --- a/contrib/dimfeld/httptreemux.v5/go.mod +++ b/contrib/dimfeld/httptreemux.v5/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/dimfeld/httptreemux/v5 v5.5.0 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/elastic/go-elasticsearch.v6/go.mod b/contrib/elastic/go-elasticsearch.v6/go.mod index 9b31faeae3..d0593438fc 100644 --- a/contrib/elastic/go-elasticsearch.v6/go.mod +++ b/contrib/elastic/go-elasticsearch.v6/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/elastic/go-elasticsearch.v6/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/elastic/go-elasticsearch/v6 v6.8.5 github.com/elastic/go-elasticsearch/v7 v7.17.1 github.com/elastic/go-elasticsearch/v8 v8.4.0 diff --git a/contrib/emicklei/go-restful.v3/go.mod b/contrib/emicklei/go-restful.v3/go.mod index 91c87dcb2c..8d6ac3097e 100644 --- a/contrib/emicklei/go-restful.v3/go.mod +++ b/contrib/emicklei/go-restful.v3/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/emicklei/go-restful.v3/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/emicklei/go-restful/v3 v3.11.0 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/gin-gonic/gin/go.mod b/contrib/gin-gonic/gin/go.mod index 2db19d720c..a968ef8d59 100644 --- a/contrib/gin-gonic/gin/go.mod +++ b/contrib/gin-gonic/gin/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/gin-gonic/gin/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/gin-gonic/gin v1.9.1 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/globalsign/mgo/go.mod b/contrib/globalsign/mgo/go.mod index 7d8e84b51f..7034f7c03d 100644 --- a/contrib/globalsign/mgo/go.mod +++ b/contrib/globalsign/mgo/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/globalsign/mgo/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/go-chi/chi.v5/go.mod b/contrib/go-chi/chi.v5/go.mod index ebe37309dc..c1fde02cd5 100644 --- a/contrib/go-chi/chi.v5/go.mod +++ b/contrib/go-chi/chi.v5/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/go-chi/chi.v5/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/go-chi/chi/v5 v5.0.10 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/go-chi/chi/go.mod b/contrib/go-chi/chi/go.mod index b751935fe1..a349ec4f60 100644 --- a/contrib/go-chi/chi/go.mod +++ b/contrib/go-chi/chi/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/go-chi/chi/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/go-chi/chi v1.5.4 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/go-pg/pg.v10/go.mod b/contrib/go-pg/pg.v10/go.mod index 0dbae3a688..7b0a0adb38 100644 --- a/contrib/go-pg/pg.v10/go.mod +++ b/contrib/go-pg/pg.v10/go.mod @@ -21,7 +21,7 @@ require ( github.com/DataDog/datadog-agent/pkg/obfuscate v0.52.1 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.52.1 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect github.com/DataDog/sketches-go v1.4.5 // indirect diff --git a/contrib/go-redis/redis.v7/go.mod b/contrib/go-redis/redis.v7/go.mod index 92a6b7926b..f338e23f38 100644 --- a/contrib/go-redis/redis.v7/go.mod +++ b/contrib/go-redis/redis.v7/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v7/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/go-redis/redis/v7 v7.4.1 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/go-redis/redis.v8/go.mod b/contrib/go-redis/redis.v8/go.mod index ea1aacb19d..500e9ace02 100644 --- a/contrib/go-redis/redis.v8/go.mod +++ b/contrib/go-redis/redis.v8/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/go-redis/redis.v8/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/go-redis/redis/v8 v8.11.5 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/go-redis/redis/go.mod b/contrib/go-redis/redis/go.mod index ed3043ceaa..d8c1a140f9 100644 --- a/contrib/go-redis/redis/go.mod +++ b/contrib/go-redis/redis/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/go-redis/redis/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/go-redis/redis v6.15.9+incompatible github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/go.mongodb.org/mongo-driver/go.mod b/contrib/go.mongodb.org/mongo-driver/go.mod index 3cfb824833..297ce72b2d 100644 --- a/contrib/go.mongodb.org/mongo-driver/go.mod +++ b/contrib/go.mongodb.org/mongo-driver/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/go.mongodb.org/mongo-driver/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/stretchr/testify v1.8.4 go.mongodb.org/mongo-driver v1.12.1 ) diff --git a/contrib/gocql/gocql/go.mod b/contrib/gocql/gocql/go.mod index ed64748f63..ad63e74c71 100644 --- a/contrib/gocql/gocql/go.mod +++ b/contrib/gocql/gocql/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/gocql/gocql/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/gocql/gocql v0.0.0-20220224095938-0eacd3183625 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/gofiber/fiber.v2/go.mod b/contrib/gofiber/fiber.v2/go.mod index 5eca6a9897..fb84cf5222 100644 --- a/contrib/gofiber/fiber.v2/go.mod +++ b/contrib/gofiber/fiber.v2/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/gofiber/fiber.v2/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/gofiber/fiber/v2 v2.50.0 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/gomodule/redigo/go.mod b/contrib/gomodule/redigo/go.mod index 513dc6a8d6..aab7f23440 100644 --- a/contrib/gomodule/redigo/go.mod +++ b/contrib/gomodule/redigo/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/gomodule/redigo/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/gomodule/redigo v1.8.9 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/google.golang.org/api/go.mod b/contrib/google.golang.org/api/go.mod index 1a4fd383f6..880012bf9b 100644 --- a/contrib/google.golang.org/api/go.mod +++ b/contrib/google.golang.org/api/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/stretchr/testify v1.8.4 golang.org/x/oauth2 v0.18.0 google.golang.org/api v0.169.0 diff --git a/contrib/google.golang.org/grpc/go.mod b/contrib/google.golang.org/grpc/go.mod index 961f7d8392..b34e2468dd 100644 --- a/contrib/google.golang.org/grpc/go.mod +++ b/contrib/google.golang.org/grpc/go.mod @@ -5,7 +5,7 @@ go 1.21 require ( github.com/DataDog/appsec-internal-go v1.5.0 github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 v2.0.0-20240827110213-c6fc4fe2047a - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/golang/protobuf v1.5.4 github.com/stretchr/testify v1.8.4 github.com/tinylib/msgp v1.1.9 diff --git a/contrib/gorilla/mux/go.mod b/contrib/gorilla/mux/go.mod index 0bca8bbfc2..59cbee8bf1 100644 --- a/contrib/gorilla/mux/go.mod +++ b/contrib/gorilla/mux/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/gorilla/mux v1.8.0 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/gorm.io/gorm.v1/go.mod b/contrib/gorm.io/gorm.v1/go.mod index a76b45ecfc..c69458fc0c 100644 --- a/contrib/gorm.io/gorm.v1/go.mod +++ b/contrib/gorm.io/gorm.v1/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/DataDog/dd-trace-go/contrib/database/sql/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/go-sql-driver/mysql v1.6.0 github.com/jackc/pgx/v5 v5.4.2 github.com/lib/pq v1.10.2 diff --git a/contrib/graph-gophers/graphql-go/go.mod b/contrib/graph-gophers/graphql-go/go.mod index fab22c2dab..fb40be33af 100644 --- a/contrib/graph-gophers/graphql-go/go.mod +++ b/contrib/graph-gophers/graphql-go/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/graph-gophers/graphql-go/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/graph-gophers/graphql-go v1.5.0 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/graphql-go/graphql/go.mod b/contrib/graphql-go/graphql/go.mod index f1362ccc6e..2a05ae9eaf 100644 --- a/contrib/graphql-go/graphql/go.mod +++ b/contrib/graphql-go/graphql/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/graphql-go/graphql/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/graphql-go/graphql v0.8.1 github.com/graphql-go/handler v0.2.3 github.com/hashicorp/go-multierror v1.1.1 diff --git a/contrib/hashicorp/consul/go.mod b/contrib/hashicorp/consul/go.mod index 43db617dff..fb0fa81e3e 100644 --- a/contrib/hashicorp/consul/go.mod +++ b/contrib/hashicorp/consul/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/hashicorp/consul/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/hashicorp/consul/api v1.24.0 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/hashicorp/vault/go.mod b/contrib/hashicorp/vault/go.mod index 4845928701..b545be912e 100644 --- a/contrib/hashicorp/vault/go.mod +++ b/contrib/hashicorp/vault/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/hashicorp/vault/api v1.9.2 github.com/hashicorp/vault/sdk v0.9.2 github.com/stretchr/testify v1.8.4 diff --git a/contrib/jackc/pgx.v5/go.mod b/contrib/jackc/pgx.v5/go.mod index a56ee85f2e..687037ed10 100644 --- a/contrib/jackc/pgx.v5/go.mod +++ b/contrib/jackc/pgx.v5/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/jackc/pgx.v5/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/jackc/pgx/v5 v5.4.2 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/jmoiron/sqlx/go.mod b/contrib/jmoiron/sqlx/go.mod index c9d8dd3d8d..7430957d6a 100644 --- a/contrib/jmoiron/sqlx/go.mod +++ b/contrib/jmoiron/sqlx/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/DataDog/dd-trace-go/contrib/database/sql/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/denisenkom/go-mssqldb v0.11.0 github.com/go-sql-driver/mysql v1.6.0 github.com/jmoiron/sqlx v1.3.5 diff --git a/contrib/julienschmidt/httprouter/go.mod b/contrib/julienschmidt/httprouter/go.mod index 4624412325..09310d2fc2 100644 --- a/contrib/julienschmidt/httprouter/go.mod +++ b/contrib/julienschmidt/httprouter/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/julienschmidt/httprouter v1.3.0 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/k8s.io/client-go/go.mod b/contrib/k8s.io/client-go/go.mod index 4978142c2f..16ccc5fe24 100644 --- a/contrib/k8s.io/client-go/go.mod +++ b/contrib/k8s.io/client-go/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/stretchr/testify v1.8.4 k8s.io/apimachinery v0.23.17 k8s.io/client-go v0.23.17 diff --git a/contrib/labstack/echo.v4/go.mod b/contrib/labstack/echo.v4/go.mod index a2b1dca6ed..67cf3c181f 100644 --- a/contrib/labstack/echo.v4/go.mod +++ b/contrib/labstack/echo.v4/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/labstack/echo/v4 v4.11.1 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/miekg/dns/go.mod b/contrib/miekg/dns/go.mod index 12f73d29e6..af1dd55449 100644 --- a/contrib/miekg/dns/go.mod +++ b/contrib/miekg/dns/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/miekg/dns/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/miekg/dns v1.1.55 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/net/http/go.mod b/contrib/net/http/go.mod index 61b9e09668..48c335ff1d 100644 --- a/contrib/net/http/go.mod +++ b/contrib/net/http/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/net/http/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/olivere/elastic.v5/go.mod b/contrib/olivere/elastic.v5/go.mod index b25b1535d7..b29749dfd2 100644 --- a/contrib/olivere/elastic.v5/go.mod +++ b/contrib/olivere/elastic.v5/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/olivere/elastic.v5/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/stretchr/testify v1.8.4 gopkg.in/olivere/elastic.v5 v5.0.84 ) diff --git a/contrib/redis/go-redis.v9/go.mod b/contrib/redis/go-redis.v9/go.mod index 4666e4ac89..ccadcff410 100644 --- a/contrib/redis/go-redis.v9/go.mod +++ b/contrib/redis/go-redis.v9/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/redis/go-redis.v9/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/redis/go-redis/v9 v9.1.0 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/segmentio/kafka-go/go.mod b/contrib/segmentio/kafka-go/go.mod index ed7b0b95ab..34f13d0561 100644 --- a/contrib/segmentio/kafka-go/go.mod +++ b/contrib/segmentio/kafka-go/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/segmentio/kafka-go/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/segmentio/kafka-go v0.4.42 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/sirupsen/logrus/go.mod b/contrib/sirupsen/logrus/go.mod index 610b6da7bc..c823f68a72 100644 --- a/contrib/sirupsen/logrus/go.mod +++ b/contrib/sirupsen/logrus/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/sirupsen/logrus/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/sirupsen/logrus v1.9.3 github.com/stretchr/testify v1.8.4 ) diff --git a/contrib/syndtr/goleveldb/go.mod b/contrib/syndtr/goleveldb/go.mod index 7141b5b231..a701a80749 100644 --- a/contrib/syndtr/goleveldb/go.mod +++ b/contrib/syndtr/goleveldb/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/syndtr/goleveldb/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/stretchr/testify v1.8.4 github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d ) diff --git a/contrib/tidwall/buntdb/go.mod b/contrib/tidwall/buntdb/go.mod index d545fcefbc..020ffe07ff 100644 --- a/contrib/tidwall/buntdb/go.mod +++ b/contrib/tidwall/buntdb/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/tidwall/buntdb/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/stretchr/testify v1.8.4 github.com/tidwall/buntdb v1.3.0 ) diff --git a/contrib/twitchtv/twirp/go.mod b/contrib/twitchtv/twirp/go.mod index 425155e211..f3f7ee2a02 100644 --- a/contrib/twitchtv/twirp/go.mod +++ b/contrib/twitchtv/twirp/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/twitchtv/twirp/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/stretchr/testify v1.8.4 github.com/twitchtv/twirp v8.1.3+incompatible ) diff --git a/contrib/urfave/negroni/go.mod b/contrib/urfave/negroni/go.mod index 20872c2fb8..7f3dd5b417 100644 --- a/contrib/urfave/negroni/go.mod +++ b/contrib/urfave/negroni/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/stretchr/testify v1.8.4 github.com/urfave/negroni v1.0.0 ) diff --git a/contrib/valyala/fasthttp/go.mod b/contrib/valyala/fasthttp/go.mod index 2f272ffe64..aff4cf533c 100644 --- a/contrib/valyala/fasthttp/go.mod +++ b/contrib/valyala/fasthttp/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/stretchr/testify v1.8.4 github.com/valyala/fasthttp v1.51.0 ) diff --git a/instrumentation/internal/namingschematest/go.mod b/instrumentation/internal/namingschematest/go.mod index cf3eae60f0..bf30adba71 100644 --- a/instrumentation/internal/namingschematest/go.mod +++ b/instrumentation/internal/namingschematest/go.mod @@ -44,7 +44,7 @@ require ( github.com/DataDog/dd-trace-go/contrib/twitchtv/twirp/v2 v2.0.0-20240827110213-c6fc4fe2047a github.com/DataDog/dd-trace-go/contrib/urfave/negroni/v2 v2.0.0-20240827110213-c6fc4fe2047a github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 v2.0.0-20240827110213-c6fc4fe2047a - github.com/DataDog/dd-trace-go/v2 v2.0.0-beta.2 + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/IBM/sarama v1.40.0 github.com/Shopify/sarama v1.38.1 github.com/aws/aws-sdk-go v1.54.20 diff --git a/instrumentation/testutils/grpc/go.mod b/instrumentation/testutils/grpc/go.mod index 8d480470b1..002bd98d93 100644 --- a/instrumentation/testutils/grpc/go.mod +++ b/instrumentation/testutils/grpc/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/instrumentation/testutils/grpc/v2 go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240827110213-c6fc4fe2047a + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 google.golang.org/grpc v1.65.0 google.golang.org/protobuf v1.34.2 ) diff --git a/internal/apps/go.mod b/internal/apps/go.mod index 24a85fdc0a..c73a2ddc50 100644 --- a/internal/apps/go.mod +++ b/internal/apps/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/DataDog/dd-trace-go/contrib/net/http/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 golang.org/x/sync v0.7.0 ) diff --git a/internal/contrib/validationtest/go.mod b/internal/contrib/validationtest/go.mod index 8090e3bfc8..7cf93fd23d 100644 --- a/internal/contrib/validationtest/go.mod +++ b/internal/contrib/validationtest/go.mod @@ -5,7 +5,7 @@ go 1.21 require ( github.com/DataDog/dd-trace-go/contrib/bradfitz/gomemcache/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/miekg/dns/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/bradfitz/gomemcache v0.0.0-20230611145640-acc696258285 github.com/miekg/dns v1.1.59 github.com/stretchr/testify v1.8.4 diff --git a/internal/traceprof/traceproftest/go.mod b/internal/traceprof/traceproftest/go.mod index 23c929fd58..657d5b5841 100644 --- a/internal/traceprof/traceproftest/go.mod +++ b/internal/traceprof/traceproftest/go.mod @@ -5,7 +5,7 @@ go 1.21 require ( github.com/DataDog/dd-trace-go/contrib/google.golang.org/grpc/v2 v2.0.0-20240516153256-8d6fa2bea61d github.com/DataDog/dd-trace-go/contrib/julienschmidt/httprouter/v2 v2.0.0-20240516153256-8d6fa2bea61d - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b github.com/julienschmidt/httprouter v1.3.0 github.com/stretchr/testify v1.8.4 diff --git a/tools/fixmodules/go.sum b/tools/fixmodules/go.sum new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tools/v2check/_stage/go.mod b/tools/v2check/_stage/go.mod index 4bed596194..053312aab0 100644 --- a/tools/v2check/_stage/go.mod +++ b/tools/v2check/_stage/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/v2/tools/v2check/_stage go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 gopkg.in/DataDog/dd-trace-go.v1 v1.62.0 ) diff --git a/tools/v2check/go.mod b/tools/v2check/go.mod index 65632ee709..e152fc616e 100644 --- a/tools/v2check/go.mod +++ b/tools/v2check/go.mod @@ -3,7 +3,7 @@ module github.com/DataDog/dd-trace-go/v2/tools/v2check go 1.21 require ( - github.com/DataDog/dd-trace-go/v2 v2.0.0-20240516153256-8d6fa2bea61d + github.com/DataDog/dd-trace-go/v2 v2.0.0-20240828085650-1d90163852f1 golang.org/x/tools v0.20.0 gopkg.in/DataDog/dd-trace-go.v1 v1.62.0 )