-
Notifications
You must be signed in to change notification settings - Fork 304
Add In-Product Enablement #8461
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
Conversation
Debugger benchmarksParameters
See matching parameters
SummaryFound 0 performance improvements and 4 performance regressions! Performance is the same for 5 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 (304.887 µs) : 277, 333
. : milestone, 305,
basic (296.286 µs) : 288, 304
. : milestone, 296,
loop (10.49 ms) : 10419, 10561
. : milestone, 10490,
section candidate
noprobe (310.087 µs) : 280, 340
. : milestone, 310,
basic (301.477 µs) : 293, 310
. : milestone, 301,
loop (10.805 ms) : 10778, 10833
. : milestone, 10805,
|
BenchmarksStartupParameters
See matching parameters
SummaryFound 6 performance improvements and 24 performance regressions! Performance is the same for 27 metrics, 6 unstable metrics.
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~676ddbb84a, baseline=1.47.0-SNAPSHOT~19d8832a9d
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.047 s) : 0, 1046604
Total [baseline] (8.67 s) : 0, 8669857
Agent [candidate] (1.142 s) : 0, 1142256
Total [candidate] (9.275 s) : 0, 9275167
section iast
Agent [baseline] (1.168 s) : 0, 1167839
Total [baseline] (9.288 s) : 0, 9288426
Agent [candidate] (1.258 s) : 0, 1257838
Total [candidate] (9.872 s) : 0, 9872320
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.178 s) : 0, 1177932
Total [baseline] (9.235 s) : 0, 9234738
Agent [candidate] (1.265 s) : 0, 1264599
Total [candidate] (9.896 s) : 0, 9896275
section iast_TELEMETRY_OFF
Agent [baseline] (1.166 s) : 0, 1165552
Total [baseline] (9.28 s) : 0, 9280146
Agent [candidate] (1.26 s) : 0, 1259813
Total [candidate] (9.899 s) : 0, 9899046
gantt
title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~676ddbb84a, baseline=1.47.0-SNAPSHOT~19d8832a9d
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (721.277 ms) : 0, 721277
BytebuddyAgent [candidate] (722.443 ms) : 0, 722443
GlobalTracer [baseline] (240.022 ms) : 0, 240022
GlobalTracer [candidate] (240.68 ms) : 0, 240680
AppSec [baseline] (55.748 ms) : 0, 55748
AppSec [candidate] (55.667 ms) : 0, 55667
Debugger [candidate] (95.342 ms) : 0, 95342
Remote Config [baseline] (694.346 µs) : 0, 694
Remote Config [candidate] (590.258 µs) : 0, 590
Telemetry [baseline] (13.813 ms) : 0, 13813
Telemetry [candidate] (12.421 ms) : 0, 12421
section iast
BytebuddyAgent [baseline] (834.875 ms) : 0, 834875
BytebuddyAgent [candidate] (836.688 ms) : 0, 836688
GlobalTracer [baseline] (229.553 ms) : 0, 229553
GlobalTracer [candidate] (230.141 ms) : 0, 230141
IAST [baseline] (22.468 ms) : 0, 22468
IAST [candidate] (22.859 ms) : 0, 22859
AppSec [baseline] (56.832 ms) : 0, 56832
AppSec [candidate] (57.176 ms) : 0, 57176
Debugger [candidate] (83.283 ms) : 0, 83283
Remote Config [baseline] (599.293 µs) : 0, 599
Remote Config [candidate] (512.069 µs) : 0, 512
Telemetry [baseline] (8.576 ms) : 0, 8576
Telemetry [candidate] (12.194 ms) : 0, 12194
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (841.749 ms) : 0, 841749
BytebuddyAgent [candidate] (841.117 ms) : 0, 841117
GlobalTracer [baseline] (230.913 ms) : 0, 230913
GlobalTracer [candidate] (231.414 ms) : 0, 231414
IAST [baseline] (23.07 ms) : 0, 23070
IAST [candidate] (23.085 ms) : 0, 23085
AppSec [baseline] (57.759 ms) : 0, 57759
AppSec [candidate] (57.535 ms) : 0, 57535
Debugger [candidate] (83.515 ms) : 0, 83515
Remote Config [baseline] (618.995 µs) : 0, 619
Remote Config [candidate] (512.169 µs) : 0, 512
Telemetry [baseline] (8.795 ms) : 0, 8795
Telemetry [candidate] (12.289 ms) : 0, 12289
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (833.074 ms) : 0, 833074
BytebuddyAgent [candidate] (837.92 ms) : 0, 837920
GlobalTracer [baseline] (229.592 ms) : 0, 229592
GlobalTracer [candidate] (230.583 ms) : 0, 230583
IAST [baseline] (24.196 ms) : 0, 24196
IAST [candidate] (23.308 ms) : 0, 23308
AppSec [baseline] (54.624 ms) : 0, 54624
AppSec [candidate] (56.653 ms) : 0, 56653
Debugger [candidate] (83.679 ms) : 0, 83679
Remote Config [baseline] (604.096 µs) : 0, 604
Remote Config [candidate] (537.468 µs) : 0, 537
Telemetry [baseline] (8.516 ms) : 0, 8516
Telemetry [candidate] (12.046 ms) : 0, 12046
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~676ddbb84a, baseline=1.47.0-SNAPSHOT~19d8832a9d
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.044 s) : 0, 1044252
Total [baseline] (10.496 s) : 0, 10495770
Agent [candidate] (1.133 s) : 0, 1133295
Total [candidate] (11.433 s) : 0, 11433448
section appsec
Agent [baseline] (1.181 s) : 0, 1181375
Total [baseline] (10.757 s) : 0, 10756585
Agent [candidate] (1.271 s) : 0, 1270544
Total [candidate] (11.679 s) : 0, 11678591
section iast
Agent [baseline] (1.17 s) : 0, 1169884
Total [baseline] (11.019 s) : 0, 11018807
Agent [candidate] (1.273 s) : 0, 1273086
Total [candidate] (11.938 s) : 0, 11937549
section profiling
Agent [baseline] (1.259 s) : 0, 1259016
Total [baseline] (10.873 s) : 0, 10873021
Agent [candidate] (1.378 s) : 0, 1378470
Total [candidate] (11.784 s) : 0, 11784439
gantt
title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~676ddbb84a, baseline=1.47.0-SNAPSHOT~19d8832a9d
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (720.501 ms) : 0, 720501
BytebuddyAgent [candidate] (716.459 ms) : 0, 716459
GlobalTracer [baseline] (238.877 ms) : 0, 238877
GlobalTracer [candidate] (238.598 ms) : 0, 238598
AppSec [baseline] (55.552 ms) : 0, 55552
AppSec [candidate] (55.377 ms) : 0, 55377
Debugger [candidate] (94.821 ms) : 0, 94821
Remote Config [baseline] (679.669 µs) : 0, 680
Remote Config [candidate] (582.671 µs) : 0, 583
Telemetry [baseline] (13.548 ms) : 0, 13548
Telemetry [candidate] (12.464 ms) : 0, 12464
section appsec
BytebuddyAgent [baseline] (734.017 ms) : 0, 734017
BytebuddyAgent [candidate] (734.888 ms) : 0, 734888
GlobalTracer [baseline] (235.636 ms) : 0, 235636
GlobalTracer [candidate] (235.669 ms) : 0, 235669
AppSec [baseline] (177.167 ms) : 0, 177167
AppSec [candidate] (177.355 ms) : 0, 177355
Debugger [candidate] (84.008 ms) : 0, 84008
Remote Config [baseline] (655.361 µs) : 0, 655
Remote Config [candidate] (623.495 µs) : 0, 623
Telemetry [baseline] (8.236 ms) : 0, 8236
Telemetry [candidate] (12.298 ms) : 0, 12298
IAST [baseline] (21.521 ms) : 0, 21521
IAST [candidate] (21.329 ms) : 0, 21329
section iast
BytebuddyAgent [baseline] (835.833 ms) : 0, 835833
BytebuddyAgent [candidate] (848.442 ms) : 0, 848442
GlobalTracer [baseline] (229.828 ms) : 0, 229828
GlobalTracer [candidate] (232.039 ms) : 0, 232039
AppSec [baseline] (57.055 ms) : 0, 57055
AppSec [candidate] (57.584 ms) : 0, 57584
Debugger [candidate] (83.951 ms) : 0, 83951
Remote Config [baseline] (618.506 µs) : 0, 619
Remote Config [candidate] (519.185 µs) : 0, 519
Telemetry [baseline] (8.702 ms) : 0, 8702
Telemetry [candidate] (12.255 ms) : 0, 12255
IAST [baseline] (22.826 ms) : 0, 22826
IAST [candidate] (23.051 ms) : 0, 23051
section profiling
ProfilingAgent [baseline] (95.508 ms) : 0, 95508
ProfilingAgent [candidate] (122.97 ms) : 0, 122970
BytebuddyAgent [baseline] (708.779 ms) : 0, 708779
BytebuddyAgent [candidate] (709.016 ms) : 0, 709016
GlobalTracer [baseline] (349.472 ms) : 0, 349472
GlobalTracer [candidate] (350.438 ms) : 0, 350438
AppSec [baseline] (55.297 ms) : 0, 55297
AppSec [candidate] (54.602 ms) : 0, 54602
Debugger [candidate] (87.889 ms) : 0, 87889
Remote Config [baseline] (670.452 µs) : 0, 670
Remote Config [candidate] (621.506 µs) : 0, 622
Telemetry [baseline] (8.968 ms) : 0, 8968
Telemetry [candidate] (12.568 ms) : 0, 12568
Profiling [baseline] (95.533 ms) : 0, 95533
Profiling [candidate] (122.99 ms) : 0, 122990
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 18 unstable metrics. Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~676ddbb84a, baseline=1.47.0-SNAPSHOT~19d8832a9d
dateFormat X
axisFormat %s
section baseline
no_agent (379.024 µs) : 359, 399
. : milestone, 379,
iast (515.275 µs) : 493, 537
. : milestone, 515,
iast_FULL (730.761 µs) : 709, 753
. : milestone, 731,
iast_GLOBAL (558.021 µs) : 536, 580
. : milestone, 558,
iast_HARDCODED_SECRET_DISABLED (509.59 µs) : 487, 532
. : milestone, 510,
iast_INACTIVE (456.306 µs) : 435, 477
. : milestone, 456,
iast_TELEMETRY_OFF (495.465 µs) : 472, 519
. : milestone, 495,
tracing (453.309 µs) : 433, 474
. : milestone, 453,
section candidate
no_agent (381.435 µs) : 361, 402
. : milestone, 381,
iast (517.992 µs) : 496, 540
. : milestone, 518,
iast_FULL (731.44 µs) : 709, 754
. : milestone, 731,
iast_GLOBAL (559.002 µs) : 536, 582
. : milestone, 559,
iast_HARDCODED_SECRET_DISABLED (511.658 µs) : 490, 533
. : milestone, 512,
iast_INACTIVE (465.307 µs) : 443, 487
. : milestone, 465,
iast_TELEMETRY_OFF (500.704 µs) : 477, 524
. : milestone, 501,
tracing (454.323 µs) : 434, 475
. : milestone, 454,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~676ddbb84a, baseline=1.47.0-SNAPSHOT~19d8832a9d
dateFormat X
axisFormat %s
section baseline
no_agent (1.363 ms) : 1343, 1383
. : milestone, 1363,
appsec (1.733 ms) : 1709, 1756
. : milestone, 1733,
appsec_no_iast (1.745 ms) : 1721, 1769
. : milestone, 1745,
code_origins (1.693 ms) : 1660, 1727
. : milestone, 1693,
iast (1.489 ms) : 1465, 1512
. : milestone, 1489,
profiling (1.554 ms) : 1530, 1578
. : milestone, 1554,
tracing (1.489 ms) : 1463, 1514
. : milestone, 1489,
section candidate
no_agent (1.368 ms) : 1349, 1387
. : milestone, 1368,
appsec (1.715 ms) : 1690, 1739
. : milestone, 1715,
appsec_no_iast (1.716 ms) : 1692, 1739
. : milestone, 1716,
code_origins (1.689 ms) : 1656, 1722
. : milestone, 1689,
iast (1.519 ms) : 1495, 1544
. : milestone, 1519,
profiling (1.503 ms) : 1478, 1528
. : milestone, 1503,
tracing (1.482 ms) : 1457, 1506
. : milestone, 1482,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~676ddbb84a, baseline=1.47.0-SNAPSHOT~19d8832a9d
dateFormat X
axisFormat %s
section baseline
no_agent (1.476 ms) : 1465, 1488
. : milestone, 1476,
appsec (2.332 ms) : 2288, 2375
. : milestone, 2332,
iast (2.121 ms) : 2066, 2176
. : milestone, 2121,
iast_GLOBAL (2.153 ms) : 2098, 2209
. : milestone, 2153,
profiling (1.968 ms) : 1925, 2011
. : milestone, 1968,
tracing (1.954 ms) : 1912, 1997
. : milestone, 1954,
section candidate
no_agent (1.471 ms) : 1460, 1483
. : milestone, 1471,
appsec (2.338 ms) : 2294, 2381
. : milestone, 2338,
iast (2.12 ms) : 2064, 2176
. : milestone, 2120,
iast_GLOBAL (2.159 ms) : 2103, 2214
. : milestone, 2159,
profiling (1.969 ms) : 1926, 2013
. : milestone, 1969,
tracing (1.943 ms) : 1901, 1986
. : milestone, 1943,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~676ddbb84a, baseline=1.47.0-SNAPSHOT~19d8832a9d
dateFormat X
axisFormat %s
section baseline
no_agent (15.344 s) : 15344000, 15344000
. : milestone, 15344000,
appsec (15.141 s) : 15141000, 15141000
. : milestone, 15141000,
iast (18.265 s) : 18265000, 18265000
. : milestone, 18265000,
iast_GLOBAL (18.062 s) : 18062000, 18062000
. : milestone, 18062000,
profiling (14.999 s) : 14999000, 14999000
. : milestone, 14999000,
tracing (14.934 s) : 14934000, 14934000
. : milestone, 14934000,
section candidate
no_agent (15.729 s) : 15729000, 15729000
. : milestone, 15729000,
appsec (14.878 s) : 14878000, 14878000
. : milestone, 14878000,
iast (18.862 s) : 18862000, 18862000
. : milestone, 18862000,
iast_GLOBAL (18.154 s) : 18154000, 18154000
. : milestone, 18154000,
profiling (14.986 s) : 14986000, 14986000
. : milestone, 14986000,
tracing (14.867 s) : 14867000, 14867000
. : milestone, 14867000,
|
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.
a few questions but looks great overall.
debuggerEnabled = isFeatureEnabled(AgentFeature.DEBUGGER); | ||
exceptionDebuggingEnabled = isFeatureEnabled(AgentFeature.EXCEPTION_DEBUGGING); | ||
dynamicInstrumentationEnabled = isFeatureEnabled(AgentFeature.DYNAMIC_INSTRUMENTATION); | ||
exceptionReplayEnabled = isFeatureEnabled(AgentFeature.EXCEPTION_REPLAY); | ||
spanOriginEnabled = isFeatureEnabled(AgentFeature.SPAN_ORIGIN); |
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.
can we also rename this to codeOrigin...
while we're renaming things?
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.
done
if (!debuggerEnabled && !exceptionDebuggingEnabled && !spanOriginEnabled) { | ||
if (isExplicitlyDisabled(DebuggerConfig.DYNAMIC_INSTRUMENTATION_ENABLED) | ||
&& isExplicitlyDisabled(DebuggerConfig.EXCEPTION_REPLAY_ENABLED) | ||
&& isExplicitlyDisabled(TraceInstrumentationConfig.CODE_ORIGIN_FOR_SPANS_ENABLED) |
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.
do we still want to bind code origin to DI enablement?
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.
it's not bond.
|
||
private static String buildTargets(List<String> hashes, List<RemoteConfig> remoteConfigs) { | ||
StringBuilder sb = new StringBuilder(); | ||
for (int i = 0; i < remoteConfigs.size(); i++) { |
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.
StringJoiner might be easier to read here.
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.
done
@@ -364,7 +364,7 @@ public DDSpan addThrowable(Throwable error, byte errorPriority) { | |||
} | |||
|
|||
private boolean isExceptionDebuggingEnabled() { |
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.
maybe rename the method, too? or is this name tied to serialization now?
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.
done
Introduce the ability to start and stop Debugger features: - Dynamic Instrumentation - Exception Replay - Code Origin - Distributed Debugger dynamically based on RemoteConfig record: APM_TRACING DebuggerAgent is now run every time at startup to have the base of some feature ready and be able to start the minimum required foe each feature. Ability to stop also the feature at any time to uninstall probes. Add smoke tests
2a5edcf
to
676ddbb
Compare
This reverts commit dceca28.
What Does This Do
Introduce the ability to start and stop Debugger features:
Ability to stop also the feature at any time to uninstall probes. Add smoke tests
Motivation
Additional Notes
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: DEBUG-3455