-
Notifications
You must be signed in to change notification settings - Fork 323
Add Probe Metadata #9723
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
Add Probe Metadata #9723
Conversation
4886151 to
f476c6f
Compare
Debugger benchmarksParameters
See matching parameters
SummaryFound 2 performance improvements and 0 performance regressions! Performance is the same for 7 metrics, 6 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 (311.893 µs) : 290, 334
. : milestone, 312,
basic (282.121 µs) : 273, 292
. : milestone, 282,
loop (8.967 ms) : 8935, 8999
. : milestone, 8967,
section candidate
noprobe (305.977 µs) : 284, 328
. : milestone, 306,
basic (269.487 µs) : 264, 275
. : milestone, 269,
loop (8.98 ms) : 8952, 9008
. : milestone, 8980,
|
|
🎯 Code Coverage 🔗 Commit SHA: 2a4f5d6 | Docs | Was this helpful? Give us feedback! |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 1 performance regressions! Performance is the same for 58 metrics, 6 unstable metrics.
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.55.0-SNAPSHOT~2a4f5d653d, baseline=1.55.0-SNAPSHOT~6dc3f85c93
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.016 s) : 0, 1016482
Total [baseline] (10.669 s) : 0, 10669442
Agent [candidate] (1.015 s) : 0, 1015143
Total [candidate] (10.595 s) : 0, 10594571
section appsec
Agent [baseline] (1.203 s) : 0, 1202785
Total [baseline] (11.072 s) : 0, 11071568
Agent [candidate] (1.194 s) : 0, 1194107
Total [candidate] (11.059 s) : 0, 11059312
section iast
Agent [baseline] (1.151 s) : 0, 1151483
Total [baseline] (11.064 s) : 0, 11064133
Agent [candidate] (1.151 s) : 0, 1150505
Total [candidate] (11.04 s) : 0, 11040249
section profiling
Agent [baseline] (1.167 s) : 0, 1166726
Total [baseline] (10.988 s) : 0, 10987550
Agent [candidate] (1.162 s) : 0, 1161740
Total [candidate] (11.039 s) : 0, 11039246
gantt
title petclinic - break down per module: candidate=1.55.0-SNAPSHOT~2a4f5d653d, baseline=1.55.0-SNAPSHOT~6dc3f85c93
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.453 ms) : 0, 1453
crashtracking [candidate] (1.457 ms) : 0, 1457
BytebuddyAgent [baseline] (692.088 ms) : 0, 692088
BytebuddyAgent [candidate] (691.695 ms) : 0, 691695
GlobalTracer [baseline] (241.751 ms) : 0, 241751
GlobalTracer [candidate] (241.56 ms) : 0, 241560
AppSec [baseline] (32.23 ms) : 0, 32230
AppSec [candidate] (32.184 ms) : 0, 32184
Debugger [baseline] (6.413 ms) : 0, 6413
Debugger [candidate] (6.398 ms) : 0, 6398
Remote Config [baseline] (721.183 µs) : 0, 721
Remote Config [candidate] (703.69 µs) : 0, 704
Telemetry [baseline] (9.373 ms) : 0, 9373
Telemetry [candidate] (9.255 ms) : 0, 9255
Flare Poller [baseline] (11.121 ms) : 0, 11121
Flare Poller [candidate] (10.72 ms) : 0, 10720
section appsec
crashtracking [baseline] (1.48 ms) : 0, 1480
crashtracking [candidate] (1.447 ms) : 0, 1447
BytebuddyAgent [baseline] (723.464 ms) : 0, 723464
BytebuddyAgent [candidate] (717.699 ms) : 0, 717699
GlobalTracer [baseline] (236.104 ms) : 0, 236104
GlobalTracer [candidate] (234.459 ms) : 0, 234459
AppSec [baseline] (176.027 ms) : 0, 176027
AppSec [candidate] (175.407 ms) : 0, 175407
Debugger [baseline] (6.225 ms) : 0, 6225
Debugger [candidate] (6.153 ms) : 0, 6153
Remote Config [baseline] (657.129 µs) : 0, 657
Remote Config [candidate] (658.679 µs) : 0, 659
Telemetry [baseline] (8.587 ms) : 0, 8587
Telemetry [candidate] (8.541 ms) : 0, 8541
Flare Poller [baseline] (3.919 ms) : 0, 3919
Flare Poller [candidate] (3.922 ms) : 0, 3922
IAST [baseline] (25.033 ms) : 0, 25033
IAST [candidate] (24.674 ms) : 0, 24674
section iast
crashtracking [baseline] (1.456 ms) : 0, 1456
crashtracking [candidate] (1.451 ms) : 0, 1451
BytebuddyAgent [baseline] (815.7 ms) : 0, 815700
BytebuddyAgent [candidate] (815.297 ms) : 0, 815297
GlobalTracer [baseline] (231.357 ms) : 0, 231357
GlobalTracer [candidate] (231.179 ms) : 0, 231179
AppSec [baseline] (35.469 ms) : 0, 35469
AppSec [candidate] (35.138 ms) : 0, 35138
Debugger [baseline] (6.12 ms) : 0, 6120
Debugger [candidate] (6.15 ms) : 0, 6150
Remote Config [baseline] (596.039 µs) : 0, 596
Remote Config [candidate] (626.831 µs) : 0, 627
Telemetry [baseline] (8.659 ms) : 0, 8659
Telemetry [candidate] (8.683 ms) : 0, 8683
Flare Poller [baseline] (4.227 ms) : 0, 4227
Flare Poller [candidate] (4.153 ms) : 0, 4153
IAST [baseline] (26.305 ms) : 0, 26305
IAST [candidate] (26.275 ms) : 0, 26275
section profiling
ProfilingAgent [baseline] (106.474 ms) : 0, 106474
ProfilingAgent [candidate] (107.992 ms) : 0, 107992
crashtracking [baseline] (1.441 ms) : 0, 1441
crashtracking [candidate] (1.448 ms) : 0, 1448
BytebuddyAgent [baseline] (724.645 ms) : 0, 724645
BytebuddyAgent [candidate] (721.133 ms) : 0, 721133
GlobalTracer [baseline] (218.803 ms) : 0, 218803
GlobalTracer [candidate] (217.918 ms) : 0, 217918
AppSec [baseline] (32.588 ms) : 0, 32588
AppSec [candidate] (32.274 ms) : 0, 32274
Debugger [baseline] (6.555 ms) : 0, 6555
Debugger [candidate] (6.565 ms) : 0, 6565
Remote Config [baseline] (1.547 ms) : 0, 1547
Remote Config [candidate] (1.618 ms) : 0, 1618
Telemetry [baseline] (15.537 ms) : 0, 15537
Telemetry [candidate] (14.457 ms) : 0, 14457
Flare Poller [baseline] (4.09 ms) : 0, 4090
Flare Poller [candidate] (4.956 ms) : 0, 4956
Profiling [baseline] (109.188 ms) : 0, 109188
Profiling [candidate] (109.322 ms) : 0, 109322
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.55.0-SNAPSHOT~2a4f5d653d, baseline=1.55.0-SNAPSHOT~6dc3f85c93
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.013 s) : 0, 1013239
Total [baseline] (8.662 s) : 0, 8662451
Agent [candidate] (1.015 s) : 0, 1014701
Total [candidate] (8.659 s) : 0, 8659496
section iast
Agent [baseline] (1.158 s) : 0, 1158295
Total [baseline] (9.344 s) : 0, 9343692
Agent [candidate] (1.15 s) : 0, 1149641
Total [candidate] (9.3 s) : 0, 9299914
gantt
title insecure-bank - break down per module: candidate=1.55.0-SNAPSHOT~2a4f5d653d, baseline=1.55.0-SNAPSHOT~6dc3f85c93
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.465 ms) : 0, 1465
crashtracking [candidate] (1.478 ms) : 0, 1478
BytebuddyAgent [baseline] (692.086 ms) : 0, 692086
BytebuddyAgent [candidate] (692.633 ms) : 0, 692633
GlobalTracer [baseline] (241.16 ms) : 0, 241160
GlobalTracer [candidate] (241.759 ms) : 0, 241759
AppSec [baseline] (32.342 ms) : 0, 32342
AppSec [candidate] (32.376 ms) : 0, 32376
Debugger [baseline] (6.412 ms) : 0, 6412
Debugger [candidate] (6.448 ms) : 0, 6448
Remote Config [baseline] (700.8 µs) : 0, 701
Remote Config [candidate] (714.479 µs) : 0, 714
Telemetry [baseline] (9.262 ms) : 0, 9262
Telemetry [candidate] (9.4 ms) : 0, 9400
Flare Poller [baseline] (8.753 ms) : 0, 8753
Flare Poller [candidate] (8.712 ms) : 0, 8712
section iast
crashtracking [baseline] (1.502 ms) : 0, 1502
crashtracking [candidate] (1.482 ms) : 0, 1482
BytebuddyAgent [baseline] (820.389 ms) : 0, 820389
BytebuddyAgent [candidate] (814.544 ms) : 0, 814544
GlobalTracer [baseline] (232.782 ms) : 0, 232782
GlobalTracer [candidate] (230.947 ms) : 0, 230947
IAST [baseline] (26.779 ms) : 0, 26779
IAST [candidate] (26.384 ms) : 0, 26384
AppSec [baseline] (35.233 ms) : 0, 35233
AppSec [candidate] (35.28 ms) : 0, 35280
Debugger [baseline] (6.204 ms) : 0, 6204
Debugger [candidate] (6.074 ms) : 0, 6074
Remote Config [baseline] (629.155 µs) : 0, 629
Remote Config [candidate] (615.979 µs) : 0, 616
Telemetry [baseline] (8.815 ms) : 0, 8815
Telemetry [candidate] (8.502 ms) : 0, 8502
Flare Poller [baseline] (4.217 ms) : 0, 4217
Flare Poller [candidate] (4.313 ms) : 0, 4313
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 2 performance regressions! Performance is the same for 10 metrics, 12 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~2a4f5d653d, baseline=1.55.0-SNAPSHOT~6dc3f85c93
dateFormat X
axisFormat %s
section baseline
no_agent (37.265 ms) : 36966, 37564
. : milestone, 37265,
appsec (48.401 ms) : 47966, 48836
. : milestone, 48401,
code_origins (45.089 ms) : 44715, 45464
. : milestone, 45089,
iast (44.331 ms) : 43956, 44705
. : milestone, 44331,
profiling (49.113 ms) : 48655, 49570
. : milestone, 49113,
tracing (45.041 ms) : 44653, 45429
. : milestone, 45041,
section candidate
no_agent (37.203 ms) : 36907, 37499
. : milestone, 37203,
appsec (48.957 ms) : 48514, 49400
. : milestone, 48957,
code_origins (44.471 ms) : 44089, 44854
. : milestone, 44471,
iast (47.168 ms) : 46749, 47586
. : milestone, 47168,
profiling (48.525 ms) : 48112, 48937
. : milestone, 48525,
tracing (45.543 ms) : 45140, 45946
. : milestone, 45543,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~2a4f5d653d, baseline=1.55.0-SNAPSHOT~6dc3f85c93
dateFormat X
axisFormat %s
section baseline
no_agent (4.391 ms) : 4341, 4441
. : milestone, 4391,
iast (9.739 ms) : 9579, 9899
. : milestone, 9739,
iast_FULL (15.015 ms) : 14715, 15316
. : milestone, 15015,
iast_GLOBAL (10.305 ms) : 10126, 10485
. : milestone, 10305,
profiling (8.997 ms) : 8846, 9148
. : milestone, 8997,
tracing (7.921 ms) : 7807, 8034
. : milestone, 7921,
section candidate
no_agent (4.376 ms) : 4323, 4428
. : milestone, 4376,
iast (9.846 ms) : 9681, 10011
. : milestone, 9846,
iast_FULL (14.806 ms) : 14513, 15100
. : milestone, 14806,
iast_GLOBAL (10.895 ms) : 10694, 11096
. : milestone, 10895,
profiling (8.766 ms) : 8625, 8907
. : milestone, 8766,
tracing (7.834 ms) : 7718, 7950
. : milestone, 7834,
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 biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~2a4f5d653d, baseline=1.55.0-SNAPSHOT~6dc3f85c93
dateFormat X
axisFormat %s
section baseline
no_agent (15.652 s) : 15652000, 15652000
. : milestone, 15652000,
appsec (15.184 s) : 15184000, 15184000
. : milestone, 15184000,
iast (18.415 s) : 18415000, 18415000
. : milestone, 18415000,
iast_GLOBAL (18.129 s) : 18129000, 18129000
. : milestone, 18129000,
profiling (15.937 s) : 15937000, 15937000
. : milestone, 15937000,
tracing (15.323 s) : 15323000, 15323000
. : milestone, 15323000,
section candidate
no_agent (15.295 s) : 15295000, 15295000
. : milestone, 15295000,
appsec (15.037 s) : 15037000, 15037000
. : milestone, 15037000,
iast (18.92 s) : 18920000, 18920000
. : milestone, 18920000,
iast_GLOBAL (18.049 s) : 18049000, 18049000
. : milestone, 18049000,
profiling (15.38 s) : 15380000, 15380000
. : milestone, 15380000,
tracing (15.078 s) : 15078000, 15078000
. : milestone, 15078000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~2a4f5d653d, baseline=1.55.0-SNAPSHOT~6dc3f85c93
dateFormat X
axisFormat %s
section baseline
no_agent (1.473 ms) : 1461, 1484
. : milestone, 1473,
appsec (3.696 ms) : 3478, 3913
. : milestone, 3696,
iast (2.21 ms) : 2146, 2274
. : milestone, 2210,
iast_GLOBAL (2.242 ms) : 2178, 2306
. : milestone, 2242,
profiling (2.037 ms) : 1986, 2088
. : milestone, 2037,
tracing (2.027 ms) : 1978, 2077
. : milestone, 2027,
section candidate
no_agent (1.472 ms) : 1460, 1483
. : milestone, 1472,
appsec (3.709 ms) : 3492, 3927
. : milestone, 3709,
iast (2.197 ms) : 2133, 2260
. : milestone, 2197,
iast_GLOBAL (2.242 ms) : 2177, 2306
. : milestone, 2242,
profiling (2.073 ms) : 2020, 2127
. : milestone, 2073,
tracing (2.019 ms) : 1969, 2069
. : milestone, 2019,
|
f476c6f to
a81b86f
Compare
Introducing ProbeMetadata class to help get probe from instrumented code. Instead of getting the probe instance from a map based on probeId we are directly getting it from an array that is filled at instrumentation time. This way it's cheaper and abstracted the way to get probe definition to evaluate conditions for example. In instrumented code, instead of referring the probe by the probeId hard-coded we are using index in probe metadata array. ProbeMetadata class encapsulate an AtomicReferenceArray to make sure every cell as a volatile-style access and provide linear way to remove or add into this array. For now linear scanning is fine as we don't expect a lot of probes in a same location. Could improve on that using bitmaps later if require. Instrumentation is changed to push int arrays instead of String arrays and can be optimize later to accept static arguments instead of varargs/array instead.
a81b86f to
4452a95
Compare
4452a95 to
2a4f5d6
Compare
What Does This Do
Introducing ProbeMetadata class to help get probe from instrumented
code. Instead of getting the probe instance from a map based on
probeId we are directly getting it from an array that is filled at instrumentation time. This way it's cheaper and abstracted the way to get probe definition to evaluate conditions for example. In instrumented code, instead of referring the probe by the probeId hard-coded we are using index in probe metadata array. ProbeMetadata class encapsulate an AtomicReferenceArray to make sure every cell as a volatile-style access and provide linear way to remove or add into this array.
For now linear scanning is fine as we don't expect a lot of probes in a same location. Could improve on that using bitmaps later if require. Instrumentation is changed to push int arrays instead of String arrays and can be optimize later to accept static arguments instead of varargs/array instead.
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]