-
Notifications
You must be signed in to change notification settings - Fork 318
Crashtracker: dual ship to error tracking #10000
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
base: master
Are you sure you want to change the base?
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 59 metrics, 6 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.57.0-SNAPSHOT~6150309b46, baseline=1.57.0-SNAPSHOT~614cc721f6
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.099 s) : 0, 1099350
Total [baseline] (8.876 s) : 0, 8875898
Agent [candidate] (1.098 s) : 0, 1098137
Total [candidate] (8.865 s) : 0, 8865133
section iast
Agent [baseline] (1.24 s) : 0, 1240444
Total [baseline] (9.595 s) : 0, 9594989
Agent [candidate] (1.247 s) : 0, 1247353
Total [candidate] (9.571 s) : 0, 9571172
gantt
title insecure-bank - break down per module: candidate=1.57.0-SNAPSHOT~6150309b46, baseline=1.57.0-SNAPSHOT~614cc721f6
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.49 ms) : 0, 1490
crashtracking [candidate] (1.491 ms) : 0, 1491
BytebuddyAgent [baseline] (707.264 ms) : 0, 707264
BytebuddyAgent [candidate] (706.588 ms) : 0, 706588
GlobalTracer [baseline] (248.424 ms) : 0, 248424
GlobalTracer [candidate] (248.323 ms) : 0, 248323
AppSec [baseline] (31.993 ms) : 0, 31993
AppSec [candidate] (31.807 ms) : 0, 31807
Debugger [baseline] (62.796 ms) : 0, 62796
Debugger [candidate] (62.702 ms) : 0, 62702
Remote Config [baseline] (615.678 µs) : 0, 616
Remote Config [candidate] (619.395 µs) : 0, 619
Telemetry [baseline] (8.269 ms) : 0, 8269
Telemetry [candidate] (8.143 ms) : 0, 8143
Flare Poller [baseline] (3.668 ms) : 0, 3668
Flare Poller [candidate] (3.624 ms) : 0, 3624
section iast
crashtracking [baseline] (1.484 ms) : 0, 1484
crashtracking [candidate] (1.503 ms) : 0, 1503
BytebuddyAgent [baseline] (832.734 ms) : 0, 832734
BytebuddyAgent [candidate] (838.631 ms) : 0, 838631
GlobalTracer [baseline] (238.102 ms) : 0, 238102
GlobalTracer [candidate] (238.863 ms) : 0, 238863
IAST [baseline] (27.522 ms) : 0, 27522
IAST [candidate] (28.685 ms) : 0, 28685
AppSec [baseline] (34.087 ms) : 0, 34087
AppSec [candidate] (33.003 ms) : 0, 33003
Debugger [baseline] (59.898 ms) : 0, 59898
Debugger [candidate] (60.009 ms) : 0, 60009
Remote Config [baseline] (551.99 µs) : 0, 552
Remote Config [candidate] (545.657 µs) : 0, 546
Telemetry [baseline] (7.616 ms) : 0, 7616
Telemetry [candidate] (7.602 ms) : 0, 7602
Flare Poller [baseline] (3.497 ms) : 0, 3497
Flare Poller [candidate] (3.464 ms) : 0, 3464
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.57.0-SNAPSHOT~6150309b46, baseline=1.57.0-SNAPSHOT~614cc721f6
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.103 s) : 0, 1103064
Total [baseline] (10.828 s) : 0, 10828123
Agent [candidate] (1.101 s) : 0, 1101085
Total [candidate] (10.795 s) : 0, 10794530
section appsec
Agent [baseline] (1.283 s) : 0, 1283028
Total [baseline] (11.159 s) : 0, 11159092
Agent [candidate] (1.285 s) : 0, 1284765
Total [candidate] (11.169 s) : 0, 11168652
section iast
Agent [baseline] (1.24 s) : 0, 1239824
Total [baseline] (11.304 s) : 0, 11304239
Agent [candidate] (1.239 s) : 0, 1239065
Total [candidate] (11.285 s) : 0, 11284668
section profiling
Agent [baseline] (1.261 s) : 0, 1260658
Total [baseline] (11.202 s) : 0, 11201844
Agent [candidate] (1.233 s) : 0, 1232761
Total [candidate] (11.104 s) : 0, 11103543
gantt
title petclinic - break down per module: candidate=1.57.0-SNAPSHOT~6150309b46, baseline=1.57.0-SNAPSHOT~614cc721f6
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.48 ms) : 0, 1480
crashtracking [candidate] (1.483 ms) : 0, 1483
BytebuddyAgent [baseline] (708.54 ms) : 0, 708540
BytebuddyAgent [candidate] (707.196 ms) : 0, 707196
GlobalTracer [baseline] (249.0 ms) : 0, 249000
GlobalTracer [candidate] (249.264 ms) : 0, 249264
AppSec [baseline] (32.117 ms) : 0, 32117
AppSec [candidate] (31.913 ms) : 0, 31913
Debugger [baseline] (64.451 ms) : 0, 64451
Debugger [candidate] (63.88 ms) : 0, 63880
Remote Config [baseline] (629.694 µs) : 0, 630
Remote Config [candidate] (619.63 µs) : 0, 620
Telemetry [baseline] (8.321 ms) : 0, 8321
Telemetry [candidate] (8.274 ms) : 0, 8274
Flare Poller [baseline] (3.775 ms) : 0, 3775
Flare Poller [candidate] (3.707 ms) : 0, 3707
section appsec
crashtracking [baseline] (1.485 ms) : 0, 1485
crashtracking [candidate] (1.484 ms) : 0, 1484
BytebuddyAgent [baseline] (733.078 ms) : 0, 733078
BytebuddyAgent [candidate] (734.05 ms) : 0, 734050
GlobalTracer [baseline] (240.928 ms) : 0, 240928
GlobalTracer [candidate] (241.393 ms) : 0, 241393
AppSec [baseline] (173.534 ms) : 0, 173534
AppSec [candidate] (174.316 ms) : 0, 174316
Debugger [baseline] (61.609 ms) : 0, 61609
Debugger [candidate] (60.949 ms) : 0, 60949
Remote Config [baseline] (660.74 µs) : 0, 661
Remote Config [candidate] (667.434 µs) : 0, 667
Telemetry [baseline] (8.165 ms) : 0, 8165
Telemetry [candidate] (8.144 ms) : 0, 8144
Flare Poller [baseline] (4.028 ms) : 0, 4028
Flare Poller [candidate] (3.872 ms) : 0, 3872
IAST [baseline] (24.591 ms) : 0, 24591
IAST [candidate] (24.938 ms) : 0, 24938
section iast
crashtracking [baseline] (1.51 ms) : 0, 1510
crashtracking [candidate] (1.477 ms) : 0, 1477
BytebuddyAgent [baseline] (832.104 ms) : 0, 832104
BytebuddyAgent [candidate] (831.762 ms) : 0, 831762
GlobalTracer [baseline] (237.611 ms) : 0, 237611
GlobalTracer [candidate] (237.62 ms) : 0, 237620
AppSec [baseline] (31.239 ms) : 0, 31239
AppSec [candidate] (32.676 ms) : 0, 32676
Debugger [baseline] (60.572 ms) : 0, 60572
Debugger [candidate] (60.619 ms) : 0, 60619
Remote Config [baseline] (542.903 µs) : 0, 543
Remote Config [candidate] (534.48 µs) : 0, 534
Telemetry [baseline] (7.606 ms) : 0, 7606
Telemetry [candidate] (7.549 ms) : 0, 7549
Flare Poller [baseline] (3.441 ms) : 0, 3441
Flare Poller [candidate] (3.473 ms) : 0, 3473
IAST [baseline] (30.357 ms) : 0, 30357
IAST [candidate] (28.458 ms) : 0, 28458
section profiling
ProfilingAgent [baseline] (98.22 ms) : 0, 98220
ProfilingAgent [candidate] (96.761 ms) : 0, 96761
crashtracking [baseline] (1.467 ms) : 0, 1467
crashtracking [candidate] (1.443 ms) : 0, 1443
BytebuddyAgent [baseline] (754.584 ms) : 0, 754584
BytebuddyAgent [candidate] (735.538 ms) : 0, 735538
GlobalTracer [baseline] (225.603 ms) : 0, 225603
GlobalTracer [candidate] (222.683 ms) : 0, 222683
AppSec [baseline] (33.096 ms) : 0, 33096
AppSec [candidate] (32.038 ms) : 0, 32038
Debugger [baseline] (64.425 ms) : 0, 64425
Debugger [candidate] (62.796 ms) : 0, 62796
Remote Config [baseline] (677.165 µs) : 0, 677
Remote Config [candidate] (687.114 µs) : 0, 687
Telemetry [baseline] (8.167 ms) : 0, 8167
Telemetry [candidate] (7.934 ms) : 0, 7934
Flare Poller [baseline] (3.824 ms) : 0, 3824
Flare Poller [candidate] (3.753 ms) : 0, 3753
Profiling [baseline] (98.815 ms) : 0, 98815
Profiling [candidate] (97.327 ms) : 0, 97327
LoadParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 19 metrics, 16 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.57.0-SNAPSHOT~6150309b46, baseline=1.57.0-SNAPSHOT~614cc721f6
dateFormat X
axisFormat %s
section baseline
no_agent (1.231 ms) : 1219, 1243
. : milestone, 1231,
iast (3.261 ms) : 3216, 3305
. : milestone, 3261,
iast_FULL (5.839 ms) : 5781, 5898
. : milestone, 5839,
iast_GLOBAL (3.547 ms) : 3495, 3600
. : milestone, 3547,
profiling (2.143 ms) : 2124, 2162
. : milestone, 2143,
tracing (1.894 ms) : 1876, 1911
. : milestone, 1894,
section candidate
no_agent (1.207 ms) : 1195, 1219
. : milestone, 1207,
iast (3.288 ms) : 3244, 3331
. : milestone, 3288,
iast_FULL (5.762 ms) : 5706, 5819
. : milestone, 5762,
iast_GLOBAL (3.634 ms) : 3580, 3688
. : milestone, 3634,
profiling (2.218 ms) : 2197, 2239
. : milestone, 2218,
tracing (1.844 ms) : 1829, 1860
. : milestone, 1844,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.57.0-SNAPSHOT~6150309b46, baseline=1.57.0-SNAPSHOT~614cc721f6
dateFormat X
axisFormat %s
section baseline
no_agent (18.35 ms) : 18159, 18541
. : milestone, 18350,
appsec (18.719 ms) : 18528, 18909
. : milestone, 18719,
code_origins (17.674 ms) : 17501, 17846
. : milestone, 17674,
iast (18.112 ms) : 17929, 18294
. : milestone, 18112,
profiling (19.699 ms) : 19501, 19897
. : milestone, 19699,
tracing (17.63 ms) : 17455, 17805
. : milestone, 17630,
section candidate
no_agent (17.305 ms) : 17132, 17477
. : milestone, 17305,
appsec (18.461 ms) : 18274, 18647
. : milestone, 18461,
code_origins (17.841 ms) : 17663, 18020
. : milestone, 17841,
iast (17.778 ms) : 17600, 17957
. : milestone, 17778,
profiling (18.551 ms) : 18362, 18739
. : milestone, 18551,
tracing (17.6 ms) : 17428, 17772
. : milestone, 17600,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.57.0-SNAPSHOT~6150309b46, baseline=1.57.0-SNAPSHOT~614cc721f6
dateFormat X
axisFormat %s
section baseline
no_agent (1.487 ms) : 1476, 1499
. : milestone, 1487,
appsec (2.464 ms) : 2412, 2515
. : milestone, 2464,
iast (2.232 ms) : 2166, 2297
. : milestone, 2232,
iast_GLOBAL (2.28 ms) : 2214, 2345
. : milestone, 2280,
profiling (2.502 ms) : 2340, 2664
. : milestone, 2502,
tracing (2.063 ms) : 2012, 2114
. : milestone, 2063,
section candidate
no_agent (1.48 ms) : 1469, 1492
. : milestone, 1480,
appsec (2.48 ms) : 2428, 2532
. : milestone, 2480,
iast (2.224 ms) : 2159, 2289
. : milestone, 2224,
iast_GLOBAL (2.271 ms) : 2206, 2336
. : milestone, 2271,
profiling (2.116 ms) : 2061, 2170
. : milestone, 2116,
tracing (2.056 ms) : 2005, 2107
. : milestone, 2056,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.57.0-SNAPSHOT~6150309b46, baseline=1.57.0-SNAPSHOT~614cc721f6
dateFormat X
axisFormat %s
section baseline
no_agent (15.629 s) : 15629000, 15629000
. : milestone, 15629000,
appsec (14.755 s) : 14755000, 14755000
. : milestone, 14755000,
iast (18.505 s) : 18505000, 18505000
. : milestone, 18505000,
iast_GLOBAL (18.354 s) : 18354000, 18354000
. : milestone, 18354000,
profiling (14.598 s) : 14598000, 14598000
. : milestone, 14598000,
tracing (14.92 s) : 14920000, 14920000
. : milestone, 14920000,
section candidate
no_agent (15.364 s) : 15364000, 15364000
. : milestone, 15364000,
appsec (14.657 s) : 14657000, 14657000
. : milestone, 14657000,
iast (18.051 s) : 18051000, 18051000
. : milestone, 18051000,
iast_GLOBAL (17.717 s) : 17717000, 17717000
. : milestone, 17717000,
profiling (14.599 s) : 14599000, 14599000
. : milestone, 14599000,
tracing (15.027 s) : 15027000, 15027000
. : milestone, 15027000,
|
Debugger benchmarksParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 7 metrics, 8 unstable metrics. See unchanged results
Request duration reports for reportsgantt
title reports - request duration [CI 0.99] : candidate=None, baseline=None
dateFormat X
axisFormat %s
section baseline
noprobe (345.758 µs) : 277, 414
. : milestone, 346,
basic (296.369 µs) : 286, 307
. : milestone, 296,
loop (8.442 ms) : 8380, 8504
. : milestone, 8442,
section candidate
noprobe (329.469 µs) : 294, 365
. : milestone, 329,
basic (294.3 µs) : 287, 302
. : milestone, 294,
loop (8.44 ms) : 8379, 8501
. : milestone, 8440,
|
b921659 to
0882768
Compare
|
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
gleocadie
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shipping crashes to the error tracking intake should be opt in like in libdatadog via the usual config mechanisms.
But the rest of the logic looks good!
Hi @GianlucaBortoli the feature has been made opt-in now. Thanks for the suggestion |
03b34b3 to
6150309
Compare
What Does This Do
This PR introduces dual shipping of crash reports to both the telemetry and error-tracking intakes. While only the stack-frame section of the payload is shared between the two destinations, the remaining fields have been adapted to each intake’s expected format.
We improved signal-info (sig_info) parsing to extract the program counter address more reliably, and this information is now also included in the telemetry payload. Additional handling has been added for cases where an hs_err file indicates an OutOfMemory crash, as these reports typically lack signal data.
Communication Improvements
The OkHttp client has been configured to support up to four concurrent operations — telemetry ping, telemetry upload, error-tracking ping, and error-tracking upload. Similar to profiling, the underlying thread pool has been customized so that threads run as daemon threads, allowing the JVM to exit cleanly without shutdown delays.
Feature enablement
Uploading the crash info to error tracking is disabled by default. The feature can be enabled by either:
dd.crashtracking.errors-intake.enabled=trueDD_CRASHTRACKING_ERRORS_INTAKE_ENABLED=trueMotivation
Additional Notes
Contributor Checklist
type:and (comp:orinst:) labels in addition to any useful labelsclose,fixor any linking keywords when referencing an issue.Use
solvesinstead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]