Add Profiling Specific Handling for Config Inversion Linter#11066
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 petclinicgantt
title petclinic - global startup overhead: candidate=1.62.0-SNAPSHOT~71e46e8acf, baseline=1.62.0-SNAPSHOT~5ab378f780
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1055956
Total [baseline] (11.125 s) : 0, 11124507
Agent [candidate] (1.065 s) : 0, 1064984
Total [candidate] (11.262 s) : 0, 11261739
section appsec
Agent [baseline] (1.252 s) : 0, 1252196
Total [baseline] (7.866 s) : 0, 7866132
Agent [candidate] (1.266 s) : 0, 1265950
Total [candidate] (11.324 s) : 0, 11324440
section iast
Agent [baseline] (1.234 s) : 0, 1234469
Total [baseline] (11.42 s) : 0, 11420194
Agent [candidate] (1.23 s) : 0, 1230360
Total [candidate] (11.442 s) : 0, 11441598
section profiling
Agent [baseline] (1.185 s) : 0, 1185474
Total [baseline] (11.216 s) : 0, 11215615
Agent [candidate] (1.199 s) : 0, 1198534
Total [candidate] (11.365 s) : 0, 11364607
gantt
title petclinic - break down per module: candidate=1.62.0-SNAPSHOT~71e46e8acf, baseline=1.62.0-SNAPSHOT~5ab378f780
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.226 ms) : 0, 1226
crashtracking [candidate] (1.242 ms) : 0, 1242
BytebuddyAgent [baseline] (631.127 ms) : 0, 631127
BytebuddyAgent [candidate] (636.658 ms) : 0, 636658
AgentMeter [baseline] (29.457 ms) : 0, 29457
AgentMeter [candidate] (29.589 ms) : 0, 29589
GlobalTracer [baseline] (248.78 ms) : 0, 248780
GlobalTracer [candidate] (250.716 ms) : 0, 250716
AppSec [baseline] (32.051 ms) : 0, 32051
AppSec [candidate] (32.14 ms) : 0, 32140
Debugger [baseline] (60.166 ms) : 0, 60166
Debugger [candidate] (60.387 ms) : 0, 60387
Remote Config [baseline] (599.862 µs) : 0, 600
Remote Config [candidate] (591.944 µs) : 0, 592
Telemetry [baseline] (8.122 ms) : 0, 8122
Telemetry [candidate] (8.121 ms) : 0, 8121
Flare Poller [baseline] (8.292 ms) : 0, 8292
Flare Poller [candidate] (8.917 ms) : 0, 8917
section appsec
crashtracking [baseline] (1.231 ms) : 0, 1231
crashtracking [candidate] (1.254 ms) : 0, 1254
BytebuddyAgent [baseline] (662.93 ms) : 0, 662930
BytebuddyAgent [candidate] (673.727 ms) : 0, 673727
AgentMeter [baseline] (12.13 ms) : 0, 12130
AgentMeter [candidate] (12.274 ms) : 0, 12274
GlobalTracer [baseline] (249.165 ms) : 0, 249165
GlobalTracer [candidate] (251.91 ms) : 0, 251910
IAST [baseline] (24.759 ms) : 0, 24759
IAST [candidate] (24.75 ms) : 0, 24750
AppSec [baseline] (186.737 ms) : 0, 186737
AppSec [candidate] (185.95 ms) : 0, 185950
Debugger [baseline] (66.109 ms) : 0, 66109
Debugger [candidate] (66.308 ms) : 0, 66308
Remote Config [baseline] (588.795 µs) : 0, 589
Remote Config [candidate] (618.421 µs) : 0, 618
Telemetry [baseline] (8.503 ms) : 0, 8503
Telemetry [candidate] (8.645 ms) : 0, 8645
Flare Poller [baseline] (3.591 ms) : 0, 3591
Flare Poller [candidate] (3.6 ms) : 0, 3600
section iast
crashtracking [baseline] (1.256 ms) : 0, 1256
crashtracking [candidate] (1.236 ms) : 0, 1236
BytebuddyAgent [baseline] (807.654 ms) : 0, 807654
BytebuddyAgent [candidate] (804.691 ms) : 0, 804691
AgentMeter [baseline] (11.514 ms) : 0, 11514
AgentMeter [candidate] (11.447 ms) : 0, 11447
GlobalTracer [baseline] (241.585 ms) : 0, 241585
GlobalTracer [candidate] (240.522 ms) : 0, 240522
IAST [baseline] (26.017 ms) : 0, 26017
IAST [candidate] (25.982 ms) : 0, 25982
AppSec [baseline] (33.339 ms) : 0, 33339
AppSec [candidate] (31.237 ms) : 0, 31237
Debugger [baseline] (58.663 ms) : 0, 58663
Debugger [candidate] (60.418 ms) : 0, 60418
Remote Config [baseline] (537.023 µs) : 0, 537
Remote Config [candidate] (1.758 ms) : 0, 1758
Telemetry [baseline] (13.739 ms) : 0, 13739
Telemetry [candidate] (13.105 ms) : 0, 13105
Flare Poller [baseline] (3.452 ms) : 0, 3452
Flare Poller [candidate] (3.458 ms) : 0, 3458
section profiling
crashtracking [baseline] (1.192 ms) : 0, 1192
crashtracking [candidate] (1.216 ms) : 0, 1216
BytebuddyAgent [baseline] (692.235 ms) : 0, 692235
BytebuddyAgent [candidate] (700.946 ms) : 0, 700946
AgentMeter [baseline] (9.19 ms) : 0, 9190
AgentMeter [candidate] (9.148 ms) : 0, 9148
GlobalTracer [baseline] (207.386 ms) : 0, 207386
GlobalTracer [candidate] (209.329 ms) : 0, 209329
AppSec [baseline] (32.479 ms) : 0, 32479
AppSec [candidate] (32.688 ms) : 0, 32688
Debugger [baseline] (65.579 ms) : 0, 65579
Debugger [candidate] (66.249 ms) : 0, 66249
Remote Config [baseline] (576.422 µs) : 0, 576
Remote Config [candidate] (570.671 µs) : 0, 571
Telemetry [baseline] (7.881 ms) : 0, 7881
Telemetry [candidate] (7.896 ms) : 0, 7896
Flare Poller [baseline] (3.598 ms) : 0, 3598
Flare Poller [candidate] (3.585 ms) : 0, 3585
ProfilingAgent [baseline] (94.012 ms) : 0, 94012
ProfilingAgent [candidate] (94.74 ms) : 0, 94740
Profiling [baseline] (94.582 ms) : 0, 94582
Profiling [candidate] (95.312 ms) : 0, 95312
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.62.0-SNAPSHOT~71e46e8acf, baseline=1.62.0-SNAPSHOT~5ab378f780
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.059 s) : 0, 1058996
Total [baseline] (8.897 s) : 0, 8897462
Agent [candidate] (1.074 s) : 0, 1074255
Total [candidate] (8.91 s) : 0, 8910329
section iast
Agent [baseline] (1.232 s) : 0, 1231551
Total [baseline] (9.587 s) : 0, 9587494
Agent [candidate] (1.231 s) : 0, 1230627
Total [candidate] (9.598 s) : 0, 9598179
gantt
title insecure-bank - break down per module: candidate=1.62.0-SNAPSHOT~71e46e8acf, baseline=1.62.0-SNAPSHOT~5ab378f780
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.244 ms) : 0, 1244
crashtracking [candidate] (1.255 ms) : 0, 1255
BytebuddyAgent [baseline] (634.57 ms) : 0, 634570
BytebuddyAgent [candidate] (645.062 ms) : 0, 645062
AgentMeter [baseline] (29.528 ms) : 0, 29528
AgentMeter [candidate] (30.156 ms) : 0, 30156
GlobalTracer [baseline] (249.648 ms) : 0, 249648
GlobalTracer [candidate] (253.183 ms) : 0, 253183
AppSec [baseline] (32.121 ms) : 0, 32121
AppSec [candidate] (32.54 ms) : 0, 32540
Debugger [baseline] (59.387 ms) : 0, 59387
Debugger [candidate] (60.537 ms) : 0, 60537
Remote Config [baseline] (607.834 µs) : 0, 608
Remote Config [candidate] (623.881 µs) : 0, 624
Telemetry [baseline] (8.066 ms) : 0, 8066
Telemetry [candidate] (8.303 ms) : 0, 8303
Flare Poller [baseline] (7.389 ms) : 0, 7389
Flare Poller [candidate] (5.897 ms) : 0, 5897
section iast
crashtracking [baseline] (1.256 ms) : 0, 1256
crashtracking [candidate] (1.234 ms) : 0, 1234
BytebuddyAgent [baseline] (807.435 ms) : 0, 807435
BytebuddyAgent [candidate] (804.786 ms) : 0, 804786
AgentMeter [baseline] (11.653 ms) : 0, 11653
AgentMeter [candidate] (11.43 ms) : 0, 11430
GlobalTracer [baseline] (240.208 ms) : 0, 240208
GlobalTracer [candidate] (241.091 ms) : 0, 241091
IAST [baseline] (25.846 ms) : 0, 25846
IAST [candidate] (26.701 ms) : 0, 26701
AppSec [baseline] (31.074 ms) : 0, 31074
AppSec [candidate] (30.447 ms) : 0, 30447
Debugger [baseline] (59.421 ms) : 0, 59421
Debugger [candidate] (60.721 ms) : 0, 60721
Remote Config [baseline] (1.75 ms) : 0, 1750
Remote Config [candidate] (533.689 µs) : 0, 534
Telemetry [baseline] (12.84 ms) : 0, 12840
Telemetry [candidate] (13.191 ms) : 0, 13191
Flare Poller [baseline] (3.441 ms) : 0, 3441
Flare Poller [candidate] (3.963 ms) : 0, 3963
LoadParameters
See matching parameters
SummaryFound 5 performance improvements and 1 performance regressions! Performance is the same for 13 metrics, 17 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~71e46e8acf, baseline=1.62.0-SNAPSHOT~5ab378f780
dateFormat X
axisFormat %s
section baseline
no_agent (19.392 ms) : 19194, 19590
. : milestone, 19392,
appsec (19.029 ms) : 18837, 19221
. : milestone, 19029,
code_origins (17.998 ms) : 17821, 18175
. : milestone, 17998,
iast (17.866 ms) : 17690, 18041
. : milestone, 17866,
profiling (19.5 ms) : 19302, 19698
. : milestone, 19500,
tracing (18.383 ms) : 18205, 18561
. : milestone, 18383,
section candidate
no_agent (18.757 ms) : 18560, 18953
. : milestone, 18757,
appsec (19.052 ms) : 18858, 19246
. : milestone, 19052,
code_origins (17.705 ms) : 17536, 17875
. : milestone, 17705,
iast (18.169 ms) : 17990, 18348
. : milestone, 18169,
profiling (18.124 ms) : 17944, 18303
. : milestone, 18124,
tracing (17.626 ms) : 17455, 17798
. : milestone, 17626,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~71e46e8acf, baseline=1.62.0-SNAPSHOT~5ab378f780
dateFormat X
axisFormat %s
section baseline
no_agent (1.244 ms) : 1232, 1256
. : milestone, 1244,
iast (3.452 ms) : 3401, 3502
. : milestone, 3452,
iast_FULL (5.891 ms) : 5830, 5951
. : milestone, 5891,
iast_GLOBAL (3.754 ms) : 3689, 3818
. : milestone, 3754,
profiling (2.171 ms) : 2151, 2190
. : milestone, 2171,
tracing (1.91 ms) : 1894, 1926
. : milestone, 1910,
section candidate
no_agent (1.245 ms) : 1234, 1257
. : milestone, 1245,
iast (3.33 ms) : 3286, 3375
. : milestone, 3330,
iast_FULL (6.136 ms) : 6073, 6199
. : milestone, 6136,
iast_GLOBAL (3.492 ms) : 3443, 3541
. : milestone, 3492,
profiling (2.397 ms) : 2376, 2419
. : milestone, 2397,
tracing (1.993 ms) : 1974, 2012
. : milestone, 1993,
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 tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~71e46e8acf, baseline=1.62.0-SNAPSHOT~5ab378f780
dateFormat X
axisFormat %s
section baseline
no_agent (1.493 ms) : 1481, 1505
. : milestone, 1493,
appsec (3.828 ms) : 3605, 4051
. : milestone, 3828,
iast (2.277 ms) : 2207, 2346
. : milestone, 2277,
iast_GLOBAL (2.335 ms) : 2265, 2405
. : milestone, 2335,
profiling (2.123 ms) : 2068, 2179
. : milestone, 2123,
tracing (2.088 ms) : 2034, 2141
. : milestone, 2088,
section candidate
no_agent (1.496 ms) : 1485, 1508
. : milestone, 1496,
appsec (3.845 ms) : 3623, 4067
. : milestone, 3845,
iast (2.277 ms) : 2208, 2346
. : milestone, 2277,
iast_GLOBAL (2.325 ms) : 2255, 2395
. : milestone, 2325,
profiling (2.099 ms) : 2044, 2154
. : milestone, 2099,
tracing (2.091 ms) : 2037, 2145
. : milestone, 2091,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~71e46e8acf, baseline=1.62.0-SNAPSHOT~5ab378f780
dateFormat X
axisFormat %s
section baseline
no_agent (15.535 s) : 15535000, 15535000
. : milestone, 15535000,
appsec (14.835 s) : 14835000, 14835000
. : milestone, 14835000,
iast (18.55 s) : 18550000, 18550000
. : milestone, 18550000,
iast_GLOBAL (18.164 s) : 18164000, 18164000
. : milestone, 18164000,
profiling (15.367 s) : 15367000, 15367000
. : milestone, 15367000,
tracing (14.9 s) : 14900000, 14900000
. : milestone, 14900000,
section candidate
no_agent (15.29 s) : 15290000, 15290000
. : milestone, 15290000,
appsec (14.584 s) : 14584000, 14584000
. : milestone, 14584000,
iast (18.236 s) : 18236000, 18236000
. : milestone, 18236000,
iast_GLOBAL (18.32 s) : 18320000, 18320000
. : milestone, 18320000,
profiling (15.145 s) : 15145000, 15145000
. : milestone, 15145000,
tracing (14.967 s) : 14967000, 14967000
. : milestone, 14967000,
|
There was a problem hiding this comment.
why this is part of this PR?
There was a problem hiding this comment.
These were added as part of #11060. Rebasing w/ master will remove the code changes from this PR.
There was a problem hiding this comment.
same for this, should it be done in another PR?
There was a problem hiding this comment.
These were added as part of #11060. Rebasing w/ master will remove the code changes from this PR.
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.