Improve crashtracking payload and add build_id and relative address#10469
Improve crashtracking payload and add build_id and relative address#10469gh-worker-dd-mergequeue-cf854d[bot] merged 13 commits intomasterfrom
Conversation
d469239 to
c9edbf0
Compare
c9edbf0 to
8b0ecd6
Compare
...-agent/agent-crashtracking/src/main/java/datadog/crashtracking/buildid/BuildIdCollector.java
Show resolved
Hide resolved
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 63 metrics, 8 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.59.0-SNAPSHOT~e8bf892eab, baseline=1.60.0-SNAPSHOT~786c771187
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.064 s) : 0, 1063948
Total [baseline] (10.955 s) : 0, 10955285
Agent [candidate] (1.072 s) : 0, 1071588
Total [candidate] (10.963 s) : 0, 10963366
section appsec
Agent [baseline] (1.239 s) : 0, 1239334
Total [baseline] (11.078 s) : 0, 11077696
Agent [candidate] (1.246 s) : 0, 1245730
Total [candidate] (11.123 s) : 0, 11122701
section iast
Agent [baseline] (1.233 s) : 0, 1232784
Total [baseline] (11.209 s) : 0, 11209231
Agent [candidate] (1.241 s) : 0, 1240701
Total [candidate] (11.258 s) : 0, 11258297
section profiling
Agent [baseline] (1.199 s) : 0, 1199003
Total [baseline] (11.028 s) : 0, 11028254
Agent [candidate] (1.191 s) : 0, 1191011
Total [candidate] (11.018 s) : 0, 11018179
gantt
title petclinic - break down per module: candidate=1.59.0-SNAPSHOT~e8bf892eab, baseline=1.60.0-SNAPSHOT~786c771187
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.19 ms) : 0, 1190
crashtracking [candidate] (1.215 ms) : 0, 1215
BytebuddyAgent [baseline] (628.412 ms) : 0, 628412
BytebuddyAgent [candidate] (632.308 ms) : 0, 632308
AgentMeter [baseline] (28.658 ms) : 0, 28658
AgentMeter [candidate] (28.823 ms) : 0, 28823
GlobalTracer [baseline] (257.452 ms) : 0, 257452
GlobalTracer [candidate] (258.24 ms) : 0, 258240
AppSec [baseline] (32.822 ms) : 0, 32822
AppSec [candidate] (32.935 ms) : 0, 32935
Debugger [baseline] (61.009 ms) : 0, 61009
Debugger [candidate] (62.611 ms) : 0, 62611
Remote Config [baseline] (616.502 µs) : 0, 617
Remote Config [candidate] (623.711 µs) : 0, 624
Telemetry [baseline] (13.121 ms) : 0, 13121
Telemetry [candidate] (13.087 ms) : 0, 13087
Flare Poller [baseline] (5.347 ms) : 0, 5347
Flare Poller [candidate] (6.126 ms) : 0, 6126
section appsec
crashtracking [baseline] (1.18 ms) : 0, 1180
crashtracking [candidate] (1.192 ms) : 0, 1192
BytebuddyAgent [baseline] (658.444 ms) : 0, 658444
BytebuddyAgent [candidate] (661.694 ms) : 0, 661694
AgentMeter [baseline] (11.772 ms) : 0, 11772
AgentMeter [candidate] (11.796 ms) : 0, 11796
GlobalTracer [baseline] (258.397 ms) : 0, 258397
GlobalTracer [candidate] (259.769 ms) : 0, 259769
AppSec [baseline] (167.915 ms) : 0, 167915
AppSec [candidate] (168.691 ms) : 0, 168691
Debugger [baseline] (67.469 ms) : 0, 67469
Debugger [candidate] (68.033 ms) : 0, 68033
Remote Config [baseline] (682.115 µs) : 0, 682
Remote Config [candidate] (675.104 µs) : 0, 675
Telemetry [baseline] (9.144 ms) : 0, 9144
Telemetry [candidate] (9.22 ms) : 0, 9220
Flare Poller [baseline] (3.685 ms) : 0, 3685
Flare Poller [candidate] (3.667 ms) : 0, 3667
IAST [baseline] (25.21 ms) : 0, 25210
IAST [candidate] (25.496 ms) : 0, 25496
section iast
crashtracking [baseline] (1.186 ms) : 0, 1186
crashtracking [candidate] (1.196 ms) : 0, 1196
BytebuddyAgent [baseline] (796.691 ms) : 0, 796691
BytebuddyAgent [candidate] (803.484 ms) : 0, 803484
AgentMeter [baseline] (11.15 ms) : 0, 11150
AgentMeter [candidate] (11.441 ms) : 0, 11441
GlobalTracer [baseline] (248.392 ms) : 0, 248392
GlobalTracer [candidate] (249.501 ms) : 0, 249501
AppSec [baseline] (31.9 ms) : 0, 31900
AppSec [candidate] (33.811 ms) : 0, 33811
Debugger [baseline] (68.241 ms) : 0, 68241
Debugger [candidate] (66.408 ms) : 0, 66408
Remote Config [baseline] (560.849 µs) : 0, 561
Remote Config [candidate] (537.731 µs) : 0, 538
Telemetry [baseline] (8.814 ms) : 0, 8814
Telemetry [candidate] (8.682 ms) : 0, 8682
Flare Poller [baseline] (3.503 ms) : 0, 3503
Flare Poller [candidate] (3.447 ms) : 0, 3447
IAST [baseline] (26.984 ms) : 0, 26984
IAST [candidate] (26.691 ms) : 0, 26691
section profiling
crashtracking [baseline] (1.213 ms) : 0, 1213
crashtracking [candidate] (1.212 ms) : 0, 1212
BytebuddyAgent [baseline] (686.353 ms) : 0, 686353
BytebuddyAgent [candidate] (681.678 ms) : 0, 681678
AgentMeter [baseline] (8.715 ms) : 0, 8715
AgentMeter [candidate] (8.602 ms) : 0, 8602
GlobalTracer [baseline] (217.294 ms) : 0, 217294
GlobalTracer [candidate] (215.908 ms) : 0, 215908
AppSec [baseline] (33.044 ms) : 0, 33044
AppSec [candidate] (32.47 ms) : 0, 32470
Debugger [baseline] (68.461 ms) : 0, 68461
Debugger [candidate] (67.472 ms) : 0, 67472
Remote Config [baseline] (616.868 µs) : 0, 617
Remote Config [candidate] (598.39 µs) : 0, 598
Telemetry [baseline] (9.015 ms) : 0, 9015
Telemetry [candidate] (8.966 ms) : 0, 8966
Flare Poller [baseline] (3.842 ms) : 0, 3842
Flare Poller [candidate] (3.778 ms) : 0, 3778
ProfilingAgent [baseline] (100.542 ms) : 0, 100542
ProfilingAgent [candidate] (100.566 ms) : 0, 100566
Profiling [baseline] (101.116 ms) : 0, 101116
Profiling [candidate] (101.142 ms) : 0, 101142
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.59.0-SNAPSHOT~e8bf892eab, baseline=1.60.0-SNAPSHOT~786c771187
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.065 s) : 0, 1064615
Total [baseline] (8.77 s) : 0, 8770031
Agent [candidate] (1.073 s) : 0, 1072859
Total [candidate] (8.766 s) : 0, 8765767
section iast
Agent [baseline] (1.231 s) : 0, 1231217
Total [baseline] (9.387 s) : 0, 9386772
Agent [candidate] (1.237 s) : 0, 1237272
Total [candidate] (9.423 s) : 0, 9422502
gantt
title insecure-bank - break down per module: candidate=1.59.0-SNAPSHOT~e8bf892eab, baseline=1.60.0-SNAPSHOT~786c771187
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.192 ms) : 0, 1192
crashtracking [candidate] (1.206 ms) : 0, 1206
BytebuddyAgent [baseline] (628.791 ms) : 0, 628791
BytebuddyAgent [candidate] (633.838 ms) : 0, 633838
AgentMeter [baseline] (28.678 ms) : 0, 28678
AgentMeter [candidate] (28.929 ms) : 0, 28929
GlobalTracer [baseline] (257.824 ms) : 0, 257824
GlobalTracer [candidate] (259.729 ms) : 0, 259729
AppSec [baseline] (33.011 ms) : 0, 33011
AppSec [candidate] (33.177 ms) : 0, 33177
Debugger [baseline] (60.615 ms) : 0, 60615
Debugger [candidate] (60.304 ms) : 0, 60304
Remote Config [baseline] (629.423 µs) : 0, 629
Remote Config [candidate] (634.778 µs) : 0, 635
Telemetry [baseline] (13.104 ms) : 0, 13104
Telemetry [candidate] (13.226 ms) : 0, 13226
Flare Poller [baseline] (5.379 ms) : 0, 5379
Flare Poller [candidate] (6.126 ms) : 0, 6126
section iast
crashtracking [baseline] (1.197 ms) : 0, 1197
crashtracking [candidate] (1.192 ms) : 0, 1192
BytebuddyAgent [baseline] (796.09 ms) : 0, 796090
BytebuddyAgent [candidate] (800.093 ms) : 0, 800093
AgentMeter [baseline] (11.178 ms) : 0, 11178
AgentMeter [candidate] (11.358 ms) : 0, 11358
GlobalTracer [baseline] (247.939 ms) : 0, 247939
GlobalTracer [candidate] (248.666 ms) : 0, 248666
AppSec [baseline] (33.851 ms) : 0, 33851
AppSec [candidate] (33.216 ms) : 0, 33216
Debugger [baseline] (65.685 ms) : 0, 65685
Debugger [candidate] (67.317 ms) : 0, 67317
Remote Config [baseline] (540.932 µs) : 0, 541
Remote Config [candidate] (539.24 µs) : 0, 539
Telemetry [baseline] (8.744 ms) : 0, 8744
Telemetry [candidate] (8.721 ms) : 0, 8721
Flare Poller [baseline] (3.461 ms) : 0, 3461
Flare Poller [candidate] (3.492 ms) : 0, 3492
IAST [baseline] (27.05 ms) : 0, 27050
IAST [candidate] (27.193 ms) : 0, 27193
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 2 performance regressions! Performance is the same for 17 metrics, 17 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.59.0-SNAPSHOT~e8bf892eab, baseline=1.60.0-SNAPSHOT~786c771187
dateFormat X
axisFormat %s
section baseline
no_agent (1.252 ms) : 1240, 1264
. : milestone, 1252,
iast (3.085 ms) : 3045, 3125
. : milestone, 3085,
iast_FULL (5.735 ms) : 5677, 5793
. : milestone, 5735,
iast_GLOBAL (3.434 ms) : 3377, 3491
. : milestone, 3434,
profiling (1.991 ms) : 1973, 2008
. : milestone, 1991,
tracing (1.766 ms) : 1751, 1781
. : milestone, 1766,
section candidate
no_agent (1.203 ms) : 1191, 1215
. : milestone, 1203,
iast (3.212 ms) : 3167, 3256
. : milestone, 3212,
iast_FULL (5.797 ms) : 5739, 5855
. : milestone, 5797,
iast_GLOBAL (3.569 ms) : 3510, 3628
. : milestone, 3569,
profiling (2.087 ms) : 2066, 2108
. : milestone, 2087,
tracing (1.79 ms) : 1773, 1806
. : milestone, 1790,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.59.0-SNAPSHOT~e8bf892eab, baseline=1.60.0-SNAPSHOT~786c771187
dateFormat X
axisFormat %s
section baseline
no_agent (18.443 ms) : 18249, 18638
. : milestone, 18443,
appsec (18.816 ms) : 18625, 19007
. : milestone, 18816,
code_origins (17.619 ms) : 17445, 17792
. : milestone, 17619,
iast (17.804 ms) : 17623, 17986
. : milestone, 17804,
profiling (18.613 ms) : 18426, 18800
. : milestone, 18613,
tracing (17.281 ms) : 17109, 17453
. : milestone, 17281,
section candidate
no_agent (19.151 ms) : 18954, 19349
. : milestone, 19151,
appsec (19.828 ms) : 19623, 20034
. : milestone, 19828,
code_origins (17.695 ms) : 17519, 17872
. : milestone, 17695,
iast (17.608 ms) : 17435, 17782
. : milestone, 17608,
profiling (18.649 ms) : 18459, 18838
. : milestone, 18649,
tracing (17.621 ms) : 17447, 17795
. : milestone, 17621,
DacapoParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 0 unstable metrics.
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.59.0-SNAPSHOT~e8bf892eab, baseline=1.60.0-SNAPSHOT~786c771187
dateFormat X
axisFormat %s
section baseline
no_agent (15.635 s) : 15635000, 15635000
. : milestone, 15635000,
appsec (14.805 s) : 14805000, 14805000
. : milestone, 14805000,
iast (18.38 s) : 18380000, 18380000
. : milestone, 18380000,
iast_GLOBAL (17.946 s) : 17946000, 17946000
. : milestone, 17946000,
profiling (14.966 s) : 14966000, 14966000
. : milestone, 14966000,
tracing (15.125 s) : 15125000, 15125000
. : milestone, 15125000,
section candidate
no_agent (15.655 s) : 15655000, 15655000
. : milestone, 15655000,
appsec (15.039 s) : 15039000, 15039000
. : milestone, 15039000,
iast (18.697 s) : 18697000, 18697000
. : milestone, 18697000,
iast_GLOBAL (17.922 s) : 17922000, 17922000
. : milestone, 17922000,
profiling (15.063 s) : 15063000, 15063000
. : milestone, 15063000,
tracing (14.712 s) : 14712000, 14712000
. : milestone, 14712000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.59.0-SNAPSHOT~e8bf892eab, baseline=1.60.0-SNAPSHOT~786c771187
dateFormat X
axisFormat %s
section baseline
no_agent (1.485 ms) : 1473, 1496
. : milestone, 1485,
appsec (3.759 ms) : 3539, 3979
. : milestone, 3759,
iast (2.273 ms) : 2204, 2343
. : milestone, 2273,
iast_GLOBAL (2.31 ms) : 2241, 2380
. : milestone, 2310,
profiling (2.106 ms) : 2049, 2163
. : milestone, 2106,
tracing (2.072 ms) : 2018, 2125
. : milestone, 2072,
section candidate
no_agent (1.482 ms) : 1470, 1493
. : milestone, 1482,
appsec (2.567 ms) : 2509, 2626
. : milestone, 2567,
iast (2.27 ms) : 2200, 2339
. : milestone, 2270,
iast_GLOBAL (2.306 ms) : 2236, 2376
. : milestone, 2306,
profiling (2.109 ms) : 2052, 2166
. : milestone, 2109,
tracing (2.084 ms) : 2030, 2138
. : milestone, 2084,
|
jbachorik
left a comment
There was a problem hiding this comment.
Some comments here and there.
The only important one is about concurrency settings for resolveBuildId
...-agent/agent-crashtracking/src/main/java/datadog/crashtracking/buildid/BuildIdCollector.java
Outdated
Show resolved
Hide resolved
...-agent/agent-crashtracking/src/main/java/datadog/crashtracking/buildid/BuildIdCollector.java
Show resolved
Hide resolved
...-agent/agent-crashtracking/src/main/java/datadog/crashtracking/buildid/BuildIdCollector.java
Outdated
Show resolved
Hide resolved
...t/agent-crashtracking/src/main/java/datadog/crashtracking/parsers/HotspotCrashLogParser.java
Outdated
Show resolved
Hide resolved
dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/buildid/BuildInfo.java
Outdated
Show resolved
Hide resolved
...-agent/agent-crashtracking/src/main/java/datadog/crashtracking/buildid/BuildIdCollector.java
Show resolved
Hide resolved
…racking/parsers/HotspotCrashLogParser.java Co-authored-by: Jaroslav Bachorik <jaroslav.bachorik@datadoghq.com>
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
a14f6ad
into
master
What Does This Do
This PR extends the crash tracking payload to support native symbolization by adding the build_id and the relative address of native libraries.
A new BuildIdCollector asynchronously parses ELF binaries (Linux) and PE binaries (Windows), with a bounded time limit, to extract the GNU build ID or the equivalent identifier on Windows. When available, the extracted build_id is attached to the corresponding StackFrameElement.
More broadly, this PR improves stack frame parsing by refining function name extraction for JIT-compiled frames.
It also includes several minor fixes to ensure compliance with the JSON schema (e.g., correcting field types from string to integer).
Finally, the sig_info section is now populated with the complete signal information extracted from the hs_err file, including the associated sigaction details.
Motivation
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]