-
Notifications
You must be signed in to change notification settings - Fork 314
Migrate Querying of Environment Variables to to ConfigHelper
#9620
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 0 performance regressions! Performance is the same for 8 metrics, 7 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 (326.351 µs) : 290, 362
. : milestone, 326,
basic (281.143 µs) : 275, 288
. : milestone, 281,
loop (8.951 ms) : 8946, 8956
. : milestone, 8951,
section candidate
noprobe (321.941 µs) : 278, 365
. : milestone, 322,
basic (280.261 µs) : 274, 286
. : milestone, 280,
loop (8.97 ms) : 8966, 8975
. : milestone, 8970,
|
|
🎯 Code Coverage 🔗 Commit SHA: f6c59b4 | Docs | Was this helpful? Give us feedback! |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 53 metrics, 12 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.55.0-SNAPSHOT~f6c59b40f8, baseline=1.55.0-SNAPSHOT~cd02b0c326
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.018 s) : 0, 1017655
Total [baseline] (10.647 s) : 0, 10646635
Agent [candidate] (1.03 s) : 0, 1029777
Total [candidate] (10.778 s) : 0, 10778449
section appsec
Agent [baseline] (1.2 s) : 0, 1200470
Total [baseline] (10.805 s) : 0, 10804938
Agent [candidate] (1.209 s) : 0, 1208778
Total [candidate] (10.939 s) : 0, 10938893
section iast
Agent [baseline] (1.159 s) : 0, 1159359
Total [baseline] (11.097 s) : 0, 11097053
Agent [candidate] (1.159 s) : 0, 1158589
Total [candidate] (11.07 s) : 0, 11069753
section profiling
Agent [baseline] (1.161 s) : 0, 1161239
Total [baseline] (10.833 s) : 0, 10832661
Agent [candidate] (1.17 s) : 0, 1169923
Total [candidate] (10.887 s) : 0, 10887193
gantt
title petclinic - break down per module: candidate=1.55.0-SNAPSHOT~f6c59b40f8, baseline=1.55.0-SNAPSHOT~cd02b0c326
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.44 ms) : 0, 1440
crashtracking [candidate] (1.454 ms) : 0, 1454
BytebuddyAgent [baseline] (693.675 ms) : 0, 693675
BytebuddyAgent [candidate] (703.12 ms) : 0, 703120
GlobalTracer [baseline] (242.955 ms) : 0, 242955
GlobalTracer [candidate] (243.965 ms) : 0, 243965
AppSec [baseline] (32.082 ms) : 0, 32082
AppSec [candidate] (32.326 ms) : 0, 32326
Debugger [baseline] (6.287 ms) : 0, 6287
Debugger [candidate] (6.333 ms) : 0, 6333
Remote Config [baseline] (668.488 µs) : 0, 668
Remote Config [candidate] (665.095 µs) : 0, 665
Telemetry [baseline] (9.363 ms) : 0, 9363
Telemetry [candidate] (15.026 ms) : 0, 15026
Flare Poller [baseline] (10.075 ms) : 0, 10075
Flare Poller [candidate] (5.723 ms) : 0, 5723
section appsec
crashtracking [baseline] (1.45 ms) : 0, 1450
crashtracking [candidate] (1.467 ms) : 0, 1467
BytebuddyAgent [baseline] (722.229 ms) : 0, 722229
BytebuddyAgent [candidate] (730.708 ms) : 0, 730708
GlobalTracer [baseline] (236.051 ms) : 0, 236051
GlobalTracer [candidate] (235.97 ms) : 0, 235970
AppSec [baseline] (174.243 ms) : 0, 174243
AppSec [candidate] (175.289 ms) : 0, 175289
Debugger [baseline] (6.128 ms) : 0, 6128
Debugger [candidate] (6.02 ms) : 0, 6020
Remote Config [baseline] (639.922 µs) : 0, 640
Remote Config [candidate] (617.672 µs) : 0, 618
Telemetry [baseline] (9.368 ms) : 0, 9368
Telemetry [candidate] (8.456 ms) : 0, 8456
Flare Poller [baseline] (3.982 ms) : 0, 3982
Flare Poller [candidate] (3.9 ms) : 0, 3900
IAST [baseline] (25.112 ms) : 0, 25112
IAST [candidate] (25.174 ms) : 0, 25174
section iast
crashtracking [baseline] (1.459 ms) : 0, 1459
crashtracking [candidate] (1.465 ms) : 0, 1465
BytebuddyAgent [baseline] (821.559 ms) : 0, 821559
BytebuddyAgent [candidate] (822.194 ms) : 0, 822194
GlobalTracer [baseline] (232.83 ms) : 0, 232830
GlobalTracer [candidate] (232.714 ms) : 0, 232714
AppSec [baseline] (35.153 ms) : 0, 35153
AppSec [candidate] (30.575 ms) : 0, 30575
Debugger [baseline] (6.16 ms) : 0, 6160
Debugger [candidate] (6.166 ms) : 0, 6166
Remote Config [baseline] (612.97 µs) : 0, 613
Remote Config [candidate] (592.715 µs) : 0, 593
Telemetry [baseline] (8.805 ms) : 0, 8805
Telemetry [candidate] (8.465 ms) : 0, 8465
Flare Poller [baseline] (4.337 ms) : 0, 4337
Flare Poller [candidate] (4.164 ms) : 0, 4164
IAST [baseline] (26.899 ms) : 0, 26899
IAST [candidate] (30.946 ms) : 0, 30946
section profiling
crashtracking [baseline] (1.468 ms) : 0, 1468
crashtracking [candidate] (1.439 ms) : 0, 1439
BytebuddyAgent [baseline] (718.498 ms) : 0, 718498
BytebuddyAgent [candidate] (725.55 ms) : 0, 725550
GlobalTracer [baseline] (218.326 ms) : 0, 218326
GlobalTracer [candidate] (218.53 ms) : 0, 218530
AppSec [baseline] (32.244 ms) : 0, 32244
AppSec [candidate] (32.182 ms) : 0, 32182
Debugger [baseline] (7.478 ms) : 0, 7478
Debugger [candidate] (8.288 ms) : 0, 8288
Remote Config [baseline] (673.167 µs) : 0, 673
Remote Config [candidate] (1.494 ms) : 0, 1494
Telemetry [baseline] (15.079 ms) : 0, 15079
Telemetry [candidate] (13.661 ms) : 0, 13661
Flare Poller [baseline] (4.1 ms) : 0, 4100
Flare Poller [candidate] (4.086 ms) : 0, 4086
ProfilingAgent [baseline] (109.614 ms) : 0, 109614
ProfilingAgent [candidate] (109.503 ms) : 0, 109503
Profiling [baseline] (110.26 ms) : 0, 110260
Profiling [candidate] (110.174 ms) : 0, 110174
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.55.0-SNAPSHOT~f6c59b40f8, baseline=1.55.0-SNAPSHOT~cd02b0c326
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.016 s) : 0, 1015876
Total [baseline] (8.667 s) : 0, 8667457
Agent [candidate] (1.034 s) : 0, 1033795
Total [candidate] (8.654 s) : 0, 8654101
section iast
Agent [baseline] (1.147 s) : 0, 1146614
Total [baseline] (9.275 s) : 0, 9274825
Agent [candidate] (1.165 s) : 0, 1164970
Total [candidate] (9.382 s) : 0, 9381752
gantt
title insecure-bank - break down per module: candidate=1.55.0-SNAPSHOT~f6c59b40f8, baseline=1.55.0-SNAPSHOT~cd02b0c326
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.453 ms) : 0, 1453
crashtracking [candidate] (1.47 ms) : 0, 1470
BytebuddyAgent [baseline] (693.276 ms) : 0, 693276
BytebuddyAgent [candidate] (705.479 ms) : 0, 705479
GlobalTracer [baseline] (241.989 ms) : 0, 241989
GlobalTracer [candidate] (244.919 ms) : 0, 244919
AppSec [baseline] (32.3 ms) : 0, 32300
AppSec [candidate] (32.481 ms) : 0, 32481
Debugger [baseline] (6.239 ms) : 0, 6239
Debugger [candidate] (6.419 ms) : 0, 6419
Remote Config [baseline] (674.343 µs) : 0, 674
Remote Config [candidate] (674.562 µs) : 0, 675
Telemetry [baseline] (9.266 ms) : 0, 9266
Telemetry [candidate] (14.345 ms) : 0, 14345
Flare Poller [baseline] (9.646 ms) : 0, 9646
Flare Poller [candidate] (6.773 ms) : 0, 6773
section iast
crashtracking [baseline] (1.477 ms) : 0, 1477
crashtracking [candidate] (1.47 ms) : 0, 1470
BytebuddyAgent [baseline] (811.726 ms) : 0, 811726
BytebuddyAgent [candidate] (827.345 ms) : 0, 827345
GlobalTracer [baseline] (230.788 ms) : 0, 230788
GlobalTracer [candidate] (233.441 ms) : 0, 233441
AppSec [baseline] (34.804 ms) : 0, 34804
AppSec [candidate] (29.836 ms) : 0, 29836
Debugger [baseline] (6.193 ms) : 0, 6193
Debugger [candidate] (6.202 ms) : 0, 6202
Remote Config [baseline] (612.667 µs) : 0, 613
Remote Config [candidate] (603.445 µs) : 0, 603
Telemetry [baseline] (8.682 ms) : 0, 8682
Telemetry [candidate] (8.51 ms) : 0, 8510
Flare Poller [baseline] (4.286 ms) : 0, 4286
Flare Poller [candidate] (4.18 ms) : 0, 4180
IAST [baseline] (26.698 ms) : 0, 26698
IAST [candidate] (31.984 ms) : 0, 31984
LoadParameters
See matching parameters
SummaryFound 1 performance improvements and 1 performance regressions! Performance is the same for 10 metrics, 12 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~f6c59b40f8, baseline=1.55.0-SNAPSHOT~cd02b0c326
dateFormat X
axisFormat %s
section baseline
no_agent (4.374 ms) : 4323, 4425
. : milestone, 4374,
iast (9.557 ms) : 9400, 9714
. : milestone, 9557,
iast_FULL (14.391 ms) : 14106, 14676
. : milestone, 14391,
iast_GLOBAL (10.971 ms) : 10775, 11167
. : milestone, 10971,
profiling (9.039 ms) : 8886, 9191
. : milestone, 9039,
tracing (7.683 ms) : 7575, 7790
. : milestone, 7683,
section candidate
no_agent (4.364 ms) : 4310, 4418
. : milestone, 4364,
iast (9.761 ms) : 9589, 9932
. : milestone, 9761,
iast_FULL (14.432 ms) : 14147, 14718
. : milestone, 14432,
iast_GLOBAL (11.034 ms) : 10832, 11235
. : milestone, 11034,
profiling (9.196 ms) : 9045, 9347
. : milestone, 9196,
tracing (7.279 ms) : 7171, 7387
. : milestone, 7279,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~f6c59b40f8, baseline=1.55.0-SNAPSHOT~cd02b0c326
dateFormat X
axisFormat %s
section baseline
no_agent (35.899 ms) : 35616, 36182
. : milestone, 35899,
appsec (47.793 ms) : 47375, 48211
. : milestone, 47793,
code_origins (43.244 ms) : 42873, 43616
. : milestone, 43244,
iast (43.081 ms) : 42710, 43452
. : milestone, 43081,
profiling (47.684 ms) : 47267, 48100
. : milestone, 47684,
tracing (43.862 ms) : 43491, 44233
. : milestone, 43862,
section candidate
no_agent (38.318 ms) : 38002, 38633
. : milestone, 38318,
appsec (48.593 ms) : 48177, 49008
. : milestone, 48593,
code_origins (44.134 ms) : 43750, 44518
. : milestone, 44134,
iast (43.605 ms) : 43214, 43997
. : milestone, 43605,
profiling (48.84 ms) : 48404, 49276
. : milestone, 48840,
tracing (42.9 ms) : 42535, 43266
. : milestone, 42900,
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~f6c59b40f8, baseline=1.55.0-SNAPSHOT~cd02b0c326
dateFormat X
axisFormat %s
section baseline
no_agent (14.836 s) : 14836000, 14836000
. : milestone, 14836000,
appsec (15.026 s) : 15026000, 15026000
. : milestone, 15026000,
iast (18.752 s) : 18752000, 18752000
. : milestone, 18752000,
iast_GLOBAL (17.69 s) : 17690000, 17690000
. : milestone, 17690000,
profiling (15.195 s) : 15195000, 15195000
. : milestone, 15195000,
tracing (15.253 s) : 15253000, 15253000
. : milestone, 15253000,
section candidate
no_agent (14.962 s) : 14962000, 14962000
. : milestone, 14962000,
appsec (14.97 s) : 14970000, 14970000
. : milestone, 14970000,
iast (18.585 s) : 18585000, 18585000
. : milestone, 18585000,
iast_GLOBAL (18.057 s) : 18057000, 18057000
. : milestone, 18057000,
profiling (15.081 s) : 15081000, 15081000
. : milestone, 15081000,
tracing (15.318 s) : 15318000, 15318000
. : milestone, 15318000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~f6c59b40f8, baseline=1.55.0-SNAPSHOT~cd02b0c326
dateFormat X
axisFormat %s
section baseline
no_agent (1.475 ms) : 1463, 1486
. : milestone, 1475,
appsec (3.713 ms) : 3494, 3931
. : milestone, 3713,
iast (2.208 ms) : 2144, 2271
. : milestone, 2208,
iast_GLOBAL (2.251 ms) : 2187, 2316
. : milestone, 2251,
profiling (2.055 ms) : 2003, 2107
. : milestone, 2055,
tracing (2.021 ms) : 1971, 2070
. : milestone, 2021,
section candidate
no_agent (1.474 ms) : 1463, 1486
. : milestone, 1474,
appsec (3.687 ms) : 3469, 3905
. : milestone, 3687,
iast (2.211 ms) : 2147, 2274
. : milestone, 2211,
iast_GLOBAL (2.253 ms) : 2189, 2317
. : milestone, 2253,
profiling (2.055 ms) : 2004, 2106
. : milestone, 2055,
tracing (2.022 ms) : 1973, 2072
. : milestone, 2022,
|
ConfigHelper
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.
So far it looks good. I left some comments along the review.
🎯 suggestion: The more I read usage of ConfigHelper, the more I wonder if you should not introduce static helper methods as syntactic sugar like: ConfigHelper.env(String key) : String and ConfigHelper.env() : Map<String, String>.
public static String env(String key) {
return get().getEnvironmentVariable(key);
}This would replace calls like:
ConfigHelper.get().getEnvironmentVariable("TMPDIR") and .map(ConfigHelper.get()::getEnvironmentVariable)
to
ConfigHelper.env("TMPDIR") and map(ConfigHelper::env)
WDYT?
components/environment/src/main/java/datadog/environment/EnvironmentVariables.java
Show resolved
Hide resolved
dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Constants.java
Outdated
Show resolved
Hide resolved
...entation-testing/src/main/java/datadog/trace/agent/test/BootstrapClasspathSetupListener.java
Outdated
Show resolved
Hide resolved
...-utils/src/main/java/datadog/trace/api/telemetry/ConfigInversionMetricCollectorProvider.java
Outdated
Show resolved
Hide resolved
I think you mean I should introduce it 😄. But yes I agree this makes sense and is a lot more clear. |
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.
I think you mean I should introduce it 😄. But yes I agree this makes sense and is a lot more clear.
Yes, sorry, it was a poor translation from my French 😓
👏 praise: Thanks for the follow up changes! Everything looks great now ✨
utils/config-utils/src/main/java/datadog/trace/config/inversion/ConfigHelper.java
Outdated
Show resolved
Hide resolved
63e5d5a to
a257e6c
Compare
…ative test classes
2401cfd to
dc61df4
Compare
|
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
3c09b42 to
6167246
Compare
12ec01f to
e070d08
Compare
What Does This Do
This PR builds off of the Config Inversion implementation to migrate all querying of environment variables to utilize
ConfigHelperinstead of directly invoking the Environment component. Linter rules to restrict the direct invocation of the Environment component or undocumented String constants for environment variables (e.g.DD_ENV_VAR) are now enforced.Classes that are excluded from this migration are bootstrap-related classes since there would be issues with the Logger being initialized too early. Furthermore, there are few configurations used in bootstrap and they are rarely modified.
Additionally, this PR introduces a NoOp implementation of the
ConfigInversionMetricCollectorto handle exceptions during build-time where theConfigHelperis invoked but actual implementation has not been registered.This PR also adds the environment variables that have been introduced since the initial commit of the
metadata/supported-configurations.jsonfile.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]