diff --git a/api/src/metrics/Meter.ts b/api/src/metrics/Meter.ts index 1f8e63c803a..27428f2554d 100644 --- a/api/src/metrics/Meter.ts +++ b/api/src/metrics/Meter.ts @@ -20,8 +20,7 @@ import { Counter, ValueRecorder, ValueObserver, - BatchObserver, - BatchMetricOptions, + BatchObserverOptions, UpDownCounter, SumObserver, UpDownSumObserver, @@ -108,15 +107,13 @@ export interface Meter { ): UpDownSumObserver; /** - * Creates a new `BatchObserver` metric, can be used to update many metrics + * Creates a new `BatchObserver`, can be used to update many metrics * at the same time and when operations needs to be async - * @param name the name of the metric. * @param callback the batch observer callback - * @param [options] the metric batch options. + * @param [options] the batch observer options. */ createBatchObserver( - name: string, callback: (batchObserverResult: BatchObserverResult) => void, - options?: BatchMetricOptions - ): BatchObserver; + options?: BatchObserverOptions + ): void; } diff --git a/api/src/metrics/Metric.ts b/api/src/metrics/Metric.ts index 083055fbed2..75e7a78d397 100644 --- a/api/src/metrics/Metric.ts +++ b/api/src/metrics/Metric.ts @@ -66,11 +66,16 @@ export interface MetricOptions { boundaries?: number[]; } -export interface BatchMetricOptions extends MetricOptions { +export interface BatchObserverOptions { /** * Indicates how long the batch metric should wait to update before cancel */ maxTimeoutUpdateMS?: number; + + /** + * User provided logger. + */ + logger?: Logger; } /** The Type of value. It describes how the data is reported. */ @@ -166,9 +171,6 @@ export type UpDownSumObserver = BaseObserver; /** Base interface for the SumObserver metrics. */ export type SumObserver = BaseObserver; -/** Base interface for the Batch Observer metrics. */ -export type BatchObserver = Metric; - /** * key-value pairs passed by the user. */ diff --git a/api/src/metrics/NoopMeter.ts b/api/src/metrics/NoopMeter.ts index a81315ba92e..192bf19bec7 100644 --- a/api/src/metrics/NoopMeter.ts +++ b/api/src/metrics/NoopMeter.ts @@ -23,7 +23,6 @@ import { Counter, ValueRecorder, ValueObserver, - BatchObserver, UpDownCounter, BaseObserver, UpDownSumObserver, @@ -119,10 +118,9 @@ export class NoopMeter implements Meter { * @param callback the batch observer callback */ createBatchObserver( - _name: string, _callback: (batchObserverResult: BatchObserverResult) => void - ): BatchObserver { - return NOOP_BATCH_OBSERVER_METRIC; + ): NoopBatchObserver { + return NOOP_BATCH_OBSERVER; } } @@ -187,9 +185,7 @@ export class NoopBaseObserverMetric } } -export class NoopBatchObserverMetric - extends NoopMetric - implements BatchObserver {} +export class NoopBatchObserver {} export class NoopBoundCounter implements BoundCounter { add(_value: number): void { @@ -229,4 +225,4 @@ export const NOOP_SUM_OBSERVER_METRIC = new NoopBaseObserverMetric( NOOP_BOUND_BASE_OBSERVER ); -export const NOOP_BATCH_OBSERVER_METRIC = new NoopBatchObserverMetric(); +export const NOOP_BATCH_OBSERVER = new NoopBatchObserver();