Add Profiling Specific Handling for Config Inversion Linter#11066
Open
Add Profiling Specific Handling for Config Inversion Linter#11066
Conversation
d6bc4c0 to
cca00b9
Compare
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 58 metrics, 13 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.62.0-SNAPSHOT~580f51f6b3, baseline=1.62.0-SNAPSHOT~b266e2d0c2
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1055839
Total [baseline] (8.904 s) : 0, 8904463
Agent [candidate] (1.06 s) : 0, 1060287
Total [candidate] (8.846 s) : 0, 8845997
section iast
Agent [baseline] (1.222 s) : 0, 1221663
Total [baseline] (9.587 s) : 0, 9587419
Agent [candidate] (1.226 s) : 0, 1225766
Total [candidate] (9.603 s) : 0, 9602665
gantt
title insecure-bank - break down per module: candidate=1.62.0-SNAPSHOT~580f51f6b3, baseline=1.62.0-SNAPSHOT~b266e2d0c2
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.244 ms) : 0, 1244
crashtracking [candidate] (1.235 ms) : 0, 1235
BytebuddyAgent [baseline] (633.894 ms) : 0, 633894
BytebuddyAgent [candidate] (635.492 ms) : 0, 635492
AgentMeter [baseline] (29.563 ms) : 0, 29563
AgentMeter [candidate] (29.556 ms) : 0, 29556
GlobalTracer [baseline] (247.934 ms) : 0, 247934
GlobalTracer [candidate] (248.906 ms) : 0, 248906
AppSec [baseline] (31.875 ms) : 0, 31875
AppSec [candidate] (32.003 ms) : 0, 32003
Debugger [baseline] (59.029 ms) : 0, 59029
Debugger [candidate] (59.468 ms) : 0, 59468
Remote Config [baseline] (597.167 µs) : 0, 597
Remote Config [candidate] (594.959 µs) : 0, 595
Telemetry [baseline] (7.967 ms) : 0, 7967
Telemetry [candidate] (8.104 ms) : 0, 8104
Flare Poller [baseline] (7.347 ms) : 0, 7347
Flare Poller [candidate] (8.86 ms) : 0, 8860
section iast
crashtracking [baseline] (1.229 ms) : 0, 1229
crashtracking [candidate] (1.232 ms) : 0, 1232
BytebuddyAgent [baseline] (799.575 ms) : 0, 799575
BytebuddyAgent [candidate] (801.704 ms) : 0, 801704
AgentMeter [baseline] (11.34 ms) : 0, 11340
AgentMeter [candidate] (11.355 ms) : 0, 11355
GlobalTracer [baseline] (238.523 ms) : 0, 238523
GlobalTracer [candidate] (239.941 ms) : 0, 239941
AppSec [baseline] (29.462 ms) : 0, 29462
AppSec [candidate] (32.026 ms) : 0, 32026
Debugger [baseline] (60.074 ms) : 0, 60074
Debugger [candidate] (60.3 ms) : 0, 60300
Remote Config [baseline] (1.179 ms) : 0, 1179
Remote Config [candidate] (538.859 µs) : 0, 539
Telemetry [baseline] (14.74 ms) : 0, 14740
Telemetry [candidate] (12.825 ms) : 0, 12825
Flare Poller [baseline] (3.642 ms) : 0, 3642
Flare Poller [candidate] (3.542 ms) : 0, 3542
IAST [baseline] (25.757 ms) : 0, 25757
IAST [candidate] (25.967 ms) : 0, 25967
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.62.0-SNAPSHOT~580f51f6b3, baseline=1.62.0-SNAPSHOT~b266e2d0c2
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.063 s) : 0, 1063356
Total [baseline] (11.067 s) : 0, 11067098
Agent [candidate] (1.061 s) : 0, 1061340
Total [candidate] (11.029 s) : 0, 11029113
section appsec
Agent [baseline] (1.271 s) : 0, 1270502
Total [baseline] (11.296 s) : 0, 11295586
Agent [candidate] (1.248 s) : 0, 1248431
Total [candidate] (11.059 s) : 0, 11058577
section iast
Agent [baseline] (1.23 s) : 0, 1230411
Total [baseline] (11.316 s) : 0, 11315842
Agent [candidate] (1.223 s) : 0, 1223206
Total [candidate] (11.298 s) : 0, 11297892
section profiling
Agent [baseline] (1.197 s) : 0, 1196946
Total [baseline] (11.163 s) : 0, 11163487
Agent [candidate] (1.187 s) : 0, 1186939
Total [candidate] (11.113 s) : 0, 11113306
gantt
title petclinic - break down per module: candidate=1.62.0-SNAPSHOT~580f51f6b3, baseline=1.62.0-SNAPSHOT~b266e2d0c2
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.235 ms) : 0, 1235
crashtracking [candidate] (1.243 ms) : 0, 1243
BytebuddyAgent [baseline] (635.552 ms) : 0, 635552
BytebuddyAgent [candidate] (637.851 ms) : 0, 637851
AgentMeter [baseline] (29.492 ms) : 0, 29492
AgentMeter [candidate] (29.591 ms) : 0, 29591
GlobalTracer [baseline] (249.665 ms) : 0, 249665
GlobalTracer [candidate] (248.868 ms) : 0, 248868
AppSec [baseline] (32.215 ms) : 0, 32215
AppSec [candidate] (31.995 ms) : 0, 31995
Debugger [baseline] (60.346 ms) : 0, 60346
Debugger [candidate] (60.087 ms) : 0, 60087
Remote Config [baseline] (608.586 µs) : 0, 609
Remote Config [candidate] (610.098 µs) : 0, 610
Telemetry [baseline] (8.104 ms) : 0, 8104
Telemetry [candidate] (8.141 ms) : 0, 8141
Flare Poller [baseline] (9.939 ms) : 0, 9939
Flare Poller [candidate] (6.645 ms) : 0, 6645
section appsec
crashtracking [baseline] (1.249 ms) : 0, 1249
crashtracking [candidate] (1.221 ms) : 0, 1221
BytebuddyAgent [baseline] (674.909 ms) : 0, 674909
BytebuddyAgent [candidate] (661.712 ms) : 0, 661712
AgentMeter [baseline] (12.224 ms) : 0, 12224
AgentMeter [candidate] (12.103 ms) : 0, 12103
GlobalTracer [baseline] (253.279 ms) : 0, 253279
GlobalTracer [candidate] (249.324 ms) : 0, 249324
AppSec [baseline] (187.274 ms) : 0, 187274
AppSec [candidate] (184.815 ms) : 0, 184815
Debugger [baseline] (66.872 ms) : 0, 66872
Debugger [candidate] (65.441 ms) : 0, 65441
Remote Config [baseline] (609.586 µs) : 0, 610
Remote Config [candidate] (600.013 µs) : 0, 600
Telemetry [baseline] (8.745 ms) : 0, 8745
Telemetry [candidate] (8.639 ms) : 0, 8639
Flare Poller [baseline] (3.634 ms) : 0, 3634
Flare Poller [candidate] (3.527 ms) : 0, 3527
IAST [baseline] (25.004 ms) : 0, 25004
IAST [candidate] (24.554 ms) : 0, 24554
section iast
crashtracking [baseline] (1.244 ms) : 0, 1244
crashtracking [candidate] (1.236 ms) : 0, 1236
BytebuddyAgent [baseline] (804.848 ms) : 0, 804848
BytebuddyAgent [candidate] (800.297 ms) : 0, 800297
AgentMeter [baseline] (11.466 ms) : 0, 11466
AgentMeter [candidate] (11.372 ms) : 0, 11372
GlobalTracer [baseline] (240.743 ms) : 0, 240743
GlobalTracer [candidate] (239.255 ms) : 0, 239255
AppSec [baseline] (30.382 ms) : 0, 30382
AppSec [candidate] (29.305 ms) : 0, 29305
Debugger [baseline] (63.011 ms) : 0, 63011
Debugger [candidate] (61.534 ms) : 0, 61534
Remote Config [baseline] (547.348 µs) : 0, 547
Remote Config [candidate] (534.927 µs) : 0, 535
Telemetry [baseline] (12.443 ms) : 0, 12443
Telemetry [candidate] (13.421 ms) : 0, 13421
Flare Poller [baseline] (3.531 ms) : 0, 3531
Flare Poller [candidate] (3.466 ms) : 0, 3466
IAST [baseline] (25.888 ms) : 0, 25888
IAST [candidate] (26.536 ms) : 0, 26536
section profiling
crashtracking [baseline] (1.178 ms) : 0, 1178
crashtracking [candidate] (1.193 ms) : 0, 1193
BytebuddyAgent [baseline] (700.303 ms) : 0, 700303
BytebuddyAgent [candidate] (692.52 ms) : 0, 692520
AgentMeter [baseline] (9.307 ms) : 0, 9307
AgentMeter [candidate] (9.139 ms) : 0, 9139
GlobalTracer [baseline] (209.56 ms) : 0, 209560
GlobalTracer [candidate] (207.856 ms) : 0, 207856
AppSec [baseline] (32.641 ms) : 0, 32641
AppSec [candidate] (32.606 ms) : 0, 32606
Debugger [baseline] (65.874 ms) : 0, 65874
Debugger [candidate] (65.835 ms) : 0, 65835
Remote Config [baseline] (576.234 µs) : 0, 576
Remote Config [candidate] (569.837 µs) : 0, 570
Telemetry [baseline] (7.86 ms) : 0, 7860
Telemetry [candidate] (7.835 ms) : 0, 7835
Flare Poller [baseline] (3.582 ms) : 0, 3582
Flare Poller [candidate] (3.564 ms) : 0, 3564
ProfilingAgent [baseline] (94.388 ms) : 0, 94388
ProfilingAgent [candidate] (94.401 ms) : 0, 94401
Profiling [baseline] (94.968 ms) : 0, 94968
Profiling [candidate] (94.976 ms) : 0, 94976
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 2 performance regressions! Performance is the same for 18 metrics, 16 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~580f51f6b3, baseline=1.62.0-SNAPSHOT~b266e2d0c2
dateFormat X
axisFormat %s
section baseline
no_agent (1.248 ms) : 1235, 1261
. : milestone, 1248,
iast (3.325 ms) : 3276, 3374
. : milestone, 3325,
iast_FULL (6.117 ms) : 6055, 6179
. : milestone, 6117,
iast_GLOBAL (3.609 ms) : 3548, 3670
. : milestone, 3609,
profiling (2.312 ms) : 2290, 2334
. : milestone, 2312,
tracing (2.007 ms) : 1989, 2025
. : milestone, 2007,
section candidate
no_agent (1.265 ms) : 1252, 1278
. : milestone, 1265,
iast (3.403 ms) : 3357, 3449
. : milestone, 3403,
iast_FULL (6.083 ms) : 6022, 6145
. : milestone, 6083,
iast_GLOBAL (3.912 ms) : 3844, 3981
. : milestone, 3912,
profiling (2.258 ms) : 2235, 2281
. : milestone, 2258,
tracing (1.916 ms) : 1898, 1934
. : milestone, 1916,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~580f51f6b3, baseline=1.62.0-SNAPSHOT~b266e2d0c2
dateFormat X
axisFormat %s
section baseline
no_agent (18.224 ms) : 18040, 18409
. : milestone, 18224,
appsec (18.962 ms) : 18768, 19156
. : milestone, 18962,
code_origins (17.916 ms) : 17739, 18092
. : milestone, 17916,
iast (18.033 ms) : 17856, 18210
. : milestone, 18033,
profiling (19.468 ms) : 19270, 19666
. : milestone, 19468,
tracing (18.213 ms) : 18032, 18394
. : milestone, 18213,
section candidate
no_agent (18.531 ms) : 18343, 18720
. : milestone, 18531,
appsec (18.546 ms) : 18363, 18730
. : milestone, 18546,
code_origins (17.755 ms) : 17579, 17930
. : milestone, 17755,
iast (18.358 ms) : 18176, 18540
. : milestone, 18358,
profiling (19.35 ms) : 19155, 19546
. : milestone, 19350,
tracing (17.866 ms) : 17692, 18040
. : milestone, 17866,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 10 metrics, 2 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~580f51f6b3, baseline=1.62.0-SNAPSHOT~b266e2d0c2
dateFormat X
axisFormat %s
section baseline
no_agent (1.494 ms) : 1483, 1506
. : milestone, 1494,
appsec (2.534 ms) : 2480, 2589
. : milestone, 2534,
iast (2.271 ms) : 2202, 2340
. : milestone, 2271,
iast_GLOBAL (2.32 ms) : 2251, 2389
. : milestone, 2320,
profiling (2.533 ms) : 2366, 2699
. : milestone, 2533,
tracing (2.095 ms) : 2042, 2149
. : milestone, 2095,
section candidate
no_agent (1.494 ms) : 1482, 1505
. : milestone, 1494,
appsec (3.828 ms) : 3605, 4051
. : milestone, 3828,
iast (2.275 ms) : 2206, 2344
. : milestone, 2275,
iast_GLOBAL (2.32 ms) : 2250, 2389
. : milestone, 2320,
profiling (2.527 ms) : 2361, 2693
. : milestone, 2527,
tracing (2.096 ms) : 2042, 2150
. : milestone, 2096,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~580f51f6b3, baseline=1.62.0-SNAPSHOT~b266e2d0c2
dateFormat X
axisFormat %s
section baseline
no_agent (14.978 s) : 14978000, 14978000
. : milestone, 14978000,
appsec (14.794 s) : 14794000, 14794000
. : milestone, 14794000,
iast (18.07 s) : 18070000, 18070000
. : milestone, 18070000,
iast_GLOBAL (18.303 s) : 18303000, 18303000
. : milestone, 18303000,
profiling (14.814 s) : 14814000, 14814000
. : milestone, 14814000,
tracing (14.93 s) : 14930000, 14930000
. : milestone, 14930000,
section candidate
no_agent (15.014 s) : 15014000, 15014000
. : milestone, 15014000,
appsec (14.626 s) : 14626000, 14626000
. : milestone, 14626000,
iast (18.392 s) : 18392000, 18392000
. : milestone, 18392000,
iast_GLOBAL (18.062 s) : 18062000, 18062000
. : milestone, 18062000,
profiling (14.777 s) : 14777000, 14777000
. : milestone, 14777000,
tracing (15.143 s) : 15143000, 15143000
. : milestone, 15143000,
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Does This Do
This PR adds Profiling-specific handling for
ConfigInversionLinter. Profiling calls individual helper functions to query configurations by potentially normalizingddprof->asyncas an alternative configuration. This means that static checks toProfilingConfig.javais not sufficient to ensure that all Profiling configs are documented - we need to add static checks inDatadogProfilerConfig.javaas well.Only calls to
getString,getBoolean,getLong, andgetIntegerwhenConfigProvideris the first parameter passed in perform the normalization mentioned above. The added Gradle task is only concerned about these cases, as they cannot be caught from the existing static checks.This Gradle task also has some repeated components with the existing
registerCheckConfigStringsTaskand pulls out shared logic to be used by both tasks.This PR also adds the new Gradle task to the
config-inversion-linterCI job.Motivation
Profiling does not test all of its configs at runtime, making runtime checks ineffective for determining all Profiling configs are documented. Additionally, the special handling of
asyncconfigs in Profiling require a new Gradle task to account for this edge case.Additional Notes
Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]
Note: Once your PR is ready to merge, add it to the merge queue by commenting
/merge./merge -ccancels the queue request./merge -f --reason "reason"skips all merge queue checks; please use this judiciously, as some checks do not run at the PR-level. For more information, see this doc.