-
Notifications
You must be signed in to change notification settings - Fork 319
Add Gradle Task to Parse V2 supported-configurations.json Format
#10060
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
base: master
Are you sure you want to change the base?
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 55 metrics, 10 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.57.0-SNAPSHOT~00837be271, baseline=1.57.0-SNAPSHOT~c786b08b1a
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.049 s) : 0, 1048871
Total [baseline] (8.695 s) : 0, 8695212
Agent [candidate] (1.048 s) : 0, 1048207
Total [candidate] (8.663 s) : 0, 8662794
section iast
Agent [baseline] (1.189 s) : 0, 1189478
Total [baseline] (9.281 s) : 0, 9280944
Agent [candidate] (1.197 s) : 0, 1196881
Total [candidate] (9.342 s) : 0, 9342350
gantt
title insecure-bank - break down per module: candidate=1.57.0-SNAPSHOT~00837be271, baseline=1.57.0-SNAPSHOT~c786b08b1a
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.475 ms) : 0, 1475
crashtracking [candidate] (1.485 ms) : 0, 1485
BytebuddyAgent [baseline] (704.907 ms) : 0, 704907
BytebuddyAgent [candidate] (704.686 ms) : 0, 704686
GlobalTracer [baseline] (248.192 ms) : 0, 248192
GlobalTracer [candidate] (248.088 ms) : 0, 248088
AppSec [baseline] (32.148 ms) : 0, 32148
AppSec [candidate] (31.863 ms) : 0, 31863
Debugger [baseline] (6.404 ms) : 0, 6404
Debugger [candidate] (6.364 ms) : 0, 6364
Remote Config [baseline] (669.19 µs) : 0, 669
Remote Config [candidate] (663.632 µs) : 0, 664
Telemetry [baseline] (15.49 ms) : 0, 15490
Telemetry [candidate] (15.469 ms) : 0, 15469
Flare Poller [baseline] (4.922 ms) : 0, 4922
Flare Poller [candidate] (4.791 ms) : 0, 4791
section iast
crashtracking [baseline] (1.479 ms) : 0, 1479
crashtracking [candidate] (1.494 ms) : 0, 1494
BytebuddyAgent [baseline] (829.258 ms) : 0, 829258
BytebuddyAgent [candidate] (835.096 ms) : 0, 835096
GlobalTracer [baseline] (237.08 ms) : 0, 237080
GlobalTracer [candidate] (237.833 ms) : 0, 237833
AppSec [baseline] (31.517 ms) : 0, 31517
AppSec [candidate] (30.518 ms) : 0, 30518
Debugger [baseline] (6.08 ms) : 0, 6080
Debugger [candidate] (6.146 ms) : 0, 6146
Remote Config [baseline] (605.133 µs) : 0, 605
Remote Config [candidate] (613.485 µs) : 0, 613
Telemetry [baseline] (7.958 ms) : 0, 7958
Telemetry [candidate] (8.168 ms) : 0, 8168
Flare Poller [baseline] (10.714 ms) : 0, 10714
Flare Poller [candidate] (10.816 ms) : 0, 10816
IAST [baseline] (29.921 ms) : 0, 29921
IAST [candidate] (31.101 ms) : 0, 31101
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.57.0-SNAPSHOT~00837be271, baseline=1.57.0-SNAPSHOT~c786b08b1a
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.052 s) : 0, 1051768
Total [baseline] (10.789 s) : 0, 10788744
Agent [candidate] (1.05 s) : 0, 1050318
Total [candidate] (10.809 s) : 0, 10808554
section appsec
Agent [baseline] (1.228 s) : 0, 1228025
Total [baseline] (10.866 s) : 0, 10866468
Agent [candidate] (1.233 s) : 0, 1232696
Total [candidate] (10.972 s) : 0, 10971965
section iast
Agent [baseline] (1.194 s) : 0, 1193857
Total [baseline] (11.244 s) : 0, 11244182
Agent [candidate] (1.192 s) : 0, 1191956
Total [candidate] (11.153 s) : 0, 11153069
section profiling
Agent [baseline] (1.199 s) : 0, 1198611
Total [baseline] (10.957 s) : 0, 10957495
Agent [candidate] (1.197 s) : 0, 1196874
Total [candidate] (10.835 s) : 0, 10834605
gantt
title petclinic - break down per module: candidate=1.57.0-SNAPSHOT~00837be271, baseline=1.57.0-SNAPSHOT~c786b08b1a
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.474 ms) : 0, 1474
crashtracking [candidate] (1.467 ms) : 0, 1467
BytebuddyAgent [baseline] (706.94 ms) : 0, 706940
BytebuddyAgent [candidate] (705.862 ms) : 0, 705862
GlobalTracer [baseline] (249.078 ms) : 0, 249078
GlobalTracer [candidate] (248.953 ms) : 0, 248953
AppSec [baseline] (32.126 ms) : 0, 32126
AppSec [candidate] (31.965 ms) : 0, 31965
Debugger [baseline] (6.403 ms) : 0, 6403
Debugger [candidate] (6.371 ms) : 0, 6371
Remote Config [baseline] (675.027 µs) : 0, 675
Remote Config [candidate] (672.226 µs) : 0, 672
Telemetry [baseline] (14.771 ms) : 0, 14771
Telemetry [candidate] (13.929 ms) : 0, 13929
Flare Poller [baseline] (5.626 ms) : 0, 5626
Flare Poller [candidate] (6.359 ms) : 0, 6359
section appsec
crashtracking [baseline] (1.481 ms) : 0, 1481
crashtracking [candidate] (1.487 ms) : 0, 1487
BytebuddyAgent [baseline] (731.44 ms) : 0, 731440
BytebuddyAgent [candidate] (735.484 ms) : 0, 735484
GlobalTracer [baseline] (241.542 ms) : 0, 241542
GlobalTracer [candidate] (241.773 ms) : 0, 241773
AppSec [baseline] (174.695 ms) : 0, 174695
AppSec [candidate] (174.84 ms) : 0, 174840
Debugger [baseline] (6.206 ms) : 0, 6206
Debugger [candidate] (6.234 ms) : 0, 6234
Remote Config [baseline] (684.197 µs) : 0, 684
Remote Config [candidate] (679.564 µs) : 0, 680
Telemetry [baseline] (8.074 ms) : 0, 8074
Telemetry [candidate] (8.07 ms) : 0, 8070
Flare Poller [baseline] (4.022 ms) : 0, 4022
Flare Poller [candidate] (4.03 ms) : 0, 4030
IAST [baseline] (24.927 ms) : 0, 24927
IAST [candidate] (25.008 ms) : 0, 25008
section iast
crashtracking [baseline] (1.473 ms) : 0, 1473
crashtracking [candidate] (1.476 ms) : 0, 1476
BytebuddyAgent [baseline] (831.305 ms) : 0, 831305
BytebuddyAgent [candidate] (831.328 ms) : 0, 831328
GlobalTracer [baseline] (238.118 ms) : 0, 238118
GlobalTracer [candidate] (237.958 ms) : 0, 237958
AppSec [baseline] (32.706 ms) : 0, 32706
AppSec [candidate] (28.712 ms) : 0, 28712
Debugger [baseline] (6.129 ms) : 0, 6129
Debugger [candidate] (6.089 ms) : 0, 6089
Remote Config [baseline] (615.998 µs) : 0, 616
Remote Config [candidate] (617.861 µs) : 0, 618
Telemetry [baseline] (8.116 ms) : 0, 8116
Telemetry [candidate] (7.942 ms) : 0, 7942
Flare Poller [baseline] (10.792 ms) : 0, 10792
Flare Poller [candidate] (10.704 ms) : 0, 10704
IAST [baseline] (29.701 ms) : 0, 29701
IAST [candidate] (32.445 ms) : 0, 32445
section profiling
ProfilingAgent [baseline] (112.442 ms) : 0, 112442
ProfilingAgent [candidate] (110.409 ms) : 0, 110409
crashtracking [baseline] (1.424 ms) : 0, 1424
crashtracking [candidate] (1.419 ms) : 0, 1419
BytebuddyAgent [baseline] (733.613 ms) : 0, 733613
BytebuddyAgent [candidate] (733.926 ms) : 0, 733926
GlobalTracer [baseline] (222.043 ms) : 0, 222043
GlobalTracer [candidate] (221.675 ms) : 0, 221675
AppSec [baseline] (32.159 ms) : 0, 32159
AppSec [candidate] (32.192 ms) : 0, 32192
Debugger [baseline] (8.234 ms) : 0, 8234
Debugger [candidate] (6.823 ms) : 0, 6823
Remote Config [baseline] (696.694 µs) : 0, 697
Remote Config [candidate] (674.499 µs) : 0, 674
Telemetry [baseline] (14.568 ms) : 0, 14568
Telemetry [candidate] (16.392 ms) : 0, 16392
Flare Poller [baseline] (4.196 ms) : 0, 4196
Flare Poller [candidate] (4.179 ms) : 0, 4179
Profiling [baseline] (113.061 ms) : 0, 113061
Profiling [candidate] (111.027 ms) : 0, 111027
LoadParameters
See matching parameters
SummaryFound 2 performance improvements and 4 performance regressions! Performance is the same for 13 metrics, 17 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.57.0-SNAPSHOT~00837be271, baseline=1.57.0-SNAPSHOT~c786b08b1a
dateFormat X
axisFormat %s
section baseline
no_agent (1.182 ms) : 1170, 1193
. : milestone, 1182,
iast (3.25 ms) : 3205, 3295
. : milestone, 3250,
iast_FULL (5.467 ms) : 5413, 5520
. : milestone, 5467,
iast_GLOBAL (3.447 ms) : 3400, 3495
. : milestone, 3447,
profiling (2.139 ms) : 2118, 2161
. : milestone, 2139,
tracing (1.787 ms) : 1773, 1802
. : milestone, 1787,
section candidate
no_agent (1.211 ms) : 1199, 1223
. : milestone, 1211,
iast (3.218 ms) : 3177, 3260
. : milestone, 3218,
iast_FULL (5.653 ms) : 5598, 5709
. : milestone, 5653,
iast_GLOBAL (3.664 ms) : 3610, 3717
. : milestone, 3664,
profiling (1.963 ms) : 1946, 1980
. : milestone, 1963,
tracing (1.812 ms) : 1797, 1827
. : milestone, 1812,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.57.0-SNAPSHOT~00837be271, baseline=1.57.0-SNAPSHOT~c786b08b1a
dateFormat X
axisFormat %s
section baseline
no_agent (17.879 ms) : 17698, 18060
. : milestone, 17879,
appsec (18.242 ms) : 18055, 18428
. : milestone, 18242,
code_origins (17.811 ms) : 17635, 17988
. : milestone, 17811,
iast (17.879 ms) : 17694, 18064
. : milestone, 17879,
profiling (18.384 ms) : 18201, 18567
. : milestone, 18384,
tracing (18.715 ms) : 18524, 18905
. : milestone, 18715,
section candidate
no_agent (17.984 ms) : 17801, 18167
. : milestone, 17984,
appsec (18.361 ms) : 18172, 18550
. : milestone, 18361,
code_origins (17.809 ms) : 17634, 17984
. : milestone, 17809,
iast (18.613 ms) : 18422, 18804
. : milestone, 18613,
profiling (19.365 ms) : 19171, 19558
. : milestone, 19365,
tracing (17.447 ms) : 17273, 17621
. : milestone, 17447,
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 biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.57.0-SNAPSHOT~00837be271, baseline=1.57.0-SNAPSHOT~c786b08b1a
dateFormat X
axisFormat %s
section baseline
no_agent (15.516 s) : 15516000, 15516000
. : milestone, 15516000,
appsec (14.561 s) : 14561000, 14561000
. : milestone, 14561000,
iast (18.574 s) : 18574000, 18574000
. : milestone, 18574000,
iast_GLOBAL (18.2 s) : 18200000, 18200000
. : milestone, 18200000,
profiling (15.038 s) : 15038000, 15038000
. : milestone, 15038000,
tracing (14.771 s) : 14771000, 14771000
. : milestone, 14771000,
section candidate
no_agent (14.866 s) : 14866000, 14866000
. : milestone, 14866000,
appsec (14.595 s) : 14595000, 14595000
. : milestone, 14595000,
iast (18.36 s) : 18360000, 18360000
. : milestone, 18360000,
iast_GLOBAL (18.142 s) : 18142000, 18142000
. : milestone, 18142000,
profiling (14.809 s) : 14809000, 14809000
. : milestone, 14809000,
tracing (14.816 s) : 14816000, 14816000
. : milestone, 14816000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.57.0-SNAPSHOT~00837be271, baseline=1.57.0-SNAPSHOT~c786b08b1a
dateFormat X
axisFormat %s
section baseline
no_agent (1.48 ms) : 1468, 1491
. : milestone, 1480,
appsec (2.521 ms) : 2467, 2576
. : milestone, 2521,
iast (2.221 ms) : 2157, 2285
. : milestone, 2221,
iast_GLOBAL (2.256 ms) : 2192, 2321
. : milestone, 2256,
profiling (2.484 ms) : 2325, 2643
. : milestone, 2484,
tracing (2.041 ms) : 1990, 2093
. : milestone, 2041,
section candidate
no_agent (1.479 ms) : 1468, 1491
. : milestone, 1479,
appsec (3.678 ms) : 3464, 3892
. : milestone, 3678,
iast (2.222 ms) : 2158, 2287
. : milestone, 2222,
iast_GLOBAL (2.271 ms) : 2206, 2337
. : milestone, 2271,
profiling (2.502 ms) : 2338, 2666
. : milestone, 2502,
tracing (2.051 ms) : 2000, 2102
. : milestone, 2051,
|
|
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
PerfectSlayer
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.
Left a minor comment as part of mentoring. I will leave the full review / feedback to the reviewers :)
utils/config-utils/src/main/java/datadog/trace/config/inversion/SupportedConfiguration.java
Outdated
Show resolved
Hide resolved
| import javax.inject.Inject | ||
|
|
||
| @CacheableTask | ||
| abstract class ParseV2SupportedConfigurationsTask @Inject constructor( |
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.
question: DO you think it would be possible to have a task that handle both formats ? Maybe with a field that indicate the version of the file ?
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.
@bric3 It's possible, but the formats of the files are so different that there would be little code reuse. My goal was to create this V2 task first, and remove the original task after I migrate the metadata/supported-configurations.json file. WDYT about that approach?
| val destinationDirectory = objects.directoryProperty() | ||
|
|
||
| @Input | ||
| val className = objects.property(String::class.java) |
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.
nitpick: By the way you can use the kotlin extension methods that live in org.gradle.kotlin.dsl. This allow to write in a more kotlin way:
+import org.gradle.kotlin.dsl.property| val className = objects.property(String::class.java) | |
| val className = objects.property<String>() |
| if (s == null) "null" else "\"${esc(s)}\"" | ||
| } | ||
|
|
||
| data class SupportedConfiguration( |
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.
suggestion: Id' rename this one as it is confusing with the outer class with the same name.
What Does This Do
This PR adds a new Gradle task to parse the V2 format for the local
supported-configurations.jsonfile. This task is based off of the original parsing taskParseSupportedConfigurationsTaskwhich handled the V1 format.Note that this is the first of many PRs to migrate to the V2 format. This task will be hooked into the generate task in a future PR.
Below are examples of the format of the two files:
This PR creates a new Java class
SupportedConfiguration.javainutils:config-utilsto support storing an individual Config version. The Gradle task parses the JSON and stores the data in instances of the object. Consequently, the new generated classGeneratedSupportedConfiguration.javawill now store aMap<String, List<SupportedConfiguration>>in itsSUPPORTEDfield.Additionally, the new V2 format does not have a top-level aliases field; rather aliases are tied to config versions. Until Config Registry becomes mature enough to understand what version of a config the customer is using, we will still generate a top-level aliases map that considers all aliases of a config, regardless of which version is actually being used.
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]