-
Notifications
You must be signed in to change notification settings - Fork 324
Improve crashtracking payload and add build_id and relative address #10469
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
Improve crashtracking payload and add build_id and relative address #10469
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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>
jbachorik
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.
Thanks!
|
/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]