Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Draft; don't merge] v2.0.0-alpha #2427

Draft
wants to merge 522 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
522 commits
Select commit Hold shift + click to select a range
1c62b2f
v2: stabilize contribs go.mod
darccio Dec 21, 2023
34ae239
v2/contrib/google.golang.org/api/internal/gen_endpoints: fix go.sum
darccio Dec 21, 2023
004877c
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Dec 21, 2023
7da8714
.github/workflows: add contribs smoke tests
darccio Dec 21, 2023
64b5f4b
.github/workflows: install gotestsum for contribs' smoke tests
darccio Dec 21, 2023
6acbdcf
.github/workflows: add support for test results path
darccio Dec 21, 2023
0ad0231
.github/workflows/apps: add -t to contribs' go get for smoke tests
darccio Dec 21, 2023
c592d67
.github/workflows: add -t to smoke tests go get to include test packages
darccio Dec 21, 2023
e424dbf
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Dec 21, 2023
93bb147
v2/contrib/aws/*: add empty go files to allow govulncheck to work
darccio Dec 21, 2023
a480295
.github/workflows: add ref to waf-disabled checkout
darccio Dec 21, 2023
89d3f4f
.github/workflows: adapt govunlcheck workflow to some special cases i…
darccio Dec 21, 2023
740580a
.github/workflows: add logging to govulncheck step
darccio Dec 21, 2023
b3096c2
.github/workflows: fix bash conditional
darccio Dec 21, 2023
41483cb
.github/workflows: skip aws-sdk-go contribs
darccio Dec 21, 2023
c0f9915
.github/workflows: move govulncheck for contribs to a bash script
darccio Dec 21, 2023
31f2051
.github/workflows: add execution permission to govulncheck-contribs-v…
darccio Dec 21, 2023
6bb06a7
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Dec 22, 2023
309701f
internal/*: fix v1 import URLs
darccio Dec 22, 2023
006f64a
internal/appsec: remove cyclic import
darccio Dec 22, 2023
469a902
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Dec 22, 2023
10b254c
.github/workflows/apps: fix gotestsum_runner for appsec-test-contrib-…
darccio Dec 22, 2023
0730a99
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Dec 27, 2023
089e965
ddtrace/tracer: remove deprecated SQLCommentInjectionMode
darccio Dec 27, 2023
059d7ed
ddtrace/tracer: remove deprecated WithHTTPRoundTripper
darccio Dec 27, 2023
34efc83
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Dec 27, 2023
cb961b8
v2: unify all *Option under one option pattern for each integration (…
darccio Dec 27, 2023
d4a099d
ddtrace/tracer: remove TODO in traceID.HasUpper (AIT-9181)
darccio Dec 29, 2023
cf01074
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Jan 2, 2024
aca54f5
v2/contrib/gocql/gocql: restore Wrap{Batch,Query}
darccio Jan 2, 2024
dc47607
all: shift all usages of ddtrace.Span to *tracer.Span (#2408)
knusbaum Jan 2, 2024
9766e12
tools/v2check: basic implementation (#2471)
darccio Jan 3, 2024
0ceee5a
contrib: set span.kind and component in httptrace.TraceAndServe (#2474)
ahmed-mez Jan 3, 2024
7936067
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Jan 4, 2024
9888023
ddtrace/tracer: unexport span fields (#2473)
knusbaum Jan 4, 2024
b2c7ecc
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Jan 8, 2024
9145891
ddtrace/tracer: add missing merged changes
darccio Jan 8, 2024
f773e62
ddtracer/tracer: remove internal prefix to GetGlobalTracer call
darccio Jan 8, 2024
7a56cd1
.github/workflows: move back to Dario's branch (#2488)
knusbaum Jan 9, 2024
a925cf9
ddtracer/tracer: add nolint tags for revive
darccio Jan 9, 2024
b3c324a
ddtracer/tracer: add body to waster blocks
darccio Jan 9, 2024
4cea60a
ddtrace/mocktracer: reset mock tracer on stop & don't add finished sp…
darccio Jan 9, 2024
b755518
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Jan 9, 2024
8910183
ddtracer/tracer: update TestStartupLog/errors & TestLogSamplingRules …
darccio Jan 9, 2024
d03b755
ddtrace/tracer: refactor SpanContext to be a struct. (#2476)
knusbaum Jan 10, 2024
43f3d5e
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Jan 10, 2024
672e8c6
.github/workflows: switch back to main system-tests v2-dev branch
darccio Jan 10, 2024
0f76e55
Merge branch 'main' into v2-dev
darccio Jan 10, 2024
97674e4
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Jan 10, 2024
5a5e357
ddtrace/tracer: fix sampler_test.go & go.sum
darccio Jan 10, 2024
36b4528
v2/contrib: go mod tidy
darccio Jan 11, 2024
e694cbd
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Jan 11, 2024
c7497ac
v2/contrib: go mod tidy
darccio Jan 11, 2024
b19658f
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Jan 11, 2024
e3db04b
internal/appsec: set v2 import URLs for telemetry
darccio Jan 11, 2024
57f6f98
ddtrace/tracer: enable nil-object pattern for spans (#2498)
darccio Jan 11, 2024
e6f1b79
Merge branch 'main' into v2-dev
darccio Jan 12, 2024
bb4e4ce
ddtrace/tracer: remove comment and TODO for nil spans
darccio Jan 15, 2024
b17c920
ddtrace: pass log level in Logger interface (#2480)
ahmed-mez Jan 16, 2024
9039e16
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Jan 16, 2024
5c42d12
ddtrace/tracer: add SpanContext.TraceIDLower function
darccio Jan 17, 2024
efab8c4
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Jan 18, 2024
4c57801
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Jan 19, 2024
b9bd457
go.mod: revert to 1.19
darccio Jan 19, 2024
c5c82eb
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Jan 24, 2024
e62631d
internal: revert accidental go mod tidy
darccio Jan 24, 2024
e720f57
ddtrace: add TraceIDLower to ddtrace.SpanContext
darccio Jan 25, 2024
e2083f5
go.mod: mod tidy
darccio Jan 25, 2024
dccb0ed
general: use root go.work instead of replace directives in nested mod…
darccio Jan 25, 2024
2ed35bc
ddtrace/mocktracer: fix mock spanContext
darccio Jan 25, 2024
007518d
ddtrace/opentelemetry: fix otelCtxToDDCtx
darccio Jan 25, 2024
ec2e8e2
go.mod: keep dd-trace-go contribs up to date
darccio Jan 25, 2024
68de6a7
go.mod: revert 1.21 toolchain (again)
darccio Jan 25, 2024
7db38ab
go.mod: all contribs updated
darccio Jan 25, 2024
8ef67f7
go.mod: revert toolchain
darccio Jan 25, 2024
5c47d03
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Jan 26, 2024
9d87297
go.work: add missing go.work.sum
darccio Jan 26, 2024
fa51344
ddtrace/tracer: fix call to GetGlobalTracer
darccio Jan 26, 2024
b5f607d
v2/contrib/confluentinc/confluent-kafka-go/kafka.v2: pin spf13/viper …
darccio Jan 26, 2024
88d1ffb
go.mod: mod tidy
darccio Jan 26, 2024
953581a
ddtrace/mocktracer: add missing UnwrapSlice
darccio Jan 26, 2024
fc1516f
ddtrace/mocktracer: add missing mocktracer.FinishSpan
darccio Jan 26, 2024
64098b5
go.work.sum: mod tidy
darccio Jan 26, 2024
3753906
ddtrace/tracer: fix Test128/enable_128_bit_trace_ids
darccio Jan 26, 2024
63d1bbc
v2/contrib/database/sql: fix test to handle different version of mysq…
darccio Jan 26, 2024
6de4f6a
ddtrace/tracer: add Span.Tag function (#2523)
darccio Jan 31, 2024
a53f613
ddtracer/tracer: Unify sampling rules options (#2522)
dianashevchenko Jan 31, 2024
64fd9f5
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Feb 1, 2024
2c96377
general: upgrade dd-trace-go/v2 in all nested modules
darccio Feb 1, 2024
efda878
ci: trigger
darccio Feb 1, 2024
106f6bf
v2/contrib/labstack/echo.v4: adapt v1 option to v2
darccio Feb 1, 2024
58323b9
ci: trigger
darccio Feb 1, 2024
c56e9c5
v2/contrib/labstack/echo.v4: fix broken test due to deprecation of v1…
darccio Feb 1, 2024
b8c2740
general: upgrade dd-trace-go/v2 in all nested modules
darccio Feb 1, 2024
73a80d5
ci: trigger
darccio Feb 1, 2024
09f5a14
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Feb 2, 2024
26f6781
ddtrace/tracer: add wrapper functions for newUnstartedTracer
darccio Feb 8, 2024
8879acf
README.md: review and update (#2539)
darccio Feb 12, 2024
ca37919
ddtrace/tracer: add nil guard on propagatorW2c.injectTextMap
darccio Feb 12, 2024
c22ccf4
ddtrace/tracer: add private interface spanContextV1 to access unexpor…
darccio Feb 12, 2024
0e11104
ddtrace/tracer: get back custom samplers
darccio Feb 12, 2024
797daf5
ddtrace/tracer: return *StartSpanConfig from NewStartSpanConfig
darccio Feb 12, 2024
0fe3525
ddtrace/tracer: add nil guard for newConfig's StartOption
darccio Feb 12, 2024
412c28f
ddtrace/tracer: add WithFinishConfig
darccio Feb 12, 2024
6c0828a
ddtrace/tracer: add test option WithTestDefaults
darccio Feb 12, 2024
c57d43e
ddtrace/tracer: allow WithTestDefaults to mock the statsd client
darccio Feb 12, 2024
6389c7b
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Feb 15, 2024
255e6ae
contrib/jackc/pgx.v5: move to v2/contrib
darccio Feb 15, 2024
43acc94
v2/contrib/jackc/pgx.v5: go mod init
darccio Feb 15, 2024
018ee94
ddtrace/tracer: fix remote config test
darccio Feb 15, 2024
b607477
Merge remote-tracking branch 'origin/v2-dev' into v2-vits
darccio Feb 15, 2024
1d21ea7
ddtrace/tracer: support SpanLinks in WithStartSpanConfig
darccio Feb 16, 2024
8364b6b
Merge remote-tracking branch 'origin/v2-dev' into v2-vits
darccio Feb 16, 2024
a633e06
ddtracer/opentelemetry: apply attributes on span start based on key p…
darccio Feb 16, 2024
c464ae9
ddtrace/opentelemetry: handle prioritzation of finish time set with E…
darccio Feb 16, 2024
914f0c3
ddtrace/tracer: fix conditional to set NoDebugStack in WithFinishConfig
darccio Feb 16, 2024
f8d4db3
Merge remote-tracking branch 'origin' into v2-vits
darccio Feb 22, 2024
f576f22
ddtrace/mocktracer: allow to set tags in mock spans
darccio Feb 22, 2024
aff5f3b
ddtrace/mocktracer: allow to finish mock spans
darccio Feb 22, 2024
386ab57
ddtrace/mocktracer: set mock spans' tags into underlying span too
darccio Feb 22, 2024
0206562
ddtrace/tracer: fix metrics tests
darccio Feb 23, 2024
07211ad
v2/contrib: update contrib naming policy (#2536)
darccio Feb 23, 2024
37ac519
ddtrace/mocktracer: fix mockspan.Tags to make sure to include the emb…
darccio Feb 23, 2024
bf09059
go.work.sum: mod tidy
darccio Feb 23, 2024
4f446ac
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Mar 4, 2024
e9992c5
disable DB stats feature until bug is fixed
katiehockman Mar 5, 2024
46baf89
contrib/database/sql: remove WithDBStats in example
darccio Mar 6, 2024
c8aa56d
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Mar 6, 2024
4f374b6
Merge branch 'katie.hockman/disable_dbstats' into v2-dev
darccio Mar 6, 2024
bd5878c
ddtrace/tracer: mark parameter as unused in customSampler.SetRate
darccio Mar 6, 2024
db7669a
ddtrace/tracer: fix testAsyncSpanRace
darccio Mar 6, 2024
ca7dda2
v2/contrib/gofiber/fiber.v2: fix WithIgnoreRequest return type
darccio Mar 6, 2024
f6fa61e
.github/workflows: use v2 appsec-test-contrib-submodules.sh to test a…
darccio Mar 6, 2024
002b1bb
.github/workflows/apps: adapt appsec-test-contrib-submodules to remov…
darccio Mar 6, 2024
4c02f59
.github/workflows/apps: fix debug message to find CI failure
darccio Mar 6, 2024
554a60c
.github/workflows/apps: quote $go_tags
darccio Mar 6, 2024
3a25101
internal/globalconfig: disable TestPushStat
darccio Mar 6, 2024
756319d
.github/workflows/apps: remove duplicated appsec tests
darccio Mar 6, 2024
31e88b4
.github/workflows: use absolute path for running appsec script tests
darccio Mar 6, 2024
96a07d7
.github/workflows: fix absolute path for running appsec script tests
darccio Mar 6, 2024
8b44630
.github/workflows: revert to inline scripting to avoid external script
darccio Mar 6, 2024
a9dd3b3
.github/workflows: fix submodules paths
darccio Mar 6, 2024
767889e
.github/workflows: fix disabled appsec Go tests
darccio Mar 6, 2024
73eb80d
.github/workflows: improve submodules logging
darccio Mar 6, 2024
01a2827
.github/workflows: run *CGO tests using Docker
darccio Mar 6, 2024
6e2084f
.github/workflows: move cd statements into docker argument
darccio Mar 6, 2024
02ec36d
.github/workflows: quote bash command
darccio Mar 6, 2024
7403a88
.github/workflows: double quote bash command
darccio Mar 6, 2024
a9da587
.github/workflows: quote the whole env command including the inlined …
darccio Mar 7, 2024
5290319
.github/workflows: move envs to docker env args
darccio Mar 7, 2024
a329b73
.github/workflows: fix syntax
darccio Mar 7, 2024
98e0a0e
.github/workflows: use bash in all runners
darccio Mar 7, 2024
d584c4d
ci: trigger
darccio Mar 7, 2024
1887b04
testing: add testing/v1adapter to help adapt v1 as frontend of v2 (vi…
darccio Mar 7, 2024
60899f5
v2/contrib: upgrade dd-trace-go/v2
darccio Mar 8, 2024
d2c7ed5
v2/contrib/aws/aws-sdk-go-v2: harmonize aws-sdk-go-v2 version with main
darccio Mar 8, 2024
a67afb2
v2/contrib/aws/aws-sdk-go-v2: harmonize smithy-go version with main
darccio Mar 8, 2024
92758f5
v2/contrib/database/sql: harmonize SQL drivers versions with main
darccio Mar 8, 2024
4a1b536
v2/contrib/dimfeld/httptreemux.v5: upgrade dd-trace-go/v2/contrib/net…
darccio Mar 8, 2024
3df8062
v2/contrib/elastic/go-elasticsearch.v6: harmonize SQL drivers version…
darccio Mar 8, 2024
d4d2757
v2/contrib/hashicorp/vault: upgrade dd-trace-go/v2/contrib/net/http
darccio Mar 8, 2024
8775bf8
v2/contrib/jackc/pgx.v5: harmonize versions with main
darccio Mar 8, 2024
0f69c12
v2/contrib/jmoiron/sqlx: harmonize SQL drivers versions with main
darccio Mar 8, 2024
4634440
v2/contrib/labstack/echo.v4: upgrade dd-trace-go/v2/contrib/net/http
darccio Mar 8, 2024
198d2b9
v2/contrib/julienschmidt/httprouter: upgrade dd-trace-go/v2/contrib/n…
darccio Mar 8, 2024
6c3cd02
v2/contrib/gorm.io/gorm.v1: harmonize dependency versions with main
darccio Mar 8, 2024
317dae4
v2/contrib/miekg/dns: harmonize dependency versions with main
darccio Mar 8, 2024
2a9ed66
v2/contrib/valyala/fasthttp: harmonize dependency versions with main
darccio Mar 8, 2024
80f100d
v2/contrib/google.golang.org/api: harmonize dependency versions with …
darccio Mar 8, 2024
b239489
v2/contrib/k8s.io/client-go: harmonize dependency versions with main
darccio Mar 8, 2024
cc13161
v2/contrib/hashicorp/vault: go mod tidy
darccio Mar 8, 2024
d07a4c5
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Mar 11, 2024
b16ce3c
v1internal: refactor namingschematest & globalconfig
darccio Mar 11, 2024
d7921f3
v1internal/namingschema: refactor for v1
darccio Mar 11, 2024
178d5d1
go.work.sum: go mod tidy
darccio Mar 11, 2024
95b28ce
ddtrace/tracer: WithStartSpanConfig must override existing tags if ex…
darccio Mar 11, 2024
37d042c
ddtrace/tracer: WithFinishConfig must override FinishConfig.Error
darccio Mar 11, 2024
7c654a6
ddtrace/mocktracer: get tags from underlying span first
darccio Mar 11, 2024
986c365
ddtrace/mocktracer: ensure that underlying span's tags are treated as…
darccio Mar 11, 2024
f10e297
v1internal/namingschema: add more exported functions & fix tests
darccio Mar 11, 2024
b3f62a0
v1internal/namingschema: export IntegrationType & add go docs to all …
darccio Mar 11, 2024
fdb8ac2
v1internal: rename root package file
darccio Mar 11, 2024
e22f199
v1internal/telemetry: add minimal interface
darccio Mar 11, 2024
c29e4b7
v1internal/telemetry: enhance API
darccio Mar 11, 2024
cf3d523
v1internal/telemetry: add telemetry.Count
darccio Mar 11, 2024
e86899c
v1internal/normalizer: expose normalizer
darccio Mar 11, 2024
d54c964
v2/contrib/hashicorp/vault: update tests
darccio Mar 11, 2024
3046444
v2/contrib/gin-gonic/gin: fix test
darccio Mar 11, 2024
fee9c7c
v2/contrib: fix Tag(ext.Error) related tests
darccio Mar 11, 2024
b5be8a2
contrib/google.golang.org/grpc.v12: remove deprecated contrib
darccio Mar 11, 2024
7691fda
v2/contrib: fix Tag(ext.Error) related tests
darccio Mar 11, 2024
0dad099
v2/contrib/99design/gqlgen: fix Tag(ext.Error) related tests
darccio Mar 11, 2024
b22a5d7
v2/contrib/graph-gophers/graphql-go: fix Tag(ext.Error) related tests
darccio Mar 11, 2024
af0eaa8
ddtrace/tracer: update TestWithStartSpanConfigNonEmptyTags to new Wit…
darccio Mar 11, 2024
dfe9bd9
v2/contrib: fix Tag(ext.Error) related tests
darccio Mar 11, 2024
afa28a0
v2/contrib/aws/aws-sdk-go-v2: pin aws-sdk-go-v2/config to v1.18.21
darccio Mar 11, 2024
3af1c41
v1internal: allow ddtracer/tracer/textmap.go#setPropagatingTag to be …
darccio Mar 11, 2024
e3cfc0f
v1internal/namingschema: add more namingschema API functions
darccio Mar 11, 2024
0209b53
v2/contrib/aws/aws-sdk-go-v2: adjust aws-sdk-go-v2 dependencies
darccio Mar 11, 2024
883dad1
v2/contrib/net/http: go mod tidy
darccio Mar 12, 2024
68327c9
v2/contrib/net/http: go mod tidy (again)
darccio Mar 12, 2024
894b1b1
go.mod: pin google.golang.org/* dependencies
darccio Mar 12, 2024
3b155da
v2/contrib/google.golang.org/api: work on stabilizing dependencies
darccio Mar 12, 2024
54a5c5c
v2/contrib/net/http: go mod tidy
darccio Mar 12, 2024
8c9ac05
v2/contrib/google.golang.org/api: stable dependencies
darccio Mar 12, 2024
cbdabd0
v2/contrib/google.golang.org/api: revert google.golang.org/api back t…
darccio Mar 12, 2024
5ff3b32
v2/contrib/net/http: avoid mocktracer in BenchmarkHttpServeTrace
darccio Mar 12, 2024
fc1f329
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Mar 13, 2024
62e6edb
go.mod: go mod tidy
darccio Mar 13, 2024
39d29bd
v2/contrib/99designs/gqlgen: fix contrib
darccio Mar 13, 2024
0730ca1
FAQ.md: replace WithServiceName by WithService
darccio Mar 13, 2024
163dd88
internal/contrib/options: add Expand function to handle reduced alloc…
darccio Mar 15, 2024
301b62d
v2/contrib: upgrade dd-trace-go/v2 & contribs
darccio Mar 15, 2024
68e1ad2
ci: trigger
darccio Mar 19, 2024
a81194e
ddtrace/tracer: use options.Expand in StartSpanFromContext
darccio Mar 20, 2024
1559d0b
internal/contrib/httptrace: improve memory management in StartRequest…
darccio Mar 20, 2024
7ebff8f
v2/contrib/confluentinc/confluent-kafka-go/kafka*: skip nil options
darccio Mar 20, 2024
224a0bc
chore(otel): adds an API for generating span links (#2614)
mabdinur Mar 21, 2024
918fafc
.github/workflows: fix v2-dev nightly tests
darccio Mar 22, 2024
3ad51a7
internal/contrib/options: fix import cycle
darccio Mar 22, 2024
5b596d3
Merge remote-tracking branch 'origin' into v2-dev
darccio Mar 22, 2024
1694bdb
ddtrace/tracer: fix tests
darccio Mar 25, 2024
c4cfc74
v2/contrib/google.golang.org/grpc: fix tests
darccio Mar 25, 2024
29a213f
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Mar 25, 2024
7fc215e
ddtrace/tracer: create JSON rule in {Span,Trace}SamplingRules
darccio Mar 25, 2024
55cf688
.github/workflows: don't exit on test failure
darccio Mar 25, 2024
09c1b4f
.github/workflows: don't pass a value to run smoke tests in v2
darccio Mar 25, 2024
8af9f77
internal/apps/setup-smoke-test: use go work vendor instead of go mod …
darccio Mar 25, 2024
9562112
internal/apps/setup-smoke-test: revert using go work vendor instead o…
darccio Mar 25, 2024
e062db3
internal/apps/setup-smoke-test: use go work vendor ONLY IN 1.22 inste…
darccio Mar 25, 2024
6f9f98f
internal/apps/setup-smoke-test: add $go argument in corresponding bui…
darccio Mar 25, 2024
42807ee
.github/workflows: disable reviewdog
darccio Mar 25, 2024
a36ab4e
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Mar 27, 2024
21c31dc
v2/contrib/database/sql: set WithDBStats to return OptionFn
darccio Mar 27, 2024
efa4ba6
v1internal: remove statsd carrier stuff
darccio Mar 27, 2024
be6407b
ddtrace/tracer: use localhost instead of my-host in TestTracerOptions…
darccio Mar 27, 2024
8d1ea11
Merge remote-tracking branch 'origin/main' into v2-dev
darccio Apr 8, 2024
c8ff8d7
ddtrace/tracer: remove Span.Tag function (reverts #2523)
darccio Apr 8, 2024
75c8781
v2/contrib/segmentio/kafka-go: fix WithDataStreams option signature
darccio Apr 8, 2024
f0eee6a
[v2] ddtrace/tracer: tidy up Tracer interface (#2633)
darccio May 8, 2024
1422d9c
tools/v2check: implement migration tool with all the required changes…
darccio May 16, 2024
ddac629
Merge branch main into v2-dev
darccio May 16, 2024
8d6fa2b
Merge remote-tracking branch 'origin' into v2-dev
darccio May 16, 2024
1bc2693
go.mod: upgrade to Go 1.20 & latest dd-trace-go/v2*
darccio May 17, 2024
532a55a
go.mod: add missing dependency to github.com/DataDog/dd-trace-go/v2/c…
darccio May 17, 2024
13caae9
chore: preparing for releasing submodules as v2
darccio May 21, 2024
5c87628
v2/contrib: remove v2 directory, move contrib to root
darccio May 21, 2024
13d2706
internal/appsec: remove contrib/net/http dependency
darccio May 21, 2024
32c9fe4
chore: fix contribs go.mod
darccio May 21, 2024
0d5f5a7
go.mod: remove google.golang.org/grpc
darccio May 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions .github/workflows/apps/govulncheck-contribs-v2.sh
@@ -0,0 +1,10 @@
#!/bin/bash

find ./contrib -mindepth 2 -type f -name go.mod -exec dirname {} \; | while read dir ; do
echo "Checking $dir"
# govulncheck doesn't support modules with only a go.mod in the root
go_files=$(find $dir -maxdepth 1 -type f -name '*.go' | wc -l)
[[ $go_files -eq 0 ]] && dir=$(realpath "$(ls -d $dir/*/ | head)")

