Skip to content

Commit 2311453

Browse files
OmegaJakTheJokr
authored andcommitted
ZTC-2169: Allow use of memory-profiling feature with no other features
1 parent 24d5b0f commit 2311453

File tree

3 files changed

+26
-5
lines changed

3 files changed

+26
-5
lines changed

foundations/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ memory-profiling = [
145145
"dep:tikv-jemalloc-ctl",
146146
"dep:tempfile",
147147
"dep:tokio",
148+
"dep:serde",
148149
"jemalloc",
149150
]
150151

foundations/src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ pub mod settings;
7676
feature = "logging",
7777
feature = "metrics",
7878
feature = "telemetry",
79-
feature = "tracing"
79+
feature = "tracing",
80+
feature = "memory-profiling",
8081
))]
8182
pub mod telemetry;
8283

foundations/src/telemetry/mod.rs

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@
5353
#[cfg(any(feature = "logging", feature = "tracing"))]
5454
mod scope;
5555

56-
mod driver;
5756
mod telemetry_context;
5857

5958
#[cfg(all(feature = "tracing", feature = "telemetry-otlp-grpc"))]
@@ -94,10 +93,25 @@ pub mod tokio_runtime_metrics;
9493
#[cfg(feature = "telemetry-server")]
9594
mod server;
9695

96+
feature_use!(
97+
cfg(any(
98+
feature = "logging",
99+
feature = "tracing",
100+
feature = "metrics",
101+
feature = "telemetry-server",
102+
)),
103+
{
104+
mod driver;
105+
106+
pub use self::driver::TelemetryDriver;
107+
use crate::BootstrapResult;
108+
use futures_util::stream::FuturesUnordered;
109+
}
110+
);
111+
97112
use self::settings::TelemetrySettings;
98113
use crate::utils::feature_use;
99-
use crate::{BootstrapResult, ServiceInfo};
100-
use futures_util::stream::FuturesUnordered;
114+
use crate::ServiceInfo;
101115

102116
feature_use!(cfg(feature = "tracing"), {
103117
use self::tracing::SpanScope;
@@ -119,7 +133,6 @@ pub use self::memory_profiler::MemoryProfiler;
119133
#[cfg(feature = "telemetry-server")]
120134
pub use self::server::{TelemetryRouteHandler, TelemetryRouteHandlerFuture, TelemetryServerRoute};
121135

122-
pub use self::driver::TelemetryDriver;
123136
pub use self::telemetry_context::{
124137
TelemetryContext, WithTelemetryContext, WithTelemetryContextLocal,
125138
};
@@ -270,6 +283,12 @@ pub struct TelemetryConfig<'c> {
270283
/// [jemalloc]: https://github.com/jemalloc/jemalloc
271284
/// [`TelemetryServerSettings::enabled`]: `crate::telemetry::settings::TelemetryServerSettings::enabled`
272285
/// [syscall sandboxing]: `crate::security`
286+
#[cfg(any(
287+
feature = "logging",
288+
feature = "tracing",
289+
feature = "metrics",
290+
feature = "telemetry-server",
291+
))]
273292
pub fn init(config: TelemetryConfig) -> BootstrapResult<TelemetryDriver> {
274293
let tele_futures: FuturesUnordered<_> = Default::default();
275294

0 commit comments

Comments
 (0)