Skip to content

Commit 1e5b372

Browse files
committed
switch to set_metrics_reporter
1 parent 1e53218 commit 1e5b372

1 file changed

Lines changed: 11 additions & 44 deletions

File tree

  • kernel/src/engine/default

kernel/src/engine/default/mod.rs

Lines changed: 11 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ pub struct DefaultEngine<E: TaskExecutor> {
4141
json: Arc<DefaultJsonHandler<E>>,
4242
parquet: Arc<DefaultParquetHandler<E>>,
4343
evaluation: Arc<ArrowEvaluationHandler>,
44-
reporter: Option<Arc<dyn MetricsReporter>>,
44+
metrics_reporter: Option<Arc<dyn MetricsReporter>>,
4545
}
4646

4747
impl DefaultEngine<executor::tokio::TokioBackgroundExecutor> {
@@ -60,19 +60,15 @@ impl DefaultEngine<executor::tokio::TokioBackgroundExecutor> {
6060
)
6161
}
6262

63-
/// Create a new [`DefaultEngine`] instance with the default executor and metrics reporting.
64-
/// TODO: Switch to Builder pattern to avoid explosion of constructor methods.
65-
#[allow(dead_code)]
63+
/// Set a metrics reporter for the engine to collect events and metrics during operations.
64+
///
65+
/// # Parameters
66+
///
67+
/// - `reporter`: An implementation of the [`MetricsReporter`] trait which will be used to
68+
/// report metrics.
6669
#[internal_api]
67-
pub(crate) fn new_with_metrics_reporter(
68-
object_store: Arc<DynObjectStore>,
69-
reporter: Arc<dyn MetricsReporter>,
70-
) -> Self {
71-
Self::new_with_executor_and_metrics_reporter(
72-
object_store,
73-
Arc::new(executor::tokio::TokioBackgroundExecutor::new()),
74-
reporter,
75-
)
70+
pub(crate) fn set_metrics_reporter(&mut self, reporter: Arc<dyn MetricsReporter>) {
71+
self.metrics_reporter = Some(reporter);
7672
}
7773
}
7874

@@ -103,36 +99,7 @@ impl<E: TaskExecutor> DefaultEngine<E> {
10399
)),
104100
object_store,
105101
evaluation: Arc::new(ArrowEvaluationHandler {}),
106-
reporter: None,
107-
}
108-
}
109-
110-
/// Create a new [`DefaultEngine`] instance with a custom executor and metrics reporting.
111-
/// TODO: Switch to Builder pattern to avoid explosion of constructor methods.
112-
#[allow(dead_code)]
113-
#[internal_api]
114-
pub(crate) fn new_with_executor_and_metrics_reporter(
115-
object_store: Arc<DynObjectStore>,
116-
task_executor: Arc<E>,
117-
reporter: Arc<dyn MetricsReporter>,
118-
) -> Self {
119-
Self {
120-
storage: Arc::new(ObjectStoreStorageHandler::new(
121-
object_store.clone(),
122-
task_executor.clone(),
123-
Some(reporter.clone()),
124-
)),
125-
json: Arc::new(DefaultJsonHandler::new(
126-
object_store.clone(),
127-
task_executor.clone(),
128-
)),
129-
parquet: Arc::new(DefaultParquetHandler::new(
130-
object_store.clone(),
131-
task_executor,
132-
)),
133-
object_store,
134-
evaluation: Arc::new(ArrowEvaluationHandler {}),
135-
reporter: Some(reporter),
102+
metrics_reporter: None,
136103
}
137104
}
138105

@@ -179,7 +146,7 @@ impl<E: TaskExecutor> Engine for DefaultEngine<E> {
179146
}
180147

181148
fn get_metrics_reporter(&self) -> Option<Arc<dyn MetricsReporter>> {
182-
self.reporter.clone()
149+
self.metrics_reporter.clone()
183150
}
184151
}
185152

0 commit comments

Comments
 (0)