govulncheck -C $dir .
done
2 changes: 1 addition & 1 deletion .github/workflows/apps/parse/parse_version.go
Expand Up @@ -8,7 +8,7 @@ package main
import (
"fmt"

"gopkg.in/DataDog/dd-trace-go.v1/internal/version"
"github.com/DataDog/dd-trace-go/v2/internal/version"
)

func ghOutput(varName, v string) string {
Expand Down
20 changes: 20 additions & 0 deletions .github/workflows/apps/test-contrib-submodules.sh
@@ -0,0 +1,20 @@
#!/bin/bash

set -e

# This script is used to test the contrib submodules in the apps directory.
# It is run by the GitHub Actions CI workflow defined in
# .github/workflows/unit-integration-tests.yml.

[[ -d ./contrib ]] || exit 0

CONTRIBS=$(find ./contrib -mindepth 2 -type f -name go.mod -exec dirname {} \;)

for contrib in $CONTRIBS; do
echo "Testing contrib module: $contrib"
contrib_id=$(echo $contrib | sed 's/^\.\///g;s/[\/\.]/_/g')
cd $contrib
[[ "$1" = "smoke" ]] && go get -u -t ./...
gotestsum --junitfile ${TEST_RESULTS}/gotestsum-report-$contrib_id.xml -- ./... -v -race -coverprofile=coverage-$contrib_id.txt -covermode=atomic
cd -
done
112 changes: 86 additions & 26 deletions .github/workflows/appsec.yml
Expand Up @@ -22,19 +22,20 @@ on:

env:
DD_APPSEC_WAF_TIMEOUT: 1m
TESTS: >-
PACKAGES: >-
./appsec/...
./internal/appsec/...
./contrib/gin-gonic/gin/...
./contrib/google.golang.org/grpc/...
./contrib/net/http/...
./contrib/gorilla/mux/...
./contrib/go-chi/chi/...
./contrib/go-chi/chi.v5/...
./contrib/labstack/echo.v4/...
./contrib/99designs/gqlgen/...
./contrib/graphql-go/graphql/...
./contrib/graph-gophers/graphql-go/...
SUBMODULES: >-
./contrib/gin-gonic/gin
./contrib/google.golang.org/grpc
./contrib/net/http
./contrib/gorilla/mux
./contrib/go-chi/chi
./contrib/go-chi/chi.v5
./contrib/labstack/echo.v4
./contrib/99designs/gqlgen
./contrib/graphql-go/graphql
./contrib/graph-gophers/graphql-go

concurrency:
# Automatically cancel previous runs if a new one is triggered to conserve resources.
Expand Down Expand Up @@ -62,6 +63,8 @@ jobs:
path: ${{ steps.cfg.outputs.path }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.ref || github.ref }}

- name: Compute cache configuration
id: cfg
Expand Down Expand Up @@ -99,6 +102,8 @@ jobs:
fail-fast: true # saving some CI time - macos runners too long to get
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.ref || github.ref }}

- name: Restore Go modules cache
uses: actions/cache/restore@v4
Expand Down Expand Up @@ -130,10 +135,17 @@ jobs:
for cgo in "0" "1"; do
for appsec_enabled_env in "" "DD_APPSEC_ENABLED=true" "DD_APPSEC_ENABLED=false"; do
for cgocheck_env in "" "$cgocheck"; do
if ! env CGO_ENABLED=$cgo $appsec_enabled_env $cgocheck_env go test -v $TESTS; then
echo "Failed: env CGO_ENABLED=$cgo $appsec_enabled_env $cgocheck_env go test -v $TESTS"
exit 1
if ! env CGO_ENABLED=$cgo $appsec_enabled_env $cgocheck_env go test -v $PACKAGES; then
echo "Failed: env CGO_ENABLED=$cgo $appsec_enabled_env $cgocheck_env go test -v $PACKAGES"
fi

for submodule in $SUBMODULES; do
cd $submodule
if ! env CGO_ENABLED=$cgo $appsec_enabled_env $cgocheck_env go test -v .; then
echo "Failed: env CGO_ENABLED=$cgo $appsec_enabled_env $cgocheck_env go test -v . (submodule: $submodule)"
fi
cd -
done
done
done
done
Expand All @@ -149,6 +161,8 @@ jobs:
runs-on: [ macos-latest, windows-latest, ubuntu-latest-16-cores ]
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.ref || github.ref }}

- name: Restore Go modules cache
uses: actions/cache/restore@v4
Expand All @@ -175,10 +189,17 @@ jobs:
set -euxo pipefail
for appsec_enabled_env in "" "DD_APPSEC_ENABLED=true" "DD_APPSEC_ENABLED=false"; do
for go_tags in "" "-tags datadog.no_waf"; do
if ! env $appsec_enabled_env go test -v $go_tags $TESTS; then
echo "Failed: env $appsec_enabled_env go test -v $go_tags $TESTS"
exit 1
if ! env $appsec_enabled_env go test -v $go_tags $PACKAGES; then
echo "Failed: env $appsec_enabled_env go test -v $go_tags $PACKAGES"
fi

for submodule in $SUBMODULES; do
cd $submodule
if ! env $appsec_enabled_env go test -v $go_tags .; then
echo "Failed: env $appsec_enabled_env go test -v $go_tags . (submodule: $submodule)"
fi
cd -
done
done
done

Expand All @@ -202,6 +223,8 @@ jobs:
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.ref || github.ref }}

- name: Restore Go modules cache
uses: actions/cache/restore@v4
Expand Down Expand Up @@ -243,29 +266,66 @@ jobs:
golang:${{ matrix.go-version }}-${{ matrix.distribution }}
- name: Install pre-requisites on Alpine
if: matrix.distribution == 'alpine'
run: sudo docker exec -i test.runner apk add gcc musl-dev libc6-compat
run: sudo docker exec -i test.runner apk add gcc musl-dev libc6-compat bash
- name: Output go env
run: sudo docker exec -i test.runner go env

