chore(app): ignore no-op updates to logging filter directives#1657
Conversation
Binary Size Analysis (Agent Data Plane)Target: c1313d0 (baseline) vs ca0f823 (comparison) diff
|
| Module | File Size | Symbols |
|---|---|---|
anon.8d8811c38c78989b07412358014ad95b.2.llvm.17737639912621458350 |
+2.91 KiB | 1 |
anon.b1b224363bd8cc54b1f66cbf9d11eab3.59.llvm.1965883548458184779 |
-2.91 KiB | 1 |
anon.41b0b8befc3118c3a2b0f17ec06872eb.9.llvm.17862187855904175761 |
-1.93 KiB | 1 |
anon.bdadb00871588c874a55b8b73ce579a9.0.llvm.8997752761958168434 |
+1.93 KiB | 1 |
anon.fd7b529fe56f46398ecdea2e5e277011.5.llvm.6425510092197803827 |
+1.69 KiB | 1 |
anon.8d73643f7c50d1f3e6a42b28ce415d61.97.llvm.7686234851778971964 |
-1.69 KiB | 1 |
[Unmapped] |
-1.62 KiB | 1 |
anon.ff7950eb5cfb17ddfcd9e2b2a5594f26.82.llvm.9873202471916192885 |
+1.50 KiB | 1 |
anon.b0aa5649cb3450213871fe59dcabc61d.15.llvm.299490569075470158 |
-1.41 KiB | 1 |
anon.1f92070954cd764eaf703c4d91d9aa51.110.llvm.4697276323575673218 |
+1.34 KiB | 1 |
anon.008f2eb7666b60adbf212aa1a1a9babf.1039.llvm.1675885107082596853 |
-1.34 KiB | 1 |
anon.ff7950eb5cfb17ddfcd9e2b2a5594f26.97.llvm.9873202471916192885 |
+1.24 KiB | 1 |
anon.ff7950eb5cfb17ddfcd9e2b2a5594f26.97.llvm.12774116853458931105 |
-1.24 KiB | 1 |
tokio |
+1.19 KiB | 26 |
anon.fd12fc45df31a30922855d17b6acc587.143.llvm.17639715875876597146 |
-1.13 KiB | 1 |
anon.1655e58d66d1ef1230538706b7bd06b2.59.llvm.13790112841392064238 |
+1.13 KiB | 1 |
anon.d6ea270b648dfac6661a1268469116b7.8.llvm.17970089049851553961 |
+1.11 KiB | 1 |
anon.b1b224363bd8cc54b1f66cbf9d11eab3.73.llvm.1965883548458184779 |
-1.10 KiB | 1 |
anon.fda1b3533837ce22d4b7e19c78568bdb.778.llvm.10227848518017916504 |
+1000 B | 1 |
anon.6c6fb0a3124c685116a3355f068f52b9.4.llvm.3122426268597355725 |
-1000 B | 1 |
Detailed Symbol Changes
FILE SIZE VM SIZE
-------------- --------------
[NEW] +2.91Ki [NEW] +2 anon.8d8811c38c78989b07412358014ad95b.2.llvm.17737639912621458350
+0.1% +2.24Ki +0.1% +1.57Ki [1592 Others]
[NEW] +1.93Ki [NEW] +96 anon.bdadb00871588c874a55b8b73ce579a9.0.llvm.8997752761958168434
[NEW] +1.69Ki [NEW] +97 anon.fd7b529fe56f46398ecdea2e5e277011.5.llvm.6425510092197803827
[NEW] +1.61Ki [NEW] +47 _<http_body_util::combinators::map_err::MapErr<B,F> as http_body::Body>::size_hint::hdada2fb9bb0c3934
[NEW] +1.50Ki [NEW] +92 anon.ff7950eb5cfb17ddfcd9e2b2a5594f26.82.llvm.9873202471916192885
[NEW] +1.42Ki [NEW] +33 core::ptr::drop_in_place<http_body_util::combinators::map_err::MapErr<tonic::codec::encode::EncodeBody<tonic_prost::codec::ProstEncoder<containerd_protos::containerd_include::containerd::services::namespaces::v1::ListNamespacesRequest>,tokio_stream::stream_ext::map::Map<tokio_stream::once::Once<containerd_protos::containerd_include::containerd::services::namespaces::v1::ListNamespacesRequest>,core::result::Result<containerd_protos::containerd_include::containerd::services::namespaces::v1::ListNamespacesRequest,tonic::status::Status>::Ok>>,tonic::status::Status::map_error<tonic::status::Status>>>::h18819913ef052bd7
[NEW] +1.34Ki [NEW] +96 anon.1f92070954cd764eaf703c4d91d9aa51.110.llvm.4697276323575673218
[NEW] +1.24Ki [NEW] +91 anon.ff7950eb5cfb17ddfcd9e2b2a5594f26.97.llvm.9873202471916192885
[NEW] +1.13Ki [NEW] +74 anon.1655e58d66d1ef1230538706b7bd06b2.59.llvm.13790112841392064238
[NEW] +1.11Ki [NEW] +42 anon.d6ea270b648dfac6661a1268469116b7.8.llvm.17970089049851553961
[DEL] -1.13Ki [DEL] -74 anon.fd12fc45df31a30922855d17b6acc587.143.llvm.17639715875876597146
[DEL] -1.24Ki [DEL] -91 anon.ff7950eb5cfb17ddfcd9e2b2a5594f26.97.llvm.12774116853458931105
[DEL] -1.34Ki [DEL] -96 anon.008f2eb7666b60adbf212aa1a1a9babf.1039.llvm.1675885107082596853
[DEL] -1.41Ki [DEL] -92 anon.b0aa5649cb3450213871fe59dcabc61d.15.llvm.299490569075470158
[DEL] -1.42Ki [DEL] -33 core::ptr::drop_in_place<http_body_util::combinators::map_err::MapErr<tonic::codec::encode::EncodeBody<tonic_prost::codec::ProstEncoder<datadog_protos::agent_include::datadog::remoteagent::v1::RefreshRemoteAgentRequest>,tokio_stream::stream_ext::map::Map<tokio_stream::once::Once<datadog_protos::agent_include::datadog::remoteagent::v1::RefreshRemoteAgentRequest>,core::result::Result<datadog_protos::agent_include::datadog::remoteagent::v1::RefreshRemoteAgentRequest,tonic::status::Status>::Ok>>,tonic::status::Status::map_error<tonic::status::Status>>>::hbfc7b7eee5761dcd
[DEL] -1.61Ki [DEL] -47 _<http_body_util::combinators::map_err::MapErr<B,F> as http_body::Body>::size_hint::hd3a85808fa15fdf4
-23.9% -1.62Ki [ = ] 0 [Unmapped]
[DEL] -1.69Ki [DEL] -97 anon.8d73643f7c50d1f3e6a42b28ce415d61.97.llvm.7686234851778971964
[DEL] -1.93Ki [DEL] -96 anon.41b0b8befc3118c3a2b0f17ec06872eb.9.llvm.17862187855904175761
[DEL] -2.91Ki [DEL] -2 anon.b1b224363bd8cc54b1f66cbf9d11eab3.59.llvm.1965883548458184779
+0.0% +1.82Ki +0.0% +1.61Ki TOTAL
Regression Detector (Agent Data Plane)Run ID: Optimization Goals: ✅ No significant changes detectedFine details of change detection per experiment (35)Experiments configured
Bounds Checks: ✅ Passed (5)
ExplanationA change is flagged as a regression when |Δ mean %| > 5.00% in the regressing direction for its optimization goal AND SMP marks the experiment as a regression ( |
## Summary As stated in the PR title. When updating the "base filter" for the logging filter directives, we get a big long message about it that looks like this: > 2026-05-14 18:01:41 UTC | DATAPLANE | INFO | (lib/saluki-app/src/logging/api.rs:287) | directives:"prometheus_exposition=info,datadog_agent_commons=info,saluki_components=info,memory_accounting=info,containerd_protos=info,agent_data_plane=info,saluki_metadata=info,saluki_metrics=info,saluki_context=info,process_memory=info,datadog_protos=info,saluki_config=info,saluki_common=info,stringtheory=info,saluki_error=info,saluki_core=info,otlp_protos=info,saluki_tls=info,saluki_env=info,saluki_app=info,saluki_api=info,saluki_io=info,ddsketch=info,ottl=info" | Updated base log filtering directives. That's a _lot_ of output... but it's even worse because this would be printed even if the update was a no-op and the "new" filter was identical to the current one. Oof. This PR simply runs a check when an "update base filter" operation is received, making sure that the new base filter is different from the current base filter. If it's not, we ignore it. ## Change Type - [ ] Bug fix - [ ] New feature - [x] Non-functional (chore, refactoring, docs) - [ ] Performance ## How did you test this PR? Ran the `adp-config-stream` integration test before and after. Observed that before, we saw the above message, and after applying the change, we no longer saw it. (This test is relevant here because we would only trigger base filter updates after bootstrap when getting the configuration from the Core Agent, since we do a single one-time update after getting the configuration to make sure our logging level matches the configured log level of the Core Agent.) ## References DADP-2 Co-authored-by: toby.lawrence <toby.lawrence@datadoghq.com> f35b1e8
Summary
As stated in the PR title.
When updating the "base filter" for the logging filter directives, we get a big long message about it that looks like this:
That's a lot of output... but it's even worse because this would be printed even if the update was a no-op and the "new" filter was identical to the current one. Oof.
This PR simply runs a check when an "update base filter" operation is received, making sure that the new base filter is different from the current base filter. If it's not, we ignore it.
Change Type
How did you test this PR?
Ran the
adp-config-streamintegration test before and after. Observed that before, we saw the above message, and after applying the change, we no longer saw it.(This test is relevant here because we would only trigger base filter updates after bootstrap when getting the configuration from the Core Agent, since we do a single one-time update after getting the configuration to make sure our logging level matches the configured log level of the Core Agent.)
References
DADP-2