Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
4df74d8
poc axum-weblog (index, healthcheck & make_distant_call)
MilanGarnier Jul 7, 2026
6900093
update mirror images
MilanGarnier Jul 7, 2026
3fbe4aa
use existing middleware for reqwest and axum
MilanGarnier Jul 7, 2026
e08425d
fix opentelemetry having simultaneaous different versions. (temporary
MilanGarnier Jul 8, 2026
51dae86
rust manifest edits
MilanGarnier Jul 9, 2026
e98854b
make_extract_call matches spec (passing on test extract behavior)
MilanGarnier Jul 9, 2026
5e064a2
Restructure code
MilanGarnier Jul 9, 2026
d4a926b
skip some missing endpoints
MilanGarnier Jul 9, 2026
c6b1fef
enrich span fix
MilanGarnier Jul 10, 2026
cc693f4
implement /status endpoint
MilanGarnier Jul 10, 2026
aad1265
/status endpoint
MilanGarnier Jul 10, 2026
fbcb8d5
more simple endpoints
MilanGarnier Jul 10, 2026
e439cc2
add endpoints and enable telemetry tests
MilanGarnier Jul 13, 2026
84f8454
disable missing tests for current weblog state
MilanGarnier Jul 15, 2026
5a29dea
test: declare Rust Axum weblog metadata
MilanGarnier Jul 15, 2026
dc1864a
fix: clarify Rust dependency resolution failures
MilanGarnier Jul 15, 2026
fa2382a
address codex review comments
MilanGarnier Jul 15, 2026
adf793c
stop faking tracer features in the weblog: client IP & referer hostname
MilanGarnier Jul 15, 2026
69344c6
remove weblog-side query-string obfuscation
MilanGarnier Jul 15, 2026
70caf8e
refactor(axum): add name to attribute in header interceptor
genesor Jul 16, 2026
c825c41
remove waf
MilanGarnier Jul 16, 2026
5f02bcd
refactor(axum): intall_ddtrace reorg for readability
MilanGarnier Jul 16, 2026
2b88d06
refactor(axum): readability
MilanGarnier Jul 16, 2026
108dea9
fix(axum): add weblog metadata for axum
MilanGarnier Jul 16, 2026
6fcbde2
Merge branch 'main' into milan.garnier/axum-weblog
MilanGarnier Jul 16, 2026
b710b59
nit(axum): some typos
MilanGarnier Jul 16, 2026
a7448fe
fix(axum): disable query string obfuscation test for default server
MilanGarnier Jul 16, 2026
bf6c402
fix(axum): disable network.client.ip standard tags tests
MilanGarnier Jul 16, 2026
44e37f6
docs(axum): document rust/axum weblog in build.md and healthcheck lib…
MilanGarnier Jul 20, 2026
2b185f0
nit: remove spaces used to align in Cargo.toml
MilanGarnier Jul 24, 2026
a073b48
function rename, map or else instead of match ...
MilanGarnier Jul 24, 2026
e1b767c
rename to request_downstream
MilanGarnier Jul 24, 2026
8343f9e
refactor: avoid nesting in request_downstream
MilanGarnier Jul 24, 2026
ab355bb
fix(rust): remove stale test_protobuf.py manifest entry (test removed…
MilanGarnier Jul 24, 2026
c1fc1ff
Merge branch 'main' into milan.garnier/axum-weblog
MilanGarnier Jul 27, 2026
d1a5db2
refactor(rust_weblog): split integration.rs in per library modules
MilanGarnier Jul 27, 2026
589c438
doc(rust_weblog): add comment explaining script purpose
MilanGarnier Jul 27, 2026
8790c8c
doc(rust_weblog): clarify opentelemetry-instrumentation-tower git pin
MilanGarnier Jul 28, 2026
9ba9070
fix(rust_weblog): re-pin opentelemetry-instrumentation-tower in align…
MilanGarnier Jul 28, 2026
1f5713f
refactor(rust_weblog): drop opentelemetry-instrumentation-tower git d…
iunanua Jul 29, 2026
4cfba05
Merge branch 'main' into milan.garnier/axum-weblog
MilanGarnier Jul 29, 2026
2d0ae98
Merge branch 'main' into milan.garnier/axum-weblog
MilanGarnier Jul 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/execute/build.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ Build images used for system tests.
* `php`
* `python`
* `ruby`
* `rust`

`cpp` is not available for `build.sh` because only parametric tests are runnable for `dd-trace-cpp`.

Expand All @@ -48,6 +49,7 @@ Build images used for system tests.
* For `php`: `apache-mod-8.0` (default), `apache-mod-8.1`, `apache-mod-8.2`, `apache-mod-7.4`, `apache-mod-7.3`, `apache-mod-7.2`, `apache-mod-7.1`, `apache-mod-7.0`, `apache-mod-8.2-zts`, `apache-mod-8.1-zts`, `apache-mod-8.0-zts`, `apache-mod-7.4-zts`, `apache-mod-7.3-zts`, `apache-mod-7.2-zts`, `apache-mod-7.1-zts`, `apache-mod-7.0-zts`, `php-fpm-8.5`, `php-fpm-8.2`, `php-fpm-8.1`, `php-fpm-8.0`, `php-fpm-7.4`, `php-fpm-7.3`, `php-fpm-7.2`, `php-fpm-7.1`, `php-fpm-7.0`, `laravel11x`, `symfony7x`
* For `python`: `flask-poc` (default), `fastapi`, `uwsgi-poc`, `django-poc`, `python3.12`
* For `ruby`: `rails70` (default), `rack`, `sinatra21`, and lot of other sinatra/rails versions
* For `rust`: `axum` (default)

### dd-trace-c packages

Expand Down
2 changes: 1 addition & 1 deletion docs/understand/weblogs/end-to-end_weblog.md
Original file line number Diff line number Diff line change
Expand Up @@ -1105,7 +1105,7 @@ Returns a JSON dict, with those values :
{
"status": "ok",
"library": {
"name": "<library's name>", // one of c, cpp, cpp_nginx, cpp_httpd, dotnet, golang, java, nodejs, php, python, ruby
"name": "<library's name>", // one of c, cpp, cpp_nginx, cpp_httpd, dotnet, golang, java, nodejs, php, python, ruby, rust
"version": "1.2.3" // version of the library
}
}
Expand Down
122 changes: 111 additions & 11 deletions manifests/rust.yml

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions mirror_images.lock.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,10 @@ images:
digest: sha256:d7be1c094cc5845ee815d4632fe377514ee6ebcf8efaed6892889657e5ddaaa6
target: registry.ddbuild.io/system-tests/mirror/rockylinux:9
tag: '9'
rust:1.94.1-slim-bookworm:
digest: sha256:cf9dd0ec73e75f827fe59123fff9dc65af1a1c8363c3c31ee8d7f8ad0b6a5fb2
target: registry.ddbuild.io/system-tests/mirror/rust:1.94.1-slim-bookworm
tag: 1.94.1-slim-bookworm
softwaremill/elasticmq-native:1.6.11:
digest: sha256:fe3af4a8dd59f310b20e07ec3499cfdeb16a14f518c95ad7e70f200845dce3f5
target: registry.ddbuild.io/system-tests/mirror/softwaremill/elasticmq-native:1.6.11
Expand Down
1 change: 1 addition & 0 deletions mirror_images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -116,5 +116,6 @@
- "python:3.14-slim"
- "rabbitmq:3.12-management-alpine"
- "rockylinux:9"
- "rust:1.94.1-slim-bookworm"
- "softwaremill/elasticmq-native:1.6.11"
- "ubuntu:24.04"
3 changes: 2 additions & 1 deletion tests/schemas/utils/library/v0.7/config-request.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@
"java",
"php",
"python",
"ruby"
"ruby",
"rust"
]
},
"process_tags": {
Expand Down
1 change: 1 addition & 0 deletions tests/test_telemetry.py
Original file line number Diff line number Diff line change
Expand Up @@ -468,6 +468,7 @@ def test_app_started_client_configuration(self):
"cpp_httpd": {"trace_agent_port": trace_agent_port},
"java": {"DD_TRACE_AGENT_PORT": trace_agent_port, "DD_TELEMETRY_HEARTBEAT_INTERVAL": 2},
"ruby": {"DD_AGENT_TRANSPORT": "TCP"},
"rust": {"DD_AGENT_HOST": "proxy", "DD_TRACE_AGENT_PORT": trace_agent_port},
"golang": {"lambda_mode": False},
}
configuration_map = test_configuration[context.library.name]
Expand Down
30 changes: 30 additions & 0 deletions utils/build/docker/rust/axum.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
FROM rust:1.94.1-slim-bookworm AS builder
Comment thread
MilanGarnier marked this conversation as resolved.