- name: NOCGO, undefined appsec state
run: sudo docker exec -i test.runner env CGO_ENABLED=0 go test -v $TESTS
run: |
sudo docker exec -i -e CGO_ENABLED=0 test.runner go test -v $PACKAGES
for submodule in $SUBMODULES; do
if ! sudo docker exec -i -e CGO_ENABLED=0 test.runner bash -c "cd $submodule && go test -v ."; then
echo "Failed: env CGO_ENABLED=0 bash -c \"cd $submodule && go test -v .\" (submodule: $submodule)"
fi
done
- name: NOCGO, appsec disabled
run: sudo docker exec -i test.runner env CGO_ENABLED=0 DD_APPSEC_ENABLED=false go test -v $TESTS
run: |
sudo docker exec -i -e CGO_ENABLED=0 -e DD_APPSEC_ENABLED=false test.runner go test -v $PACKAGES
for submodule in $SUBMODULES; do
if ! sudo docker exec -i -e CGO_ENABLED=0 -e DD_APPSEC_ENABLED=false test.runner bash -c "cd $submodule && go test -v ."; then
echo "Failed: env CGO_ENABLED=0 DD_APPSEC_ENABLED=false bash -c \"cd $submodule && go test -v .\" (submodule: $submodule)"
fi
done
- name: NOCGO, appsec enabled
run: sudo docker exec -i test.runner env CGO_ENABLED=0 DD_APPSEC_ENABLED=true go test -v $TESTS
run: |
sudo docker exec -i -e CGO_ENABLED=0 -e DD_APPSEC_ENABLED=true test.runner go test -v $PACKAGES
for submodule in $SUBMODULES; do
if ! sudo docker exec -i -e CGO_ENABLED=0 -e DD_APPSEC_ENABLED=true test.runner bash -c "cd $submodule && go test -v ."; then
echo "Failed: env CGO_ENABLED=0 DD_APPSEC_ENABLED=true bash -c \"cd $submodule && go test -v .\" (submodule: $submodule)"
fi
done
- name: CGO, undefined appsec state
run: sudo docker exec -i test.runner env CGO_ENABLED=1 go test -v $TESTS
run: |
sudo docker exec -i -e CGO_ENABLED=1 test.runner go test -v $PACKAGES
for submodule in $SUBMODULES; do
if ! sudo docker exec -i -e CGO_ENABLED=1 test.runner bash -c "cd $submodule && go test -v ."; then
echo "Failed: env CGO_ENABLED=1 bash -c \"cd $submodule && go test -v .\" (submodule: $submodule)"
fi
done
- name: CGO, appsec disabled
run: sudo docker exec -i test.runner env CGO_ENABLED=1 DD_APPSEC_ENABLED=false go test -v $TESTS
run: |
sudo docker exec -i -e CGO_ENABLED=1 -e DD_APPSEC_ENABLED=false test.runner go test -v $PACKAGES
for submodule in $SUBMODULES; do
if ! sudo docker exec -i -e CGO_ENABLED=1 -e DD_APPSEC_ENABLED=false test.runner bash -c "cd $submodule && go test -v ."; then
echo "Failed: env CGO_ENABLED=1 DD_APPSEC_ENABLED=false bash -c \"cd $submodule && go test -v .\" (submodule: $submodule)"
fi
done
- name: CGO, appsec enabled
run: sudo docker exec -i test.runner env CGO_ENABLED=1 DD_APPSEC_ENABLED=true go test -v $TESTS
run: |
sudo docker exec -i -e CGO_ENABLED=1 -e DD_APPSEC_ENABLED=true test.runner go test -v $PACKAGES
for submodule in $SUBMODULES; do
if ! sudo docker exec -i -e CGO_ENABLED=1 -e DD_APPSEC_ENABLED=true test.runner bash -c "cd $submodule && go test -v ."; then
echo "Failed: env CGO_ENABLED=1 DD_APPSEC_ENABLED=true bash -c \"cd $submodule && go test -v .\" (submodule: $submodule)"
fi
done

