Skip to content

Require explicit locales and charsets in tracer code - #13020

Draft
bric3 wants to merge 1 commit into
masterfrom
bdu/explicit-locale-charset
Draft

bric3 wants to merge 1 commit into
masterfrom
bdu/explicit-locale-charset

Conversation

@bric3

@bric3 bric3 commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

What Does This Do

Require explicit locales and charsets for checked JDK APIs and update existing tracer calls. Document intentional JVM defaults and the @SuppressForbidden escape hatch, with regression coverage for the guardrail and Turkish-locale configuration parsing.

Motivation

The tracer inherits the application's JVM defaults. Identifier case conversion, protocol data and machine-readable formatting need stable results across deployment locales and charsets.

Additional Notes

  • Keep the signatures focused on locales and charsets; the bundled jdk-unsafe rules also cover default time zones.
  • Local validation excludes Maven instrumentation because org.sonatype.sisu:sisu-guice:3.1.0:no_aop cannot be resolved. The full aggregate also encounters unrelated OpenLiberty and Mule build failures. Enabled forbidden-apis checks are validated separately.

Contributor Checklist

@bric3 bric3 added tag: ai generated Largely based on code generated by an AI or LLM comp: core Tracer core type: refactoring tag: no release notes Changes to exclude from release notes labels Oct 23, 2026 — with ChatGPT Codex Connector
@bric3
bric3 requested a review from dougqh October 23, 2026 16:21
@datadog-prod-us1-3

This comment has been minimized.

@pr-commenter

pr-commenter Bot commented Oct 23, 2026

Copy link
Copy Markdown

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1792772853 1792773179
end_time 2026-10-23T16:29:01 2026-10-23T16:34:27
git_branch master bdu/explicit-locale-charset
git_commit_sha ffd86f3 0b20b7b
start_time 2026-10-23T16:27:34 2026-10-23T16:33:00
See matching parameters
Baseline Candidate
ci_job_id 2171343665 2171343665
ci_pipeline_id 147132393 147132393
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
git_commit_date 1792772071 1792772071

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 9 metrics, 6 unstable metrics.

See unchanged results
scenario Δ mean agg_http_req_duration_min Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p75 Δ mean agg_http_req_duration_p99 Δ mean throughput
scenario:noprobe unstable
[-27108.344ns; +28723.890ns] or [-8.542%; +9.051%]
unstable
[-37.354µs; +41.184µs] or [-10.700%; +11.797%]
unstable
[-47.874µs; +52.237µs] or [-13.171%; +14.372%]
unstable
[-104.585µs; +119.884µs] or [-8.665%; +9.933%]
same
scenario:basic same same same unstable
[-173.245µs; +66.684µs] or [-14.381%; +5.536%]
unstable
[-83.263op/s; +188.971op/s] or [-3.664%; +8.315%]
scenario:loop same same same same same
Request duration reports for reports
gantt
    title reports - request duration [CI 0.99] : candidate=None, baseline=None
    dateFormat X
    axisFormat %s
section baseline
noprobe (349.114 µs) : 314, 384
.   : milestone, 349,
basic (327.057 µs) : 322, 333
.   : milestone, 327,
loop (8.093 ms) : 8030, 8157
.   : milestone, 8093,
section candidate
noprobe (351.028 µs) : 311, 391
.   : milestone, 351,
basic (327.202 µs) : 322, 333
.   : milestone, 327,
loop (8.089 ms) : 8026, 8152
.   : milestone, 8089,
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 349.114 µs [314.447 µs, 383.78 µs]
basic 327.057 µs [321.54 µs, 332.573 µs]
loop 8.093 ms [8.03 ms, 8.157 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 351.028 µs [311.251 µs, 390.806 µs]
basic 327.202 µs [321.869 µs, 332.534 µs]
loop 8.089 ms [8.026 ms, 8.152 ms]

@dd-octo-sts

dd-octo-sts Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

🟢 Java Benchmark SLOs — All performance SLOs passed

Suite Status
Startup 🟢 pass

SLO thresholds are defined here based on automatically generated metrics. A warning is raised when results are within 5% of the threshold.

PR vs. master results
Scenario Candidate master Δ (95% CI of mean)
startup:insecure-bank:iast:Agent 13.97 s 14.00 s [-0.8%; +0.5%] (no difference)
startup:insecure-bank:tracing:Agent 12.97 s 13.02 s [-1.1%; +0.4%] (no difference)
startup:petclinic:appsec:Agent 17.20 s 17.08 s [-0.2%; +1.6%] (no difference)
startup:petclinic:iast:Agent 16.88 s 17.07 s [-2.1%; -0.2%] (maybe better)
startup:petclinic:profiling:Agent 16.78 s 16.71 s [-0.8%; +1.7%] (no difference)
startup:petclinic:sca:Agent 16.57 s 17.03 s [-7.2%; +1.8%] (no difference)
startup:petclinic:tracing:Agent 16.16 s 16.14 s [-0.8%; +1.1%] (no difference)

Commit: 0b20b7b1 · CI Pipeline · Benchmarking Platform UI


Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: core Tracer core tag: ai generated Largely based on code generated by an AI or LLM tag: no release notes Changes to exclude from release notes type: refactoring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant