Skip to content

Avoid RemoteHostnameAdder.config resolution error when building Quarkus native images#7480

Merged
mcculls merged 1 commit intomasterfrom
mcculls/fix-RemoteHostnameAdder-native-image-issue
Aug 21, 2024
Merged

Avoid RemoteHostnameAdder.config resolution error when building Quarkus native images#7480
mcculls merged 1 commit intomasterfrom
mcculls/fix-RemoteHostnameAdder-native-image-issue

Conversation

@mcculls
Copy link
Copy Markdown
Contributor

@mcculls mcculls commented Aug 20, 2024

What Does This Do

Avoid hard-reference to Config in RemoteHostnameAdder because it causes issues with Quarkus + GraalVM.

Instead we use the Supplier API to keep the hostname lookup lazy while avoiding eager analysis of the Config class.
Note we deliberately avoid using a method-reference to Config because that can also lead to unexpected resolution.

Motivation

The Config class contains all configuration data after the point at which instrumentation is configured (configuration that affects which instrumentation is applied must go in InstrumenterConfig which ends up baked into the final native image.)

Because we want to re-run Config whenever the native-image executes we must be careful not to refer to that type in certain types that get eagerly loaded during the native-image build. That's why InstrumenterConfig exists, so code controlling what instrumentation is applied can refer to that and avoid Config.

@mcculls mcculls added the comp: native-image GraalVM native-image label Aug 20, 2024
@mcculls mcculls force-pushed the mcculls/fix-RemoteHostnameAdder-native-image-issue branch 2 times, most recently from 1000d15 to 0b4c260 Compare August 20, 2024 20:32
@pr-commenter
Copy link
Copy Markdown

pr-commenter Bot commented Aug 20, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/fix-RemoteHostnameAdder-native-image-issue
git_commit_date 1724168948 1724188600
git_commit_sha 63ccd4c 0eac170
release_version 1.39.0-SNAPSHOT~63ccd4c8fc 1.39.0-SNAPSHOT~0eac170115
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1724190982 1724190982
ci_job_id 611355136 611355136
ci_pipeline_id 42354523 42354523
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
module Agent Agent
parent None None
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 48 metrics, 15 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.047 s) : 0, 1046530
Total [baseline] (8.519 s) : 0, 8519284
Agent [candidate] (1.053 s) : 0, 1053283
Total [candidate] (8.559 s) : 0, 8558809
section iast
Agent [baseline] (1.173 s) : 0, 1173459
Total [baseline] (9.006 s) : 0, 9005761
Agent [candidate] (1.175 s) : 0, 1175098
Total [candidate] (8.972 s) : 0, 8972264
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.184 s) : 0, 1184032
Total [baseline] (9.006 s) : 0, 9006235
Agent [candidate] (1.191 s) : 0, 1190720
Total [candidate] (9.017 s) : 0, 9017044
section iast_TELEMETRY_OFF
Agent [baseline] (1.175 s) : 0, 1174913
Total [baseline] (9.04 s) : 0, 9040181
Agent [candidate] (1.174 s) : 0, 1173673
Total [candidate] (8.985 s) : 0, 8985255
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.047 s -
Agent iast 1.173 s 126.929 ms (12.1%)
Agent iast_HARDCODED_SECRET_DISABLED 1.184 s 137.502 ms (13.1%)
Agent iast_TELEMETRY_OFF 1.175 s 128.384 ms (12.3%)
Total tracing 8.519 s -
Total iast 9.006 s 486.477 ms (5.7%)
Total iast_HARDCODED_SECRET_DISABLED 9.006 s 486.951 ms (5.7%)
Total iast_TELEMETRY_OFF 9.04 s 520.897 ms (6.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.053 s -
Agent iast 1.175 s 121.815 ms (11.6%)
Agent iast_HARDCODED_SECRET_DISABLED 1.191 s 137.437 ms (13.0%)
Agent iast_TELEMETRY_OFF 1.174 s 120.39 ms (11.4%)
Total tracing 8.559 s -
Total iast 8.972 s 413.455 ms (4.8%)
Total iast_HARDCODED_SECRET_DISABLED 9.017 s 458.234 ms (5.4%)
Total iast_TELEMETRY_OFF 8.985 s 426.446 ms (5.0%)
gantt
    title insecure-bank - break down per module: candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (667.336 ms) : 0, 667336
BytebuddyAgent [candidate] (671.464 ms) : 0, 671464
GlobalTracer [baseline] (306.746 ms) : 0, 306746
GlobalTracer [candidate] (308.902 ms) : 0, 308902
AppSec [baseline] (50.884 ms) : 0, 50884
AppSec [candidate] (51.294 ms) : 0, 51294
Remote Config [baseline] (681.747 µs) : 0, 682
Remote Config [candidate] (682.004 µs) : 0, 682
Telemetry [baseline] (7.459 ms) : 0, 7459
Telemetry [candidate] (7.524 ms) : 0, 7524
section iast
BytebuddyAgent [baseline] (780.821 ms) : 0, 780821
BytebuddyAgent [candidate] (781.764 ms) : 0, 781764
GlobalTracer [baseline] (296.179 ms) : 0, 296179
GlobalTracer [candidate] (296.343 ms) : 0, 296343
AppSec [baseline] (53.797 ms) : 0, 53797
AppSec [candidate] (54.46 ms) : 0, 54460
IAST [baseline] (21.518 ms) : 0, 21518
IAST [candidate] (20.659 ms) : 0, 20659
Remote Config [baseline] (570.709 µs) : 0, 571
Remote Config [candidate] (564.588 µs) : 0, 565
Telemetry [baseline] (7.147 ms) : 0, 7147
Telemetry [candidate] (7.853 ms) : 0, 7853
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (786.869 ms) : 0, 786869
BytebuddyAgent [candidate] (792.927 ms) : 0, 792927
GlobalTracer [baseline] (298.421 ms) : 0, 298421
GlobalTracer [candidate] (300.429 ms) : 0, 300429
AppSec [baseline] (51.233 ms) : 0, 51233
AppSec [candidate] (49.246 ms) : 0, 49246
IAST [baseline] (22.057 ms) : 0, 22057
IAST [candidate] (24.099 ms) : 0, 24099
Remote Config [baseline] (596.493 µs) : 0, 596
Remote Config [candidate] (608.659 µs) : 0, 609
Telemetry [baseline] (11.279 ms) : 0, 11279
Telemetry [candidate] (9.742 ms) : 0, 9742
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (780.194 ms) : 0, 780194
BytebuddyAgent [candidate] (779.434 ms) : 0, 779434
GlobalTracer [baseline] (296.754 ms) : 0, 296754
GlobalTracer [candidate] (297.68 ms) : 0, 297680
AppSec [baseline] (53.966 ms) : 0, 53966
AppSec [candidate] (51.212 ms) : 0, 51212
IAST [baseline] (22.71 ms) : 0, 22710
IAST [candidate] (24.111 ms) : 0, 24111
Remote Config [baseline] (631.025 µs) : 0, 631
Remote Config [candidate] (617.217 µs) : 0, 617
Telemetry [baseline] (7.135 ms) : 0, 7135
Telemetry [candidate] (7.106 ms) : 0, 7106
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.055 s) : 0, 1055209
Total [baseline] (10.365 s) : 0, 10365343
Agent [candidate] (1.048 s) : 0, 1047643
Total [candidate] (10.406 s) : 0, 10405965
section appsec
Agent [baseline] (1.173 s) : 0, 1173001
Total [baseline] (10.466 s) : 0, 10466122
Agent [candidate] (1.177 s) : 0, 1177302
Total [candidate] (10.446 s) : 0, 10446429
section iast
Agent [baseline] (1.174 s) : 0, 1173856
Total [baseline] (10.788 s) : 0, 10788053
Agent [candidate] (1.18 s) : 0, 1179619
Total [candidate] (10.884 s) : 0, 10884416
section profiling
Agent [baseline] (1.242 s) : 0, 1241558
Total [baseline] (10.581 s) : 0, 10580987
Agent [candidate] (1.253 s) : 0, 1252854
Total [candidate] (10.663 s) : 0, 10663187
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.055 s -
Agent appsec 1.173 s 117.791 ms (11.2%)
Agent iast 1.174 s 118.647 ms (11.2%)
Agent profiling 1.242 s 186.348 ms (17.7%)
Total tracing 10.365 s -
Total appsec 10.466 s 100.779 ms (1.0%)
Total iast 10.788 s 422.71 ms (4.1%)
Total profiling 10.581 s 215.644 ms (2.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.048 s -
Agent appsec 1.177 s 129.659 ms (12.4%)
Agent iast 1.18 s 131.975 ms (12.6%)
Agent profiling 1.253 s 205.211 ms (19.6%)
Total tracing 10.406 s -
Total appsec 10.446 s 40.464 ms (0.4%)
Total iast 10.884 s 478.451 ms (4.6%)
Total profiling 10.663 s 257.222 ms (2.5%)
gantt
    title petclinic - break down per module: candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (673.234 ms) : 0, 673234
BytebuddyAgent [candidate] (668.3 ms) : 0, 668300
GlobalTracer [baseline] (308.68 ms) : 0, 308680
GlobalTracer [candidate] (306.724 ms) : 0, 306724
AppSec [baseline] (51.565 ms) : 0, 51565
AppSec [candidate] (50.975 ms) : 0, 50975
Remote Config [baseline] (691.475 µs) : 0, 691
Remote Config [candidate] (686.995 µs) : 0, 687
Telemetry [baseline] (7.535 ms) : 0, 7535
Telemetry [candidate] (7.517 ms) : 0, 7517
section appsec
BytebuddyAgent [baseline] (680.044 ms) : 0, 680044
BytebuddyAgent [candidate] (682.712 ms) : 0, 682712
GlobalTracer [baseline] (301.091 ms) : 0, 301091
GlobalTracer [candidate] (301.72 ms) : 0, 301720
AppSec [baseline] (157.458 ms) : 0, 157458
AppSec [candidate] (157.91 ms) : 0, 157910
Remote Config [baseline] (601.803 µs) : 0, 602
Remote Config [candidate] (609.517 µs) : 0, 610
Telemetry [baseline] (9.297 ms) : 0, 9297
Telemetry [candidate] (10.293 ms) : 0, 10293
IAST [baseline] (21.998 ms) : 0, 21998
IAST [candidate] (21.007 ms) : 0, 21007
section iast
BytebuddyAgent [baseline] (780.941 ms) : 0, 780941
BytebuddyAgent [candidate] (784.186 ms) : 0, 784186
GlobalTracer [baseline] (295.848 ms) : 0, 295848
GlobalTracer [candidate] (297.292 ms) : 0, 297292
AppSec [baseline] (51.116 ms) : 0, 51116
AppSec [candidate] (51.717 ms) : 0, 51717
Remote Config [baseline] (601.975 µs) : 0, 602
Remote Config [candidate] (591.578 µs) : 0, 592
Telemetry [baseline] (8.642 ms) : 0, 8642
Telemetry [candidate] (11.111 ms) : 0, 11111
IAST [baseline] (23.248 ms) : 0, 23248
IAST [candidate] (21.195 ms) : 0, 21195
section profiling
BytebuddyAgent [baseline] (661.341 ms) : 0, 661341
BytebuddyAgent [candidate] (668.047 ms) : 0, 668047
GlobalTracer [baseline] (388.385 ms) : 0, 388385
GlobalTracer [candidate] (391.754 ms) : 0, 391754
AppSec [baseline] (52.314 ms) : 0, 52314
AppSec [candidate] (52.715 ms) : 0, 52715
Remote Config [baseline] (695.999 µs) : 0, 696
Remote Config [candidate] (697.299 µs) : 0, 697
Telemetry [baseline] (7.393 ms) : 0, 7393
Telemetry [candidate] (7.488 ms) : 0, 7488
ProfilingAgent [baseline] (94.438 ms) : 0, 94438
ProfilingAgent [candidate] (94.749 ms) : 0, 94749
Profiling [baseline] (94.463 ms) : 0, 94463
Profiling [candidate] (94.774 ms) : 0, 94774
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2024-08-20T21:29:14 2024-08-20T21:36:03
git_branch master mcculls/fix-RemoteHostnameAdder-native-image-issue
git_commit_date 1724168948 1724188600
git_commit_sha 63ccd4c 0eac170
release_version 1.39.0-SNAPSHOT~63ccd4c8fc 1.39.0-SNAPSHOT~0eac170115
start_time 2024-08-20T21:29:00 2024-08-20T21:35:50
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1724190109 1724190109
ci_job_id 611355137 611355137
ci_pipeline_id 42354523 42354523
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 16 unstable metrics.

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.332 ms) : 1313, 1351
.   : milestone, 1332,
appsec (1.733 ms) : 1710, 1756
.   : milestone, 1733,
appsec_no_iast (1.736 ms) : 1712, 1759
.   : milestone, 1736,
iast (1.492 ms) : 1469, 1514
.   : milestone, 1492,
profiling (1.521 ms) : 1495, 1547
.   : milestone, 1521,
tracing (1.475 ms) : 1450, 1500
.   : milestone, 1475,
section candidate
no_agent (1.317 ms) : 1298, 1337
.   : milestone, 1317,
appsec (1.716 ms) : 1693, 1739
.   : milestone, 1716,
appsec_no_iast (1.721 ms) : 1696, 1746
.   : milestone, 1721,
iast (1.467 ms) : 1444, 1490
.   : milestone, 1467,
profiling (1.524 ms) : 1498, 1550
.   : milestone, 1524,
tracing (1.475 ms) : 1450, 1499
.   : milestone, 1475,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.332 ms [1.313 ms, 1.351 ms] -
appsec 1.733 ms [1.71 ms, 1.756 ms] 400.634 µs (30.1%)
appsec_no_iast 1.736 ms [1.712 ms, 1.759 ms] 403.327 µs (30.3%)
iast 1.492 ms [1.469 ms, 1.514 ms] 159.17 µs (11.9%)
profiling 1.521 ms [1.495 ms, 1.547 ms] 188.487 µs (14.1%)
tracing 1.475 ms [1.45 ms, 1.5 ms] 142.312 µs (10.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.317 ms [1.298 ms, 1.337 ms] -
appsec 1.716 ms [1.693 ms, 1.739 ms] 398.359 µs (30.2%)
appsec_no_iast 1.721 ms [1.696 ms, 1.746 ms] 403.388 µs (30.6%)
iast 1.467 ms [1.444 ms, 1.49 ms] 149.302 µs (11.3%)
profiling 1.524 ms [1.498 ms, 1.55 ms] 206.252 µs (15.7%)
tracing 1.475 ms [1.45 ms, 1.499 ms] 157.157 µs (11.9%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
    dateFormat X
    axisFormat %s
section baseline
no_agent (371.464 µs) : 351, 392
.   : milestone, 371,
iast (480.913 µs) : 460, 502
.   : milestone, 481,
iast_FULL (551.146 µs) : 529, 574
.   : milestone, 551,
iast_GLOBAL (499.928 µs) : 478, 522
.   : milestone, 500,
iast_HARDCODED_SECRET_DISABLED (478.96 µs) : 457, 501
.   : milestone, 479,
iast_INACTIVE (453.376 µs) : 431, 476
.   : milestone, 453,
iast_TELEMETRY_OFF (470.484 µs) : 449, 492
.   : milestone, 470,
tracing (443.438 µs) : 423, 464
.   : milestone, 443,
section candidate
no_agent (367.655 µs) : 348, 387
.   : milestone, 368,
iast (476.126 µs) : 454, 498
.   : milestone, 476,
iast_FULL (548.503 µs) : 526, 571
.   : milestone, 549,
iast_GLOBAL (519.279 µs) : 496, 542
.   : milestone, 519,
iast_HARDCODED_SECRET_DISABLED (472.463 µs) : 452, 493
.   : milestone, 472,
iast_INACTIVE (452.916 µs) : 430, 475
.   : milestone, 453,
iast_TELEMETRY_OFF (477.382 µs) : 455, 499
.   : milestone, 477,
tracing (441.859 µs) : 421, 462
.   : milestone, 442,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 371.464 µs [350.933 µs, 391.996 µs] -
iast 480.913 µs [459.583 µs, 502.243 µs] 109.449 µs (29.5%)
iast_FULL 551.146 µs [528.757 µs, 573.535 µs] 179.682 µs (48.4%)
iast_GLOBAL 499.928 µs [478.207 µs, 521.649 µs] 128.464 µs (34.6%)
iast_HARDCODED_SECRET_DISABLED 478.96 µs [457.363 µs, 500.557 µs] 107.496 µs (28.9%)
iast_INACTIVE 453.376 µs [430.849 µs, 475.903 µs] 81.912 µs (22.1%)
iast_TELEMETRY_OFF 470.484 µs [449.302 µs, 491.666 µs] 99.02 µs (26.7%)
tracing 443.438 µs [423.007 µs, 463.868 µs] 71.973 µs (19.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 367.655 µs [348.325 µs, 386.985 µs] -
iast 476.126 µs [454.453 µs, 497.799 µs] 108.471 µs (29.5%)
iast_FULL 548.503 µs [526.112 µs, 570.894 µs] 180.848 µs (49.2%)
iast_GLOBAL 519.279 µs [496.065 µs, 542.493 µs] 151.624 µs (41.2%)
iast_HARDCODED_SECRET_DISABLED 472.463 µs [451.651 µs, 493.275 µs] 104.808 µs (28.5%)
iast_INACTIVE 452.916 µs [430.363 µs, 475.469 µs] 85.261 µs (23.2%)
iast_TELEMETRY_OFF 477.382 µs [455.494 µs, 499.27 µs] 109.727 µs (29.8%)
tracing 441.859 µs [421.49 µs, 462.227 µs] 74.204 µs (20.2%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/fix-RemoteHostnameAdder-native-image-issue
git_commit_date 1724168948 1724188600
git_commit_sha 63ccd4c 0eac170
release_version 1.39.0-SNAPSHOT~63ccd4c8fc 1.39.0-SNAPSHOT~0eac170115
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1724191274 1724191274
ci_job_id 611355138 611355138
ci_pipeline_id 42354523 42354523
cpu_model Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz
variant appsec appsec

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics.

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.538 ms) : 1525, 1550
.   : milestone, 1538,
appsec (2.718 ms) : 2655, 2781
.   : milestone, 2718,
iast (2.349 ms) : 2277, 2420
.   : milestone, 2349,
iast_GLOBAL (2.421 ms) : 2346, 2496
.   : milestone, 2421,
profiling (2.225 ms) : 2163, 2288
.   : milestone, 2225,
tracing (2.191 ms) : 2131, 2251
.   : milestone, 2191,
section candidate
no_agent (1.542 ms) : 1529, 1555
.   : milestone, 1542,
appsec (2.72 ms) : 2657, 2782
.   : milestone, 2720,
iast (2.372 ms) : 2298, 2445
.   : milestone, 2372,
iast_GLOBAL (2.427 ms) : 2351, 2502
.   : milestone, 2427,
profiling (2.227 ms) : 2163, 2290
.   : milestone, 2227,
tracing (2.198 ms) : 2138, 2258
.   : milestone, 2198,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.538 ms [1.525 ms, 1.55 ms] -
appsec 2.718 ms [2.655 ms, 2.781 ms] 1.18 ms (76.7%)
iast 2.349 ms [2.277 ms, 2.42 ms] 811.066 µs (52.7%)
iast_GLOBAL 2.421 ms [2.346 ms, 2.496 ms] 883.691 µs (57.5%)
profiling 2.225 ms [2.163 ms, 2.288 ms] 687.645 µs (44.7%)
tracing 2.191 ms [2.131 ms, 2.251 ms] 653.407 µs (42.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.542 ms [1.529 ms, 1.555 ms] -
appsec 2.72 ms [2.657 ms, 2.782 ms] 1.178 ms (76.4%)
iast 2.372 ms [2.298 ms, 2.445 ms] 829.73 µs (53.8%)
iast_GLOBAL 2.427 ms [2.351 ms, 2.502 ms] 884.813 µs (57.4%)
profiling 2.227 ms [2.163 ms, 2.29 ms] 684.536 µs (44.4%)
tracing 2.198 ms [2.138 ms, 2.258 ms] 655.861 µs (42.5%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
    dateFormat X
    axisFormat %s
section baseline
no_agent (20.443 s) : 20443000, 20443000
.   : milestone, 20443000,
appsec (21.532 s) : 21532000, 21532000
.   : milestone, 21532000,
iast (24.049 s) : 24049000, 24049000
.   : milestone, 24049000,
iast_GLOBAL (24.885 s) : 24885000, 24885000
.   : milestone, 24885000,
profiling (20.995 s) : 20995000, 20995000
.   : milestone, 20995000,
tracing (21.362 s) : 21362000, 21362000
.   : milestone, 21362000,
section candidate
no_agent (20.405 s) : 20405000, 20405000
.   : milestone, 20405000,
appsec (21.067 s) : 21067000, 21067000
.   : milestone, 21067000,
iast (24.486 s) : 24486000, 24486000
.   : milestone, 24486000,
iast_GLOBAL (25.108 s) : 25108000, 25108000
.   : milestone, 25108000,
profiling (20.459 s) : 20459000, 20459000
.   : milestone, 20459000,
tracing (20.833 s) : 20833000, 20833000
.   : milestone, 20833000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 20.443 s [20.443 s, 20.443 s] -
appsec 21.532 s [21.532 s, 21.532 s] 1.089 s (5.3%)
iast 24.049 s [24.049 s, 24.049 s] 3.606 s (17.6%)
iast_GLOBAL 24.885 s [24.885 s, 24.885 s] 4.442 s (21.7%)
profiling 20.995 s [20.995 s, 20.995 s] 552.0 ms (2.7%)
tracing 21.362 s [21.362 s, 21.362 s] 919.0 ms (4.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 20.405 s [20.405 s, 20.405 s] -
appsec 21.067 s [21.067 s, 21.067 s] 662.0 ms (3.2%)
iast 24.486 s [24.486 s, 24.486 s] 4.081 s (20.0%)
iast_GLOBAL 25.108 s [25.108 s, 25.108 s] 4.703 s (23.0%)
profiling 20.459 s [20.459 s, 20.459 s] 54.0 ms (0.3%)
tracing 20.833 s [20.833 s, 20.833 s] 428.0 ms (2.1%)

@mcculls mcculls force-pushed the mcculls/fix-RemoteHostnameAdder-native-image-issue branch from 0b4c260 to 496e975 Compare August 20, 2024 21:02
…es issues with Quarkus builds using GraalVM.

Instead we use the Supplier API to keep the hostname lookup lazy while avoiding eager analysis of the Config class.

Note we deliberately avoid using a method-reference to Config because that can also lead to unexpected resolution.
@mcculls mcculls force-pushed the mcculls/fix-RemoteHostnameAdder-native-image-issue branch from 496e975 to 0eac170 Compare August 20, 2024 21:18
@mcculls mcculls changed the title Avoid datadog.trace.agent.core.tagprocessor.RemoteHostnameAdder.config resolution error on Mandrel Avoid RemoteHostnameAdder.config resolution error with Quarkus builds using GraalVM. Aug 20, 2024
@mcculls mcculls marked this pull request as ready for review August 20, 2024 21:27
@mcculls mcculls requested a review from a team as a code owner August 20, 2024 21:27
@mcculls mcculls changed the title Avoid RemoteHostnameAdder.config resolution error with Quarkus builds using GraalVM. Avoid RemoteHostnameAdder.config resolution error when building native images with --strict-image-heap Aug 20, 2024
@mcculls mcculls changed the title Avoid RemoteHostnameAdder.config resolution error when building native images with --strict-image-heap Avoid RemoteHostnameAdder.config resolution error when building Quarkus native images Aug 20, 2024
Copy link
Copy Markdown
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Things start getting tricker and trickier 😓
Feel like there are so many pitfalls we will only discover late.

@mcculls
Copy link
Copy Markdown
Contributor Author

mcculls commented Aug 21, 2024

Not really, we just need to add a Quarkus-native smoke test - the error message pointed to the class that needed fixing.

@mcculls mcculls merged commit b5a2351 into master Aug 21, 2024
@mcculls mcculls deleted the mcculls/fix-RemoteHostnameAdder-native-image-issue branch August 21, 2024 08:04
@github-actions github-actions Bot added this to the 1.39.0 milestone Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: native-image GraalVM native-image

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants