- Notifications
You must be signed in to change notification settings - Fork 314
Make akka-http-10.6
module optional to simplify local build. #9767
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
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
🎯 Code Coverage 🔗 Commit SHA: 2cfe070 | Docs | Was this helpful? Give us feedback! |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 57 metrics, 8 unstable metrics. Startup time reports for petclinicgantt title petclinic - global startup overhead: candidate=1.55.0-SNAPSHOT~2cfe070b4b, baseline=1.55.0-SNAPSHOT~425276dceb dateFormat X axisFormat %s section tracing Agent [baseline] (1.018 s) : 0, 1018023 Total [baseline] (10.704 s) : 0, 10704375 Agent [candidate] (1.017 s) : 0, 1016681 Total [candidate] (10.716 s) : 0, 10715915 section appsec Agent [baseline] (1.198 s) : 0, 1197674 Total [baseline] (11.096 s) : 0, 11095975 Agent [candidate] (1.201 s) : 0, 1200563 Total [candidate] (11.115 s) : 0, 11114945 section iast Agent [baseline] (1.153 s) : 0, 1152602 Total [baseline] (11.072 s) : 0, 11072101 Agent [candidate] (1.15 s) : 0, 1150193 Total [candidate] (11.011 s) : 0, 11011136 section profiling Agent [baseline] (1.16 s) : 0, 1160125 Total [baseline] (11.041 s) : 0, 11041050 Agent [candidate] (1.161 s) : 0, 1160572 Total [candidate] (11.012 s) : 0, 11011731
gantt title petclinic - break down per module: candidate=1.55.0-SNAPSHOT~2cfe070b4b, baseline=1.55.0-SNAPSHOT~425276dceb dateFormat X axisFormat %s section tracing crashtracking [baseline] (1.464 ms) : 0, 1464 crashtracking [candidate] (1.463 ms) : 0, 1463 BytebuddyAgent [baseline] (693.68 ms) : 0, 693680 BytebuddyAgent [candidate] (692.636 ms) : 0, 692636 GlobalTracer [baseline] (241.561 ms) : 0, 241561 GlobalTracer [candidate] (242.213 ms) : 0, 242213 AppSec [baseline] (32.623 ms) : 0, 32623 AppSec [candidate] (32.417 ms) : 0, 32417 Debugger [baseline] (6.468 ms) : 0, 6468 Debugger [candidate] (6.451 ms) : 0, 6451 Remote Config [baseline] (697.836 µs) : 0, 698 Remote Config [candidate] (693.473 µs) : 0, 693 Telemetry [baseline] (9.228 ms) : 0, 9228 Telemetry [candidate] (9.338 ms) : 0, 9338 Flare Poller [baseline] (11.154 ms) : 0, 11154 Flare Poller [candidate] (10.353 ms) : 0, 10353 section appsec crashtracking [baseline] (1.47 ms) : 0, 1470 crashtracking [candidate] (1.493 ms) : 0, 1493 BytebuddyAgent [baseline] (719.583 ms) : 0, 719583 BytebuddyAgent [candidate] (722.567 ms) : 0, 722567 GlobalTracer [baseline] (234.873 ms) : 0, 234873 GlobalTracer [candidate] (235.87 ms) : 0, 235870 IAST [baseline] (24.966 ms) : 0, 24966 IAST [candidate] (24.827 ms) : 0, 24827 AppSec [baseline] (176.129 ms) : 0, 176129 AppSec [candidate] (174.658 ms) : 0, 174658 Debugger [baseline] (6.249 ms) : 0, 6249 Debugger [candidate] (6.122 ms) : 0, 6122 Remote Config [baseline] (639.553 µs) : 0, 640 Remote Config [candidate] (620.195 µs) : 0, 620 Telemetry [baseline] (8.64 ms) : 0, 8640 Telemetry [candidate] (9.257 ms) : 0, 9257 Flare Poller [baseline] (3.994 ms) : 0, 3994 Flare Poller [candidate] (3.929 ms) : 0, 3929 section iast crashtracking [baseline] (1.464 ms) : 0, 1464 crashtracking [candidate] (1.46 ms) : 0, 1460 BytebuddyAgent [baseline] (816.702 ms) : 0, 816702 BytebuddyAgent [candidate] (814.873 ms) : 0, 814873 GlobalTracer [baseline] (231.792 ms) : 0, 231792 GlobalTracer [candidate] (230.865 ms) : 0, 230865 IAST [baseline] (27.267 ms) : 0, 27267 IAST [candidate] (26.476 ms) : 0, 26476 AppSec [baseline] (34.225 ms) : 0, 34225 AppSec [candidate] (35.332 ms) : 0, 35332 Debugger [baseline] (6.151 ms) : 0, 6151 Debugger [candidate] (6.137 ms) : 0, 6137 Remote Config [baseline] (615.802 µs) : 0, 616 Remote Config [candidate] (612.959 µs) : 0, 613 Telemetry [baseline] (8.663 ms) : 0, 8663 Telemetry [candidate] (8.72 ms) : 0, 8720 Flare Poller [baseline] (4.228 ms) : 0, 4228 Flare Poller [candidate] (4.237 ms) : 0, 4237 section profiling crashtracking [baseline] (1.438 ms) : 0, 1438 crashtracking [candidate] (1.429 ms) : 0, 1429 BytebuddyAgent [baseline] (720.832 ms) : 0, 720832 BytebuddyAgent [candidate] (720.534 ms) : 0, 720534 GlobalTracer [baseline] (217.542 ms) : 0, 217542 GlobalTracer [candidate] (217.721 ms) : 0, 217721 AppSec [baseline] (32.27 ms) : 0, 32270 AppSec [candidate] (32.351 ms) : 0, 32351 Debugger [baseline] (6.503 ms) : 0, 6503 Debugger [candidate] (7.277 ms) : 0, 7277 Remote Config [baseline] (775.105 µs) : 0, 775 Remote Config [candidate] (771.353 µs) : 0, 771 Telemetry [baseline] (15.893 ms) : 0, 15893 Telemetry [candidate] (15.326 ms) : 0, 15326 Flare Poller [baseline] (4.147 ms) : 0, 4147 Flare Poller [candidate] (4.108 ms) : 0, 4108 ProfilingAgent [baseline] (107.707 ms) : 0, 107707 ProfilingAgent [candidate] (107.263 ms) : 0, 107263 Profiling [baseline] (108.833 ms) : 0, 108833 Profiling [candidate] (108.942 ms) : 0, 108942 Startup time reports for insecure-bankgantt title insecure-bank - global startup overhead: candidate=1.55.0-SNAPSHOT~2cfe070b4b, baseline=1.55.0-SNAPSHOT~425276dceb dateFormat X axisFormat %s section tracing Agent [baseline] (1.026 s) : 0, 1025665 Total [baseline] (8.735 s) : 0, 8735137 Agent [candidate] (1.026 s) : 0, 1025574 Total [candidate] (8.672 s) : 0, 8671637 section iast Agent [baseline] (1.151 s) : 0, 1151456 Total [baseline] (9.267 s) : 0, 9266951 Agent [candidate] (1.16 s) : 0, 1159675 Total [candidate] (9.268 s) : 0, 9267879
gantt title insecure-bank - break down per module: candidate=1.55.0-SNAPSHOT~2cfe070b4b, baseline=1.55.0-SNAPSHOT~425276dceb dateFormat X axisFormat %s section tracing crashtracking [baseline] (1.475 ms) : 0, 1475 crashtracking [candidate] (1.484 ms) : 0, 1484 BytebuddyAgent [baseline] (698.317 ms) : 0, 698317 BytebuddyAgent [candidate] (699.562 ms) : 0, 699562 GlobalTracer [baseline] (244.18 ms) : 0, 244180 GlobalTracer [candidate] (243.891 ms) : 0, 243891 AppSec [baseline] (33.157 ms) : 0, 33157 AppSec [candidate] (32.606 ms) : 0, 32606 Debugger [baseline] (6.642 ms) : 0, 6642 Debugger [candidate] (6.49 ms) : 0, 6490 Remote Config [baseline] (717.05 µs) : 0, 717 Remote Config [candidate] (708.729 µs) : 0, 709 Telemetry [baseline] (9.434 ms) : 0, 9434 Telemetry [candidate] (9.328 ms) : 0, 9328 Flare Poller [baseline] (10.499 ms) : 0, 10499 Flare Poller [candidate] (10.332 ms) : 0, 10332 section iast crashtracking [baseline] (1.496 ms) : 0, 1496 crashtracking [candidate] (1.507 ms) : 0, 1507 BytebuddyAgent [baseline] (815.436 ms) : 0, 815436 BytebuddyAgent [candidate] (821.796 ms) : 0, 821796 GlobalTracer [baseline] (231.389 ms) : 0, 231389 GlobalTracer [candidate] (232.776 ms) : 0, 232776 IAST [baseline] (26.54 ms) : 0, 26540 IAST [candidate] (26.791 ms) : 0, 26791 AppSec [baseline] (35.264 ms) : 0, 35264 AppSec [candidate] (35.483 ms) : 0, 35483 Debugger [baseline] (6.184 ms) : 0, 6184 Debugger [candidate] (6.216 ms) : 0, 6216 Remote Config [baseline] (609.992 µs) : 0, 610 Remote Config [candidate] (616.237 µs) : 0, 616 Telemetry [baseline] (8.738 ms) : 0, 8738 Telemetry [candidate] (8.642 ms) : 0, 8642 Flare Poller [baseline] (4.224 ms) : 0, 4224 Flare Poller [candidate] (4.235 ms) : 0, 4235 LoadParameters
See matching parameters
SummaryFound 1 performance improvements and 4 performance regressions! Performance is the same for 7 metrics, 12 unstable metrics.
Request duration reports for insecure-bankgantt title insecure-bank - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~2cfe070b4b, baseline=1.55.0-SNAPSHOT~425276dceb dateFormat X axisFormat %s section baseline no_agent (4.447 ms) : 4397, 4497 . : milestone, 4447, iast (9.831 ms) : 9665, 9998 . : milestone, 9831, iast_FULL (14.075 ms) : 13794, 14356 . : milestone, 14075, iast_GLOBAL (11.355 ms) : 11153, 11558 . : milestone, 11355, profiling (8.736 ms) : 8601, 8871 . : milestone, 8736, tracing (8.206 ms) : 8083, 8330 . : milestone, 8206, section candidate no_agent (4.449 ms) : 4397, 4500 . : milestone, 4449, iast (10.469 ms) : 10286, 10652 . : milestone, 10469, iast_FULL (14.201 ms) : 13919, 14483 . : milestone, 14201, iast_GLOBAL (11.263 ms) : 11060, 11465 . : milestone, 11263, profiling (9.151 ms) : 9008, 9295 . : milestone, 9151, tracing (8.081 ms) : 7964, 8199 . : milestone, 8081,
Request duration reports for petclinicgantt title petclinic - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~2cfe070b4b, baseline=1.55.0-SNAPSHOT~425276dceb dateFormat X axisFormat %s section baseline no_agent (36.477 ms) : 36189, 36765 . : milestone, 36477, appsec (51.724 ms) : 51253, 52195 . : milestone, 51724, code_origins (45.252 ms) : 44869, 45634 . : milestone, 45252, iast (45.612 ms) : 45212, 46011 . : milestone, 45612, profiling (48.461 ms) : 48010, 48912 . : milestone, 48461, tracing (46.001 ms) : 45591, 46411 . : milestone, 46001, section candidate no_agent (37.891 ms) : 37590, 38192 . : milestone, 37891, appsec (50.849 ms) : 50408, 51291 . : milestone, 50849, code_origins (43.661 ms) : 43277, 44045 . : milestone, 43661, iast (44.518 ms) : 44135, 44901 . : milestone, 44518, profiling (50.13 ms) : 49627, 50633 . : milestone, 50130, tracing (46.358 ms) : 45961, 46755 . : milestone, 46358,
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 tomcatgantt title tomcat - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~2cfe070b4b, baseline=1.55.0-SNAPSHOT~425276dceb dateFormat X axisFormat %s section baseline no_agent (1.474 ms) : 1462, 1485 . : milestone, 1474, appsec (3.714 ms) : 3497, 3932 . : milestone, 3714, iast (2.203 ms) : 2139, 2266 . : milestone, 2203, iast_GLOBAL (2.251 ms) : 2187, 2315 . : milestone, 2251, profiling (2.5 ms) : 2331, 2669 . : milestone, 2500, tracing (2.017 ms) : 1968, 2067 . : milestone, 2017, section candidate no_agent (1.475 ms) : 1463, 1486 . : milestone, 1475, appsec (3.704 ms) : 3486, 3922 . : milestone, 3704, iast (2.208 ms) : 2144, 2271 . : milestone, 2208, iast_GLOBAL (2.259 ms) : 2194, 2323 . : milestone, 2259, profiling (2.073 ms) : 2020, 2125 . : milestone, 2073, tracing (2.026 ms) : 1977, 2076 . : milestone, 2026,
Execution time for biojavagantt title biojava - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~2cfe070b4b, baseline=1.55.0-SNAPSHOT~425276dceb dateFormat X axisFormat %s section baseline no_agent (15.704 s) : 15704000, 15704000 . : milestone, 15704000, appsec (14.845 s) : 14845000, 14845000 . : milestone, 14845000, iast (18.427 s) : 18427000, 18427000 . : milestone, 18427000, iast_GLOBAL (17.938 s) : 17938000, 17938000 . : milestone, 17938000, profiling (15.607 s) : 15607000, 15607000 . : milestone, 15607000, tracing (15.142 s) : 15142000, 15142000 . : milestone, 15142000, section candidate no_agent (15.51 s) : 15510000, 15510000 . : milestone, 15510000, appsec (15.0 s) : 15000000, 15000000 . : milestone, 15000000, iast (18.499 s) : 18499000, 18499000 . : milestone, 18499000, iast_GLOBAL (18.128 s) : 18128000, 18128000 . : milestone, 18128000, profiling (15.169 s) : 15169000, 15169000 . : milestone, 15169000, tracing (15.043 s) : 15043000, 15043000 . : milestone, 15043000,
|
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.
👏 praise: Thanks for improving OOTB experience 🙏
> Note: You can skip this step if you don’t need instrumentation for the **akka-http-10.6** module. | ||
> For background on why Akka now requires authentication, see this [article](https://akka.io/blog/why-we-are-changing-the-license-for-akka). |
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: GitHub has a dedicated formatting for:
> Note: You can skip this step if you don’t need instrumentation for the **akka-http-10.6** module. | |
> For background on why Akka now requires authentication, see this [article](https://akka.io/blog/why-we-are-changing-the-license-for-akka). | |
> [!NOTE] You can skip this step if you don’t need instrumentation for the **akka-http-10.6** module. | |
> For background on why Akka now requires authentication, see this [article](https://akka.io/blog/why-we-are-changing-the-license-for-akka). |
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.
Looks good thanks for this ! Just requiring a small change to access the property.
":dd-java-agent:instrumentation:akka:akka-http:akka-http-10.0", | ||
":dd-java-agent:instrumentation:akka:akka-http:akka-http-10.2-iast", | ||
":dd-java-agent:instrumentation:akka:akka-http:akka-http-10.6", | ||
":dd-java-agent:instrumentation:apache-httpclient:apache-httpasyncclient-4.0", |
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.
":dd-java-agent:instrumentation:apache-httpclient:apache-httpasyncclient-4.0", | |
// akka:akka-http:akka-http-10.6 will be included when akkaRepositoryToken is present | |
":dd-java-agent:instrumentation:apache-httpclient:apache-httpasyncclient-4.0", |
) | ||
| ||
// Optional Akka instrumentation (see BUILDING.md for how to enable it): | ||
if (providers.environmentVariable("ORG_GRADLE_PROJECT_akkaRepositoryToken").isPresent) { |
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.
todo: Use the gradleProperty
provider
if (providers.environmentVariable("ORG_GRADLE_PROJECT_akkaRepositoryToken").isPresent) { | |
if (providers.gradleProperty("akkaRepositoryToken").isPresent) { |
Since akkaRepositoryToken
is a project_property, the property is settable via several means, but queryable via via the single providers.gradleProperty("akkaRepositoryToken")
call.
- on CLI
./gradlew build -PakkaRepositoryToken=foobar
- on CLI as system property
./gradlew build -Dorg.gradle.project.akkaRepositoryToken=foobar
- via
gradle.properties
as a system propertyorg.gradle.project.akkaRepositoryToken=foobar
- via
gradle.properties
as a project propertyakkaRepositoryToken=foobar
- via environment var
ORG_GRADLE_PROJECT_akkaRepositoryToken=foobar
https://docs.gradle.org/current/userguide/build_environment.html#sec:project_properties
include( | ||
":dd-java-agent:instrumentation:akka:akka-http:akka-http-10.6" | ||
) | ||
} |
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: I would make the build vocal about
} | |
} else { | |
logger.quiet("Omitting :dd-java-agent:instrumentation:akka:akka-http:akka-http-10.6: 'akkaRepositoryToken' not configured") | |
} |
Possibly this can be logged only if the console is set to verbose ?
} | |
} else if (gradle.startParameter.consoleOutput == ConsoleOutput.Verbose) { | |
logger.quiet("Omitting :dd-java-agent:instrumentation:akka:akka-http:akka-http-10.6: 'akkaRepositoryToken' not configured") | |
} |
cat << EOF > $GRADLE_USER_HOME/gradle.properties | ||
mavenRepositoryProxy=$MAVEN_REPOSITORY_PROXY | ||
gradlePluginProxy=$GRADLE_PLUGIN_PROXY | ||
akkaRepositoryToken=$AKKA_REPO_TOKEN |
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.
thought: After this PR, maybe we could convert the mavenRepositoryProxy
and gradlePluginProxy
project properties to use the export ORG_GRADLE_PROJECT_...
style .
What Does This Do
Make
akka-http-10.6
module optional to simplify local build.Motivation
Improved developer experience during local build.
Making Akka token optional will simplify setup for local build.
Those who need this module can do one more extra step.
Additional Notes
For background on why Akka now requires authentication, see this article.