- name: Clean up
if: always()
run: sudo docker rm --force test.runner || echo "Could not remove container"

# TODO(darccio): revert to use main on release
test-app-smoke-tests:
name: Smoke Tests
uses: DataDog/appsec-go-test-app/.github/workflows/smoke-tests.yml@main
uses: DataDog/appsec-go-test-app/.github/workflows/smoke-tests.yml@dario.castane/AIT-3705/dd-trace-go.v2
with:
dd-trace-go-version: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
dd-trace-go-version: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || '' }}
6 changes: 1 addition & 5 deletions .github/workflows/govulncheck.yml
Expand Up @@ -31,8 +31,4 @@ jobs:
- name: Run govulncheck
run: govulncheck ./ddtrace/... ./appsec/... ./profiler/... ./internal/...
- name: Run govulncheck-contribs
run: |
# Excluding legacy contrib grpc.v12
go list -f '{{.Dir}}' ./contrib/... | grep -v -e grpc.v12 | while read dir ; do
govulncheck -C $dir .
done
run: ./.github/workflows/apps/govulncheck-contribs-v2.sh
2 changes: 1 addition & 1 deletion .github/workflows/multios-unit-tests.yml
Expand Up @@ -53,7 +53,7 @@ jobs:
- name: "Runner ${{ matrix.runner-index }}: Test Core and Contrib (No Integration Tests)"
shell: bash
run: |
go list ./... | grep -v -e grpc.v12 -e google.golang.org/api -e sarama -e confluent-kafka-go -e cmemprof | sort >packages.txt
go list ./... | grep -v -e google.golang.org/api -e sarama -e confluent-kafka-go -e cmemprof | sort >packages.txt
gotestsum --junitfile ${REPORT} -- $(cat packages.txt) -v -coverprofile=coverage.txt -covermode=atomic -timeout 15m
- name: Upload the results to Datadog CI App
if: always()
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/parametric-tests.yml
Expand Up @@ -33,7 +33,7 @@ jobs:
uses: actions/checkout@v3
with:
repository: 'DataDog/system-tests'
ref: ${{ inputs.ref }}
ref: refs/heads/dario.castane/AIT-3705/dd-trace-go.v2

