@dxos/tracing 0.3.10 → 0.3.11-main.00a28cb
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.
|
@@ -106,7 +106,7 @@ var TraceSender = class {
|
|
|
106
106
|
};
|
|
107
107
|
|
|
108
108
|
// packages/common/tracing/src/trace-processor.ts
|
|
109
|
-
var __dxlog_file = "/home/
|
|
109
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/common/tracing/src/trace-processor.ts";
|
|
110
110
|
var ResourceEntry = class {
|
|
111
111
|
constructor(data, instance) {
|
|
112
112
|
this.data = data;
|
|
@@ -293,13 +293,13 @@ var TraceProcessor = class {
|
|
|
293
293
|
this.spans.delete(id);
|
|
294
294
|
}
|
|
295
295
|
}
|
|
296
|
-
_pushLog(
|
|
297
|
-
this.logs.push(
|
|
296
|
+
_pushLog(log2) {
|
|
297
|
+
this.logs.push(log2);
|
|
298
298
|
if (this.logs.length > MAX_LOG_RECORDS) {
|
|
299
299
|
this.logs.shift();
|
|
300
300
|
}
|
|
301
301
|
for (const subscription of this.subscriptions) {
|
|
302
|
-
subscription.newLogs.push(
|
|
302
|
+
subscription.newLogs.push(log2);
|
|
303
303
|
}
|
|
304
304
|
}
|
|
305
305
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/api.ts", "../../../src/symbols.ts", "../../../src/trace-processor.ts", "../../../src/trace-sender.ts", "../../../src/metrics/base.ts", "../../../src/metrics/unary-counter.ts", "../../../src/metrics/time-series-counter.ts", "../../../src/metrics/time-usage-counter.ts", "../../../src/metrics/map-counter.ts"],
|
|
4
4
|
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Context } from '@dxos/context';\n\nimport { getTracingContext } from './symbols';\nimport { TRACE_PROCESSOR } from './trace-processor';\n\n/**\n * Annotates a class as a tracked resource.\n */\nconst resource =\n () =>\n <T extends { new (...args: any[]): {} }>(constructor: T) => {\n // Wrapping class declaration into an IIFE so it doesn't capture the `klass` class name.\n const klass = (() =>\n class extends constructor {\n constructor(...rest: any[]) {\n super(...rest);\n TRACE_PROCESSOR.traceResourceConstructor({ constructor, instance: this });\n }\n })();\n Object.defineProperty(klass, 'name', { value: constructor.name });\n return klass;\n };\n\n/**\n * Marks a property or a method to be included in the resource info section.\n */\nconst info = () => (target: any, propertyKey: string, descriptor?: PropertyDescriptor) => {\n getTracingContext(target).infoProperties[propertyKey] = {};\n};\n\nconst mark = (name: string) => {\n performance.mark(name);\n};\n\nexport type SpanOptions = {\n showInBrowserTimeline?: boolean;\n};\n\nconst span =\n ({ showInBrowserTimeline = false }: SpanOptions = {}) =>\n (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<(...args: any) => any>) => {\n const method = descriptor.value!;\n\n descriptor.value = async function (this: any, ...args: any) {\n const parentCtx = args[0] instanceof Context ? args[0] : null;\n const span = TRACE_PROCESSOR.traceSpan({\n parentCtx,\n methodName: propertyKey,\n instance: this,\n showInBrowserTimeline,\n });\n\n const callArgs = span.ctx ? [span.ctx, ...args.slice(1)] : args;\n try {\n return await method.apply(this, callArgs);\n } catch (err) {\n span.markError(err);\n throw err;\n } finally {\n span.markSuccess();\n }\n };\n };\n\n/**\n * Attaches metrics counter to the resource.\n */\nconst metricsCounter = () => (target: any, propertyKey: string, descriptor?: PropertyDescriptor) => {\n getTracingContext(target).metricsProperties[propertyKey] = {};\n};\n\nexport type AddLinkOptions = {};\n\nconst addLink = (parent: any, child: any, opts: AddLinkOptions = {}) => {\n TRACE_PROCESSOR.addLink(parent, child, opts);\n};\n\nexport const trace = {\n resource,\n info,\n mark,\n span,\n metricsCounter,\n\n addLink,\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nexport const symbolTracingContext = Symbol('dxos.tracing.context');\n\nexport type TracingContext = {\n infoProperties: Record<string, {}>;\n metricsProperties: Record<string, {}>;\n};\n\nexport const getTracingContext = (target: any): TracingContext => {\n return ((target[symbolTracingContext] as TracingContext | undefined) ??= {\n infoProperties: {},\n metricsProperties: {},\n });\n};\n\nexport const TRACE_SPAN_ATTRIBUTE = 'dxos.trace-span';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { unrefTimeout } from '@dxos/async';\nimport { type Context } from '@dxos/context';\nimport { LogLevel, type LogProcessor, getContextFromEntry, log } from '@dxos/log';\nimport { type LogEntry } from '@dxos/protocols/proto/dxos/client/services';\nimport { type Error as SerializedError } from '@dxos/protocols/proto/dxos/error';\nimport { type Metric, type Resource, type Span } from '@dxos/protocols/proto/dxos/tracing';\nimport { getPrototypeSpecificInstanceId } from '@dxos/util';\n\nimport type { AddLinkOptions } from './api';\nimport { type BaseCounter } from './metrics';\nimport { TRACE_SPAN_ATTRIBUTE, getTracingContext } from './symbols';\nimport { TraceSender } from './trace-sender';\n\nexport type TraceResourceConstructorParams = {\n constructor: { new (...args: any[]): {} };\n instance: any;\n};\n\nexport type TraceSpanParams = {\n instance: any;\n methodName: string;\n parentCtx: Context | null;\n showInBrowserTimeline: boolean;\n};\n\nexport class ResourceEntry {\n /**\n * Sometimes bundlers mangle class names: WebFile -> WebFile2.\n *\n * We use a heuristic to remove the suffix.\n */\n public readonly sanitizedClassName: string;\n\n constructor(public data: Resource, public instance: WeakRef<any>) {\n this.sanitizedClassName = sanitizeClassName(data.className);\n }\n\n getMetric(name: string): Metric | undefined {\n return this.data.metrics?.find((metric) => metric.name === name);\n }\n}\n\nexport type TraceSubscription = {\n flush: () => void;\n\n dirtyResources: Set<number>;\n dirtySpans: Set<number>;\n newLogs: LogEntry[];\n};\n\nconst MAX_RESOURCE_RECORDS = 2_000;\nconst MAX_SPAN_RECORDS = 1_000;\nconst MAX_LOG_RECORDS = 1_000;\n\nconst REFRESH_INTERVAL = 1_000;\n\nexport class TraceProcessor {\n resources = new Map<number, ResourceEntry>();\n resourceInstanceIndex = new WeakMap<any, ResourceEntry>();\n resourceIdList: number[] = [];\n\n spans = new Map<number, Span>();\n spanIdList: number[] = [];\n\n logs: LogEntry[] = [];\n\n subscriptions: Set<TraceSubscription> = new Set();\n\n constructor() {\n log.addProcessor(this._logProcessor.bind(this));\n\n const refreshInterval = setInterval(this.refresh.bind(this), REFRESH_INTERVAL);\n unrefTimeout(refreshInterval);\n }\n\n traceResourceConstructor(params: TraceResourceConstructorParams) {\n const id = this.resources.size;\n\n // init metrics counters.\n const tracingContext = getTracingContext(Object.getPrototypeOf(params.instance));\n for (const key of Object.keys(tracingContext.metricsProperties)) {\n (params.instance[key] as BaseCounter)._assign(params.instance, key);\n }\n\n const entry = new ResourceEntry(\n {\n id,\n className: params.constructor.name,\n instanceId: getPrototypeSpecificInstanceId(params.instance),\n info: this.getResourceInfo(params.instance),\n links: [],\n metrics: this.getResourceMetrics(params.instance),\n },\n new WeakRef(params.instance),\n );\n\n this.resources.set(id, entry);\n this.resourceInstanceIndex.set(params.instance, entry);\n this.resourceIdList.push(id);\n if (this.resourceIdList.length > MAX_RESOURCE_RECORDS) {\n this._clearResources();\n }\n this._markResourceDirty(id);\n }\n\n getResourceInfo(instance: any): Record<string, any> {\n const res: Record<string, any> = {};\n const tracingContext = getTracingContext(Object.getPrototypeOf(instance));\n\n for (const [key, _opts] of Object.entries(tracingContext.infoProperties)) {\n try {\n res[key] = sanitizeValue(typeof instance[key] === 'function' ? instance[key]() : instance[key]);\n } catch (err: any) {\n res[key] = err.message;\n }\n }\n\n return res;\n }\n\n getResourceMetrics(instance: any): Metric[] {\n const res: Metric[] = [];\n const tracingContext = getTracingContext(Object.getPrototypeOf(instance));\n\n for (const [key, _opts] of Object.entries(tracingContext.metricsProperties)) {\n res.push(instance[key].getData());\n }\n\n return res;\n }\n\n traceSpan(params: TraceSpanParams): TracingSpan {\n const span = new TracingSpan(this, params);\n this._flushSpan(span);\n return span;\n }\n\n addLink(parent: any, child: any, opts: AddLinkOptions) {}\n\n getResourceId(instance: any): number | null {\n const entry = this.resourceInstanceIndex.get(instance);\n return entry ? entry.data.id : null;\n }\n\n createTraceSender() {\n return new TraceSender(this);\n }\n\n refresh() {\n for (const resource of this.resources.values()) {\n const instance = resource.instance.deref();\n if (!instance) {\n continue;\n }\n\n const tracingContext = getTracingContext(Object.getPrototypeOf(instance));\n const time = performance.now();\n for (const key of Object.keys(tracingContext.metricsProperties)) {\n (instance[key] as BaseCounter)._tick?.(time);\n }\n\n let _changed = false;\n\n const oldInfo = resource.data.info;\n resource.data.info = this.getResourceInfo(instance);\n _changed ||= !areEqualShallow(oldInfo, resource.data.info);\n\n const oldMetrics = resource.data.metrics;\n resource.data.metrics = this.getResourceMetrics(instance);\n _changed ||= !areEqualShallow(oldMetrics, resource.data.metrics);\n\n // TODO(dmaretskyi): Test if works and enable.\n // if (changed) {\n this._markResourceDirty(resource.data.id);\n // }\n }\n\n for (const subscription of this.subscriptions) {\n subscription.flush();\n }\n }\n\n findResourcesByClassName(className: string): ResourceEntry[] {\n const res: ResourceEntry[] = [];\n for (const entry of this.resources.values()) {\n if (entry.data.className === className || entry.sanitizedClassName === className) {\n res.push(entry);\n }\n }\n return res;\n }\n\n /**\n * @internal\n */\n _flushSpan(runtimeSpan: TracingSpan) {\n const span = runtimeSpan.serialize();\n this.spans.set(span.id, span);\n this.spanIdList.push(span.id);\n if (this.spanIdList.length > MAX_SPAN_RECORDS) {\n this._clearSpans();\n }\n this._markSpanDirty(span.id);\n }\n\n private _markResourceDirty(id: number) {\n for (const subscription of this.subscriptions) {\n subscription.dirtyResources.add(id);\n }\n }\n\n private _markSpanDirty(id: number) {\n for (const subscription of this.subscriptions) {\n subscription.dirtySpans.add(id);\n }\n }\n\n private _clearResources() {\n // TODO(dmaretskyi): Use FinalizationRegistry to delete finalized resources first.\n while (this.resourceIdList.length > MAX_RESOURCE_RECORDS) {\n const id = this.resourceIdList.shift()!;\n this.resources.delete(id);\n }\n }\n\n private _clearSpans() {\n while (this.spanIdList.length > MAX_SPAN_RECORDS) {\n const id = this.spanIdList.shift()!;\n this.spans.delete(id);\n }\n }\n\n private _pushLog(log: LogEntry) {\n this.logs.push(log);\n if (this.logs.length > MAX_LOG_RECORDS) {\n this.logs.shift();\n }\n\n for (const subscription of this.subscriptions) {\n subscription.newLogs.push(log);\n }\n }\n\n private _logProcessor: LogProcessor = (config, entry) => {\n switch (entry.level) {\n case LogLevel.ERROR:\n case LogLevel.WARN:\n case LogLevel.TRACE: {\n const scope = entry.meta?.S;\n const resource = this.resourceInstanceIndex.get(scope);\n if (!resource) {\n return;\n }\n\n const context = getContextFromEntry(entry) ?? {};\n\n for (const key of Object.keys(context)) {\n context[key] = sanitizeValue(context[key]);\n }\n\n const entryToPush: LogEntry = {\n level: entry.level,\n message: entry.message,\n context,\n timestamp: new Date(),\n meta: {\n file: entry.meta?.F ?? '',\n line: entry.meta?.L ?? 0,\n resourceId: resource.data.id,\n },\n };\n this._pushLog(entryToPush);\n break;\n }\n default:\n }\n };\n}\n\nexport class TracingSpan {\n static nextId = 0;\n\n readonly id: number;\n readonly parentId: number | null = null;\n readonly methodName: string;\n readonly resourceId: number | null = null;\n startTs: number;\n endTs: number | null = null;\n error: SerializedError | null = null;\n\n private _showInBrowserTimeline: boolean;\n private readonly _ctx: Context | null = null;\n\n constructor(private _traceProcessor: TraceProcessor, params: TraceSpanParams) {\n this.id = TracingSpan.nextId++;\n this.methodName = params.methodName;\n this.resourceId = _traceProcessor.getResourceId(params.instance);\n this.startTs = performance.now();\n this._showInBrowserTimeline = params.showInBrowserTimeline;\n\n if (params.parentCtx) {\n this._ctx = params.parentCtx.derive({\n attributes: {\n [TRACE_SPAN_ATTRIBUTE]: this.id,\n },\n });\n const parentId = params.parentCtx.getAttribute(TRACE_SPAN_ATTRIBUTE);\n if (typeof parentId === 'number') {\n this.parentId = parentId;\n }\n }\n }\n\n get ctx(): Context | null {\n return this._ctx;\n }\n\n markSuccess() {\n this.endTs = performance.now();\n this._traceProcessor._flushSpan(this);\n\n if (this._showInBrowserTimeline) {\n this._markInBrowserTimeline();\n }\n }\n\n markError(err: unknown) {\n this.endTs = performance.now();\n this.error = serializeError(err);\n this._traceProcessor._flushSpan(this);\n\n if (this._showInBrowserTimeline) {\n this._markInBrowserTimeline();\n }\n }\n\n serialize(): Span {\n return {\n id: this.id,\n resourceId: this.resourceId ?? undefined,\n methodName: this.methodName,\n parentId: this.parentId ?? undefined,\n startTs: this.startTs.toFixed(3),\n endTs: this.endTs?.toFixed(3) ?? undefined,\n error: this.error ?? undefined,\n };\n }\n\n private _markInBrowserTimeline() {\n const resource = this._traceProcessor.resources.get(this.resourceId!);\n const name = resource\n ? `${resource.sanitizedClassName}#${resource.data.instanceId}.${this.methodName}`\n : this.methodName;\n performance.measure(name, { start: this.startTs, end: this.endTs! });\n }\n}\n\nconst serializeError = (err: unknown): SerializedError => {\n if (err instanceof Error) {\n return {\n name: err.name,\n message: err.message,\n };\n }\n\n return {\n message: String(err),\n };\n};\n\nexport const TRACE_PROCESSOR: TraceProcessor = ((globalThis as any).TRACE_PROCESSOR ??= new TraceProcessor());\n\nconst sanitizeValue = (value: any) => {\n switch (typeof value) {\n case 'string':\n case 'number':\n case 'boolean':\n case 'undefined':\n return value;\n break;\n case 'object':\n case 'function':\n if (value === null) {\n return value;\n break;\n }\n\n // TODO(dmaretskyi): Expose trait.\n if (typeof value.truncate === 'function') {\n return value.truncate();\n }\n\n return value.toString();\n }\n};\n\nconst areEqualShallow = (a: any, b: any) => {\n for (const key in a) {\n if (!(key in b) || a[key] !== b[key]) {\n return false;\n }\n }\n for (const key in b) {\n if (!(key in a) || a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n};\n\nexport const sanitizeClassName = (className: string) => {\n const SANITIZE_REGEX = /[^_](\\d+)$/;\n const m = className.match(SANITIZE_REGEX);\n if (!m) {\n return className;\n } else {\n return className.slice(0, -m[1].length);\n }\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Stream } from '@dxos/codec-protobuf';\nimport { type LogEntry } from '@dxos/protocols/proto/dxos/client/services';\nimport { type StreamTraceEvent, type TracingService } from '@dxos/protocols/proto/dxos/tracing';\n\nimport { type TraceProcessor, type TraceSubscription } from './trace-processor';\n\nexport class TraceSender implements TracingService {\n constructor(private _traceProcessor: TraceProcessor) {}\n\n streamTrace(request: void): Stream<StreamTraceEvent> {\n return new Stream(({ ctx, next }) => {\n const flushEvents = (resources: Set<number> | null, spans: Set<number> | null, logs: LogEntry[] | null) => {\n const event: StreamTraceEvent = {\n resourceAdded: [],\n resourceRemoved: [],\n spanAdded: [],\n logAdded: [],\n };\n\n if (resources) {\n for (const id of resources) {\n const entry = this._traceProcessor.resources.get(id);\n if (entry) {\n event.resourceAdded!.push({ resource: entry.data });\n } else {\n event.resourceRemoved!.push({ id });\n }\n }\n } else {\n for (const entry of this._traceProcessor.resources.values()) {\n event.resourceAdded!.push({ resource: entry.data });\n }\n }\n\n if (spans) {\n for (const id of spans) {\n const span = this._traceProcessor.spans.get(id);\n if (span) {\n event.spanAdded!.push({ span });\n }\n }\n } else {\n for (const span of this._traceProcessor.spans.values()) {\n event.spanAdded!.push({ span });\n }\n }\n\n if (logs) {\n for (const log of logs) {\n event.logAdded!.push({ log });\n }\n } else {\n for (const log of this._traceProcessor.logs) {\n event.logAdded!.push({ log });\n }\n }\n\n if (event.resourceAdded!.length > 0 || event.resourceRemoved!.length > 0 || event.spanAdded!.length > 0) {\n next(event);\n }\n };\n\n const flush = () => {\n flushEvents(subscription.dirtyResources, subscription.dirtySpans, subscription.newLogs);\n subscription.dirtyResources.clear();\n subscription.dirtySpans.clear();\n subscription.newLogs.length = 0;\n };\n\n const subscription: TraceSubscription = {\n flush,\n dirtyResources: new Set(),\n dirtySpans: new Set(),\n newLogs: [],\n };\n this._traceProcessor.subscriptions.add(subscription);\n ctx.onDispose(() => {\n this._traceProcessor.subscriptions.delete(subscription);\n });\n\n flushEvents(null, null, null);\n });\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Metric } from '@dxos/protocols/proto/dxos/tracing';\n\nexport abstract class BaseCounter {\n /**\n * @internal\n */\n _instance: any;\n\n name?: string;\n\n /**\n * @internal\n */\n _assign(instance: any, name: string) {\n this._instance = instance;\n this.name = name;\n }\n\n abstract getData(): Metric;\n\n _tick(time: number): void {}\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Metric } from '@dxos/protocols/proto/dxos/tracing';\n\nimport { BaseCounter } from './base';\n\nexport class UnaryCounter extends BaseCounter {\n value = 0;\n units?: string;\n\n constructor({ units }: { units?: string } = {}) {\n super();\n this.units = units;\n }\n\n inc(by = 1) {\n this.value += by;\n }\n\n getData(): Metric {\n return {\n name: this.name!,\n counter: {\n value: this.value,\n units: this.units,\n },\n };\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Metric } from '@dxos/protocols/proto/dxos/tracing';\n\nimport { BaseCounter } from './base';\n\nconst MAX_BUCKETS = 60;\n\nexport class TimeSeriesCounter extends BaseCounter {\n private _currentValue = 0;\n private _totalValue = 0;\n private _buckets: number[] = [];\n units?: string;\n\n constructor({ units }: { units?: string } = {}) {\n super();\n this.units = units;\n }\n\n inc(by = 1) {\n this._currentValue += by;\n this._totalValue += by;\n }\n\n override _tick(time: number): void {\n this._buckets.push(this._currentValue);\n if (this._buckets.length > MAX_BUCKETS) {\n this._buckets.shift();\n }\n this._currentValue = 0;\n }\n\n override getData(): Metric {\n return {\n name: this.name!,\n timeSeries: {\n tracks: [\n {\n name: this.name!,\n units: this.units,\n points: this._buckets.map((value, index) => ({\n value,\n })),\n total: this._totalValue,\n },\n ],\n },\n };\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Metric } from '@dxos/protocols/proto/dxos/tracing';\n\nimport { BaseCounter } from './base';\n\nconst MAX_BUCKETS = 60;\n\nexport class TimeUsageCounter extends BaseCounter {\n private _currentValue = 0;\n private _totalValue = 0;\n private _buckets: number[] = [];\n\n private _lastTickTime = performance.now();\n\n record(time: number) {\n this._currentValue += time;\n this._totalValue += time;\n }\n\n beginRecording(): { end: () => void } {\n const start = performance.now();\n return {\n end: () => {\n const end = performance.now();\n this.record(end - start);\n },\n };\n }\n\n override _tick(time: number): void {\n const delta = time - this._lastTickTime;\n this._lastTickTime = time;\n\n const percentage = (this._currentValue / delta) * 100;\n this._buckets.push(percentage);\n if (this._buckets.length > MAX_BUCKETS) {\n this._buckets.shift();\n }\n this._currentValue = 0;\n }\n\n override getData(): Metric {\n return {\n name: this.name!,\n timeSeries: {\n tracks: [\n {\n name: this.name!,\n units: '%',\n points: this._buckets.map((value, index) => ({\n value,\n })),\n total: this._totalValue,\n },\n ],\n },\n };\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Metric } from '@dxos/protocols/proto/dxos/tracing';\n\nimport { BaseCounter } from './base';\n\nexport class MapCounter extends BaseCounter {\n values = new Map<string, number>();\n units?: string;\n\n constructor({ units }: { units?: string } = {}) {\n super();\n this.units = units;\n }\n\n inc(key: string, by = 1) {\n const prev = this.values.get(key) ?? 0;\n this.values.set(key, prev + by);\n }\n\n getData(): Metric {\n return {\n name: this.name!,\n multiCounter: {\n records: Array.from(this.values.entries()).map(([key, value]) => ({\n key,\n value,\n })),\n units: this.units,\n },\n };\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["Context", "symbolTracingContext", "Symbol", "getTracingContext", "target", "infoProperties", "metricsProperties", "TRACE_SPAN_ATTRIBUTE", "unrefTimeout", "LogLevel", "getContextFromEntry", "log", "getPrototypeSpecificInstanceId", "Stream", "TraceSender", "constructor", "_traceProcessor", "streamTrace", "request", "Stream", "ctx", "next", "flushEvents", "resources", "spans", "logs", "event", "resourceAdded", "resourceRemoved", "spanAdded", "logAdded", "id", "entry", "get", "push", "resource", "data", "values", "span", "log", "length", "flush", "subscription", "dirtyResources", "dirtySpans", "newLogs", "clear", "Set", "subscriptions", "add", "onDispose", "delete", "ResourceEntry", "constructor", "data", "instance", "sanitizedClassName", "sanitizeClassName", "className", "getMetric", "name", "metrics", "find", "metric", "MAX_RESOURCE_RECORDS", "MAX_SPAN_RECORDS", "MAX_LOG_RECORDS", "REFRESH_INTERVAL", "TraceProcessor", "resources", "Map", "resourceInstanceIndex", "WeakMap", "resourceIdList", "spans", "spanIdList", "logs", "subscriptions", "Set", "_logProcessor", "config", "entry", "level", "LogLevel", "ERROR", "WARN", "TRACE", "scope", "meta", "S", "resource", "get", "context", "getContextFromEntry", "key", "Object", "keys", "sanitizeValue", "entryToPush", "message", "timestamp", "Date", "file", "F", "line", "L", "resourceId", "id", "_pushLog", "log", "addProcessor", "bind", "refreshInterval", "setInterval", "refresh", "unrefTimeout", "traceResourceConstructor", "params", "size", "tracingContext", "getTracingContext", "getPrototypeOf", "metricsProperties", "_assign", "instanceId", "getPrototypeSpecificInstanceId", "info", "getResourceInfo", "links", "getResourceMetrics", "WeakRef", "set", "push", "length", "_clearResources", "_markResourceDirty", "res", "_opts", "entries", "infoProperties", "err", "getData", "traceSpan", "span", "TracingSpan", "_flushSpan", "addLink", "parent", "child", "opts", "getResourceId", "createTraceSender", "TraceSender", "values", "deref", "time", "performance", "now", "_tick", "_changed", "oldInfo", "areEqualShallow", "oldMetrics", "subscription", "flush", "findResourcesByClassName", "runtimeSpan", "serialize", "_clearSpans", "_markSpanDirty", "dirtyResources", "add", "dirtySpans", "shift", "delete", "newLogs", "nextId", "_traceProcessor", "parentId", "endTs", "error", "_ctx", "methodName", "startTs", "_showInBrowserTimeline", "showInBrowserTimeline", "parentCtx", "derive", "attributes", "TRACE_SPAN_ATTRIBUTE", "getAttribute", "ctx", "markSuccess", "_markInBrowserTimeline", "markError", "serializeError", "undefined", "toFixed", "measure", "start", "end", "Error", "String", "TRACE_PROCESSOR", "globalThis", "value", "truncate", "toString", "a", "b", "SANITIZE_REGEX", "m", "match", "slice", "resource", "constructor", "klass", "rest", "TRACE_PROCESSOR", "traceResourceConstructor", "instance", "Object", "defineProperty", "value", "name", "info", "target", "propertyKey", "descriptor", "getTracingContext", "infoProperties", "mark", "performance", "span", "showInBrowserTimeline", "method", "args", "parentCtx", "Context", "traceSpan", "methodName", "callArgs", "ctx", "slice", "apply", "err", "markError", "markSuccess", "metricsCounter", "metricsProperties", "addLink", "parent", "child", "opts", "trace", "BaseCounter", "_assign", "instance", "name", "_instance", "_tick", "time", "UnaryCounter", "BaseCounter", "constructor", "units", "value", "inc", "by", "getData", "name", "counter", "MAX_BUCKETS", "TimeSeriesCounter", "BaseCounter", "constructor", "units", "_currentValue", "_totalValue", "_buckets", "inc", "by", "_tick", "time", "push", "length", "shift", "getData", "name", "timeSeries", "tracks", "points", "map", "value", "index", "total", "MAX_BUCKETS", "TimeUsageCounter", "BaseCounter", "_currentValue", "_totalValue", "_buckets", "_lastTickTime", "performance", "now", "record", "time", "beginRecording", "start", "end", "_tick", "delta", "percentage", "push", "length", "shift", "getData", "name", "timeSeries", "tracks", "units", "points", "map", "value", "index", "total", "MapCounter", "BaseCounter", "constructor", "units", "values", "Map", "inc", "key", "by", "prev", "get", "set", "getData", "name", "multiCounter", "records", "Array", "from", "entries", "map", "value"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/common/tracing/src/symbols.ts":{"bytes":
|
|
1
|
+
{"inputs":{"packages/common/tracing/src/symbols.ts":{"bytes":1683,"imports":[],"format":"esm"},"packages/common/tracing/src/trace-sender.ts":{"bytes":10386,"imports":[{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true}],"format":"esm"},"packages/common/tracing/src/trace-processor.ts":{"bytes":41399,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/common/tracing/src/symbols.ts","kind":"import-statement","original":"./symbols"},{"path":"packages/common/tracing/src/trace-sender.ts","kind":"import-statement","original":"./trace-sender"}],"format":"esm"},"packages/common/tracing/src/api.ts":{"bytes":8340,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"packages/common/tracing/src/symbols.ts","kind":"import-statement","original":"./symbols"},{"path":"packages/common/tracing/src/trace-processor.ts","kind":"import-statement","original":"./trace-processor"}],"format":"esm"},"packages/common/tracing/src/metrics/base.ts":{"bytes":1450,"imports":[],"format":"esm"},"packages/common/tracing/src/metrics/unary-counter.ts":{"bytes":2128,"imports":[{"path":"packages/common/tracing/src/metrics/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"packages/common/tracing/src/metrics/time-series-counter.ts":{"bytes":4268,"imports":[{"path":"packages/common/tracing/src/metrics/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"packages/common/tracing/src/metrics/time-usage-counter.ts":{"bytes":5249,"imports":[{"path":"packages/common/tracing/src/metrics/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"packages/common/tracing/src/metrics/map-counter.ts":{"bytes":2977,"imports":[{"path":"packages/common/tracing/src/metrics/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"packages/common/tracing/src/metrics/index.ts":{"bytes":892,"imports":[{"path":"packages/common/tracing/src/metrics/base.ts","kind":"import-statement","original":"./base"},{"path":"packages/common/tracing/src/metrics/unary-counter.ts","kind":"import-statement","original":"./unary-counter"},{"path":"packages/common/tracing/src/metrics/time-series-counter.ts","kind":"import-statement","original":"./time-series-counter"},{"path":"packages/common/tracing/src/metrics/time-usage-counter.ts","kind":"import-statement","original":"./time-usage-counter"},{"path":"packages/common/tracing/src/metrics/map-counter.ts","kind":"import-statement","original":"./map-counter"}],"format":"esm"},"packages/common/tracing/src/index.ts":{"bytes":831,"imports":[{"path":"packages/common/tracing/src/api.ts","kind":"import-statement","original":"./api"},{"path":"packages/common/tracing/src/symbols.ts","kind":"import-statement","original":"./symbols"},{"path":"packages/common/tracing/src/trace-processor.ts","kind":"import-statement","original":"./trace-processor"},{"path":"packages/common/tracing/src/trace-sender.ts","kind":"import-statement","original":"./trace-sender"},{"path":"packages/common/tracing/src/metrics/index.ts","kind":"import-statement","original":"./metrics"}],"format":"esm"}},"outputs":{"packages/common/tracing/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":38705},"packages/common/tracing/dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true}],"exports":["BaseCounter","MapCounter","ResourceEntry","TRACE_PROCESSOR","TRACE_SPAN_ATTRIBUTE","TimeSeriesCounter","TimeUsageCounter","TraceProcessor","TraceSender","TracingSpan","UnaryCounter","getTracingContext","sanitizeClassName","symbolTracingContext","trace"],"entryPoint":"packages/common/tracing/src/index.ts","inputs":{"packages/common/tracing/src/api.ts":{"bytesInOutput":1558},"packages/common/tracing/src/symbols.ts":{"bytesInOutput":245},"packages/common/tracing/src/trace-processor.ts":{"bytesInOutput":9517},"packages/common/tracing/src/trace-sender.ts":{"bytesInOutput":2555},"packages/common/tracing/src/index.ts":{"bytesInOutput":0},"packages/common/tracing/src/metrics/base.ts":{"bytesInOutput":159},"packages/common/tracing/src/metrics/index.ts":{"bytesInOutput":0},"packages/common/tracing/src/metrics/unary-counter.ts":{"bytesInOutput":324},"packages/common/tracing/src/metrics/time-series-counter.ts":{"bytesInOutput":812},"packages/common/tracing/src/metrics/time-usage-counter.ts":{"bytesInOutput":1136},"packages/common/tracing/src/metrics/map-counter.ts":{"bytesInOutput":509}},"bytes":17685}}}
|
package/dist/lib/node/index.cjs
CHANGED
|
@@ -134,7 +134,7 @@ var TraceSender = class {
|
|
|
134
134
|
});
|
|
135
135
|
}
|
|
136
136
|
};
|
|
137
|
-
var __dxlog_file = "/home/
|
|
137
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/common/tracing/src/trace-processor.ts";
|
|
138
138
|
var ResourceEntry = class {
|
|
139
139
|
constructor(data, instance) {
|
|
140
140
|
this.data = data;
|
|
@@ -321,13 +321,13 @@ var TraceProcessor = class {
|
|
|
321
321
|
this.spans.delete(id);
|
|
322
322
|
}
|
|
323
323
|
}
|
|
324
|
-
_pushLog(
|
|
325
|
-
this.logs.push(
|
|
324
|
+
_pushLog(log2) {
|
|
325
|
+
this.logs.push(log2);
|
|
326
326
|
if (this.logs.length > MAX_LOG_RECORDS) {
|
|
327
327
|
this.logs.shift();
|
|
328
328
|
}
|
|
329
329
|
for (const subscription of this.subscriptions) {
|
|
330
|
-
subscription.newLogs.push(
|
|
330
|
+
subscription.newLogs.push(log2);
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
333
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/api.ts", "../../../src/symbols.ts", "../../../src/trace-processor.ts", "../../../src/trace-sender.ts", "../../../src/metrics/base.ts", "../../../src/metrics/unary-counter.ts", "../../../src/metrics/time-series-counter.ts", "../../../src/metrics/time-usage-counter.ts", "../../../src/metrics/map-counter.ts"],
|
|
4
4
|
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Context } from '@dxos/context';\n\nimport { getTracingContext } from './symbols';\nimport { TRACE_PROCESSOR } from './trace-processor';\n\n/**\n * Annotates a class as a tracked resource.\n */\nconst resource =\n () =>\n <T extends { new (...args: any[]): {} }>(constructor: T) => {\n // Wrapping class declaration into an IIFE so it doesn't capture the `klass` class name.\n const klass = (() =>\n class extends constructor {\n constructor(...rest: any[]) {\n super(...rest);\n TRACE_PROCESSOR.traceResourceConstructor({ constructor, instance: this });\n }\n })();\n Object.defineProperty(klass, 'name', { value: constructor.name });\n return klass;\n };\n\n/**\n * Marks a property or a method to be included in the resource info section.\n */\nconst info = () => (target: any, propertyKey: string, descriptor?: PropertyDescriptor) => {\n getTracingContext(target).infoProperties[propertyKey] = {};\n};\n\nconst mark = (name: string) => {\n performance.mark(name);\n};\n\nexport type SpanOptions = {\n showInBrowserTimeline?: boolean;\n};\n\nconst span =\n ({ showInBrowserTimeline = false }: SpanOptions = {}) =>\n (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<(...args: any) => any>) => {\n const method = descriptor.value!;\n\n descriptor.value = async function (this: any, ...args: any) {\n const parentCtx = args[0] instanceof Context ? args[0] : null;\n const span = TRACE_PROCESSOR.traceSpan({\n parentCtx,\n methodName: propertyKey,\n instance: this,\n showInBrowserTimeline,\n });\n\n const callArgs = span.ctx ? [span.ctx, ...args.slice(1)] : args;\n try {\n return await method.apply(this, callArgs);\n } catch (err) {\n span.markError(err);\n throw err;\n } finally {\n span.markSuccess();\n }\n };\n };\n\n/**\n * Attaches metrics counter to the resource.\n */\nconst metricsCounter = () => (target: any, propertyKey: string, descriptor?: PropertyDescriptor) => {\n getTracingContext(target).metricsProperties[propertyKey] = {};\n};\n\nexport type AddLinkOptions = {};\n\nconst addLink = (parent: any, child: any, opts: AddLinkOptions = {}) => {\n TRACE_PROCESSOR.addLink(parent, child, opts);\n};\n\nexport const trace = {\n resource,\n info,\n mark,\n span,\n metricsCounter,\n\n addLink,\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nexport const symbolTracingContext = Symbol('dxos.tracing.context');\n\nexport type TracingContext = {\n infoProperties: Record<string, {}>;\n metricsProperties: Record<string, {}>;\n};\n\nexport const getTracingContext = (target: any): TracingContext => {\n return ((target[symbolTracingContext] as TracingContext | undefined) ??= {\n infoProperties: {},\n metricsProperties: {},\n });\n};\n\nexport const TRACE_SPAN_ATTRIBUTE = 'dxos.trace-span';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { unrefTimeout } from '@dxos/async';\nimport { type Context } from '@dxos/context';\nimport { LogLevel, type LogProcessor, getContextFromEntry, log } from '@dxos/log';\nimport { type LogEntry } from '@dxos/protocols/proto/dxos/client/services';\nimport { type Error as SerializedError } from '@dxos/protocols/proto/dxos/error';\nimport { type Metric, type Resource, type Span } from '@dxos/protocols/proto/dxos/tracing';\nimport { getPrototypeSpecificInstanceId } from '@dxos/util';\n\nimport type { AddLinkOptions } from './api';\nimport { type BaseCounter } from './metrics';\nimport { TRACE_SPAN_ATTRIBUTE, getTracingContext } from './symbols';\nimport { TraceSender } from './trace-sender';\n\nexport type TraceResourceConstructorParams = {\n constructor: { new (...args: any[]): {} };\n instance: any;\n};\n\nexport type TraceSpanParams = {\n instance: any;\n methodName: string;\n parentCtx: Context | null;\n showInBrowserTimeline: boolean;\n};\n\nexport class ResourceEntry {\n /**\n * Sometimes bundlers mangle class names: WebFile -> WebFile2.\n *\n * We use a heuristic to remove the suffix.\n */\n public readonly sanitizedClassName: string;\n\n constructor(public data: Resource, public instance: WeakRef<any>) {\n this.sanitizedClassName = sanitizeClassName(data.className);\n }\n\n getMetric(name: string): Metric | undefined {\n return this.data.metrics?.find((metric) => metric.name === name);\n }\n}\n\nexport type TraceSubscription = {\n flush: () => void;\n\n dirtyResources: Set<number>;\n dirtySpans: Set<number>;\n newLogs: LogEntry[];\n};\n\nconst MAX_RESOURCE_RECORDS = 2_000;\nconst MAX_SPAN_RECORDS = 1_000;\nconst MAX_LOG_RECORDS = 1_000;\n\nconst REFRESH_INTERVAL = 1_000;\n\nexport class TraceProcessor {\n resources = new Map<number, ResourceEntry>();\n resourceInstanceIndex = new WeakMap<any, ResourceEntry>();\n resourceIdList: number[] = [];\n\n spans = new Map<number, Span>();\n spanIdList: number[] = [];\n\n logs: LogEntry[] = [];\n\n subscriptions: Set<TraceSubscription> = new Set();\n\n constructor() {\n log.addProcessor(this._logProcessor.bind(this));\n\n const refreshInterval = setInterval(this.refresh.bind(this), REFRESH_INTERVAL);\n unrefTimeout(refreshInterval);\n }\n\n traceResourceConstructor(params: TraceResourceConstructorParams) {\n const id = this.resources.size;\n\n // init metrics counters.\n const tracingContext = getTracingContext(Object.getPrototypeOf(params.instance));\n for (const key of Object.keys(tracingContext.metricsProperties)) {\n (params.instance[key] as BaseCounter)._assign(params.instance, key);\n }\n\n const entry = new ResourceEntry(\n {\n id,\n className: params.constructor.name,\n instanceId: getPrototypeSpecificInstanceId(params.instance),\n info: this.getResourceInfo(params.instance),\n links: [],\n metrics: this.getResourceMetrics(params.instance),\n },\n new WeakRef(params.instance),\n );\n\n this.resources.set(id, entry);\n this.resourceInstanceIndex.set(params.instance, entry);\n this.resourceIdList.push(id);\n if (this.resourceIdList.length > MAX_RESOURCE_RECORDS) {\n this._clearResources();\n }\n this._markResourceDirty(id);\n }\n\n getResourceInfo(instance: any): Record<string, any> {\n const res: Record<string, any> = {};\n const tracingContext = getTracingContext(Object.getPrototypeOf(instance));\n\n for (const [key, _opts] of Object.entries(tracingContext.infoProperties)) {\n try {\n res[key] = sanitizeValue(typeof instance[key] === 'function' ? instance[key]() : instance[key]);\n } catch (err: any) {\n res[key] = err.message;\n }\n }\n\n return res;\n }\n\n getResourceMetrics(instance: any): Metric[] {\n const res: Metric[] = [];\n const tracingContext = getTracingContext(Object.getPrototypeOf(instance));\n\n for (const [key, _opts] of Object.entries(tracingContext.metricsProperties)) {\n res.push(instance[key].getData());\n }\n\n return res;\n }\n\n traceSpan(params: TraceSpanParams): TracingSpan {\n const span = new TracingSpan(this, params);\n this._flushSpan(span);\n return span;\n }\n\n addLink(parent: any, child: any, opts: AddLinkOptions) {}\n\n getResourceId(instance: any): number | null {\n const entry = this.resourceInstanceIndex.get(instance);\n return entry ? entry.data.id : null;\n }\n\n createTraceSender() {\n return new TraceSender(this);\n }\n\n refresh() {\n for (const resource of this.resources.values()) {\n const instance = resource.instance.deref();\n if (!instance) {\n continue;\n }\n\n const tracingContext = getTracingContext(Object.getPrototypeOf(instance));\n const time = performance.now();\n for (const key of Object.keys(tracingContext.metricsProperties)) {\n (instance[key] as BaseCounter)._tick?.(time);\n }\n\n let _changed = false;\n\n const oldInfo = resource.data.info;\n resource.data.info = this.getResourceInfo(instance);\n _changed ||= !areEqualShallow(oldInfo, resource.data.info);\n\n const oldMetrics = resource.data.metrics;\n resource.data.metrics = this.getResourceMetrics(instance);\n _changed ||= !areEqualShallow(oldMetrics, resource.data.metrics);\n\n // TODO(dmaretskyi): Test if works and enable.\n // if (changed) {\n this._markResourceDirty(resource.data.id);\n // }\n }\n\n for (const subscription of this.subscriptions) {\n subscription.flush();\n }\n }\n\n findResourcesByClassName(className: string): ResourceEntry[] {\n const res: ResourceEntry[] = [];\n for (const entry of this.resources.values()) {\n if (entry.data.className === className || entry.sanitizedClassName === className) {\n res.push(entry);\n }\n }\n return res;\n }\n\n /**\n * @internal\n */\n _flushSpan(runtimeSpan: TracingSpan) {\n const span = runtimeSpan.serialize();\n this.spans.set(span.id, span);\n this.spanIdList.push(span.id);\n if (this.spanIdList.length > MAX_SPAN_RECORDS) {\n this._clearSpans();\n }\n this._markSpanDirty(span.id);\n }\n\n private _markResourceDirty(id: number) {\n for (const subscription of this.subscriptions) {\n subscription.dirtyResources.add(id);\n }\n }\n\n private _markSpanDirty(id: number) {\n for (const subscription of this.subscriptions) {\n subscription.dirtySpans.add(id);\n }\n }\n\n private _clearResources() {\n // TODO(dmaretskyi): Use FinalizationRegistry to delete finalized resources first.\n while (this.resourceIdList.length > MAX_RESOURCE_RECORDS) {\n const id = this.resourceIdList.shift()!;\n this.resources.delete(id);\n }\n }\n\n private _clearSpans() {\n while (this.spanIdList.length > MAX_SPAN_RECORDS) {\n const id = this.spanIdList.shift()!;\n this.spans.delete(id);\n }\n }\n\n private _pushLog(log: LogEntry) {\n this.logs.push(log);\n if (this.logs.length > MAX_LOG_RECORDS) {\n this.logs.shift();\n }\n\n for (const subscription of this.subscriptions) {\n subscription.newLogs.push(log);\n }\n }\n\n private _logProcessor: LogProcessor = (config, entry) => {\n switch (entry.level) {\n case LogLevel.ERROR:\n case LogLevel.WARN:\n case LogLevel.TRACE: {\n const scope = entry.meta?.S;\n const resource = this.resourceInstanceIndex.get(scope);\n if (!resource) {\n return;\n }\n\n const context = getContextFromEntry(entry) ?? {};\n\n for (const key of Object.keys(context)) {\n context[key] = sanitizeValue(context[key]);\n }\n\n const entryToPush: LogEntry = {\n level: entry.level,\n message: entry.message,\n context,\n timestamp: new Date(),\n meta: {\n file: entry.meta?.F ?? '',\n line: entry.meta?.L ?? 0,\n resourceId: resource.data.id,\n },\n };\n this._pushLog(entryToPush);\n break;\n }\n default:\n }\n };\n}\n\nexport class TracingSpan {\n static nextId = 0;\n\n readonly id: number;\n readonly parentId: number | null = null;\n readonly methodName: string;\n readonly resourceId: number | null = null;\n startTs: number;\n endTs: number | null = null;\n error: SerializedError | null = null;\n\n private _showInBrowserTimeline: boolean;\n private readonly _ctx: Context | null = null;\n\n constructor(private _traceProcessor: TraceProcessor, params: TraceSpanParams) {\n this.id = TracingSpan.nextId++;\n this.methodName = params.methodName;\n this.resourceId = _traceProcessor.getResourceId(params.instance);\n this.startTs = performance.now();\n this._showInBrowserTimeline = params.showInBrowserTimeline;\n\n if (params.parentCtx) {\n this._ctx = params.parentCtx.derive({\n attributes: {\n [TRACE_SPAN_ATTRIBUTE]: this.id,\n },\n });\n const parentId = params.parentCtx.getAttribute(TRACE_SPAN_ATTRIBUTE);\n if (typeof parentId === 'number') {\n this.parentId = parentId;\n }\n }\n }\n\n get ctx(): Context | null {\n return this._ctx;\n }\n\n markSuccess() {\n this.endTs = performance.now();\n this._traceProcessor._flushSpan(this);\n\n if (this._showInBrowserTimeline) {\n this._markInBrowserTimeline();\n }\n }\n\n markError(err: unknown) {\n this.endTs = performance.now();\n this.error = serializeError(err);\n this._traceProcessor._flushSpan(this);\n\n if (this._showInBrowserTimeline) {\n this._markInBrowserTimeline();\n }\n }\n\n serialize(): Span {\n return {\n id: this.id,\n resourceId: this.resourceId ?? undefined,\n methodName: this.methodName,\n parentId: this.parentId ?? undefined,\n startTs: this.startTs.toFixed(3),\n endTs: this.endTs?.toFixed(3) ?? undefined,\n error: this.error ?? undefined,\n };\n }\n\n private _markInBrowserTimeline() {\n const resource = this._traceProcessor.resources.get(this.resourceId!);\n const name = resource\n ? `${resource.sanitizedClassName}#${resource.data.instanceId}.${this.methodName}`\n : this.methodName;\n performance.measure(name, { start: this.startTs, end: this.endTs! });\n }\n}\n\nconst serializeError = (err: unknown): SerializedError => {\n if (err instanceof Error) {\n return {\n name: err.name,\n message: err.message,\n };\n }\n\n return {\n message: String(err),\n };\n};\n\nexport const TRACE_PROCESSOR: TraceProcessor = ((globalThis as any).TRACE_PROCESSOR ??= new TraceProcessor());\n\nconst sanitizeValue = (value: any) => {\n switch (typeof value) {\n case 'string':\n case 'number':\n case 'boolean':\n case 'undefined':\n return value;\n break;\n case 'object':\n case 'function':\n if (value === null) {\n return value;\n break;\n }\n\n // TODO(dmaretskyi): Expose trait.\n if (typeof value.truncate === 'function') {\n return value.truncate();\n }\n\n return value.toString();\n }\n};\n\nconst areEqualShallow = (a: any, b: any) => {\n for (const key in a) {\n if (!(key in b) || a[key] !== b[key]) {\n return false;\n }\n }\n for (const key in b) {\n if (!(key in a) || a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n};\n\nexport const sanitizeClassName = (className: string) => {\n const SANITIZE_REGEX = /[^_](\\d+)$/;\n const m = className.match(SANITIZE_REGEX);\n if (!m) {\n return className;\n } else {\n return className.slice(0, -m[1].length);\n }\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Stream } from '@dxos/codec-protobuf';\nimport { type LogEntry } from '@dxos/protocols/proto/dxos/client/services';\nimport { type StreamTraceEvent, type TracingService } from '@dxos/protocols/proto/dxos/tracing';\n\nimport { type TraceProcessor, type TraceSubscription } from './trace-processor';\n\nexport class TraceSender implements TracingService {\n constructor(private _traceProcessor: TraceProcessor) {}\n\n streamTrace(request: void): Stream<StreamTraceEvent> {\n return new Stream(({ ctx, next }) => {\n const flushEvents = (resources: Set<number> | null, spans: Set<number> | null, logs: LogEntry[] | null) => {\n const event: StreamTraceEvent = {\n resourceAdded: [],\n resourceRemoved: [],\n spanAdded: [],\n logAdded: [],\n };\n\n if (resources) {\n for (const id of resources) {\n const entry = this._traceProcessor.resources.get(id);\n if (entry) {\n event.resourceAdded!.push({ resource: entry.data });\n } else {\n event.resourceRemoved!.push({ id });\n }\n }\n } else {\n for (const entry of this._traceProcessor.resources.values()) {\n event.resourceAdded!.push({ resource: entry.data });\n }\n }\n\n if (spans) {\n for (const id of spans) {\n const span = this._traceProcessor.spans.get(id);\n if (span) {\n event.spanAdded!.push({ span });\n }\n }\n } else {\n for (const span of this._traceProcessor.spans.values()) {\n event.spanAdded!.push({ span });\n }\n }\n\n if (logs) {\n for (const log of logs) {\n event.logAdded!.push({ log });\n }\n } else {\n for (const log of this._traceProcessor.logs) {\n event.logAdded!.push({ log });\n }\n }\n\n if (event.resourceAdded!.length > 0 || event.resourceRemoved!.length > 0 || event.spanAdded!.length > 0) {\n next(event);\n }\n };\n\n const flush = () => {\n flushEvents(subscription.dirtyResources, subscription.dirtySpans, subscription.newLogs);\n subscription.dirtyResources.clear();\n subscription.dirtySpans.clear();\n subscription.newLogs.length = 0;\n };\n\n const subscription: TraceSubscription = {\n flush,\n dirtyResources: new Set(),\n dirtySpans: new Set(),\n newLogs: [],\n };\n this._traceProcessor.subscriptions.add(subscription);\n ctx.onDispose(() => {\n this._traceProcessor.subscriptions.delete(subscription);\n });\n\n flushEvents(null, null, null);\n });\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Metric } from '@dxos/protocols/proto/dxos/tracing';\n\nexport abstract class BaseCounter {\n /**\n * @internal\n */\n _instance: any;\n\n name?: string;\n\n /**\n * @internal\n */\n _assign(instance: any, name: string) {\n this._instance = instance;\n this.name = name;\n }\n\n abstract getData(): Metric;\n\n _tick(time: number): void {}\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Metric } from '@dxos/protocols/proto/dxos/tracing';\n\nimport { BaseCounter } from './base';\n\nexport class UnaryCounter extends BaseCounter {\n value = 0;\n units?: string;\n\n constructor({ units }: { units?: string } = {}) {\n super();\n this.units = units;\n }\n\n inc(by = 1) {\n this.value += by;\n }\n\n getData(): Metric {\n return {\n name: this.name!,\n counter: {\n value: this.value,\n units: this.units,\n },\n };\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Metric } from '@dxos/protocols/proto/dxos/tracing';\n\nimport { BaseCounter } from './base';\n\nconst MAX_BUCKETS = 60;\n\nexport class TimeSeriesCounter extends BaseCounter {\n private _currentValue = 0;\n private _totalValue = 0;\n private _buckets: number[] = [];\n units?: string;\n\n constructor({ units }: { units?: string } = {}) {\n super();\n this.units = units;\n }\n\n inc(by = 1) {\n this._currentValue += by;\n this._totalValue += by;\n }\n\n override _tick(time: number): void {\n this._buckets.push(this._currentValue);\n if (this._buckets.length > MAX_BUCKETS) {\n this._buckets.shift();\n }\n this._currentValue = 0;\n }\n\n override getData(): Metric {\n return {\n name: this.name!,\n timeSeries: {\n tracks: [\n {\n name: this.name!,\n units: this.units,\n points: this._buckets.map((value, index) => ({\n value,\n })),\n total: this._totalValue,\n },\n ],\n },\n };\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Metric } from '@dxos/protocols/proto/dxos/tracing';\n\nimport { BaseCounter } from './base';\n\nconst MAX_BUCKETS = 60;\n\nexport class TimeUsageCounter extends BaseCounter {\n private _currentValue = 0;\n private _totalValue = 0;\n private _buckets: number[] = [];\n\n private _lastTickTime = performance.now();\n\n record(time: number) {\n this._currentValue += time;\n this._totalValue += time;\n }\n\n beginRecording(): { end: () => void } {\n const start = performance.now();\n return {\n end: () => {\n const end = performance.now();\n this.record(end - start);\n },\n };\n }\n\n override _tick(time: number): void {\n const delta = time - this._lastTickTime;\n this._lastTickTime = time;\n\n const percentage = (this._currentValue / delta) * 100;\n this._buckets.push(percentage);\n if (this._buckets.length > MAX_BUCKETS) {\n this._buckets.shift();\n }\n this._currentValue = 0;\n }\n\n override getData(): Metric {\n return {\n name: this.name!,\n timeSeries: {\n tracks: [\n {\n name: this.name!,\n units: '%',\n points: this._buckets.map((value, index) => ({\n value,\n })),\n total: this._totalValue,\n },\n ],\n },\n };\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Metric } from '@dxos/protocols/proto/dxos/tracing';\n\nimport { BaseCounter } from './base';\n\nexport class MapCounter extends BaseCounter {\n values = new Map<string, number>();\n units?: string;\n\n constructor({ units }: { units?: string } = {}) {\n super();\n this.units = units;\n }\n\n inc(key: string, by = 1) {\n const prev = this.values.get(key) ?? 0;\n this.values.set(key, prev + by);\n }\n\n getData(): Metric {\n return {\n name: this.name!,\n multiCounter: {\n records: Array.from(this.values.entries()).map(([key, value]) => ({\n key,\n value,\n })),\n units: this.units,\n },\n };\n }\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,qBAAwB;AEAxB,mBAA6B;AAE7B,iBAAsE;AAItE,kBAA+C;ACN/C,4BAAuB;AFAhB,IAAMA,uBAAuBC,OAAO,sBAAA;AAOpC,IAAMC,oBAAoB,CAACC,WAAAA;AAChC,SAASA,OAAOH,oBAAAA,MAAyD;IACvEI,gBAAgB,CAAC;IACjBC,mBAAmB,CAAC;EACtB;AACF;AAEO,IAAMC,uBAAuB;AER7B,IAAMC,cAAN,MAAMA;EACXC,YAAoBC,iBAAiC;2BAAjCA;EAAkC;EAEtDC,YAAYC,SAAyC;AACnD,WAAO,IAAIC,6BAAO,CAAC,EAAEC,KAAKC,KAAI,MAAE;AAC9B,YAAMC,cAAc,CAACC,WAA+BC,OAA2BC,SAAAA;AAC7E,cAAMC,QAA0B;UAC9BC,eAAe,CAAA;UACfC,iBAAiB,CAAA;UACjBC,WAAW,CAAA;UACXC,UAAU,CAAA;QACZ;AAEA,YAAIP,WAAW;AACb,qBAAWQ,MAAMR,WAAW;AAC1B,kBAAMS,QAAQ,KAAKhB,gBAAgBO,UAAUU,IAAIF,EAAAA;AACjD,gBAAIC,OAAO;AACTN,oBAAMC,cAAeO,KAAK;gBAAEC,UAAUH,MAAMI;cAAK,CAAA;YACnD,OAAO;AACLV,oBAAME,gBAAiBM,KAAK;gBAAEH;cAAG,CAAA;YACnC;UACF;QACF,OAAO;AACL,qBAAWC,SAAS,KAAKhB,gBAAgBO,UAAUc,OAAM,GAAI;AAC3DX,kBAAMC,cAAeO,KAAK;cAAEC,UAAUH,MAAMI;YAAK,CAAA;UACnD;QACF;AAEA,YAAIZ,OAAO;AACT,qBAAWO,MAAMP,OAAO;AACtB,kBAAMc,QAAO,KAAKtB,gBAAgBQ,MAAMS,IAAIF,EAAAA;AAC5C,gBAAIO,OAAM;AACRZ,oBAAMG,UAAWK,KAAK;gBAAEI,MAAAA;cAAK,CAAA;YAC/B;UACF;QACF,OAAO;AACL,qBAAWA,SAAQ,KAAKtB,gBAAgBQ,MAAMa,OAAM,GAAI;AACtDX,kBAAMG,UAAWK,KAAK;cAAEI,MAAAA;YAAK,CAAA;UAC/B;QACF;AAEA,YAAIb,MAAM;AACR,qBAAWc,QAAOd,MAAM;AACtBC,kBAAMI,SAAUI,KAAK;cAAEK,KAAAA;YAAI,CAAA;UAC7B;QACF,OAAO;AACL,qBAAWA,QAAO,KAAKvB,gBAAgBS,MAAM;AAC3CC,kBAAMI,SAAUI,KAAK;cAAEK,KAAAA;YAAI,CAAA;UAC7B;QACF;AAEA,YAAIb,MAAMC,cAAea,SAAS,KAAKd,MAAME,gBAAiBY,SAAS,KAAKd,MAAMG,UAAWW,SAAS,GAAG;AACvGnB,eAAKK,KAAAA;QACP;MACF;AAEA,YAAMe,QAAQ,MAAA;AACZnB,oBAAYoB,aAAaC,gBAAgBD,aAAaE,YAAYF,aAAaG,OAAO;AACtFH,qBAAaC,eAAeG,MAAK;AACjCJ,qBAAaE,WAAWE,MAAK;AAC7BJ,qBAAaG,QAAQL,SAAS;MAChC;AAEA,YAAME,eAAkC;QACtCD;QACAE,gBAAgB,oBAAII,IAAAA;QACpBH,YAAY,oBAAIG,IAAAA;QAChBF,SAAS,CAAA;MACX;AACA,WAAK7B,gBAAgBgC,cAAcC,IAAIP,YAAAA;AACvCtB,UAAI8B,UAAU,MAAA;AACZ,aAAKlC,gBAAgBgC,cAAcG,OAAOT,YAAAA;MAC5C,CAAA;AAEApB,kBAAY,MAAM,MAAM,IAAA;IAC1B,CAAA;EACF;AACF;;AD1DO,IAAM8B,gBAAN,MAAMA;EAQXrC,YAAmBqB,MAAuBiB,UAAwB;gBAA/CjB;oBAAuBiB;AACxC,SAAKC,qBAAqBC,kBAAkBnB,KAAKoB,SAAS;EAC5D;EAEAC,UAAUC,MAAkC;AAC1C,WAAO,KAAKtB,KAAKuB,SAASC,KAAK,CAACC,WAAWA,OAAOH,SAASA,IAAAA;EAC7D;AACF;AAUA,IAAMI,uBAAuB;AAC7B,IAAMC,mBAAmB;AACzB,IAAMC,kBAAkB;AAExB,IAAMC,mBAAmB;AAElB,IAAMC,iBAAN,MAAMA;EAYXnD,cAAc;AAXdQ,SAAAA,YAAY,oBAAI4C,IAAAA;AAChBC,SAAAA,wBAAwB,oBAAIC,QAAAA;AAC5BC,SAAAA,iBAA2B,CAAA;AAE3B9C,SAAAA,QAAQ,oBAAI2C,IAAAA;AACZI,SAAAA,aAAuB,CAAA;AAEvB9C,SAAAA,OAAmB,CAAA;AAEnBuB,SAAAA,gBAAwC,oBAAID,IAAAA;AAiLpCyB,SAAAA,gBAA8B,CAACC,QAAQzC,UAAAA;AAC7C,cAAQA,MAAM0C,OAAK;QACjB,KAAKC,oBAASC;QACd,KAAKD,oBAASE;QACd,KAAKF,oBAASG,OAAO;AACnB,gBAAMC,QAAQ/C,MAAMgD,MAAMC;AAC1B,gBAAM9C,YAAW,KAAKiC,sBAAsBnC,IAAI8C,KAAAA;AAChD,cAAI,CAAC5C,WAAU;AACb;UACF;AAEA,gBAAM+C,cAAUC,gCAAoBnD,KAAAA,KAAU,CAAC;AAE/C,qBAAWoD,OAAOC,OAAOC,KAAKJ,OAAAA,GAAU;AACtCA,oBAAQE,GAAAA,IAAOG,cAAcL,QAAQE,GAAAA,CAAI;UAC3C;AAEA,gBAAMI,cAAwB;YAC5Bd,OAAO1C,MAAM0C;YACbe,SAASzD,MAAMyD;YACfP;YACAQ,WAAW,oBAAIC,KAAAA;YACfX,MAAM;cACJY,MAAM5D,MAAMgD,MAAMa,KAAK;cACvBC,MAAM9D,MAAMgD,MAAMe,KAAK;cACvBC,YAAY7D,UAASC,KAAKL;YAC5B;UACF;AACA,eAAKkE,SAAST,WAAAA;AACd;QACF;QACA;MACF;IACF;AA/MEjD,mBAAI2D,aAAa,KAAK1B,cAAc2B,KAAK,IAAI,GAAA,QAAA;;;;;;AAE7C,UAAMC,kBAAkBC,YAAY,KAAKC,QAAQH,KAAK,IAAI,GAAGlC,gBAAAA;AAC7DsC,mCAAaH,eAAAA;EACf;EAEAI,yBAAyBC,QAAwC;AAC/D,UAAM1E,KAAK,KAAKR,UAAUmF;AAG1B,UAAMC,iBAAiBlG,kBAAkB4E,OAAOuB,eAAeH,OAAOpD,QAAQ,CAAA;AAC9E,eAAW+B,OAAOC,OAAOC,KAAKqB,eAAe/F,iBAAiB,GAAG;AAC9D6F,aAAOpD,SAAS+B,GAAAA,EAAqByB,QAAQJ,OAAOpD,UAAU+B,GAAAA;IACjE;AAEA,UAAMpD,QAAQ,IAAIoB,cAChB;MACErB;MACAyB,WAAWiD,OAAO1F,YAAY2C;MAC9BoD,gBAAYC,4CAA+BN,OAAOpD,QAAQ;MAC1D2D,MAAM,KAAKC,gBAAgBR,OAAOpD,QAAQ;MAC1C6D,OAAO,CAAA;MACPvD,SAAS,KAAKwD,mBAAmBV,OAAOpD,QAAQ;IAClD,GACA,IAAI+D,QAAQX,OAAOpD,QAAQ,CAAA;AAG7B,SAAK9B,UAAU8F,IAAItF,IAAIC,KAAAA;AACvB,SAAKoC,sBAAsBiD,IAAIZ,OAAOpD,UAAUrB,KAAAA;AAChD,SAAKsC,eAAepC,KAAKH,EAAAA;AACzB,QAAI,KAAKuC,eAAe9B,SAASsB,sBAAsB;AACrD,WAAKwD,gBAAe;IACtB;AACA,SAAKC,mBAAmBxF,EAAAA;EAC1B;EAEAkF,gBAAgB5D,UAAoC;AAClD,UAAMmE,MAA2B,CAAC;AAClC,UAAMb,iBAAiBlG,kBAAkB4E,OAAOuB,eAAevD,QAAAA,CAAAA;AAE/D,eAAW,CAAC+B,KAAKqC,KAAAA,KAAUpC,OAAOqC,QAAQf,eAAehG,cAAc,GAAG;AACxE,UAAI;AACF6G,YAAIpC,GAAAA,IAAOG,cAAc,OAAOlC,SAAS+B,GAAAA,MAAS,aAAa/B,SAAS+B,GAAAA,EAAI,IAAK/B,SAAS+B,GAAAA,CAAI;MAChG,SAASuC,KAAU;AACjBH,YAAIpC,GAAAA,IAAOuC,IAAIlC;MACjB;IACF;AAEA,WAAO+B;EACT;EAEAL,mBAAmB9D,UAAyB;AAC1C,UAAMmE,MAAgB,CAAA;AACtB,UAAMb,iBAAiBlG,kBAAkB4E,OAAOuB,eAAevD,QAAAA,CAAAA;AAE/D,eAAW,CAAC+B,KAAKqC,KAAAA,KAAUpC,OAAOqC,QAAQf,eAAe/F,iBAAiB,GAAG;AAC3E4G,UAAItF,KAAKmB,SAAS+B,GAAAA,EAAKwC,QAAO,CAAA;IAChC;AAEA,WAAOJ;EACT;EAEAK,UAAUpB,QAAsC;AAC9C,UAAMnE,QAAO,IAAIwF,YAAY,MAAMrB,MAAAA;AACnC,SAAKsB,WAAWzF,KAAAA;AAChB,WAAOA;EACT;EAEA0F,QAAQC,QAAaC,OAAYC,MAAsB;EAAC;EAExDC,cAAc/E,UAA8B;AAC1C,UAAMrB,QAAQ,KAAKoC,sBAAsBnC,IAAIoB,QAAAA;AAC7C,WAAOrB,QAAQA,MAAMI,KAAKL,KAAK;EACjC;EAEAsG,oBAAoB;AAClB,WAAO,IAAIvH,YAAY,IAAI;EAC7B;EAEAwF,UAAU;AACR,eAAWnE,aAAY,KAAKZ,UAAUc,OAAM,GAAI;AAC9C,YAAMgB,WAAWlB,UAASkB,SAASiF,MAAK;AACxC,UAAI,CAACjF,UAAU;AACb;MACF;AAEA,YAAMsD,iBAAiBlG,kBAAkB4E,OAAOuB,eAAevD,QAAAA,CAAAA;AAC/D,YAAMkF,OAAOC,YAAYC,IAAG;AAC5B,iBAAWrD,OAAOC,OAAOC,KAAKqB,eAAe/F,iBAAiB,GAAG;AAC9DyC,iBAAS+B,GAAAA,EAAqBsD,QAAQH,IAAAA;MACzC;AAEA,UAAII,WAAW;AAEf,YAAMC,UAAUzG,UAASC,KAAK4E;AAC9B7E,gBAASC,KAAK4E,OAAO,KAAKC,gBAAgB5D,QAAAA;AAC1CsF,mBAAa,CAACE,gBAAgBD,SAASzG,UAASC,KAAK4E,IAAI;AAEzD,YAAM8B,aAAa3G,UAASC,KAAKuB;AACjCxB,gBAASC,KAAKuB,UAAU,KAAKwD,mBAAmB9D,QAAAA;AAChDsF,mBAAa,CAACE,gBAAgBC,YAAY3G,UAASC,KAAKuB,OAAO;AAI/D,WAAK4D,mBAAmBpF,UAASC,KAAKL,EAAE;IAE1C;AAEA,eAAWW,gBAAgB,KAAKM,eAAe;AAC7CN,mBAAaD,MAAK;IACpB;EACF;EAEAsG,yBAAyBvF,WAAoC;AAC3D,UAAMgE,MAAuB,CAAA;AAC7B,eAAWxF,SAAS,KAAKT,UAAUc,OAAM,GAAI;AAC3C,UAAIL,MAAMI,KAAKoB,cAAcA,aAAaxB,MAAMsB,uBAAuBE,WAAW;AAChFgE,YAAItF,KAAKF,KAAAA;MACX;IACF;AACA,WAAOwF;EACT;;;;EAKAO,WAAWiB,aAA0B;AACnC,UAAM1G,QAAO0G,YAAYC,UAAS;AAClC,SAAKzH,MAAM6F,IAAI/E,MAAKP,IAAIO,KAAAA;AACxB,SAAKiC,WAAWrC,KAAKI,MAAKP,EAAE;AAC5B,QAAI,KAAKwC,WAAW/B,SAASuB,kBAAkB;AAC7C,WAAKmF,YAAW;IAClB;AACA,SAAKC,eAAe7G,MAAKP,EAAE;EAC7B;EAEQwF,mBAAmBxF,IAAY;AACrC,eAAWW,gBAAgB,KAAKM,eAAe;AAC7CN,mBAAaC,eAAeM,IAAIlB,EAAAA;IAClC;EACF;EAEQoH,eAAepH,IAAY;AACjC,eAAWW,gBAAgB,KAAKM,eAAe;AAC7CN,mBAAaE,WAAWK,IAAIlB,EAAAA;IAC9B;EACF;EAEQuF,kBAAkB;AAExB,WAAO,KAAKhD,eAAe9B,SAASsB,sBAAsB;AACxD,YAAM/B,KAAK,KAAKuC,eAAe8E,MAAK;AACpC,WAAK7H,UAAU4B,OAAOpB,EAAAA;IACxB;EACF;EAEQmH,cAAc;AACpB,WAAO,KAAK3E,WAAW/B,SAASuB,kBAAkB;AAChD,YAAMhC,KAAK,KAAKwC,WAAW6E,MAAK;AAChC,WAAK5H,MAAM2B,OAAOpB,EAAAA;IACpB;EACF;EAEQkE,SAAS1D,MAAe;AAC9B,SAAKd,KAAKS,KAAKK,IAAAA;AACf,QAAI,KAAKd,KAAKe,SAASwB,iBAAiB;AACtC,WAAKvC,KAAK2H,MAAK;IACjB;AAEA,eAAW1G,gBAAgB,KAAKM,eAAe;AAC7CN,mBAAaG,QAAQX,KAAKK,IAAAA;IAC5B;EACF;AAoCF;AAEO,IAAMuF,cAAN,MAAMA,aAAAA;EACX,OAAA;SAAOuB,SAAS;;EAahBtI,YAAoBC,iBAAiCyF,QAAyB;2BAA1DzF;SAVXsI,WAA0B;SAE1BtD,aAA4B;SAErCuD,QAAuB;SACvBC,QAAgC;SAGfC,OAAuB;AAGtC,SAAK1H,KAAK+F,aAAYuB;AACtB,SAAKK,aAAajD,OAAOiD;AACzB,SAAK1D,aAAahF,gBAAgBoH,cAAc3B,OAAOpD,QAAQ;AAC/D,SAAKsG,UAAUnB,YAAYC,IAAG;AAC9B,SAAKmB,yBAAyBnD,OAAOoD;AAErC,QAAIpD,OAAOqD,WAAW;AACpB,WAAKL,OAAOhD,OAAOqD,UAAUC,OAAO;QAClCC,YAAY;UACV,CAACnJ,oBAAAA,GAAuB,KAAKkB;QAC/B;MACF,CAAA;AACA,YAAMuH,WAAW7C,OAAOqD,UAAUG,aAAapJ,oBAAAA;AAC/C,UAAI,OAAOyI,aAAa,UAAU;AAChC,aAAKA,WAAWA;MAClB;IACF;EACF;EAEA,IAAIlI,MAAsB;AACxB,WAAO,KAAKqI;EACd;EAEAS,cAAc;AACZ,SAAKX,QAAQf,YAAYC,IAAG;AAC5B,SAAKzH,gBAAgB+G,WAAW,IAAI;AAEpC,QAAI,KAAK6B,wBAAwB;AAC/B,WAAKO,uBAAsB;IAC7B;EACF;EAEAC,UAAUzC,KAAc;AACtB,SAAK4B,QAAQf,YAAYC,IAAG;AAC5B,SAAKe,QAAQa,eAAe1C,GAAAA;AAC5B,SAAK3G,gBAAgB+G,WAAW,IAAI;AAEpC,QAAI,KAAK6B,wBAAwB;AAC/B,WAAKO,uBAAsB;IAC7B;EACF;EAEAlB,YAAkB;AAChB,WAAO;MACLlH,IAAI,KAAKA;MACTiE,YAAY,KAAKA,cAAcsE;MAC/BZ,YAAY,KAAKA;MACjBJ,UAAU,KAAKA,YAAYgB;MAC3BX,SAAS,KAAKA,QAAQY,QAAQ,CAAA;MAC9BhB,OAAO,KAAKA,OAAOgB,QAAQ,CAAA,KAAMD;MACjCd,OAAO,KAAKA,SAASc;IACvB;EACF;EAEQH,yBAAyB;AAC/B,UAAMhI,YAAW,KAAKnB,gBAAgBO,UAAUU,IAAI,KAAK+D,UAAU;AACnE,UAAMtC,OAAOvB,YACT,GAAGA,UAASmB,kBAAkB,IAAInB,UAASC,KAAK0E,UAAU,IAAI,KAAK4C,UAAU,KAC7E,KAAKA;AACTlB,gBAAYgC,QAAQ9G,MAAM;MAAE+G,OAAO,KAAKd;MAASe,KAAK,KAAKnB;IAAO,CAAA;EACpE;AACF;AAEA,IAAMc,iBAAiB,CAAC1C,QAAAA;AACtB,MAAIA,eAAegD,OAAO;AACxB,WAAO;MACLjH,MAAMiE,IAAIjE;MACV+B,SAASkC,IAAIlC;IACf;EACF;AAEA,SAAO;IACLA,SAASmF,OAAOjD,GAAAA;EAClB;AACF;AAEO,IAAMkD,kBAAoCC,WAAmBD,oBAAoB,IAAI3G,eAAAA;AAE5F,IAAMqB,gBAAgB,CAACwF,UAAAA;AACrB,UAAQ,OAAOA,OAAAA;IACb,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;AACH,aAAOA;AACP;IACF,KAAK;IACL,KAAK;AACH,UAAIA,UAAU,MAAM;AAClB,eAAOA;AACP;MACF;AAGA,UAAI,OAAOA,MAAMC,aAAa,YAAY;AACxC,eAAOD,MAAMC,SAAQ;MACvB;AAEA,aAAOD,MAAME,SAAQ;EACzB;AACF;AAEA,IAAMpC,kBAAkB,CAACqC,GAAQC,MAAAA;AAC/B,aAAW/F,OAAO8F,GAAG;AACnB,QAAI,EAAE9F,OAAO+F,MAAMD,EAAE9F,GAAAA,MAAS+F,EAAE/F,GAAAA,GAAM;AACpC,aAAO;IACT;EACF;AACA,aAAWA,OAAO+F,GAAG;AACnB,QAAI,EAAE/F,OAAO8F,MAAMA,EAAE9F,GAAAA,MAAS+F,EAAE/F,GAAAA,GAAM;AACpC,aAAO;IACT;EACF;AACA,SAAO;AACT;AAEO,IAAM7B,oBAAoB,CAACC,cAAAA;AAChC,QAAM4H,iBAAiB;AACvB,QAAMC,IAAI7H,UAAU8H,MAAMF,cAAAA;AAC1B,MAAI,CAACC,GAAG;AACN,WAAO7H;EACT,OAAO;AACL,WAAOA,UAAU+H,MAAM,GAAG,CAACF,EAAE,CAAA,EAAG7I,MAAM;EACxC;AACF;AF1ZA,IAAML,WACJ,MACA,CAAyCpB,gBAAAA;AAEvC,QAAMyK,QAAS,uBACb,cAAczK,YAAAA;IACZA,eAAe0K,MAAa;AAC1B,YAAK,GAAIA,IAAAA;AACTZ,sBAAgBrE,yBAAyB;QAAEzF;QAAasC,UAAU;MAAK,CAAA;IACzE;EACF,GAAA;AACFgC,SAAOqG,eAAeF,OAAO,QAAQ;IAAET,OAAOhK,YAAY2C;EAAK,CAAA;AAC/D,SAAO8H;AACT;AAKF,IAAMxE,OAAO,MAAM,CAACtG,QAAaiL,aAAqBC,eAAAA;AACpDnL,oBAAkBC,MAAAA,EAAQC,eAAegL,WAAAA,IAAe,CAAC;AAC3D;AAEA,IAAME,OAAO,CAACnI,SAAAA;AACZ8E,cAAYqD,KAAKnI,IAAAA;AACnB;AAMA,IAAMpB,OACJ,CAAC,EAAEuH,wBAAwB,MAAK,IAAkB,CAAC,MACnD,CAACnJ,QAAaiL,aAAqBC,eAAAA;AACjC,QAAME,SAASF,WAAWb;AAE1Ba,aAAWb,QAAQ,kBAA8BgB,MAAS;AACxD,UAAMjC,YAAYiC,KAAK,CAAA,aAAcC,yBAAUD,KAAK,CAAA,IAAK;AACzD,UAAMzJ,QAAOuI,gBAAgBhD,UAAU;MACrCiC;MACAJ,YAAYiC;MACZtI,UAAU;MACVwG;IACF,CAAA;AAEA,UAAMoC,WAAW3J,MAAKlB,MAAM;MAACkB,MAAKlB;SAAQ2K,KAAKR,MAAM,CAAA;QAAMQ;AAC3D,QAAI;AACF,aAAO,MAAMD,OAAOI,MAAM,MAAMD,QAAAA;IAClC,SAAStE,KAAK;AACZrF,YAAK8H,UAAUzC,GAAAA;AACf,YAAMA;IACR,UAAA;AACErF,YAAK4H,YAAW;IAClB;EACF;AACF;AAKF,IAAMiC,iBAAiB,MAAM,CAACzL,QAAaiL,aAAqBC,eAAAA;AAC9DnL,oBAAkBC,MAAAA,EAAQE,kBAAkB+K,WAAAA,IAAe,CAAC;AAC9D;AAIA,IAAM3D,UAAU,CAACC,QAAaC,OAAYC,OAAuB,CAAC,MAAC;AACjE0C,kBAAgB7C,QAAQC,QAAQC,OAAOC,IAAAA;AACzC;AAEO,IAAMiE,QAAQ;EACnBjK;EACA6E;EACA6E;EACAvJ;EACA6J;EAEAnE;AACF;AInFO,IAAeqE,cAAf,MAAeA;;;;EAWpBxF,QAAQxD,UAAeK,MAAc;AACnC,SAAK4I,YAAYjJ;AACjB,SAAKK,OAAOA;EACd;EAIAgF,MAAMH,MAAoB;EAAC;AAC7B;ACjBO,IAAMgE,eAAN,cAA2BF,YAAAA;EAIhCtL,YAAY,EAAEyL,MAAK,IAAyB,CAAC,GAAG;AAC9C,UAAK;AAJPzB,SAAAA,QAAQ;AAKN,SAAKyB,QAAQA;EACf;EAEAC,IAAIC,KAAK,GAAG;AACV,SAAK3B,SAAS2B;EAChB;EAEA9E,UAAkB;AAChB,WAAO;MACLlE,MAAM,KAAKA;MACXiJ,SAAS;QACP5B,OAAO,KAAKA;QACZyB,OAAO,KAAKA;MACd;IACF;EACF;AACF;ACtBA,IAAMI,cAAc;AAEb,IAAMC,oBAAN,cAAgCR,YAAAA;EAMrCtL,YAAY,EAAEyL,MAAK,IAAyB,CAAC,GAAG;AAC9C,UAAK;AANCM,SAAAA,gBAAgB;AAChBC,SAAAA,cAAc;AACdC,SAAAA,WAAqB,CAAA;AAK3B,SAAKR,QAAQA;EACf;EAEAC,IAAIC,KAAK,GAAG;AACV,SAAKI,iBAAiBJ;AACtB,SAAKK,eAAeL;EACtB;EAEShE,MAAMH,MAAoB;AACjC,SAAKyE,SAAS9K,KAAK,KAAK4K,aAAa;AACrC,QAAI,KAAKE,SAASxK,SAASoK,aAAa;AACtC,WAAKI,SAAS5D,MAAK;IACrB;AACA,SAAK0D,gBAAgB;EACvB;EAESlF,UAAkB;AACzB,WAAO;MACLlE,MAAM,KAAKA;MACXuJ,YAAY;QACVC,QAAQ;UACN;YACExJ,MAAM,KAAKA;YACX8I,OAAO,KAAKA;YACZW,QAAQ,KAAKH,SAASI,IAAI,CAACrC,OAAOsC,WAAW;cAC3CtC;YACF,EAAA;YACAuC,OAAO,KAAKP;UACd;;MAEJ;IACF;EACF;AACF;AC3CA,IAAMH,eAAc;AAEb,IAAMW,mBAAN,cAA+BlB,YAAAA;EAA/B,cAAA;;AACGS,SAAAA,gBAAgB;AAChBC,SAAAA,cAAc;AACdC,SAAAA,WAAqB,CAAA;AAErBQ,SAAAA,gBAAgBhF,YAAYC,IAAG;;EAEvCgF,OAAOlF,MAAc;AACnB,SAAKuE,iBAAiBvE;AACtB,SAAKwE,eAAexE;EACtB;EAEAmF,iBAAsC;AACpC,UAAMjD,QAAQjC,YAAYC,IAAG;AAC7B,WAAO;MACLiC,KAAK,MAAA;AACH,cAAMA,MAAMlC,YAAYC,IAAG;AAC3B,aAAKgF,OAAO/C,MAAMD,KAAAA;MACpB;IACF;EACF;EAES/B,MAAMH,MAAoB;AACjC,UAAMoF,QAAQpF,OAAO,KAAKiF;AAC1B,SAAKA,gBAAgBjF;AAErB,UAAMqF,aAAc,KAAKd,gBAAgBa,QAAS;AAClD,SAAKX,SAAS9K,KAAK0L,UAAAA;AACnB,QAAI,KAAKZ,SAASxK,SAASoK,cAAa;AACtC,WAAKI,SAAS5D,MAAK;IACrB;AACA,SAAK0D,gBAAgB;EACvB;EAESlF,UAAkB;AACzB,WAAO;MACLlE,MAAM,KAAKA;MACXuJ,YAAY;QACVC,QAAQ;UACN;YACExJ,MAAM,KAAKA;YACX8I,OAAO;YACPW,QAAQ,KAAKH,SAASI,IAAI,CAACrC,OAAOsC,WAAW;cAC3CtC;YACF,EAAA;YACAuC,OAAO,KAAKP;UACd;;MAEJ;IACF;EACF;AACF;ACrDO,IAAMc,aAAN,cAAyBxB,YAAAA;EAI9BtL,YAAY,EAAEyL,MAAK,IAAyB,CAAC,GAAG;AAC9C,UAAK;AAJPnK,SAAAA,SAAS,oBAAI8B,IAAAA;AAKX,SAAKqI,QAAQA;EACf;EAEAC,IAAIrH,KAAasH,KAAK,GAAG;AACvB,UAAMoB,OAAO,KAAKzL,OAAOJ,IAAImD,GAAAA,KAAQ;AACrC,SAAK/C,OAAOgF,IAAIjC,KAAK0I,OAAOpB,EAAAA;EAC9B;EAEA9E,UAAkB;AAChB,WAAO;MACLlE,MAAM,KAAKA;MACXqK,cAAc;QACZC,SAASC,MAAMC,KAAK,KAAK7L,OAAOqF,QAAO,CAAA,EAAI0F,IAAI,CAAC,CAAChI,KAAK2F,KAAAA,OAAY;UAChE3F;UACA2F;QACF,EAAA;QACAyB,OAAO,KAAKA;MACd;IACF;EACF;AACF;",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["symbolTracingContext", "Symbol", "getTracingContext", "target", "infoProperties", "metricsProperties", "TRACE_SPAN_ATTRIBUTE", "TraceSender", "constructor", "_traceProcessor", "streamTrace", "request", "Stream", "ctx", "next", "flushEvents", "resources", "spans", "logs", "event", "resourceAdded", "resourceRemoved", "spanAdded", "logAdded", "id", "entry", "get", "push", "resource", "data", "values", "span", "log", "length", "flush", "subscription", "dirtyResources", "dirtySpans", "newLogs", "clear", "Set", "subscriptions", "add", "onDispose", "delete", "ResourceEntry", "instance", "sanitizedClassName", "sanitizeClassName", "className", "getMetric", "name", "metrics", "find", "metric", "MAX_RESOURCE_RECORDS", "MAX_SPAN_RECORDS", "MAX_LOG_RECORDS", "REFRESH_INTERVAL", "TraceProcessor", "Map", "resourceInstanceIndex", "WeakMap", "resourceIdList", "spanIdList", "_logProcessor", "config", "level", "LogLevel", "ERROR", "WARN", "TRACE", "scope", "meta", "S", "context", "getContextFromEntry", "key", "Object", "keys", "sanitizeValue", "entryToPush", "message", "timestamp", "Date", "file", "F", "line", "L", "resourceId", "_pushLog", "addProcessor", "bind", "refreshInterval", "setInterval", "refresh", "unrefTimeout", "traceResourceConstructor", "params", "size", "tracingContext", "getPrototypeOf", "_assign", "instanceId", "getPrototypeSpecificInstanceId", "info", "getResourceInfo", "links", "getResourceMetrics", "WeakRef", "set", "_clearResources", "_markResourceDirty", "res", "_opts", "entries", "err", "getData", "traceSpan", "TracingSpan", "_flushSpan", "addLink", "parent", "child", "opts", "getResourceId", "createTraceSender", "deref", "time", "performance", "now", "_tick", "_changed", "oldInfo", "areEqualShallow", "oldMetrics", "findResourcesByClassName", "runtimeSpan", "serialize", "_clearSpans", "_markSpanDirty", "shift", "nextId", "parentId", "endTs", "error", "_ctx", "methodName", "startTs", "_showInBrowserTimeline", "showInBrowserTimeline", "parentCtx", "derive", "attributes", "getAttribute", "markSuccess", "_markInBrowserTimeline", "markError", "serializeError", "undefined", "toFixed", "measure", "start", "end", "Error", "String", "TRACE_PROCESSOR", "globalThis", "value", "truncate", "toString", "a", "b", "SANITIZE_REGEX", "m", "match", "slice", "klass", "rest", "defineProperty", "propertyKey", "descriptor", "mark", "method", "args", "Context", "callArgs", "apply", "metricsCounter", "trace", "BaseCounter", "_instance", "UnaryCounter", "units", "inc", "by", "counter", "MAX_BUCKETS", "TimeSeriesCounter", "_currentValue", "_totalValue", "_buckets", "timeSeries", "tracks", "points", "map", "index", "total", "TimeUsageCounter", "_lastTickTime", "record", "beginRecording", "delta", "percentage", "MapCounter", "prev", "multiCounter", "records", "Array", "from"]
|
|
7
7
|
}
|
package/dist/lib/node/meta.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/common/tracing/src/symbols.ts":{"bytes":
|
|
1
|
+
{"inputs":{"packages/common/tracing/src/symbols.ts":{"bytes":1683,"imports":[],"format":"esm"},"packages/common/tracing/src/trace-sender.ts":{"bytes":10386,"imports":[{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true}],"format":"esm"},"packages/common/tracing/src/trace-processor.ts":{"bytes":41399,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/common/tracing/src/symbols.ts","kind":"import-statement","original":"./symbols"},{"path":"packages/common/tracing/src/trace-sender.ts","kind":"import-statement","original":"./trace-sender"}],"format":"esm"},"packages/common/tracing/src/api.ts":{"bytes":8340,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"packages/common/tracing/src/symbols.ts","kind":"import-statement","original":"./symbols"},{"path":"packages/common/tracing/src/trace-processor.ts","kind":"import-statement","original":"./trace-processor"}],"format":"esm"},"packages/common/tracing/src/metrics/base.ts":{"bytes":1450,"imports":[],"format":"esm"},"packages/common/tracing/src/metrics/unary-counter.ts":{"bytes":2128,"imports":[{"path":"packages/common/tracing/src/metrics/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"packages/common/tracing/src/metrics/time-series-counter.ts":{"bytes":4268,"imports":[{"path":"packages/common/tracing/src/metrics/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"packages/common/tracing/src/metrics/time-usage-counter.ts":{"bytes":5249,"imports":[{"path":"packages/common/tracing/src/metrics/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"packages/common/tracing/src/metrics/map-counter.ts":{"bytes":2977,"imports":[{"path":"packages/common/tracing/src/metrics/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"packages/common/tracing/src/metrics/index.ts":{"bytes":892,"imports":[{"path":"packages/common/tracing/src/metrics/base.ts","kind":"import-statement","original":"./base"},{"path":"packages/common/tracing/src/metrics/unary-counter.ts","kind":"import-statement","original":"./unary-counter"},{"path":"packages/common/tracing/src/metrics/time-series-counter.ts","kind":"import-statement","original":"./time-series-counter"},{"path":"packages/common/tracing/src/metrics/time-usage-counter.ts","kind":"import-statement","original":"./time-usage-counter"},{"path":"packages/common/tracing/src/metrics/map-counter.ts","kind":"import-statement","original":"./map-counter"}],"format":"esm"},"packages/common/tracing/src/index.ts":{"bytes":831,"imports":[{"path":"packages/common/tracing/src/api.ts","kind":"import-statement","original":"./api"},{"path":"packages/common/tracing/src/symbols.ts","kind":"import-statement","original":"./symbols"},{"path":"packages/common/tracing/src/trace-processor.ts","kind":"import-statement","original":"./trace-processor"},{"path":"packages/common/tracing/src/trace-sender.ts","kind":"import-statement","original":"./trace-sender"},{"path":"packages/common/tracing/src/metrics/index.ts","kind":"import-statement","original":"./metrics"}],"format":"esm"}},"outputs":{"packages/common/tracing/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":38705},"packages/common/tracing/dist/lib/node/index.cjs":{"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true}],"exports":["BaseCounter","MapCounter","ResourceEntry","TRACE_PROCESSOR","TRACE_SPAN_ATTRIBUTE","TimeSeriesCounter","TimeUsageCounter","TraceProcessor","TraceSender","TracingSpan","UnaryCounter","getTracingContext","sanitizeClassName","symbolTracingContext","trace"],"entryPoint":"packages/common/tracing/src/index.ts","inputs":{"packages/common/tracing/src/api.ts":{"bytesInOutput":1558},"packages/common/tracing/src/symbols.ts":{"bytesInOutput":245},"packages/common/tracing/src/trace-processor.ts":{"bytesInOutput":9517},"packages/common/tracing/src/trace-sender.ts":{"bytesInOutput":2555},"packages/common/tracing/src/index.ts":{"bytesInOutput":0},"packages/common/tracing/src/metrics/base.ts":{"bytesInOutput":159},"packages/common/tracing/src/metrics/index.ts":{"bytesInOutput":0},"packages/common/tracing/src/metrics/unary-counter.ts":{"bytesInOutput":324},"packages/common/tracing/src/metrics/time-series-counter.ts":{"bytesInOutput":812},"packages/common/tracing/src/metrics/time-usage-counter.ts":{"bytesInOutput":1136},"packages/common/tracing/src/metrics/map-counter.ts":{"bytesInOutput":509}},"bytes":17685}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/tracing",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.11-main.00a28cb",
|
|
4
4
|
"description": "Async utilities.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -16,15 +16,15 @@
|
|
|
16
16
|
"src"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@dxos/async": "0.3.
|
|
20
|
-
"@dxos/codec-protobuf": "0.3.
|
|
21
|
-
"@dxos/debug": "0.3.
|
|
22
|
-
"@dxos/context": "0.3.
|
|
23
|
-
"@dxos/
|
|
24
|
-
"@dxos/
|
|
25
|
-
"@dxos/node-std": "0.3.
|
|
26
|
-
"@dxos/
|
|
27
|
-
"@dxos/
|
|
19
|
+
"@dxos/async": "0.3.11-main.00a28cb",
|
|
20
|
+
"@dxos/codec-protobuf": "0.3.11-main.00a28cb",
|
|
21
|
+
"@dxos/debug": "0.3.11-main.00a28cb",
|
|
22
|
+
"@dxos/context": "0.3.11-main.00a28cb",
|
|
23
|
+
"@dxos/log": "0.3.11-main.00a28cb",
|
|
24
|
+
"@dxos/protocols": "0.3.11-main.00a28cb",
|
|
25
|
+
"@dxos/node-std": "0.3.11-main.00a28cb",
|
|
26
|
+
"@dxos/util": "0.3.11-main.00a28cb",
|
|
27
|
+
"@dxos/invariant": "0.3.11-main.00a28cb"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {},
|
|
30
30
|
"publishConfig": {
|