From 7e00ab705166d1d27d0a0fed12e52f7d0efe97f2 Mon Sep 17 00:00:00 2001 From: Ali Sabzevari Date: Mon, 12 Jul 2021 13:02:16 +0200 Subject: [PATCH 1/4] chore(api-metrics): fix lint warnings --- packages/opentelemetry-api-metrics/src/NoopMeter.ts | 8 ++++---- packages/opentelemetry-api-metrics/src/api/metrics.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/opentelemetry-api-metrics/src/NoopMeter.ts b/packages/opentelemetry-api-metrics/src/NoopMeter.ts index 45a90b8fd8..700dda0e06 100644 --- a/packages/opentelemetry-api-metrics/src/NoopMeter.ts +++ b/packages/opentelemetry-api-metrics/src/NoopMeter.ts @@ -159,7 +159,7 @@ export class NoopMetric implements UnboundMetric { export class NoopCounterMetric extends NoopMetric implements Counter { - add(value: number, labels: Labels) { + add(value: number, labels: Labels): void { this.bind(labels).add(value); } } @@ -167,7 +167,7 @@ export class NoopCounterMetric export class NoopValueRecorderMetric extends NoopMetric implements ValueRecorder { - record(value: number, labels: Labels) { + record(value: number, labels: Labels): void { this.bind(labels).record(value); } } @@ -175,7 +175,7 @@ export class NoopValueRecorderMetric export class NoopBaseObserverMetric extends NoopMetric implements BaseObserver { - observation() { + observation(): { observer: BaseObserver; value: number; } { return { observer: this as BaseObserver, value: 0, @@ -198,7 +198,7 @@ export class NoopBoundValueRecorder implements BoundValueRecorder { } export class NoopBoundBaseObserver implements BoundBaseObserver { - update(_value: number) {} + update(_value: number): void {} } export const NOOP_METER = new NoopMeter(); diff --git a/packages/opentelemetry-api-metrics/src/api/metrics.ts b/packages/opentelemetry-api-metrics/src/api/metrics.ts index 1ff07acc06..079fc952e4 100644 --- a/packages/opentelemetry-api-metrics/src/api/metrics.ts +++ b/packages/opentelemetry-api-metrics/src/api/metrics.ts @@ -78,7 +78,7 @@ export class MetricsAPI { } /** Remove the global meter provider */ - public disable() { + public disable(): void { delete _global[GLOBAL_METRICS_API_KEY]; } } From be6d940c90e53eec857bb65c0a07904314a59cbe Mon Sep 17 00:00:00 2001 From: Ali Sabzevari Date: Mon, 12 Jul 2021 16:07:42 +0200 Subject: [PATCH 2/4] chore(context-zone-peer-dep): fix lint warnings --- .../src/ZoneContextManager.ts | 23 ++++++++++--------- .../src/types.ts | 8 +++---- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/packages/opentelemetry-context-zone-peer-dep/src/ZoneContextManager.ts b/packages/opentelemetry-context-zone-peer-dep/src/ZoneContextManager.ts index 9f56f46657..b55e3ca087 100644 --- a/packages/opentelemetry-context-zone-peer-dep/src/ZoneContextManager.ts +++ b/packages/opentelemetry-context-zone-peer-dep/src/ZoneContextManager.ts @@ -15,7 +15,7 @@ */ import { Context, ContextManager, ROOT_CONTEXT } from '@opentelemetry/api'; -import { Func, TargetWithEvents } from './types'; +import { TargetWithEvents } from './types'; import { isListenerObject } from './util'; /* Key name to be used to save a context reference in Zone */ @@ -53,9 +53,10 @@ export class ZoneContextManager implements ContextManager { * @param context A context (span) to be executed within target function * @param target Function to be executed within the context */ + // eslint-disable-next-line @typescript-eslint/ban-types private _bindFunction(context: Context, target: T): T { const manager = this; - const contextWrapper = function (this: any, ...args: unknown[]) { + const contextWrapper = function (this: unknown, ...args: unknown[]) { return manager.with(context, () => target.apply(this, args)); }; Object.defineProperty(contextWrapper, 'length', { @@ -134,16 +135,16 @@ export class ZoneContextManager implements ContextManager { */ private _patchAddEventListener( target: TargetWithEvents, - original: Function, + original: NonNullable, context: Context ) { const contextManager = this; return function ( - this: {}, - event: string, - listener: Func, - opts?: any + this: TargetWithEvents, + event, + listener, + opts ) { if (target.__ot_listeners === undefined) { target.__ot_listeners = {}; @@ -157,7 +158,7 @@ export class ZoneContextManager implements ContextManager { // store a weak reference of the user listener to ours listeners.set(listener, patchedListener); return original.call(this, event, patchedListener, opts); - }; + } as TargetWithEvents['addEventListener']; } /** @@ -167,9 +168,9 @@ export class ZoneContextManager implements ContextManager { */ private _patchRemoveEventListener( target: TargetWithEvents, - original: Function + original: NonNullable ) { - return function (this: {}, event: string, listener: Func) { + return function (this: TargetWithEvents, event, listener) { if ( target.__ot_listeners === undefined || target.__ot_listeners[event] === undefined @@ -180,7 +181,7 @@ export class ZoneContextManager implements ContextManager { const patchedListener = events.get(listener); events.delete(listener); return original.call(this, event, patchedListener || listener); - }; + } as TargetWithEvents['removeEventListener']; } /** diff --git a/packages/opentelemetry-context-zone-peer-dep/src/types.ts b/packages/opentelemetry-context-zone-peer-dep/src/types.ts index 4c073178c1..fbae9e3045 100644 --- a/packages/opentelemetry-context-zone-peer-dep/src/types.ts +++ b/packages/opentelemetry-context-zone-peer-dep/src/types.ts @@ -23,13 +23,13 @@ export type Func = (...args: unknown[]) => T; export interface TargetWithEvents { addEventListener?( event: string, - listener: (...args: any[]) => void, + listener: (...args: unknown[]) => void, opts?: { once: boolean } - ): any; + ): unknown; removeEventListener?( event: string, - listener: (...args: any[]) => void, + listener: (...args: unknown[]) => void, opts?: { once: boolean } - ): any; + ): unknown; __ot_listeners?: { [name: string]: WeakMap, Func> }; } From a218952c15dd75613c2e369079fd41c067922918 Mon Sep 17 00:00:00 2001 From: Ali Sabzevari Date: Tue, 3 Aug 2021 16:32:32 +0200 Subject: [PATCH 3/4] chore(api-metrics): use Observation type as return type --- packages/opentelemetry-api-metrics/src/NoopMeter.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/opentelemetry-api-metrics/src/NoopMeter.ts b/packages/opentelemetry-api-metrics/src/NoopMeter.ts index 700dda0e06..76ce3c930b 100644 --- a/packages/opentelemetry-api-metrics/src/NoopMeter.ts +++ b/packages/opentelemetry-api-metrics/src/NoopMeter.ts @@ -33,6 +33,7 @@ import { BoundBaseObserver, } from './types/BoundInstrument'; import { ObserverResult } from './types/ObserverResult'; +import { Observation } from '.'; /** * NoopMeter is a noop implementation of the {@link Meter} interface. It reuses @@ -175,7 +176,7 @@ export class NoopValueRecorderMetric export class NoopBaseObserverMetric extends NoopMetric implements BaseObserver { - observation(): { observer: BaseObserver; value: number; } { + observation(): Observation { return { observer: this as BaseObserver, value: 0, From 2537c8130d4ee3c8f76996d2f3bb1c6b9b3ae82b Mon Sep 17 00:00:00 2001 From: Ali Sabzevari Date: Tue, 3 Aug 2021 16:37:49 +0200 Subject: [PATCH 4/4] chore(api-metrics): fix import for Observation Co-authored-by: Daniel Dyla --- packages/opentelemetry-api-metrics/src/NoopMeter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/opentelemetry-api-metrics/src/NoopMeter.ts b/packages/opentelemetry-api-metrics/src/NoopMeter.ts index 76ce3c930b..6e0fd5bd20 100644 --- a/packages/opentelemetry-api-metrics/src/NoopMeter.ts +++ b/packages/opentelemetry-api-metrics/src/NoopMeter.ts @@ -33,7 +33,7 @@ import { BoundBaseObserver, } from './types/BoundInstrument'; import { ObserverResult } from './types/ObserverResult'; -import { Observation } from '.'; +import { Observation } from './types/Observation'; /** * NoopMeter is a noop implementation of the {@link Meter} interface. It reuses