RUN apt-get update && apt-get install -y openssh-client git jq && rm -rf /var/lib/apt/lists/*

WORKDIR /usr/app
COPY utils/build/docker/rust/axum .
COPY utils/build/docker/rust/install_ddtrace.sh /binaries/install_ddtrace.sh

# Copy optional local tracer binary
COPY binaries/ /binaries/

RUN /binaries/install_ddtrace.sh

RUN --mount=type=cache,target=/usr/app/target/ \
--mount=type=cache,target=/usr/local/cargo/registry/ \
cargo build --release && cp ./target/release/weblog /usr/app/weblog

RUN bash system_tests_library_version.sh > /usr/app/SYSTEM_TESTS_LIBRARY_VERSION

FROM debian:bookworm-slim AS final

RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*

COPY --from=builder /usr/app/weblog /app/weblog
COPY --from=builder /usr/app/SYSTEM_TESTS_LIBRARY_VERSION /app/SYSTEM_TESTS_LIBRARY_VERSION
COPY utils/build/docker/rust/axum/app.sh /app/app.sh
RUN chmod +x /app/app.sh
Comment thread
MilanGarnier marked this conversation as resolved.

WORKDIR /app
CMD ["./app.sh"]
1 change: 1 addition & 0 deletions utils/build/docker/rust/axum/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
target
Loading
Loading