- name: Checkout dd-trace-go
uses: actions/checkout@v3
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/smoke-tests.yml
Expand Up @@ -54,13 +54,20 @@ jobs:
run: |-
go get -u -t $PACKAGES
go mod tidy
for d in `find . -iname go.mod | xargs -n1 dirname`; do pushd $d; go mod tidy; popd; done;
- name: Install requested go-libddwaf version
if: github.event_name == 'workflow_call' && inputs.go-libddwaf-ref != ''
run: |-
go get -u -t github.com/DataDog/go-libddwaf/v2@${{ inputs.go-libddwaf-ref }}
go mod tidy
- name: Compile dd-trace-go
run: go build $PACKAGES
- name: Test contribs (v2)
# It needs to run before "Test dd-trace-go" to avoid TestTelemetryEnabled tests to fail.
run: |
go install gotest.tools/gotestsum@latest
mkdir -p $TEST_RESULTS
./.github/workflows/apps/test-contrib-submodules.sh smoke
- name: Test dd-trace-go
env:
DD_APPSEC_WAF_TIMEOUT: 1h
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/system-tests.yml
Expand Up @@ -108,7 +108,7 @@ jobs:
uses: actions/checkout@v3
with:
repository: 'DataDog/system-tests'
ref: ${{ inputs.ref }}
ref: refs/heads/dario.castane/AIT-3705/dd-trace-go.v2

