-
Notifications
You must be signed in to change notification settings - Fork 44
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
editoast: hide 'datadog' and 'opentelemetry' behind feature flags #8598
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## dev #8598 +/- ##
=======================================
Coverage 87.49% 87.49%
=======================================
Files 31 31
Lines 1535 1535
=======================================
Hits 1343 1343
Misses 192 192
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
2927030
to
a467d59
Compare
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.
LGTM (editoast, not tested)
Do you have stats on the compile time with/without these dependencies? I feel it won't change much since most of the compile time is spent on osrd (not the dependencies). We might add complexity without real gain. From my point of view, the pain comes from the rustanalyzer runtime rather than the build time. |
a467d59
to
24b0f51
Compare
I agree that for rust-analyzer it might not be a big impact. With these 2 benchmarks, it shows no effect (if you check the entire workspace or not).
But rust-analyzer is not the only case where this might matters. For example, we often run (and therefore compile) the tests... which means there is linking happening. Therefore, less dependencies might be important in this case. Here are the numbers (notice the
We see there is no significant improvement (the difference in time is smaller than the variance).
|
352829a
to
8156f4d
Compare
My speedup factor is less surprising, but 3% just for the telemetry still seems quite a lot tbh.
|
I updated comment since the result were plainly wrong. In the end, there is no situation in which removing some dependencies has an impact on the performance. Therefore, the comment of @flomonster is completely relevant. Even the results obtained by @leovalais don't show a significant result, the variance is greater than the time difference. Just to be sure, I increased the number of calculation in a benchmark and even remove compilation of sub-crates from the equation (just
Now, I'm ok to drop the
I'm ok either way. Note that this PR still also contains 2 small fix commits anyway so even if we remove the entire featurization of Datadog and OpenTelemetry, we might want to merge it still (with an edit of the title maybe 🤷). |
Too bad it doesn't lead to any improvement. Agreed about the datadog feature. |
Same as @leovalais. Another reason to keep a feature flag for |
8156f4d
to
82887d1
Compare
The goal is to reduce the default compile time for developers. Datadog is mostly used in specific deployment, not necessary to run any test or any useful runtime functionalities unless communicating with a Datadog agent.
This layer is not really useful since it provides trace id to the web client of `editoast` as response headers. `gateway` is not really able to consume these anyway.
82887d1
to
a8ff592
Compare
The goal is to reduce the default compile time for developers.
Datadog is mostly used in specific deployment, not necessary to run any
test or any useful runtime functionalities unless communicating with
a Datadog agent.
Some summary about the total number of dependencies depending on which
feature is activated: