Allow mapping process tags from env or sysprops#11204
Allow mapping process tags from env or sysprops#11204gh-worker-dd-mergequeue-cf854d[bot] merged 6 commits intomasterfrom
Conversation
|
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 59 metrics, 12 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.62.0-SNAPSHOT~5136c2e8e2, baseline=1.62.0-SNAPSHOT~e6cac64dfd
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.103 s) : 0, 1103040
Total [baseline] (9.403 s) : 0, 9402953
Agent [candidate] (1.087 s) : 0, 1087177
Total [candidate] (9.371 s) : 0, 9370977
section iast
Agent [baseline] (1.286 s) : 0, 1285608
Total [baseline] (10.206 s) : 0, 10205868
Agent [candidate] (1.294 s) : 0, 1294069
Total [candidate] (10.212 s) : 0, 10212441
gantt
title insecure-bank - break down per module: candidate=1.62.0-SNAPSHOT~5136c2e8e2, baseline=1.62.0-SNAPSHOT~e6cac64dfd
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.296 ms) : 0, 1296
crashtracking [candidate] (1.288 ms) : 0, 1288
BytebuddyAgent [baseline] (658.534 ms) : 0, 658534
BytebuddyAgent [candidate] (648.429 ms) : 0, 648429
AgentMeter [baseline] (30.614 ms) : 0, 30614
AgentMeter [candidate] (30.251 ms) : 0, 30251
GlobalTracer [baseline] (258.284 ms) : 0, 258284
GlobalTracer [candidate] (255.777 ms) : 0, 255777
AppSec [baseline] (33.862 ms) : 0, 33862
AppSec [candidate] (33.547 ms) : 0, 33547
Debugger [baseline] (61.847 ms) : 0, 61847
Debugger [candidate] (61.535 ms) : 0, 61535
Remote Config [baseline] (664.662 µs) : 0, 665
Remote Config [candidate] (636.578 µs) : 0, 637
Telemetry [baseline] (11.333 ms) : 0, 11333
Telemetry [candidate] (10.401 ms) : 0, 10401
Flare Poller [baseline] (9.706 ms) : 0, 9706
Flare Poller [candidate] (8.698 ms) : 0, 8698
section iast
crashtracking [baseline] (1.295 ms) : 0, 1295
crashtracking [candidate] (1.281 ms) : 0, 1281
BytebuddyAgent [baseline] (849.013 ms) : 0, 849013
BytebuddyAgent [candidate] (856.294 ms) : 0, 856294
AgentMeter [baseline] (11.752 ms) : 0, 11752
AgentMeter [candidate] (11.942 ms) : 0, 11942
GlobalTracer [baseline] (247.686 ms) : 0, 247686
GlobalTracer [candidate] (248.305 ms) : 0, 248305
AppSec [baseline] (31.832 ms) : 0, 31832
AppSec [candidate] (33.052 ms) : 0, 33052
Debugger [baseline] (64.451 ms) : 0, 64451
Debugger [candidate] (64.548 ms) : 0, 64548
Remote Config [baseline] (571.171 µs) : 0, 571
Remote Config [candidate] (569.574 µs) : 0, 570
Telemetry [baseline] (8.203 ms) : 0, 8203
Telemetry [candidate] (8.186 ms) : 0, 8186
Flare Poller [baseline] (3.538 ms) : 0, 3538
Flare Poller [candidate] (3.545 ms) : 0, 3545
IAST [baseline] (30.463 ms) : 0, 30463
IAST [candidate] (29.613 ms) : 0, 29613
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.62.0-SNAPSHOT~5136c2e8e2, baseline=1.62.0-SNAPSHOT~e6cac64dfd
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.088 s) : 0, 1087604
Total [baseline] (11.441 s) : 0, 11441322
Agent [candidate] (1.089 s) : 0, 1089331
Total [candidate] (11.414 s) : 0, 11414066
section appsec
Agent [baseline] (1.3 s) : 0, 1300410
Total [baseline] (11.291 s) : 0, 11291336
Agent [candidate] (1.3 s) : 0, 1300492
Total [candidate] (11.458 s) : 0, 11457829
section iast
Agent [baseline] (1.291 s) : 0, 1291144
Total [baseline] (11.555 s) : 0, 11554561
Agent [candidate] (1.275 s) : 0, 1274862
Total [candidate] (11.661 s) : 0, 11660764
section profiling
Agent [baseline] (1.22 s) : 0, 1220166
Total [baseline] (11.286 s) : 0, 11286093
Agent [candidate] (1.227 s) : 0, 1227472
Total [candidate] (11.433 s) : 0, 11433141
gantt
title petclinic - break down per module: candidate=1.62.0-SNAPSHOT~5136c2e8e2, baseline=1.62.0-SNAPSHOT~e6cac64dfd
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.291 ms) : 0, 1291
crashtracking [candidate] (1.281 ms) : 0, 1281
BytebuddyAgent [baseline] (647.165 ms) : 0, 647165
BytebuddyAgent [candidate] (648.066 ms) : 0, 648066
AgentMeter [baseline] (30.13 ms) : 0, 30130
AgentMeter [candidate] (30.389 ms) : 0, 30389
GlobalTracer [baseline] (255.956 ms) : 0, 255956
GlobalTracer [candidate] (256.33 ms) : 0, 256330
AppSec [baseline] (33.504 ms) : 0, 33504
AppSec [candidate] (33.664 ms) : 0, 33664
Debugger [baseline] (62.129 ms) : 0, 62129
Debugger [candidate] (61.868 ms) : 0, 61868
Remote Config [baseline] (648.177 µs) : 0, 648
Remote Config [candidate] (620.237 µs) : 0, 620
Telemetry [baseline] (8.681 ms) : 0, 8681
Telemetry [candidate] (11.867 ms) : 0, 11867
Flare Poller [baseline] (11.409 ms) : 0, 11409
Flare Poller [candidate] (8.58 ms) : 0, 8580
section appsec
crashtracking [baseline] (1.285 ms) : 0, 1285
crashtracking [candidate] (1.271 ms) : 0, 1271
BytebuddyAgent [baseline] (690.595 ms) : 0, 690595
BytebuddyAgent [candidate] (691.186 ms) : 0, 691186
AgentMeter [baseline] (12.657 ms) : 0, 12657
AgentMeter [candidate] (12.642 ms) : 0, 12642
GlobalTracer [baseline] (258.396 ms) : 0, 258396
GlobalTracer [candidate] (258.777 ms) : 0, 258777
AppSec [baseline] (190.492 ms) : 0, 190492
AppSec [candidate] (190.46 ms) : 0, 190460
Debugger [baseline] (66.903 ms) : 0, 66903
Debugger [candidate] (67.045 ms) : 0, 67045
Remote Config [baseline] (598.681 µs) : 0, 599
Remote Config [candidate] (615.202 µs) : 0, 615
Telemetry [baseline] (8.011 ms) : 0, 8011
Telemetry [candidate] (8.068 ms) : 0, 8068
Flare Poller [baseline] (8.775 ms) : 0, 8775
Flare Poller [candidate] (8.191 ms) : 0, 8191
IAST [baseline] (25.97 ms) : 0, 25970
IAST [candidate] (25.626 ms) : 0, 25626
section iast
crashtracking [baseline] (1.292 ms) : 0, 1292
crashtracking [candidate] (1.282 ms) : 0, 1282
BytebuddyAgent [baseline] (855.031 ms) : 0, 855031
BytebuddyAgent [candidate] (840.716 ms) : 0, 840716
AgentMeter [baseline] (11.749 ms) : 0, 11749
AgentMeter [candidate] (11.659 ms) : 0, 11659
GlobalTracer [baseline] (246.901 ms) : 0, 246901
GlobalTracer [candidate] (247.094 ms) : 0, 247094
AppSec [baseline] (32.938 ms) : 0, 32938
AppSec [candidate] (32.734 ms) : 0, 32734
Debugger [baseline] (64.968 ms) : 0, 64968
Debugger [candidate] (64.393 ms) : 0, 64393
Remote Config [baseline] (550.401 µs) : 0, 550
Remote Config [candidate] (554.314 µs) : 0, 554
Telemetry [baseline] (8.17 ms) : 0, 8170
Telemetry [candidate] (8.157 ms) : 0, 8157
Flare Poller [baseline] (3.463 ms) : 0, 3463
Flare Poller [candidate] (3.486 ms) : 0, 3486
IAST [baseline] (29.335 ms) : 0, 29335
IAST [candidate] (28.222 ms) : 0, 28222
section profiling
crashtracking [baseline] (1.242 ms) : 0, 1242
crashtracking [candidate] (1.243 ms) : 0, 1243
BytebuddyAgent [baseline] (710.91 ms) : 0, 710910
BytebuddyAgent [candidate] (714.538 ms) : 0, 714538
AgentMeter [baseline] (9.229 ms) : 0, 9229
AgentMeter [candidate] (9.284 ms) : 0, 9284
GlobalTracer [baseline] (217.811 ms) : 0, 217811
GlobalTracer [candidate] (219.298 ms) : 0, 219298
AppSec [baseline] (34.119 ms) : 0, 34119
AppSec [candidate] (34.417 ms) : 0, 34417
Debugger [baseline] (67.717 ms) : 0, 67717
Debugger [candidate] (69.03 ms) : 0, 69030
Remote Config [baseline] (614.668 µs) : 0, 615
Remote Config [candidate] (607.909 µs) : 0, 608
Telemetry [baseline] (9.172 ms) : 0, 9172
Telemetry [candidate] (8.508 ms) : 0, 8508
Flare Poller [baseline] (3.622 ms) : 0, 3622
Flare Poller [candidate] (3.702 ms) : 0, 3702
ProfilingAgent [baseline] (93.479 ms) : 0, 93479
ProfilingAgent [candidate] (93.891 ms) : 0, 93891
Profiling [baseline] (94.058 ms) : 0, 94058
Profiling [candidate] (94.466 ms) : 0, 94466
LoadParameters
See matching parameters
SummaryFound 2 performance improvements and 5 performance regressions! Performance is the same for 12 metrics, 17 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~5136c2e8e2, baseline=1.62.0-SNAPSHOT~e6cac64dfd
dateFormat X
axisFormat %s
section baseline
no_agent (1.249 ms) : 1237, 1261
. : milestone, 1249,
iast (3.317 ms) : 3265, 3368
. : milestone, 3317,
iast_FULL (5.966 ms) : 5906, 6026
. : milestone, 5966,
iast_GLOBAL (3.635 ms) : 3575, 3694
. : milestone, 3635,
profiling (2.178 ms) : 2157, 2199
. : milestone, 2178,
tracing (1.899 ms) : 1884, 1914
. : milestone, 1899,
section candidate
no_agent (1.241 ms) : 1229, 1253
. : milestone, 1241,
iast (3.339 ms) : 3290, 3388
. : milestone, 3339,
iast_FULL (6.311 ms) : 6245, 6378
. : milestone, 6311,
iast_GLOBAL (3.798 ms) : 3734, 3863
. : milestone, 3798,
profiling (2.368 ms) : 2345, 2391
. : milestone, 2368,
tracing (1.822 ms) : 1807, 1837
. : milestone, 1822,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~5136c2e8e2, baseline=1.62.0-SNAPSHOT~e6cac64dfd
dateFormat X
axisFormat %s
section baseline
no_agent (17.845 ms) : 17664, 18025
. : milestone, 17845,
appsec (18.891 ms) : 18697, 19086
. : milestone, 18891,
code_origins (18.174 ms) : 17991, 18357
. : milestone, 18174,
iast (17.634 ms) : 17464, 17803
. : milestone, 17634,
profiling (19.066 ms) : 18876, 19257
. : milestone, 19066,
tracing (18.561 ms) : 18379, 18743
. : milestone, 18561,
section candidate
no_agent (18.548 ms) : 18358, 18738
. : milestone, 18548,
appsec (19.646 ms) : 19445, 19847
. : milestone, 19646,
code_origins (17.856 ms) : 17680, 18031
. : milestone, 17856,
iast (17.571 ms) : 17397, 17746
. : milestone, 17571,
profiling (18.368 ms) : 18185, 18552
. : milestone, 18368,
tracing (17.891 ms) : 17716, 18067
. : milestone, 17891,
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~5136c2e8e2, baseline=1.62.0-SNAPSHOT~e6cac64dfd
dateFormat X
axisFormat %s
section baseline
no_agent (1.492 ms) : 1480, 1503
. : milestone, 1492,
appsec (3.824 ms) : 3603, 4046
. : milestone, 3824,
iast (2.281 ms) : 2211, 2351
. : milestone, 2281,
iast_GLOBAL (2.327 ms) : 2257, 2397
. : milestone, 2327,
profiling (2.104 ms) : 2049, 2159
. : milestone, 2104,
tracing (2.098 ms) : 2044, 2152
. : milestone, 2098,
section candidate
no_agent (1.493 ms) : 1481, 1505
. : milestone, 1493,
appsec (3.842 ms) : 3618, 4065
. : milestone, 3842,
iast (2.285 ms) : 2215, 2354
. : milestone, 2285,
iast_GLOBAL (2.323 ms) : 2253, 2394
. : milestone, 2323,
profiling (2.099 ms) : 2044, 2153
. : milestone, 2099,
tracing (2.098 ms) : 2044, 2153
. : milestone, 2098,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~5136c2e8e2, baseline=1.62.0-SNAPSHOT~e6cac64dfd
dateFormat X
axisFormat %s
section baseline
no_agent (14.898 s) : 14898000, 14898000
. : milestone, 14898000,
appsec (14.833 s) : 14833000, 14833000
. : milestone, 14833000,
iast (18.696 s) : 18696000, 18696000
. : milestone, 18696000,
iast_GLOBAL (18.012 s) : 18012000, 18012000
. : milestone, 18012000,
profiling (15.574 s) : 15574000, 15574000
. : milestone, 15574000,
tracing (14.852 s) : 14852000, 14852000
. : milestone, 14852000,
section candidate
no_agent (14.926 s) : 14926000, 14926000
. : milestone, 14926000,
appsec (15.003 s) : 15003000, 15003000
. : milestone, 15003000,
iast (18.321 s) : 18321000, 18321000
. : milestone, 18321000,
iast_GLOBAL (18.185 s) : 18185000, 18185000
. : milestone, 18185000,
profiling (15.011 s) : 15011000, 15011000
. : milestone, 15011000,
tracing (14.945 s) : 14945000, 14945000
. : milestone, 14945000,
|
4be9f5b to
470cd64
Compare
470cd64 to
452a20b
Compare
dougqh
left a comment
There was a problem hiding this comment.
I ran a quick review check with Claude...
- Several "malformed" test cases never reach the regex (test-quality, not a bug). In 'should ignore malformed process tag mapping entries' the cases get filtered
earlier by ConfigConverter.loadMap before parseMappingEntry ever sees them:
- "{prop}keyonly" — no :, so loadMap adds nothing to the merged map. No WARN emitted.
- "{prop}some.key:" — empty value → loadMap skips it (!value.isEmpty() check at ConfigConverter:206). No WARN.
- "no_braces:key:bad_tag" — loadMap actually parses this as no_braces -> key:bad_tag; that does hit the regex mismatch path, but for a different reason than the case
name implies.- "{unclosed_brace key:bad_tag" — produces a key with a space (loadMap only space-validates values), then fails the regex. OK.
- "{prop}:bad_tag" — this is the only one that cleanly exercises the regex-mismatch WARN.
The black-box assertion (!tags.any { it.startsWith("bad_tag:") }) is still correct, but the test name suggests coverage of a path most cases don't actually take.
Consider asserting on log output, or trimming to cases that actually reach parseMappingEntry.
- Source name is case-sensitive and undocumented. Regex ^{(\w+)}(\S+)$ accepts any \w+, but only lowercase env/prop match. {ENV}FOO:bar parses, then logs
"Unsupported source 'ENV'". Minor UX papercut. Either equalsIgnoreCase, or call out lowercase explicitly in the user-facing description.
I provided my Claude what your Claude suggested :) The test have been improved in 378301e. For the case insensitive comparison, we only consider lowercase values in the rfc so I took the decision not to equalsIgnoreCase but to improve the warning message instead |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 378301e921
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5136c2e8e2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
What Does This Do
Introduces a new configuration that lets customers derive process tags from environment variables or Java system properties.
Format:
DD_PROCESS_TAGS_MAPPING={source}config_key:process_tag_key(comma-separated list)Example:
If
my.cluster=cluster1is set as a system property, the process tag cluster_name:cluster1` is emitted.Supported sources:
env(environment variables),prop(Java system properties)Behaviour:
WARNlog; missing key or empty value →DEBUGlogMotivation
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.