- name: Checkout dd-trace-go
uses: actions/checkout@v3
Expand Down
51 changes: 13 additions & 38 deletions .github/workflows/unit-integration-tests.yml
Expand Up @@ -36,13 +36,15 @@ jobs:
with:
ref: ${{ inputs.ref || github.ref }}

- name: golangci-lint
uses: reviewdog/action-golangci-lint@v2
with:
go_version: ${{ inputs.go-version }}
golangci_lint_version: v1.52.2
fail_on_error: true
reporter: github-pr-review
## Disabled for v2 until the main PR is merged,
## as it's too large for reviewdog: https://github.com/DataDog/dd-trace-go/actions/runs/8423412332/job/23064985838#step:3:94
# - name: golangci-lint
# uses: reviewdog/action-golangci-lint@v2
# with:
# go_version: ${{ inputs.go-version }}
# golangci_lint_version: v1.52.2
# fail_on_error: true
# reporter: github-pr-review

test-contrib:
runs-on:
Expand Down Expand Up @@ -191,10 +193,8 @@ jobs:
go-version: ${{ inputs.go-version }}

- name: Test Contrib
run: |
mkdir -p $TEST_RESULTS
PACKAGE_NAMES=$(go list ./contrib/... | grep -v -e grpc.v12 -e google.golang.org/api)
gotestsum --junitfile ${TEST_RESULTS}/gotestsum-report.xml -- $PACKAGE_NAMES -v -race -coverprofile=coverage.txt -covermode=atomic
if: always()
run: ./.github/workflows/apps/test-contrib-submodules.sh

- name: Upload the results to Datadog CI App
if: always()
Expand Down Expand Up @@ -241,35 +241,10 @@ jobs:

- name: Testing outlier google.golang.org/api
run: |
cd ./contrib/google.golang.org/api
go get google.golang.org/api@v0.121.0 # version used to generate code
go mod tidy # Go1.16 doesn't update the sum file correctly after the go get, this tidy fixes it
go test -v ./contrib/google.golang.org/api/...

- name: Testing outlier gRPC v1.2
run: |
# This hacky approach is necessary because running the tests regularly
# do not allow using grpc-go@v1.2.0 alongside sketches-go@v1.1.0.
# sketches-go@v1.0.0 is no longer possible to test because internal/datastreams/propagator.go
# expects sketches-go to have the package `github.com/DataDog/sketches-go/ddsketch/encoding` which
# is only present from v1.1.0 onwards.
go mod vendor

# Checkout grpc-go@v1.2.0
cd vendor/google.golang.org && rm -rf grpc
git clone https://github.com/grpc/grpc-go grpc && cd grpc
git fetch origin && git checkout v1.2.0 && cd ../../..

# Checkout sketches-go@v1.1.0
cd vendor/github.com/DataDog && rm -rf sketches-go
git clone https://github.com/DataDog/sketches-go && cd sketches-go
git fetch origin && git checkout v1.1.0 && cd ../../../..

# Revert to old metadata functions as FromIncomingContext and NewOutgoingContext are not present in v1.2.0.
# These functions were updated to current versions to avoid compilation errors in the development environments.
sed -i 's/metadata\.FromIncomingContext/metadata.FromContext/g' ./contrib/google.golang.org/grpc.v12/*
sed -i 's/metadata\.NewOutgoingContext/metadata.NewContext/g' ./contrib/google.golang.org/grpc.v12/*

go test -mod=vendor -v ./contrib/google.golang.org/grpc.v12/...
go test -v ./...

test-core:
runs-on:
Expand Down