@conduit-client/service-instrumentation-o11y 3.24.0 → 3.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -2,7 +2,7 @@ import { getInstrumentation } from 'o11y/client';
|
|
|
2
2
|
import type { MetricsTags } from 'o11y/shared';
|
|
3
3
|
import type { LoggerService, NamedLoggerService } from '@conduit-client/utils';
|
|
4
4
|
import type { LuvioOTelMetricsAPI } from '@conduit-client/service-instrumentation-types/v1';
|
|
5
|
-
import type { Attributes, BatchObservableCallback, Counter, Histogram, Meter, MeterOptions, MetricOptions, Observable, ObservableCounter, ObservableGauge, ObservableUpDownCounter, UpDownCounter } from '@opentelemetry/api';
|
|
5
|
+
import type { Attributes, BatchObservableCallback, Counter, Gauge, Histogram, Meter, MeterOptions, MetricOptions, Observable, ObservableCounter, ObservableGauge, ObservableUpDownCounter, UpDownCounter } from '@opentelemetry/api';
|
|
6
6
|
export declare class O11yOTelMetricsAPI implements LuvioOTelMetricsAPI {
|
|
7
7
|
private services;
|
|
8
8
|
constructor(services: NamedLoggerService);
|
|
@@ -14,6 +14,7 @@ export declare class O11yMeter implements Meter {
|
|
|
14
14
|
constructor(o11yInstrumentation: ReturnType<typeof getInstrumentation>, logger: LoggerService);
|
|
15
15
|
createHistogram<AttributesTypes extends Attributes = Attributes>(name: string, _options?: MetricOptions | undefined): Histogram<AttributesTypes>;
|
|
16
16
|
createCounter<AttributesTypes extends Attributes = Attributes>(name: string, options?: MetricOptions | undefined): Counter<AttributesTypes>;
|
|
17
|
+
createGauge<AttributesTypes extends Attributes = Attributes>(_name: string, _options?: MetricOptions | undefined): Gauge<AttributesTypes>;
|
|
17
18
|
createUpDownCounter<AttributesTypes extends Attributes = Attributes>(_name: string, _options?: MetricOptions | undefined): UpDownCounter<AttributesTypes>;
|
|
18
19
|
createObservableGauge<AttributesTypes extends Attributes = Attributes>(_name: string, _options?: MetricOptions | undefined): ObservableGauge<AttributesTypes>;
|
|
19
20
|
createObservableCounter<AttributesTypes extends Attributes = Attributes>(_name: string, _options?: MetricOptions | undefined): ObservableCounter<AttributesTypes>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getInstrumentation } from 'o11y/client';
|
|
2
2
|
import type { LoggerService, NamedLoggerService } from '@conduit-client/utils';
|
|
3
3
|
import type { LuvioOTelTraceAPI } from '@conduit-client/service-instrumentation-types/v1';
|
|
4
|
-
import type { Tracer, TracerOptions, Span, SpanContext, SpanOptions, SpanStatus, Context, AttributeValue, Attributes, TimeInput, Exception } from '@opentelemetry/api';
|
|
4
|
+
import type { Tracer, TracerOptions, Span, SpanContext, SpanOptions, SpanStatus, Context, AttributeValue, Attributes, Link, TimeInput, Exception } from '@opentelemetry/api';
|
|
5
5
|
type Instrumentation = ReturnType<typeof getInstrumentation>;
|
|
6
6
|
type Activity = ReturnType<Instrumentation['startActivity']>;
|
|
7
7
|
export declare class O11yOTelTraceAPI implements LuvioOTelTraceAPI {
|
|
@@ -27,6 +27,8 @@ export declare class O11ySpan implements Span {
|
|
|
27
27
|
spanContext(): SpanContext;
|
|
28
28
|
setAttribute(key: string, value: AttributeValue): this;
|
|
29
29
|
setAttributes(attributes: Attributes): this;
|
|
30
|
+
addLink(_link: Link): this;
|
|
31
|
+
addLinks(_links: Link[]): this;
|
|
30
32
|
addEvent(_name: string, _attributesOrStartTime?: Attributes | TimeInput, _startTime?: TimeInput): this;
|
|
31
33
|
setStatus(_status: SpanStatus): this;
|
|
32
34
|
updateName(_name: string): this;
|
package/dist/v1/index.js
CHANGED
|
@@ -76,6 +76,14 @@ class O11ySpan {
|
|
|
76
76
|
this.attributes = { ...this.attributes, ...attributes };
|
|
77
77
|
return this;
|
|
78
78
|
}
|
|
79
|
+
addLink(_link) {
|
|
80
|
+
this.logger.warn("O11ySpan does not support addLink.");
|
|
81
|
+
return this;
|
|
82
|
+
}
|
|
83
|
+
addLinks(_links) {
|
|
84
|
+
this.logger.warn("O11ySpan does not support addLinks.");
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
79
87
|
addEvent(_name, _attributesOrStartTime, _startTime) {
|
|
80
88
|
this.logger.warn("O11ySpan does not support addEvents.");
|
|
81
89
|
return this;
|
|
@@ -135,6 +143,9 @@ class O11yMeter {
|
|
|
135
143
|
}
|
|
136
144
|
return new O11yCounter(name, this.o11yInstrumentation, this.logger);
|
|
137
145
|
}
|
|
146
|
+
createGauge(_name, _options) {
|
|
147
|
+
return new O11yGauge(this.logger);
|
|
148
|
+
}
|
|
138
149
|
createUpDownCounter(_name, _options) {
|
|
139
150
|
return new O11yUpDownCounter(this.logger);
|
|
140
151
|
}
|
|
@@ -192,6 +203,14 @@ class O11yHistogram {
|
|
|
192
203
|
);
|
|
193
204
|
}
|
|
194
205
|
}
|
|
206
|
+
class O11yGauge {
|
|
207
|
+
constructor(logger) {
|
|
208
|
+
this.logger = logger;
|
|
209
|
+
}
|
|
210
|
+
record(_value, _attributes, _context) {
|
|
211
|
+
this.logger.warn("O11yGauge not supported yet.");
|
|
212
|
+
}
|
|
213
|
+
}
|
|
195
214
|
class O11yUpDownCounter {
|
|
196
215
|
constructor(logger) {
|
|
197
216
|
this.logger = logger;
|
package/dist/v1/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/v1/o11y-trace-api.ts","../../src/v1/o11y-metrics-api.ts","../../src/v1/o11y-instrumentation-service.ts"],"sourcesContent":["import { getInstrumentation } from 'o11y/client';\nimport type { LoggerService, NamedLoggerService } from '@conduit-client/utils';\nimport type { LuvioOTelTraceAPI } from '@conduit-client/service-instrumentation-types/v1';\nimport type {\n Tracer,\n TracerOptions,\n Span,\n SpanContext,\n SpanOptions,\n SpanStatus,\n Context,\n AttributeValue,\n Attributes,\n TimeInput,\n Exception,\n} from '@opentelemetry/api';\n\ntype Instrumentation = ReturnType<typeof getInstrumentation>;\ntype ApiOptions = Parameters<Instrumentation['startActivity']>[1];\ntype Activity = ReturnType<Instrumentation['startActivity']>;\n\nexport class O11yOTelTraceAPI implements LuvioOTelTraceAPI {\n constructor(private services: NamedLoggerService) {}\n\n getTracer(name: string, _version?: string, _options?: TracerOptions): Tracer {\n const o11yInstrumentation = getInstrumentation(name);\n return new O11yTracer(o11yInstrumentation, this.services.logger);\n }\n}\n\nexport class O11yTracer implements Tracer {\n constructor(\n private o11yInstrumentation: ReturnType<typeof getInstrumentation>,\n private logger: LoggerService\n ) {}\n startSpan(name: string, _options?: SpanOptions, context?: Context): O11ySpan {\n const traceId = context?.getValue(Symbol.for('traceId')) as string;\n const spanId = context?.getValue(Symbol.for('spanId')) as string;\n const traceFlags = context?.getValue(Symbol.for('traceFlags')) as number;\n let spanContext: SpanContext | undefined = undefined;\n\n if (traceId !== undefined && spanId !== undefined && traceFlags !== undefined) {\n spanContext = {\n traceId,\n spanId,\n traceFlags,\n };\n }\n\n const activityOptions: ApiOptions =\n spanContext === undefined\n ? undefined\n : {\n instrumentationContext: {\n rootId: spanContext.traceId,\n isRootActivitySampled: spanContext.traceFlags === 1,\n parentId: spanId,\n },\n };\n\n const activity = this.o11yInstrumentation.startActivity(name, activityOptions);\n\n return new O11ySpan(activity, this.logger);\n }\n startActiveSpan<F extends (span: Span) => unknown>(name: string, fn: F): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n fn: F\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n context: Context,\n fn: F\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: unknown,\n context?: unknown,\n fn?: unknown\n ): ReturnType<F> {\n let opts: SpanOptions | undefined;\n let ctx: Context | undefined;\n let fun: F;\n if (typeof options === 'function') {\n fun = options as F;\n } else {\n opts = options as SpanOptions;\n if (typeof context === 'function') {\n fun = context as F;\n } else {\n ctx = context as Context;\n fun = fn as F;\n }\n }\n\n const span = this.startSpan(name, opts, ctx);\n return fun(span) as ReturnType<F>;\n }\n}\n\nexport class O11ySpan implements Span {\n private _isRecording: boolean = true;\n private attributes: Attributes = {};\n\n constructor(\n private activity: Activity,\n private logger: LoggerService\n ) {}\n\n spanContext(): SpanContext {\n return {\n traceId: this.activity.getRootId(),\n spanId: this.activity.getId(),\n traceFlags: this.activity.getIsSampled() ? 1 : 0,\n };\n }\n setAttribute(key: string, value: AttributeValue): this {\n this.attributes[key] = value;\n return this;\n }\n setAttributes(attributes: Attributes): this {\n this.attributes = { ...this.attributes, ...attributes };\n return this;\n }\n addEvent(\n _name: string,\n _attributesOrStartTime?: Attributes | TimeInput,\n _startTime?: TimeInput\n ): this {\n this.logger.warn('O11ySpan does not support addEvents.');\n return this;\n }\n setStatus(_status: SpanStatus): this {\n this.logger.warn('O11ySpan does not support setStatus.');\n return this;\n }\n updateName(_name: string): this {\n this.logger.warn('O11ySpan does not support updateName.');\n return this;\n }\n end(endTime?: TimeInput): void {\n let endTimeInternal = endTime;\n try {\n if (typeof endTimeInternal !== 'number') {\n this.logger.warn('O11ySpan does not support non number endTime override.');\n endTimeInternal = undefined;\n }\n\n // TODO: Add support for stop schemas and data\n this.activity.stop(\n undefined,\n undefined,\n endTimeInternal ? { perfStopOverride: endTimeInternal as number } : undefined\n );\n } finally {\n this._isRecording = false;\n }\n\n return;\n }\n\n isRecording(): boolean {\n return this._isRecording;\n }\n\n recordException(exception: Exception, _time?: TimeInput): void {\n // TODO: Add support for exception schemas and data\n this.activity.error(exception);\n }\n}\n","import { getInstrumentation } from 'o11y/client';\nimport type { MetricsTags } from 'o11y/shared';\nimport type { LoggerService, NamedLoggerService } from '@conduit-client/utils';\nimport type { LuvioOTelMetricsAPI } from '@conduit-client/service-instrumentation-types/v1';\nimport type {\n Attributes,\n BatchObservableCallback,\n Context,\n Counter,\n Histogram,\n Meter,\n MeterOptions,\n MetricOptions,\n Observable,\n ObservableCallback,\n ObservableCounter,\n ObservableGauge,\n ObservableUpDownCounter,\n UpDownCounter,\n} from '@opentelemetry/api';\n\nexport class O11yOTelMetricsAPI implements LuvioOTelMetricsAPI {\n constructor(private services: NamedLoggerService) {}\n\n getMeter(\n name: string,\n // TODO: Not sure what to do with these?\n _version?: string | undefined,\n __options?: MeterOptions | undefined\n ): Meter {\n const o11yInstrumentation = getInstrumentation(name);\n return new O11yMeter(o11yInstrumentation, this.services.logger);\n }\n}\n\nexport class O11yMeter implements Meter {\n constructor(\n private o11yInstrumentation: ReturnType<typeof getInstrumentation>,\n private logger: LoggerService\n ) {}\n\n createHistogram<AttributesTypes extends Attributes = Attributes>(\n name: string,\n _options?: MetricOptions | undefined\n ): Histogram<AttributesTypes> {\n return new O11yHistogram(name, this.o11yInstrumentation, this.logger);\n }\n createCounter<AttributesTypes extends Attributes = Attributes>(\n name: string,\n options?: MetricOptions | undefined\n ): Counter<AttributesTypes> {\n if (options) {\n this.logger.warn('counter options not supported in O11y instrumentation');\n }\n return new O11yCounter(name, this.o11yInstrumentation, this.logger);\n }\n createUpDownCounter<AttributesTypes extends Attributes = Attributes>(\n _name: string,\n _options?: MetricOptions | undefined\n ): UpDownCounter<AttributesTypes> {\n return new O11yUpDownCounter(this.logger);\n }\n createObservableGauge<AttributesTypes extends Attributes = Attributes>(\n _name: string,\n _options?: MetricOptions | undefined\n ): ObservableGauge<AttributesTypes> {\n return new O11yObservableGuage(this.logger);\n }\n createObservableCounter<AttributesTypes extends Attributes = Attributes>(\n _name: string,\n _options?: MetricOptions | undefined\n ): ObservableCounter<AttributesTypes> {\n return new O11yObservableCounter(this.logger);\n }\n createObservableUpDownCounter<AttributesTypes extends Attributes = Attributes>(\n _name: string,\n _options?: MetricOptions | undefined\n ): ObservableUpDownCounter<AttributesTypes> {\n return new O11yObservableUpDownCounter(this.logger);\n }\n addBatchObservableCallback<AttributesTypes extends Attributes = Attributes>(\n _callback: BatchObservableCallback<AttributesTypes>,\n _observables: Observable<AttributesTypes>[]\n ): void {\n this.logger.warn('addBatchObservableCallback not supported yet');\n }\n removeBatchObservableCallback<AttributesTypes extends Attributes = Attributes>(\n _callback: BatchObservableCallback<AttributesTypes>,\n _observables: Observable<AttributesTypes>[]\n ): void {\n this.logger.warn('removeBatchObservableCallback not supported yet');\n }\n}\n\nclass O11yCounter implements Counter {\n constructor(\n private name: string,\n private o11yInstrumentation: ReturnType<typeof getInstrumentation>,\n private logger: LoggerService\n ) {}\n\n add(value: number, attributes?: Attributes | undefined, _context?: Context | undefined): void {\n if (value < 0) {\n this.logger.warn(`Counter values must be non-negative. Got ${value}.`);\n return;\n }\n this.o11yInstrumentation.incrementCounter(\n this.name,\n value,\n undefined,\n sanitizeAttributes(attributes)\n );\n }\n}\n\nclass O11yHistogram implements Histogram {\n constructor(\n private name: string,\n private o11yInstrumentation: ReturnType<typeof getInstrumentation>,\n private logger: LoggerService\n ) {}\n record(\n value: number,\n attributes?: Attributes | undefined,\n _context?: Context | undefined\n ): void {\n if (value < 0) {\n this.logger.warn(`Histogram values must be non-negative. Got ${value}.`);\n return;\n }\n this.o11yInstrumentation.trackValue(\n this.name,\n value,\n undefined,\n sanitizeAttributes(attributes)\n );\n }\n}\n\nclass O11yUpDownCounter implements UpDownCounter {\n constructor(private logger: LoggerService) {}\n\n add(\n _value: number,\n _attributes?: Attributes | undefined,\n _context?: Context | undefined\n ): void {\n this.logger.warn('O11yUpDownCounter not supported yet.');\n }\n}\n\nclass O11yObservableCounter implements ObservableCounter {\n constructor(private logger: LoggerService) {}\n addCallback(_callback: ObservableCallback<Attributes>): void {\n this.logger.warn('O11yObservableCounter not supported yet. Defaulting to noop.');\n }\n removeCallback(_callback: ObservableCallback<Attributes>): void {\n this.logger.warn('O11yObservableCounter not supported yet. Defaulting to noop.');\n }\n}\n\nclass O11yObservableGuage implements ObservableGauge {\n constructor(private logger: LoggerService) {}\n addCallback(_callback: ObservableCallback<Attributes>): void {\n this.logger.warn('O11yObservableGuage not supported yet. Defaulting to noop.');\n }\n removeCallback(_callback: ObservableCallback<Attributes>): void {\n this.logger.warn('O11yObservableGuage not supported yet. Defaulting to noop.');\n }\n}\n\nclass O11yObservableUpDownCounter implements ObservableUpDownCounter {\n constructor(private logger: LoggerService) {}\n addCallback(_callback: ObservableCallback<Attributes>): void {\n this.logger.warn('O11yObservableUpDownCounter not supported yet. Defaulting to noop.');\n }\n removeCallback(_callback: ObservableCallback<Attributes>): void {\n this.logger.warn('O11yObservableUpDownCounter not supported yet. Defaulting to noop.');\n }\n}\n\nexport function sanitizeAttributes(attributes?: Attributes | undefined): MetricsTags | undefined {\n if (!attributes) return;\n const metricTags: MetricsTags = {};\n Object.entries(attributes).forEach(([key, value]) => {\n if (value !== undefined && !Array.isArray(value)) {\n metricTags[key] = value;\n }\n });\n return metricTags;\n}\n","import { type LoggerService, type NamedLoggerService } from '@conduit-client/utils';\nimport { O11yOTelTraceAPI } from './o11y-trace-api';\nimport { O11yOTelMetricsAPI } from './o11y-metrics-api';\nimport type { InstrumentationServiceDescriptor } from '@conduit-client/service-instrumentation-types/v1';\n\nclass O11yInstrumentation {\n trace: O11yOTelTraceAPI;\n metrics: O11yOTelMetricsAPI;\n currentTimeMs = () => performance.now();\n\n constructor(private services: NamedLoggerService) {\n this.trace = new O11yOTelTraceAPI(this.services);\n this.metrics = new O11yOTelMetricsAPI(this.services);\n }\n}\n\nexport function buildServiceDescriptor(logger: LoggerService): InstrumentationServiceDescriptor {\n return {\n type: 'instrumentation',\n version: '1.0',\n service: new O11yInstrumentation({ logger }),\n };\n}\n"],"names":[],"mappings":";AAqBO,MAAM,iBAA8C;AAAA,EACvD,YAAoB,UAA8B;AAA9B,SAAA,WAAA;AAAA,EAA+B;AAAA,EAEnD,UAAU,MAAc,UAAmB,UAAkC;AACzE,UAAM,sBAAsB,mBAAmB,IAAI;AACnD,WAAO,IAAI,WAAW,qBAAqB,KAAK,SAAS,MAAM;AAAA,EACnE;AACJ;AAEO,MAAM,WAA6B;AAAA,EACtC,YACY,qBACA,QACV;AAFU,SAAA,sBAAA;AACA,SAAA,SAAA;AAAA,EACT;AAAA,EACH,UAAU,MAAc,UAAwB,SAA6B;AACzE,UAAM,UAAU,SAAS,SAAS,uBAAO,IAAI,SAAS,CAAC;AACvD,UAAM,SAAS,SAAS,SAAS,uBAAO,IAAI,QAAQ,CAAC;AACrD,UAAM,aAAa,SAAS,SAAS,uBAAO,IAAI,YAAY,CAAC;AAC7D,QAAI,cAAuC;AAE3C,QAAI,YAAY,UAAa,WAAW,UAAa,eAAe,QAAW;AAC3E,oBAAc;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IAER;AAEA,UAAM,kBACF,gBAAgB,SACV,SACA;AAAA,MACI,wBAAwB;AAAA,QACpB,QAAQ,YAAY;AAAA,QACpB,uBAAuB,YAAY,eAAe;AAAA,QAClD,UAAU;AAAA,MAAA;AAAA,IACd;AAGd,UAAM,WAAW,KAAK,oBAAoB,cAAc,MAAM,eAAe;AAE7E,WAAO,IAAI,SAAS,UAAU,KAAK,MAAM;AAAA,EAC7C;AAAA,EAaA,gBACI,MACA,SACA,SACA,IACa;AACb,QAAI;AACJ,QAAI;AACJ,QAAI;AACJ,QAAI,OAAO,YAAY,YAAY;AAC/B,YAAM;AAAA,IACV,OAAO;AACH,aAAO;AACP,UAAI,OAAO,YAAY,YAAY;AAC/B,cAAM;AAAA,MACV,OAAO;AACH,cAAM;AACN,cAAM;AAAA,MACV;AAAA,IACJ;AAEA,UAAM,OAAO,KAAK,UAAU,MAAM,MAAM,GAAG;AAC3C,WAAO,IAAI,IAAI;AAAA,EACnB;AACJ;AAEO,MAAM,SAAyB;AAAA,EAIlC,YACY,UACA,QACV;AAFU,SAAA,WAAA;AACA,SAAA,SAAA;AALZ,SAAQ,eAAwB;AAChC,SAAQ,aAAyB,CAAA;AAAA,EAK9B;AAAA,EAEH,cAA2B;AACvB,WAAO;AAAA,MACH,SAAS,KAAK,SAAS,UAAA;AAAA,MACvB,QAAQ,KAAK,SAAS,MAAA;AAAA,MACtB,YAAY,KAAK,SAAS,aAAA,IAAiB,IAAI;AAAA,IAAA;AAAA,EAEvD;AAAA,EACA,aAAa,KAAa,OAA6B;AACnD,SAAK,WAAW,GAAG,IAAI;AACvB,WAAO;AAAA,EACX;AAAA,EACA,cAAc,YAA8B;AACxC,SAAK,aAAa,EAAE,GAAG,KAAK,YAAY,GAAG,WAAA;AAC3C,WAAO;AAAA,EACX;AAAA,EACA,SACI,OACA,wBACA,YACI;AACJ,SAAK,OAAO,KAAK,sCAAsC;AACvD,WAAO;AAAA,EACX;AAAA,EACA,UAAU,SAA2B;AACjC,SAAK,OAAO,KAAK,sCAAsC;AACvD,WAAO;AAAA,EACX;AAAA,EACA,WAAW,OAAqB;AAC5B,SAAK,OAAO,KAAK,uCAAuC;AACxD,WAAO;AAAA,EACX;AAAA,EACA,IAAI,SAA2B;AAC3B,QAAI,kBAAkB;AACtB,QAAI;AACA,UAAI,OAAO,oBAAoB,UAAU;AACrC,aAAK,OAAO,KAAK,wDAAwD;AACzE,0BAAkB;AAAA,MACtB;AAGA,WAAK,SAAS;AAAA,QACV;AAAA,QACA;AAAA,QACA,kBAAkB,EAAE,kBAAkB,gBAAA,IAA8B;AAAA,MAAA;AAAA,IAE5E,UAAA;AACI,WAAK,eAAe;AAAA,IACxB;AAEA;AAAA,EACJ;AAAA,EAEA,cAAuB;AACnB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,gBAAgB,WAAsB,OAAyB;AAE3D,SAAK,SAAS,MAAM,SAAS;AAAA,EACjC;AACJ;ACtJO,MAAM,mBAAkD;AAAA,EAC3D,YAAoB,UAA8B;AAA9B,SAAA,WAAA;AAAA,EAA+B;AAAA,EAEnD,SACI,MAEA,UACA,WACK;AACL,UAAM,sBAAsB,mBAAmB,IAAI;AACnD,WAAO,IAAI,UAAU,qBAAqB,KAAK,SAAS,MAAM;AAAA,EAClE;AACJ;AAEO,MAAM,UAA2B;AAAA,EACpC,YACY,qBACA,QACV;AAFU,SAAA,sBAAA;AACA,SAAA,SAAA;AAAA,EACT;AAAA,EAEH,gBACI,MACA,UAC0B;AAC1B,WAAO,IAAI,cAAc,MAAM,KAAK,qBAAqB,KAAK,MAAM;AAAA,EACxE;AAAA,EACA,cACI,MACA,SACwB;AACxB,QAAI,SAAS;AACT,WAAK,OAAO,KAAK,uDAAuD;AAAA,IAC5E;AACA,WAAO,IAAI,YAAY,MAAM,KAAK,qBAAqB,KAAK,MAAM;AAAA,EACtE;AAAA,EACA,oBACI,OACA,UAC8B;AAC9B,WAAO,IAAI,kBAAkB,KAAK,MAAM;AAAA,EAC5C;AAAA,EACA,sBACI,OACA,UACgC;AAChC,WAAO,IAAI,oBAAoB,KAAK,MAAM;AAAA,EAC9C;AAAA,EACA,wBACI,OACA,UACkC;AAClC,WAAO,IAAI,sBAAsB,KAAK,MAAM;AAAA,EAChD;AAAA,EACA,8BACI,OACA,UACwC;AACxC,WAAO,IAAI,4BAA4B,KAAK,MAAM;AAAA,EACtD;AAAA,EACA,2BACI,WACA,cACI;AACJ,SAAK,OAAO,KAAK,8CAA8C;AAAA,EACnE;AAAA,EACA,8BACI,WACA,cACI;AACJ,SAAK,OAAO,KAAK,iDAAiD;AAAA,EACtE;AACJ;AAEA,MAAM,YAA+B;AAAA,EACjC,YACY,MACA,qBACA,QACV;AAHU,SAAA,OAAA;AACA,SAAA,sBAAA;AACA,SAAA,SAAA;AAAA,EACT;AAAA,EAEH,IAAI,OAAe,YAAqC,UAAsC;AAC1F,QAAI,QAAQ,GAAG;AACX,WAAK,OAAO,KAAK,4CAA4C,KAAK,GAAG;AACrE;AAAA,IACJ;AACA,SAAK,oBAAoB;AAAA,MACrB,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA,mBAAmB,UAAU;AAAA,IAAA;AAAA,EAErC;AACJ;AAEA,MAAM,cAAmC;AAAA,EACrC,YACY,MACA,qBACA,QACV;AAHU,SAAA,OAAA;AACA,SAAA,sBAAA;AACA,SAAA,SAAA;AAAA,EACT;AAAA,EACH,OACI,OACA,YACA,UACI;AACJ,QAAI,QAAQ,GAAG;AACX,WAAK,OAAO,KAAK,8CAA8C,KAAK,GAAG;AACvE;AAAA,IACJ;AACA,SAAK,oBAAoB;AAAA,MACrB,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA,mBAAmB,UAAU;AAAA,IAAA;AAAA,EAErC;AACJ;AAEA,MAAM,kBAA2C;AAAA,EAC7C,YAAoB,QAAuB;AAAvB,SAAA,SAAA;AAAA,EAAwB;AAAA,EAE5C,IACI,QACA,aACA,UACI;AACJ,SAAK,OAAO,KAAK,sCAAsC;AAAA,EAC3D;AACJ;AAEA,MAAM,sBAAmD;AAAA,EACrD,YAAoB,QAAuB;AAAvB,SAAA,SAAA;AAAA,EAAwB;AAAA,EAC5C,YAAY,WAAiD;AACzD,SAAK,OAAO,KAAK,8DAA8D;AAAA,EACnF;AAAA,EACA,eAAe,WAAiD;AAC5D,SAAK,OAAO,KAAK,8DAA8D;AAAA,EACnF;AACJ;AAEA,MAAM,oBAA+C;AAAA,EACjD,YAAoB,QAAuB;AAAvB,SAAA,SAAA;AAAA,EAAwB;AAAA,EAC5C,YAAY,WAAiD;AACzD,SAAK,OAAO,KAAK,4DAA4D;AAAA,EACjF;AAAA,EACA,eAAe,WAAiD;AAC5D,SAAK,OAAO,KAAK,4DAA4D;AAAA,EACjF;AACJ;AAEA,MAAM,4BAA+D;AAAA,EACjE,YAAoB,QAAuB;AAAvB,SAAA,SAAA;AAAA,EAAwB;AAAA,EAC5C,YAAY,WAAiD;AACzD,SAAK,OAAO,KAAK,oEAAoE;AAAA,EACzF;AAAA,EACA,eAAe,WAAiD;AAC5D,SAAK,OAAO,KAAK,oEAAoE;AAAA,EACzF;AACJ;AAEO,SAAS,mBAAmB,YAA8D;AAC7F,MAAI,CAAC,WAAY;AACjB,QAAM,aAA0B,CAAA;AAChC,SAAO,QAAQ,UAAU,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACjD,QAAI,UAAU,UAAa,CAAC,MAAM,QAAQ,KAAK,GAAG;AAC9C,iBAAW,GAAG,IAAI;AAAA,IACtB;AAAA,EACJ,CAAC;AACD,SAAO;AACX;ACzLA,MAAM,oBAAoB;AAAA,EAKtB,YAAoB,UAA8B;AAA9B,SAAA,WAAA;AAFpB,SAAA,gBAAgB,MAAM,YAAY,IAAA;AAG9B,SAAK,QAAQ,IAAI,iBAAiB,KAAK,QAAQ;AAC/C,SAAK,UAAU,IAAI,mBAAmB,KAAK,QAAQ;AAAA,EACvD;AACJ;AAEO,SAAS,uBAAuB,QAAyD;AAC5F,SAAO;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS,IAAI,oBAAoB,EAAE,QAAQ;AAAA,EAAA;AAEnD;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/v1/o11y-trace-api.ts","../../src/v1/o11y-metrics-api.ts","../../src/v1/o11y-instrumentation-service.ts"],"sourcesContent":["import { getInstrumentation } from 'o11y/client';\nimport type { LoggerService, NamedLoggerService } from '@conduit-client/utils';\nimport type { LuvioOTelTraceAPI } from '@conduit-client/service-instrumentation-types/v1';\nimport type {\n Tracer,\n TracerOptions,\n Span,\n SpanContext,\n SpanOptions,\n SpanStatus,\n Context,\n AttributeValue,\n Attributes,\n Link,\n TimeInput,\n Exception,\n} from '@opentelemetry/api';\n\ntype Instrumentation = ReturnType<typeof getInstrumentation>;\ntype ApiOptions = Parameters<Instrumentation['startActivity']>[1];\ntype Activity = ReturnType<Instrumentation['startActivity']>;\n\nexport class O11yOTelTraceAPI implements LuvioOTelTraceAPI {\n constructor(private services: NamedLoggerService) {}\n\n getTracer(name: string, _version?: string, _options?: TracerOptions): Tracer {\n const o11yInstrumentation = getInstrumentation(name);\n return new O11yTracer(o11yInstrumentation, this.services.logger);\n }\n}\n\nexport class O11yTracer implements Tracer {\n constructor(\n private o11yInstrumentation: ReturnType<typeof getInstrumentation>,\n private logger: LoggerService\n ) {}\n startSpan(name: string, _options?: SpanOptions, context?: Context): O11ySpan {\n const traceId = context?.getValue(Symbol.for('traceId')) as string;\n const spanId = context?.getValue(Symbol.for('spanId')) as string;\n const traceFlags = context?.getValue(Symbol.for('traceFlags')) as number;\n let spanContext: SpanContext | undefined = undefined;\n\n if (traceId !== undefined && spanId !== undefined && traceFlags !== undefined) {\n spanContext = {\n traceId,\n spanId,\n traceFlags,\n };\n }\n\n const activityOptions: ApiOptions =\n spanContext === undefined\n ? undefined\n : {\n instrumentationContext: {\n rootId: spanContext.traceId,\n isRootActivitySampled: spanContext.traceFlags === 1,\n parentId: spanId,\n },\n };\n\n const activity = this.o11yInstrumentation.startActivity(name, activityOptions);\n\n return new O11ySpan(activity, this.logger);\n }\n startActiveSpan<F extends (span: Span) => unknown>(name: string, fn: F): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n fn: F\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n context: Context,\n fn: F\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: unknown,\n context?: unknown,\n fn?: unknown\n ): ReturnType<F> {\n let opts: SpanOptions | undefined;\n let ctx: Context | undefined;\n let fun: F;\n if (typeof options === 'function') {\n fun = options as F;\n } else {\n opts = options as SpanOptions;\n if (typeof context === 'function') {\n fun = context as F;\n } else {\n ctx = context as Context;\n fun = fn as F;\n }\n }\n\n const span = this.startSpan(name, opts, ctx);\n return fun(span) as ReturnType<F>;\n }\n}\n\nexport class O11ySpan implements Span {\n private _isRecording: boolean = true;\n private attributes: Attributes = {};\n\n constructor(\n private activity: Activity,\n private logger: LoggerService\n ) {}\n\n spanContext(): SpanContext {\n return {\n traceId: this.activity.getRootId(),\n spanId: this.activity.getId(),\n traceFlags: this.activity.getIsSampled() ? 1 : 0,\n };\n }\n setAttribute(key: string, value: AttributeValue): this {\n this.attributes[key] = value;\n return this;\n }\n setAttributes(attributes: Attributes): this {\n this.attributes = { ...this.attributes, ...attributes };\n return this;\n }\n addLink(_link: Link): this {\n this.logger.warn('O11ySpan does not support addLink.');\n return this;\n }\n addLinks(_links: Link[]): this {\n this.logger.warn('O11ySpan does not support addLinks.');\n return this;\n }\n addEvent(\n _name: string,\n _attributesOrStartTime?: Attributes | TimeInput,\n _startTime?: TimeInput\n ): this {\n this.logger.warn('O11ySpan does not support addEvents.');\n return this;\n }\n setStatus(_status: SpanStatus): this {\n this.logger.warn('O11ySpan does not support setStatus.');\n return this;\n }\n updateName(_name: string): this {\n this.logger.warn('O11ySpan does not support updateName.');\n return this;\n }\n end(endTime?: TimeInput): void {\n let endTimeInternal = endTime;\n try {\n if (typeof endTimeInternal !== 'number') {\n this.logger.warn('O11ySpan does not support non number endTime override.');\n endTimeInternal = undefined;\n }\n\n // TODO: Add support for stop schemas and data\n this.activity.stop(\n undefined,\n undefined,\n endTimeInternal ? { perfStopOverride: endTimeInternal as number } : undefined\n );\n } finally {\n this._isRecording = false;\n }\n\n return;\n }\n\n isRecording(): boolean {\n return this._isRecording;\n }\n\n recordException(exception: Exception, _time?: TimeInput): void {\n // TODO: Add support for exception schemas and data\n this.activity.error(exception);\n }\n}\n","import { getInstrumentation } from 'o11y/client';\nimport type { MetricsTags } from 'o11y/shared';\nimport type { LoggerService, NamedLoggerService } from '@conduit-client/utils';\nimport type { LuvioOTelMetricsAPI } from '@conduit-client/service-instrumentation-types/v1';\nimport type {\n Attributes,\n BatchObservableCallback,\n Context,\n Counter,\n Gauge,\n Histogram,\n Meter,\n MeterOptions,\n MetricOptions,\n Observable,\n ObservableCallback,\n ObservableCounter,\n ObservableGauge,\n ObservableUpDownCounter,\n UpDownCounter,\n} from '@opentelemetry/api';\n\nexport class O11yOTelMetricsAPI implements LuvioOTelMetricsAPI {\n constructor(private services: NamedLoggerService) {}\n\n getMeter(\n name: string,\n // TODO: Not sure what to do with these?\n _version?: string | undefined,\n __options?: MeterOptions | undefined\n ): Meter {\n const o11yInstrumentation = getInstrumentation(name);\n return new O11yMeter(o11yInstrumentation, this.services.logger);\n }\n}\n\nexport class O11yMeter implements Meter {\n constructor(\n private o11yInstrumentation: ReturnType<typeof getInstrumentation>,\n private logger: LoggerService\n ) {}\n\n createHistogram<AttributesTypes extends Attributes = Attributes>(\n name: string,\n _options?: MetricOptions | undefined\n ): Histogram<AttributesTypes> {\n return new O11yHistogram(name, this.o11yInstrumentation, this.logger);\n }\n createCounter<AttributesTypes extends Attributes = Attributes>(\n name: string,\n options?: MetricOptions | undefined\n ): Counter<AttributesTypes> {\n if (options) {\n this.logger.warn('counter options not supported in O11y instrumentation');\n }\n return new O11yCounter(name, this.o11yInstrumentation, this.logger);\n }\n createGauge<AttributesTypes extends Attributes = Attributes>(\n _name: string,\n _options?: MetricOptions | undefined\n ): Gauge<AttributesTypes> {\n return new O11yGauge(this.logger);\n }\n createUpDownCounter<AttributesTypes extends Attributes = Attributes>(\n _name: string,\n _options?: MetricOptions | undefined\n ): UpDownCounter<AttributesTypes> {\n return new O11yUpDownCounter(this.logger);\n }\n createObservableGauge<AttributesTypes extends Attributes = Attributes>(\n _name: string,\n _options?: MetricOptions | undefined\n ): ObservableGauge<AttributesTypes> {\n return new O11yObservableGuage(this.logger);\n }\n createObservableCounter<AttributesTypes extends Attributes = Attributes>(\n _name: string,\n _options?: MetricOptions | undefined\n ): ObservableCounter<AttributesTypes> {\n return new O11yObservableCounter(this.logger);\n }\n createObservableUpDownCounter<AttributesTypes extends Attributes = Attributes>(\n _name: string,\n _options?: MetricOptions | undefined\n ): ObservableUpDownCounter<AttributesTypes> {\n return new O11yObservableUpDownCounter(this.logger);\n }\n addBatchObservableCallback<AttributesTypes extends Attributes = Attributes>(\n _callback: BatchObservableCallback<AttributesTypes>,\n _observables: Observable<AttributesTypes>[]\n ): void {\n this.logger.warn('addBatchObservableCallback not supported yet');\n }\n removeBatchObservableCallback<AttributesTypes extends Attributes = Attributes>(\n _callback: BatchObservableCallback<AttributesTypes>,\n _observables: Observable<AttributesTypes>[]\n ): void {\n this.logger.warn('removeBatchObservableCallback not supported yet');\n }\n}\n\nclass O11yCounter implements Counter {\n constructor(\n private name: string,\n private o11yInstrumentation: ReturnType<typeof getInstrumentation>,\n private logger: LoggerService\n ) {}\n\n add(value: number, attributes?: Attributes | undefined, _context?: Context | undefined): void {\n if (value < 0) {\n this.logger.warn(`Counter values must be non-negative. Got ${value}.`);\n return;\n }\n this.o11yInstrumentation.incrementCounter(\n this.name,\n value,\n undefined,\n sanitizeAttributes(attributes)\n );\n }\n}\n\nclass O11yHistogram implements Histogram {\n constructor(\n private name: string,\n private o11yInstrumentation: ReturnType<typeof getInstrumentation>,\n private logger: LoggerService\n ) {}\n record(\n value: number,\n attributes?: Attributes | undefined,\n _context?: Context | undefined\n ): void {\n if (value < 0) {\n this.logger.warn(`Histogram values must be non-negative. Got ${value}.`);\n return;\n }\n this.o11yInstrumentation.trackValue(\n this.name,\n value,\n undefined,\n sanitizeAttributes(attributes)\n );\n }\n}\n\nclass O11yGauge implements Gauge {\n constructor(private logger: LoggerService) {}\n\n record(\n _value: number,\n _attributes?: Attributes | undefined,\n _context?: Context | undefined\n ): void {\n this.logger.warn('O11yGauge not supported yet.');\n }\n}\n\nclass O11yUpDownCounter implements UpDownCounter {\n constructor(private logger: LoggerService) {}\n\n add(\n _value: number,\n _attributes?: Attributes | undefined,\n _context?: Context | undefined\n ): void {\n this.logger.warn('O11yUpDownCounter not supported yet.');\n }\n}\n\nclass O11yObservableCounter implements ObservableCounter {\n constructor(private logger: LoggerService) {}\n addCallback(_callback: ObservableCallback<Attributes>): void {\n this.logger.warn('O11yObservableCounter not supported yet. Defaulting to noop.');\n }\n removeCallback(_callback: ObservableCallback<Attributes>): void {\n this.logger.warn('O11yObservableCounter not supported yet. Defaulting to noop.');\n }\n}\n\nclass O11yObservableGuage implements ObservableGauge {\n constructor(private logger: LoggerService) {}\n addCallback(_callback: ObservableCallback<Attributes>): void {\n this.logger.warn('O11yObservableGuage not supported yet. Defaulting to noop.');\n }\n removeCallback(_callback: ObservableCallback<Attributes>): void {\n this.logger.warn('O11yObservableGuage not supported yet. Defaulting to noop.');\n }\n}\n\nclass O11yObservableUpDownCounter implements ObservableUpDownCounter {\n constructor(private logger: LoggerService) {}\n addCallback(_callback: ObservableCallback<Attributes>): void {\n this.logger.warn('O11yObservableUpDownCounter not supported yet. Defaulting to noop.');\n }\n removeCallback(_callback: ObservableCallback<Attributes>): void {\n this.logger.warn('O11yObservableUpDownCounter not supported yet. Defaulting to noop.');\n }\n}\n\nexport function sanitizeAttributes(attributes?: Attributes | undefined): MetricsTags | undefined {\n if (!attributes) return;\n const metricTags: MetricsTags = {};\n Object.entries(attributes).forEach(([key, value]) => {\n if (value !== undefined && !Array.isArray(value)) {\n metricTags[key] = value;\n }\n });\n return metricTags;\n}\n","import { type LoggerService, type NamedLoggerService } from '@conduit-client/utils';\nimport { O11yOTelTraceAPI } from './o11y-trace-api';\nimport { O11yOTelMetricsAPI } from './o11y-metrics-api';\nimport type { InstrumentationServiceDescriptor } from '@conduit-client/service-instrumentation-types/v1';\n\nclass O11yInstrumentation {\n trace: O11yOTelTraceAPI;\n metrics: O11yOTelMetricsAPI;\n currentTimeMs = () => performance.now();\n\n constructor(private services: NamedLoggerService) {\n this.trace = new O11yOTelTraceAPI(this.services);\n this.metrics = new O11yOTelMetricsAPI(this.services);\n }\n}\n\nexport function buildServiceDescriptor(logger: LoggerService): InstrumentationServiceDescriptor {\n return {\n type: 'instrumentation',\n version: '1.0',\n service: new O11yInstrumentation({ logger }),\n };\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@conduit-client/service-instrumentation-o11y",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.25.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Luvio O11y Instrumentation Service implementation",
|
|
6
6
|
"type": "module",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"watch": "npm run build --watch"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@conduit-client/service-instrumentation-types": "3.
|
|
35
|
-
"@conduit-client/utils": "3.
|
|
36
|
-
"@opentelemetry/api": "1.
|
|
37
|
-
"o11y": "
|
|
34
|
+
"@conduit-client/service-instrumentation-types": "3.25.0",
|
|
35
|
+
"@conduit-client/utils": "3.25.0",
|
|
36
|
+
"@opentelemetry/api": "1.9.1",
|
|
37
|
+
"o11y": "264.6.0"
|
|
38
38
|
},
|
|
39
39
|
"volta": {
|
|
40
40
|
"extends": "../../../../package.json"
|