Skip to content

Avoid Throwable::toString in ExceptionReplay - #12424

Open
jpbempel wants to merge 1 commit into
masterfrom
jpbempel/fix-er-toString
Open

Avoid Throwable::toString in ExceptionReplay#12424
jpbempel wants to merge 1 commit into
masterfrom
jpbempel/fix-er-toString

Conversation

@jpbempel

@jpbempel jpbempel commented Sep 7, 2026

Copy link
Copy Markdown
Member

What Does This Do

Calling Throwable::toString is dangerous because it can be overriden. so instead of logging the toString of an exception we are using the class name

Motivation

Additional Notes

Contributor Checklist

Jira ticket: DEBUG-6127

Calling Throwable::toString is dangerous because it can be overriden.
so instead of logging the toString of an exception we are using
the class name
@jpbempel
jpbempel requested a review from a team as a code owner September 7, 2026 13:43
@jpbempel
jpbempel requested review from tylfin and removed request for a team September 7, 2026 13:43
@jpbempel jpbempel added comp: debugger Dynamic Instrumentation type: bug fix Bug fix labels Sep 7, 2026

@datadog-datadog-prod-us1-2 datadog-datadog-prod-us1-2 Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Datadog Autotest: PASS

More details

Both changed debug messages now use the exception class name. This keeps the log path from calling an overridden Throwable.toString method.

Was this helpful? React 👍 or 👎

Open Bits AI session

🤖 Datadog Autotest · Commit 3b1a995 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

@datadog-datadog-prod-us1-2

This comment has been minimized.

@pr-commenter

pr-commenter Bot commented Sep 7, 2026

Copy link
Copy Markdown

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1788789130 1788789455
end_time 2026-09-07T13:53:37 2026-09-07T13:59:05
git_branch master jpbempel/fix-er-toString
git_commit_sha 36ca5fb 3b1a995
start_time 2026-09-07T13:52:11 2026-09-07T13:57:36
See matching parameters
Baseline Candidate
ci_job_id 2020565644 2020565644
ci_pipeline_id 135856262 135856262
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
git_commit_date 1788788549 1788788549

Summary

Found 0 performance improvements and 3 performance regressions! Performance is the same for 7 metrics, 5 unstable metrics.

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:basic worse
[+6.470µs; +23.571µs] or [+2.172%; +7.913%]
worse
[+4.960µs; +22.101µs] or [+1.529%; +6.812%]
worse
[+4.918µs; +21.545µs] or [+1.471%; +6.445%]
unstable
[-120.156µs; +114.451µs] or [-12.014%; +11.444%]
unsure
[-204.101op/s; -12.349op/s] or [-8.572%; -0.519%]
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
[-6.049µs; +53.711µs] or [-1.976%; +17.542%]
unstable
[-11.967µs; +69.230µs] or [-3.530%; +20.419%]
unstable
[-18.636µs; +80.287µs] or [-5.271%; +22.711%]
unstable
[-194.564µs; +180.488µs] or [-15.476%; +14.356%]
same
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 (339.05 µs) : 316, 362
.   : milestone, 339,
basic (324.425 µs) : 319, 330
.   : milestone, 324,
loop (8.092 ms) : 8029, 8154
.   : milestone, 8092,
section candidate
noprobe (367.682 µs) : 318, 417
.   : milestone, 368,
basic (337.955 µs) : 328, 348
.   : milestone, 338,
loop (8.09 ms) : 8028, 8152
.   : milestone, 8090,
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 339.05 µs [316.077 µs, 362.023 µs]
basic 324.425 µs [318.553 µs, 330.297 µs]
loop 8.092 ms [8.029 ms, 8.154 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 367.682 µs [318.226 µs, 417.137 µs]
basic 337.955 µs [327.73 µs, 348.181 µs]
loop 8.09 ms [8.028 ms, 8.152 ms]

@dd-octo-sts

dd-octo-sts Bot commented Sep 7, 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 13.85 s [-0.0%; +1.9%] (no difference)
startup:insecure-bank:tracing:Agent 12.83 s 12.89 s [-1.2%; +0.3%] (no difference)
startup:petclinic:appsec:Agent 17.64 s 17.41 s [+0.4%; +2.3%] (maybe worse)
startup:petclinic:iast:Agent 17.46 s 17.48 s [-0.9%; +0.7%] (no difference)
startup:petclinic:profiling:Agent 17.32 s 17.22 s [-0.4%; +1.5%] (no difference)
startup:petclinic:sca:Agent 16.83 s 17.51 s [-8.3%; +0.5%] (no difference)
startup:petclinic:tracing:Agent 16.59 s 16.65 s [-1.2%; +0.4%] (no difference)

Commit: 3b1a9954 · 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.

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

Labels

comp: debugger Dynamic Instrumentation type: bug fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant