@dxos/observability 0.8.4-main.a4bbb77 → 0.8.4-main.ae835ea
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.
- package/dist/lib/browser/{chunk-YTRUOREY.mjs → chunk-USIB5JOP.mjs} +58 -64
- package/dist/lib/browser/{chunk-YTRUOREY.mjs.map → chunk-USIB5JOP.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-ICKR6U3G.mjs → chunk-XNAF22QM.mjs} +25 -38
- package/dist/lib/browser/{chunk-ICKR6U3G.mjs.map → chunk-XNAF22QM.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-LJO63BXO.mjs → chunk-ZI3ZS3PA.mjs} +1 -1
- package/dist/lib/browser/{chunk-LJO63BXO.mjs.map → chunk-ZI3ZS3PA.mjs.map} +1 -1
- package/dist/lib/browser/index.mjs +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/observability-AOZNUWZS.mjs +10 -0
- package/dist/lib/browser/{otel-6FVBNA5F.mjs → otel-UH7ZRWC2.mjs} +96 -136
- package/dist/lib/browser/{otel-6FVBNA5F.mjs.map → otel-UH7ZRWC2.mjs.map} +2 -2
- package/dist/lib/browser/segment/index.mjs +2 -2
- package/dist/lib/browser/sentry/index.mjs +1 -1
- package/dist/lib/browser/{sentry-log-processor-RG4CFVGL.mjs → sentry-log-processor-5LSQJMIO.mjs} +56 -72
- package/dist/lib/browser/{sentry-log-processor-RG4CFVGL.mjs.map → sentry-log-processor-5LSQJMIO.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-4EWQFQ2F.mjs → chunk-JJS4CBLT.mjs} +58 -64
- package/dist/lib/node-esm/{chunk-4EWQFQ2F.mjs.map → chunk-JJS4CBLT.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-24NMRR4E.mjs → chunk-OJV247NY.mjs} +31 -56
- package/dist/lib/node-esm/{chunk-24NMRR4E.mjs.map → chunk-OJV247NY.mjs.map} +2 -2
- package/dist/lib/node-esm/index.mjs +2 -2
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{observability-DHNVVRC7.mjs → observability-UWX2LAYX.mjs} +3 -3
- package/dist/lib/node-esm/{otel-KHSGBROB.mjs → otel-7PUCFSTY.mjs} +85 -125
- package/dist/lib/node-esm/{otel-KHSGBROB.mjs.map → otel-7PUCFSTY.mjs.map} +2 -2
- package/dist/lib/node-esm/segment/index.mjs +1 -1
- package/dist/lib/node-esm/{sentry-log-processor-3BDS4BB4.mjs → sentry-log-processor-C4UGMAMV.mjs} +55 -71
- package/dist/lib/node-esm/{sentry-log-processor-3BDS4BB4.mjs.map → sentry-log-processor-C4UGMAMV.mjs.map} +2 -2
- package/dist/types/src/sentry/browser.js +1 -1
- package/dist/types/src/sentry/browser.js.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +15 -18
- package/src/sentry/browser.ts +1 -1
- package/dist/lib/browser/observability-CQGG3MID.mjs +0 -10
- /package/dist/lib/browser/{observability-CQGG3MID.mjs.map → observability-AOZNUWZS.mjs.map} +0 -0
- /package/dist/lib/node-esm/{observability-DHNVVRC7.mjs.map → observability-UWX2LAYX.mjs.map} +0 -0
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/observability.ts", "../../../src/cli-observability-secrets.json", "../../../src/helpers/browser-observability.ts", "../../../src/helpers/common.ts", "../../../src/helpers/node-observability.ts", "../../../src/helpers/map-spaces.ts", "../../../src/helpers/setup-telemetry-listeners.ts"],
|
|
4
4
|
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Event, scheduleTaskInterval } from '@dxos/async';\nimport { type Client, type Config, PublicKey } from '@dxos/client';\nimport { type ClientServices, type Space } from '@dxos/client-protocol';\nimport { Context } from '@dxos/context';\nimport { invariant } from '@dxos/invariant';\nimport { LogLevel, log } from '@dxos/log';\nimport { ConnectionState } from '@dxos/network-manager';\nimport { DeviceKind, type NetworkStatus, Platform } from '@dxos/protocols/proto/dxos/client/services';\nimport { isNode } from '@dxos/util';\n\nimport buildSecrets from './cli-observability-secrets.json';\nimport { type IPData, getTelemetryIdentity, mapSpaces } from './helpers';\nimport { type OtelLogs, type OtelMetrics, type OtelTraces } from './otel';\nimport { type PageOptions, type SegmentTelemetry, TelemetryEvent, type TrackOptions } from './segment';\nimport { type InitOptions, type captureException as SentryCaptureException } from './sentry';\nimport { type SentryLogProcessor } from './sentry/sentry-log-processor';\n\nconst SPACE_METRICS_MIN_INTERVAL = 1000 * 60; // 1 minute\nconst SPACE_TELEMETRY_MIN_INTERVAL = 1000 * 60 * 60; // 1 hour\nconst NETWORK_METRICS_MIN_INTERVAL = 1000 * 60 * 5; // 5 minutes\n\n// Secrets? EnvironmentConfig?\n\nexport type ObservabilitySecrets = {\n DX_ENVIRONMENT: string | null;\n DX_RELEASE: string | null;\n SENTRY_DESTINATION: string | null;\n TELEMETRY_API_KEY: string | null;\n IPDATA_API_KEY: string | null;\n OTEL_ENDPOINT: string | null;\n OTEL_AUTHORIZATION: string | null;\n};\n\nexport type TagScope = 'errors' | 'telemetry' | 'metrics' | 'all';\n\n/** Gathering mode. */\nexport type Mode = 'basic' | 'full' | 'disabled';\n\nexport type ObservabilityOptions = {\n mode: Mode;\n\n /** Environment. */\n environment?: string;\n\n /** Application namespace. */\n namespace: string;\n\n /** Application release. */\n release?: string;\n\n /** User group. */\n group?: string;\n\n config?: Config;\n secrets?: Record<string, string>;\n\n telemetry?: {\n batchSize?: number;\n };\n\n errorLog?: {\n sentryInitOptions?: InitOptions;\n };\n};\n\n/*\n * Observability provides a common interface for error logging, metrics, and telemetry.\n * It currently provides these capabilities using Sentry, OpenTelemetry, and Segment.\n *\n * Segment:\n * https://app.segment.com/dxos/sources/composer-app/debugger\n * https://app.segment.com/dxos/sources/composer-app/settings/keys\n *\n * NOTE:\n * - Segment maintains a set of admin creates Source (e.g., \"composer-app\").\n * - Each source has at least one API_KEY, which is used by the client.\n *\n * Testing:\n * https://app.segment.com/dxos/sources/composer-app/settings/keys\n * - DX_TELEMETRY_API_KEY\n * - DX_SENTRY_DESTINATION\n *\n * Sentry:\n * https://sentry.io/organizations/dxos/issues\n *\n * OpenTelemetry:\n * https://dxosorg.grafana.net/explore\n */\nexport class Observability {\n private _mode: Mode;\n private readonly _namespace: string;\n private readonly _config?: Config;\n private readonly _group?: string;\n private readonly _secrets: ObservabilitySecrets;\n private readonly _tags = new Map<string, { value: string; scope: TagScope }>();\n\n // TODO(wittjosiah): Generic metrics interface.\n private _otelMetrics?: OtelMetrics;\n private _otelTraces?: OtelTraces;\n // TODO(wittjosiah): Generic telemetry interface.\n private _telemetryBatchSize: number;\n private _telemetry?: SegmentTelemetry;\n // TODO(wittjosiah): Generic error logging interface.\n private _sentryLogProcessor?: SentryLogProcessor;\n private _otelLogs?: OtelLogs;\n private _errorReportingOptions?: InitOptions;\n private _captureException?: typeof SentryCaptureException;\n private _captureUserFeedback?: (message: string) => Promise<void>;\n private _lastNetworkStatus?: NetworkStatus;\n\n private _ctx = new Context();\n\n // TODO(nf): make platform a required extension?\n constructor({\n mode,\n namespace,\n environment,\n release,\n config,\n group,\n secrets,\n telemetry,\n errorLog,\n }: ObservabilityOptions) {\n this._mode = mode;\n this._namespace = namespace;\n this._config = config;\n this._group = group;\n this._secrets = this._loadSecrets(config, secrets);\n\n this._telemetryBatchSize = telemetry?.batchSize ?? 30;\n this._errorReportingOptions = errorLog?.sentryInitOptions;\n\n // Tags.\n this.setTag('mode', this._mode);\n this.setTag('namespace', this._namespace);\n this.setTag('environment', environment);\n this.setTag('release', release);\n this.setTag('session', PublicKey.random().toHex());\n this.setTag('group', this._group);\n }\n\n get mode() {\n return this._mode;\n }\n\n get group() {\n return this._group;\n }\n\n get enabled() {\n return this._mode !== 'disabled';\n }\n\n private _loadSecrets(config: Config | undefined, secrets?: Record<string, string>) {\n if (isNode()) {\n const mergedSecrets = {\n ...(buildSecrets as ObservabilitySecrets),\n ...secrets,\n };\n\n process.env.DX_ENVIRONMENT && (mergedSecrets.DX_ENVIRONMENT = process.env.DX_ENVIRONMENT);\n process.env.DX_RELEASE && (mergedSecrets.DX_RELEASE = process.env.DX_RELEASE);\n process.env.SENTRY_DESTINATION && (mergedSecrets.SENTRY_DESTINATION = process.env.SENTRY_DESTINATION);\n process.env.TELEMETRY_API_KEY && (mergedSecrets.TELEMETRY_API_KEY = process.env.TELEMETRY_API_KEY);\n process.env.IPDATA_API_KEY && (mergedSecrets.IPDATA_API_KEY = process.env.IPDATA_API_KEY);\n process.env.DX_OTEL_ENDPOINT && (mergedSecrets.OTEL_ENDPOINT = process.env.DX_OTEL_ENDPOINT);\n process.env.DX_OTEL_AUTHORIZATION && (mergedSecrets.OTEL_AUTHORIZATION = process.env.DX_OTEL_AUTHORIZATION);\n\n return mergedSecrets;\n } else {\n log('config', { rtc: this._secrets, config });\n return {\n DX_ENVIRONMENT: config?.get('runtime.app.env.DX_ENVIRONMENT'),\n DX_RELEASE: config?.get('runtime.app.env.DX_RELEASE'),\n SENTRY_DESTINATION: config?.get('runtime.app.env.DX_SENTRY_DESTINATION'),\n TELEMETRY_API_KEY: config?.get('runtime.app.env.DX_TELEMETRY_API_KEY'),\n IPDATA_API_KEY: config?.get('runtime.app.env.DX_IPDATA_API_KEY'),\n OTEL_ENDPOINT: config?.get('runtime.app.env.DX_OTEL_ENDPOINT'),\n OTEL_AUTHORIZATION: config?.get('runtime.app.env.DX_OTEL_AUTHORIZATION'),\n ...secrets,\n };\n }\n }\n\n async initialize(): Promise<void> {\n log('initializing...');\n await this._initLogs();\n await this._initMetrics();\n await this._initTelemetry();\n await this._initErrorLogs();\n await this._initTraces();\n }\n\n async close(): Promise<void> {\n log('closing...');\n const closes: Promise<void>[] = [];\n this._telemetry && closes.push(this._telemetry.close());\n this._otelMetrics && closes.push(this._otelMetrics.close());\n this._otelLogs && closes.push(this._otelLogs.close());\n\n await Promise.all(closes);\n await this._ctx.dispose();\n }\n\n setMode(mode: Mode): void {\n this._mode = mode;\n }\n\n //\n // Tags\n //\n\n /** Callback (e.g., to share tags with Sentry.) */\n private _setTag?: (key: string, value: string) => void;\n\n /**\n * camelCase keys are converted to snake_case in Segment.\n */\n setTag(key: string, value: string | undefined, scope?: TagScope): void {\n if (value === undefined) {\n return;\n }\n if (this.enabled && (scope === undefined || scope === 'all' || scope === 'errors')) {\n this._setTag?.(key, value);\n }\n if (!scope) {\n scope = 'all';\n }\n\n this._tags.set(key, { value, scope });\n }\n\n getTag(key: string) {\n return this._tags.get(key);\n }\n\n // TODO(wittjosiah): Improve privacy of telemetry identifiers. See `getTelemetryIdentifier`.\n async setIdentityTags(clientServices: Partial<ClientServices>): Promise<void> {\n if (clientServices.IdentityService) {\n clientServices.IdentityService.queryIdentity().subscribe((idqr) => {\n if (!idqr?.identity?.did) {\n log('empty response from identity service', { idqr });\n return;\n }\n\n this.setTag('did', idqr.identity.did);\n this._telemetry?.identify({ userId: idqr.identity.did });\n });\n }\n\n if (clientServices.DevicesService) {\n clientServices.DevicesService.queryDevices().subscribe((dqr) => {\n if (!dqr || !dqr.devices || dqr.devices.length === 0) {\n log('empty response from device service', { device: dqr });\n return;\n }\n\n invariant(dqr, 'empty response from device service');\n const thisDevice = dqr.devices.find((device) => device.kind === DeviceKind.CURRENT);\n if (!thisDevice) {\n log('no current device', { device: dqr });\n return;\n }\n\n this.setTag('deviceKey', thisDevice.deviceKey.truncate());\n if (thisDevice.profile?.label) {\n this.setTag('deviceProfile', thisDevice.profile.label);\n }\n });\n }\n }\n\n setIPDataTelemetryTags = (ipData: IPData) => {\n this.setTag('city', ipData.city, 'telemetry');\n this.setTag('region', ipData.region, 'telemetry');\n this.setTag('country', ipData.country, 'telemetry');\n ipData.latitude && this.setTag('latitude', ipData.latitude.toString(), 'telemetry');\n ipData.longitude && this.setTag('longitude', ipData.longitude.toString(), 'telemetry');\n };\n\n //\n // Logs\n //\n\n private async _initLogs(): Promise<void> {\n if (this._secrets.OTEL_ENDPOINT && this._secrets.OTEL_AUTHORIZATION && this._mode !== 'disabled') {\n const { OtelLogs } = await import('./otel');\n this._otelLogs = new OtelLogs({\n endpoint: this._secrets.OTEL_ENDPOINT,\n authorizationHeader: this._secrets.OTEL_AUTHORIZATION,\n serviceName: this._namespace,\n serviceVersion: this.getTag('release')?.value ?? '0.0.0',\n getTags: () =>\n Object.fromEntries(\n Array.from(this._tags)\n .filter(([key, value]) => {\n return value.scope === 'all' || value.scope === 'errors';\n })\n .map(([key, value]) => [key, value.value]),\n ),\n logLevel: LogLevel.VERBOSE,\n includeSharedWorkerLogs: false,\n });\n this._otelLogs && log.runtimeConfig.processors.push(this._otelLogs.logProcessor);\n log('otel logs enabled', { namespace: this._namespace });\n } else {\n log('otel logs disabled');\n }\n }\n\n //\n // Metrics\n //\n\n private async _initMetrics(): Promise<void> {\n if (this.enabled && this._secrets.OTEL_ENDPOINT && this._secrets.OTEL_AUTHORIZATION) {\n const { OtelMetrics } = await import('./otel');\n this._otelMetrics = new OtelMetrics({\n endpoint: this._secrets.OTEL_ENDPOINT,\n authorizationHeader: this._secrets.OTEL_AUTHORIZATION,\n serviceName: this._namespace,\n serviceVersion: this.getTag('release')?.value ?? '0.0.0',\n getTags: () =>\n Object.fromEntries(\n Array.from(this._tags)\n .filter(([key, value]) => {\n return value.scope === 'all' || value.scope === 'metrics';\n })\n .map(([key, value]) => [key, value.value]),\n ),\n });\n log('otel metrics enabled');\n } else {\n log('otel metrics disabled');\n }\n }\n\n /**\n * Gauge metric.\n *\n * The default implementation uses OpenTelemetry\n */\n gauge(name: string, value: number | any, extraTags?: any): void {\n this._otelMetrics?.gauge(name, value, extraTags);\n }\n\n // TODO(nf): Refactor into ObservabilityExtensions.\n\n startNetworkMetrics(clientServices: Partial<ClientServices>): void {\n if (!clientServices.NetworkService) {\n return;\n }\n // TODO(nf): support type in debounce()\n const updateSignalMetrics = new Event<NetworkStatus>().debounce(NETWORK_METRICS_MIN_INTERVAL);\n updateSignalMetrics.on(this._ctx, async () => {\n log('send signal metrics');\n (this._lastNetworkStatus?.signaling as NetworkStatus.Signal[])?.forEach(({ server, state }) => {\n this.gauge('dxos.client.network.signal.connectionState', state, { server });\n });\n\n let swarmCount = 0;\n const connectionStates = new Map<string, number>();\n for (const state in ConnectionState) {\n connectionStates.set(state, 0);\n }\n\n let totalReadBufferSize = 0;\n let totalWriteBufferSize = 0;\n let totalChannelBufferSize = 0;\n\n this._lastNetworkStatus?.connectionInfo?.forEach((connectionInfo) => {\n swarmCount++;\n\n for (const conn of connectionInfo.connections ?? []) {\n connectionStates.set(conn.state, (connectionStates.get(conn.state) ?? 0) + 1);\n totalReadBufferSize += conn.readBufferSize ?? 0;\n totalWriteBufferSize += conn.writeBufferSize ?? 0;\n for (const stream of conn.streams ?? []) {\n totalChannelBufferSize += stream.writeBufferSize ?? 0;\n }\n }\n\n this.gauge('dxos.client.network.swarm.count', swarmCount);\n for (const state in ConnectionState) {\n this.gauge('dxos.client.network.connection.count', connectionStates.get(state) ?? 0, { state });\n }\n this.gauge('dxos.client.network.totalReadBufferSize', totalReadBufferSize);\n this.gauge('dxos.client.network.totalWriteBufferSize', totalWriteBufferSize);\n this.gauge('dxos.client.network.totalChannelBufferSize', totalChannelBufferSize);\n });\n });\n\n clientServices.NetworkService.queryStatus().subscribe((networkStatus) => {\n this._lastNetworkStatus = networkStatus;\n updateSignalMetrics.emit();\n });\n\n scheduleTaskInterval(this._ctx, async () => updateSignalMetrics.emit(), NETWORK_METRICS_MIN_INTERVAL);\n }\n\n startSpacesMetrics(client: Client, namespace: string): void {\n // TODO(nf): update subscription on new spaces\n const spaces = client.spaces.get();\n const subscriptions = new Map<string, { unsubscribe: () => void }>();\n this._ctx.onDispose(() => subscriptions.forEach((subscription) => subscription.unsubscribe()));\n\n const updateSpaceMetrics = new Event<Space>().debounce(SPACE_METRICS_MIN_INTERVAL);\n updateSpaceMetrics.on(this._ctx, async () => {\n log('send space metrics');\n for (const data of mapSpaces(spaces, { truncateKeys: true })) {\n this.gauge('dxos.client.space.members', data.members, { key: data.key });\n this.gauge('dxos.client.space.objects', data.objects, { key: data.key });\n this.gauge('dxos.client.space.epoch', data.epoch, { key: data.key });\n this.gauge('dxos.client.space.currentDataMutations', data.currentDataMutations, { key: data.key });\n }\n });\n\n const updateSpaceTelemetry = new Event<Space>().debounce(SPACE_TELEMETRY_MIN_INTERVAL);\n updateSpaceTelemetry.on(this._ctx, async () => {\n log('send space telemetry');\n for (const data of mapSpaces(spaces, { truncateKeys: true })) {\n this.track({\n ...getTelemetryIdentity(client),\n event: TelemetryEvent.METRICS,\n action: 'space.update',\n properties: data,\n });\n }\n });\n\n const subscribeToSpaceUpdate = (space: Space) =>\n space.pipeline.subscribe({\n next: () => {\n updateSpaceMetrics.emit();\n updateSpaceTelemetry.emit();\n },\n });\n\n spaces.forEach((space) => {\n subscriptions.set(space.id, subscribeToSpaceUpdate(space));\n });\n\n client.spaces.subscribe({\n next: async (spaces) => {\n spaces\n .filter((space) => !subscriptions.has(space.id))\n .forEach((space) => {\n subscriptions.set(space.id, subscribeToSpaceUpdate(space));\n });\n },\n });\n\n scheduleTaskInterval(this._ctx, async () => updateSpaceMetrics.emit(), NETWORK_METRICS_MIN_INTERVAL);\n }\n\n async startRuntimeMetrics(client: Client, frequency: number = NETWORK_METRICS_MIN_INTERVAL): Promise<void> {\n const platform = await client.services.services.SystemService?.getPlatform();\n invariant(platform, 'platform is required');\n\n this.setTag('platformType', Platform.PLATFORM_TYPE[platform.type as number].toLowerCase());\n if (this._mode === 'full') {\n if (platform.platform) {\n this.setTag('platform', platform.platform);\n }\n if (platform.arch) {\n this.setTag('arch', platform.arch);\n }\n if (platform.runtime) {\n this.setTag('runtime', platform.runtime);\n }\n }\n\n scheduleTaskInterval(\n this._ctx,\n async () => {\n if (client.services.constructor.name === 'WorkerClientServices') {\n const memory = (window.performance as any).memory;\n if (memory) {\n this.gauge('dxos.client.runtime.heapTotal', memory.totalJSHeapSize);\n this.gauge('dxos.client.runtime.heapUsed', memory.usedJSHeapSize);\n this.gauge('dxos.client.runtime.heapSizeLimit', memory.jsHeapSizeLimit);\n }\n }\n client.services.services.SystemService?.getPlatform()\n .then((platform) => {\n if (platform.memory) {\n this.gauge('dxos.client.services.runtime.rss', platform.memory.rss);\n this.gauge('dxos.client.services.runtime.heapTotal', platform.memory.heapTotal);\n this.gauge('dxos.client.services.runtime.heapUsed', platform.memory.heapUsed);\n }\n })\n .catch((error) => log('platform error', { error }));\n },\n frequency,\n );\n }\n\n //\n // Telemetry\n //\n\n private async _initTelemetry(): Promise<void> {\n if (this._secrets.TELEMETRY_API_KEY && this._mode !== 'disabled' && typeof document !== 'undefined') {\n const { SegmentTelemetry } = await import('./segment');\n this._telemetry = new SegmentTelemetry({\n apiKey: this._secrets.TELEMETRY_API_KEY,\n batchSize: this._telemetryBatchSize,\n getTags: () =>\n Object.fromEntries(\n Array.from(this._tags)\n .filter(([key, value]) => {\n return value.scope === 'all' || value.scope === 'telemetry';\n })\n .map(([key, value]) => [key, value.value]),\n ),\n });\n } else {\n log('segment disabled');\n }\n }\n\n /**\n * Submit telemetry page view.\n * The default implementation uses Segment.\n */\n page(options: PageOptions): void {\n this._telemetry?.page(options);\n }\n\n /**\n * Submit telemetry user action.\n * The default implementation uses Segment.\n */\n track(options: TrackOptions): void {\n this._telemetry?.track(options);\n }\n\n //\n // Error Logs\n //\n\n private async _initErrorLogs(): Promise<void> {\n if (this._secrets.SENTRY_DESTINATION && this._mode !== 'disabled') {\n const { captureException, captureUserFeedback, init, setTag } = await import('./sentry');\n const { SentryLogProcessor } = await import('./sentry/sentry-log-processor');\n this._captureException = captureException;\n this._captureUserFeedback = captureUserFeedback;\n this._setTag = setTag;\n\n // TODO(nf): Refactor package into this one?\n log.info('Initializing Sentry', {\n dest: this._secrets.SENTRY_DESTINATION,\n options: this._errorReportingOptions,\n });\n this._sentryLogProcessor = new SentryLogProcessor();\n init({\n ...this._errorReportingOptions,\n destination: this._secrets.SENTRY_DESTINATION,\n scrubFilenames: this._mode !== 'full',\n onError: (event) => this._sentryLogProcessor!.addLogBreadcrumbsTo(event),\n });\n\n // TODO(nf): Set platform at instantiation? needed for node.\n // TODO(nf): Is this different than passing as properties in options?\n this._tags.forEach((v, k) => {\n if (v.scope === 'all' || v.scope === 'errors') {\n setTag(k, v.value);\n }\n });\n } else {\n log('sentry disabled');\n }\n }\n\n startErrorLogs(): void {\n this._sentryLogProcessor && log.runtimeConfig.processors.push(this._sentryLogProcessor.logProcessor);\n }\n\n startTraces(): void {\n this._otelTraces && this._otelTraces.start();\n }\n\n // TODO(nf): Refactor init based on providers and their capabilities.\n private async _initTraces(): Promise<void> {\n if (this._secrets.OTEL_ENDPOINT && this._secrets.OTEL_AUTHORIZATION && this._mode !== 'disabled') {\n const { OtelTraces } = await import('./otel');\n this._otelTraces = new OtelTraces({\n endpoint: this._secrets.OTEL_ENDPOINT,\n authorizationHeader: this._secrets.OTEL_AUTHORIZATION,\n serviceName: this._namespace,\n serviceVersion: this.getTag('release')?.value ?? '0.0.0',\n getTags: () =>\n Object.fromEntries(\n Array.from(this._tags)\n .filter(([key, value]) => {\n return value.scope === 'all' || value.scope === 'metrics';\n })\n .map(([key, value]) => [key, value.value]),\n ),\n });\n }\n }\n\n /**\n * Manually capture an exception.\n * The default implementation uses Sentry.\n */\n captureException(err: any): void {\n if (this.enabled) {\n this._captureException?.(err);\n }\n }\n\n /**\n * Manually capture user feedback.\n * The default implementation uses Sentry.\n */\n captureUserFeedback(message: string): void {\n if (!this._secrets.SENTRY_DESTINATION) {\n log.info('Feedback submitted without Sentry destination', { message });\n return;\n }\n\n // TODO(Zan): Should this respect telemetry mode? Sending feedback is explicitly user-initiated.\n // - Maybe if telemetry is disable we shouldn't enable replay.\n // - (Check the browser.ts implementation for reference).\n void this._captureUserFeedback?.(message);\n }\n}\n", "{\n \"SENTRY_DESTINATION\": \"https://2647916221e643869965e78469479aa4@o4504012000067584.ingest.sentry.io/4504012027265029\",\n \"TELEMETRY_API_KEY\": \"B00QG6PtJJrJ0VVFe0H5a6bcUUShKyZM\",\n \"IPDATA_API_KEY\": \"73dfdecdf979c18f07d50cf841bbdd9e589f237256326ac8cca23786\",\n \"OTEL_ENDPOINT\": \"https://otlp-proxy.dxos.workers.dev\",\n \"OTEL_AUTHORIZATION\": \"Basic OTA3MzIzOmdsY19leUp2SWpvaU1URXdNVEl6TnlJc0ltNGlPaUp6ZEdGamF5MDVNRGN6TWpNdGFXNTBaV2R5WVhScGIyNHRZMnh2ZFdSbWJHRnlaUzF2ZEd4d0xYQnliM2g1SWl3aWF5STZJalZ2Tkd4cFYydE5iRmszTlRNMGJUVXpTemRTVjNBeVNpSXNJbTBpT25zaWNpSTZJbkJ5YjJRdGRYTXRaV0Z6ZEMwd0luMTk=\"\n}", "//\n// Copyright 2022 DXOS.org\n//\n\n// NOTE: localStorage is not available in web workers.\nimport * as localForage from 'localforage';\n\n// import { type Platform } from '@dxos/client-services';\n// import { type InitOptions as TelemetryInitOptions } from '@dxos/telemetry';\n\nimport type { Config } from '@dxos/client';\nimport { log } from '@dxos/log';\n\nimport type { Mode, Observability } from '../observability';\n\nimport type { IPData } from './common';\n\nexport const OBSERVABILITY_DISABLED_KEY = 'observability-disabled';\nexport const OBSERVABILITY_GROUP_KEY = 'observability-group';\n\nexport const isObservabilityDisabled = async (namespace: string): Promise<boolean> => {\n try {\n return (await localForage.getItem(`${namespace}:${OBSERVABILITY_DISABLED_KEY}`)) === 'true';\n } catch (err) {\n log.catch('Failed to check if observability is disabled, assuming it is', err);\n return true;\n }\n};\n\nexport const storeObservabilityDisabled = async (namespace: string, value: boolean) => {\n try {\n await localForage.setItem(`${namespace}:${OBSERVABILITY_DISABLED_KEY}`, String(value));\n } catch (err) {\n log.catch('Failed to store observability disabled', err);\n }\n};\n\nexport const getObservabilityGroup = async (namespace: string): Promise<string | undefined> => {\n try {\n return (await localForage.getItem(`${namespace}:${OBSERVABILITY_GROUP_KEY}`)) ?? undefined;\n } catch (err) {\n log.catch('Failed to get observability group', err);\n }\n};\n\nexport const storeObservabilityGroup = async (namespace: string, value: string) => {\n try {\n await localForage.setItem(`${namespace}:${OBSERVABILITY_GROUP_KEY}`, value);\n } catch (err) {\n log.catch('Failed to store observability group', err);\n }\n};\n\nexport type AppObservabilityOptions = {\n namespace: string;\n config: Config;\n mode?: Mode;\n tracingEnable?: boolean;\n replayEnable?: boolean;\n // TODO(nf): options for providers?\n};\n\n// TODO(wittjosiah): Store preference for disabling observability.\n// At minimum should be stored locally (i.e., localstorage), possibly in halo preference.\n// Needs to be hooked up to settings page for user visibility.\nexport const initializeAppObservability = async ({\n namespace,\n config,\n // TODO(nf): Configure mode.\n mode = 'basic',\n tracingEnable = false,\n replayEnable = false,\n}: AppObservabilityOptions): Promise<Observability> => {\n log('initializeAppObservability', { config });\n\n // const platform = (await client.services.services.SystemService?.getPlatform()) as Platform;\n // if (!platform) {\n // log.error('failed to get platform, could not initialize observability');\n // return undefined;\n // }\n\n const group = (await getObservabilityGroup(namespace)) ?? undefined;\n const release = `${namespace}@${config.get('runtime.app.build.version')}`;\n const environment = config.get('runtime.app.env.DX_ENVIRONMENT');\n\n const { Observability } = await import('../observability');\n const observability = new Observability({\n namespace,\n release,\n environment,\n group,\n mode,\n config,\n errorLog: {\n sentryInitOptions: {\n environment,\n release,\n tracing: tracingEnable,\n replay: replayEnable,\n // TODO(wittjosiah): Configure these.\n // Consider using a sampling function to dynamically configure these values.\n // https://docs.sentry.io/platforms/javascript/configuration/sampling/#setting-a-sampling-function\n sampleRate: 1.0,\n replaySampleRate: 1.0,\n replaySampleRateOnError: 1.0,\n },\n },\n });\n\n // Global kill switch.\n const observabilityDisabled = await isObservabilityDisabled(namespace);\n if (observabilityDisabled) {\n observability.setMode('disabled');\n log.info('observability disabled');\n return observability;\n }\n\n try {\n const getIPData = async (config: Config): Promise<IPData | void> => {\n const IP_DATA_CACHE_TIMEOUT = 6 * 60 * 60 * 1000; // 6 hours\n type CachedIPData = {\n data: IPData;\n timestamp: number;\n };\n\n // Check cache first.\n const cachedData: null | CachedIPData = await localForage.getItem('dxos:observability:ipdata');\n if (cachedData && cachedData.timestamp > Date.now() - IP_DATA_CACHE_TIMEOUT) {\n return cachedData.data;\n }\n\n // Fetch data if not cached.\n const IPDATA_API_KEY = config.get('runtime.app.env.DX_IPDATA_API_KEY');\n if (IPDATA_API_KEY) {\n return fetch(`https://api.ipdata.co?api-key=${IPDATA_API_KEY}`)\n .then((res) => res.json())\n .then((data) => {\n // Cache data.\n localForage\n .setItem('dxos:observability:ipdata', {\n data,\n timestamp: Date.now(),\n })\n .catch((err) => observability.captureException(err));\n\n return data;\n })\n .catch((err) => observability.captureException(err));\n }\n };\n\n // TODO(nf): plugin state?\n // TODO(nf): should provide capability to init Sentry earlier in booting process to capture errors during initialization.\n\n await observability.initialize();\n observability.startErrorLogs();\n\n const ipData = await getIPData(config);\n ipData && observability.setIPDataTelemetryTags(ipData);\n\n if (typeof navigator !== 'undefined' && navigator.storage?.estimate) {\n // TODO(burdon): Need to close.\n setInterval(async () => {\n try {\n const storageEstimate = await navigator.storage.estimate();\n storageEstimate.usage && observability.setTag('storageUsage', storageEstimate.usage.toString(), 'telemetry');\n storageEstimate.quota && observability.setTag('storageQuota', storageEstimate.quota.toString(), 'telemetry');\n } catch (error) {\n log.warn('Failed to run estimate()', error);\n }\n }, 10_000);\n }\n } catch (err: any) {\n log.error('Failed to initialize app observability', err);\n }\n\n return observability;\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport type { Client } from '@dxos/client';\n\nimport { type IdentityOptions } from '../segment';\n\nexport type IPData = {\n city: string;\n region: string;\n country: string;\n latitude: number;\n longitude: number;\n};\n\n// TODO(wittjosiah): Improve privacy of telemetry identifiers.\n// - Identifier should be generated client-side with no attachment to identity.\n// - Identifier can then be reset by user.\n// - Identifier can be synced via HALO to allow for correlation of events bewteen devices.\n// - Identifier should also be stored outside of HALO such that it is available immediately on startup.\nexport const getTelemetryIdentifier = (client: Client): string | undefined => {\n if (!client?.initialized) {\n return undefined;\n }\n\n const identity = client.halo.identity.get();\n if (identity) {\n return identity.did;\n }\n\n return undefined;\n};\n\nexport const getTelemetryIdentity = (client: Client): IdentityOptions => {\n const did = getTelemetryIdentifier(client);\n return { did };\n};\n", "//\n// Copyright 2022 DXOS.org\n//\nimport { existsSync, statSync } from 'node:fs';\nimport { mkdir, readFile, writeFile } from 'node:fs/promises';\nimport { join } from 'node:path';\n\nimport yaml from 'js-yaml';\nimport { v4 as uuid, validate as validateUuid } from 'uuid';\n\nimport type { Config } from '@dxos/client';\nimport { log } from '@dxos/log';\n\nimport { type Mode, Observability } from '../observability';\n\n/**\n * Print observability banner once per installation.\n */\nexport const showObservabilityBanner = async (configDir: string, bannercb: (input: string) => void) => {\n const path = join(configDir, '.observability-banner-printed');\n if (existsSync(path)) {\n return;\n }\n bannercb(\n // eslint-disable-next-line no-multi-str\n 'Basic observability data will be sent to the DXOS team in order to improve the product. This includes \\\n performance metrics, error logs, and usage data. No personally identifiable information, other than your \\\n public key, is included with this data and no private data ever leaves your devices. To disable sending \\\n observability data, set the environment variable DX_DISABLE_OBSERVABILITY=true.',\n );\n\n await writeFile(path, '', 'utf-8');\n};\n\nexport const getObservabilityState = async (configDir: string): Promise<PersistentObservabilityState> => {\n // check whether configDir exists and if it's a directory\n\n if (existsSync(configDir)) {\n if (!statSync(configDir).isDirectory()) {\n throw new Error(`Config directory ${configDir} exists but is not a directory`);\n }\n } else {\n await mkdir(configDir, { recursive: true });\n }\n\n const idPath = join(configDir, 'observability.yml');\n if (existsSync(idPath)) {\n const context = await readFile(idPath, 'utf-8');\n return validate(context) ?? initializeState(idPath);\n }\n\n return initializeState(idPath);\n};\n\nexport type PersistentObservabilityState = {\n installationId: string;\n group?: string;\n mode: Mode;\n};\n\n// create initial state and write to file, using environment variables to override defaults.\nconst initializeState = async (idPath: string): Promise<PersistentObservabilityState> => {\n // TODO(nf): read initial values from config or seed file\n const observabilityState = {\n installationId: uuid(),\n group: process.env.DX_OBSERVABILITY_GROUP ?? undefined,\n mode: (process.env.DX_DISABLE_OBSERVABILITY ? 'disabled' : (process.env.DX_OBSERVABILITY_MODE ?? 'basic')) as Mode,\n };\n\n await writeFile(\n idPath,\n '# This file is automatically generated by the @dxos/cli.\\n' + yaml.dump(observabilityState),\n 'utf-8',\n );\n\n return observabilityState;\n};\n\nconst validate = (contextString: string) => {\n const context = yaml.load(contextString) as PersistentObservabilityState;\n if (Boolean(context.installationId) && validateUuid(context.installationId!)) {\n return {\n ...context,\n mode: process.env.DX_DISABLE_OBSERVABILITY ? 'disabled' : (context.mode ?? 'basic'),\n };\n }\n};\n\nexport type NodeObservabilityOptions = {\n installationId: string;\n group?: string;\n namespace: string;\n version: string;\n config: Config;\n mode?: Mode;\n tracingEnable?: boolean;\n replayEnable?: boolean;\n // TODO(nf): options for providers?\n};\n\nexport const initializeNodeObservability = async ({\n namespace,\n version,\n config,\n installationId,\n group,\n mode = 'basic',\n tracingEnable = true,\n replayEnable = true,\n}: NodeObservabilityOptions): Promise<Observability> => {\n log('initializeCliObservability', { config });\n\n // TODO(nf): make CLI build populate runtime.app.build config?\n const release = `${namespace}@${version}`;\n const environment = process.env.DX_ENVIRONMENT ?? 'unknown';\n\n const observability = new Observability({\n mode,\n namespace,\n release,\n environment,\n group,\n errorLog: {\n sentryInitOptions: {\n environment,\n release,\n // TODO(wittjosiah): Configure this.\n sampleRate: 1.0,\n },\n },\n });\n\n observability.setTag('installationId', installationId);\n\n // TODO(nf): cache ipdata to avoid repeated requests\n const IPDATA_API_KEY = config.get('runtime.app.env.DX_IPDATA_API_KEY');\n try {\n const res = await fetch(`https://api.ipdata.co/?api-key=${IPDATA_API_KEY}`);\n const ipData = await res.json();\n ipData && observability.setIPDataTelemetryTags(ipData);\n } catch (err) {\n observability?.captureException(err);\n }\n\n return observability;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type { Space } from '@dxos/client-protocol';\n\nexport type MapSpacesOptions = {\n verbose?: boolean;\n truncateKeys?: boolean;\n};\n\nexport const mapSpaces = (spaces: Space[], options: MapSpacesOptions = { verbose: false, truncateKeys: false }) => {\n return spaces.map((space) => {\n // TODO(burdon): Factor out.\n // TODO(burdon): Agent needs to restart before `ready` is available.\n const { open, ready } = space.internal.data.metrics ?? {};\n const startup = open && ready && ready.getTime() - open.getTime();\n\n // TODO(burdon): Get feeds from client-services if verbose (factor out from devtools/diagnostics).\n // const host = client.services.services.DevtoolsHost!;\n const pipeline = space.internal.data.pipeline;\n const startDataMutations = pipeline?.currentEpoch?.subject.assertion.timeframe.totalMessages() ?? 0;\n const epoch = pipeline?.currentEpoch?.subject.assertion.number;\n // const appliedEpoch = pipeline?.appliedEpoch?.subject.assertion.number;\n const currentDataMutations = pipeline?.currentDataTimeframe?.totalMessages() ?? 0;\n const totalDataMutations = pipeline?.targetDataTimeframe?.totalMessages() ?? 0;\n\n return {\n // TODO(nf): truncate keys for DD?\n key: space.key.truncate(),\n open: space.isOpen,\n members: space.members.get().length,\n objects: space.db.coreDatabase.getAllObjectIds().length,\n startup,\n epoch,\n // appliedEpoch,\n startDataMutations,\n currentDataMutations,\n totalDataMutations,\n\n // TODO(burdon): Negative?\n progress: (\n Math.min(Math.abs((currentDataMutations - startDataMutations) / (totalDataMutations - startDataMutations)), 1) *\n 100\n ).toFixed(0),\n };\n });\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport type { Client } from '@dxos/client';\n\nimport { type Observability } from '../observability';\n\nimport { getTelemetryIdentity } from './common';\n\nlet lastFocusEvent = new Date();\nlet totalTime = 0;\n\nexport const setupTelemetryListeners = (namespace: string, client: Client, observability: Observability) => {\n const clickCallback = (event: Event) => {\n const id = (event.target as HTMLElement)?.id;\n if (!id) {\n return;\n }\n\n setTimeout(() => {\n observability.track({\n ...getTelemetryIdentity(client),\n action: 'window.click',\n properties: {\n id: (event.target as HTMLElement)?.id,\n path: (event.composedPath() as HTMLElement[])\n .filter((el) => Boolean(el.tagName))\n .map((el) => `${el.tagName.toLowerCase()}${el.id ? `#${el.id}` : ''}`)\n .reverse()\n .join('>'),\n },\n });\n });\n };\n\n const focusCallback = () => {\n const now = new Date();\n setTimeout(() => {\n observability.track({\n ...getTelemetryIdentity(client),\n action: 'window.focus',\n properties: {\n timeAway: now.getTime() - lastFocusEvent.getTime(),\n },\n });\n });\n\n lastFocusEvent = now;\n };\n\n const blurCallback = () => {\n const now = new Date();\n const duration = now.getTime() - lastFocusEvent.getTime();\n setTimeout(() => {\n observability.track({\n ...getTelemetryIdentity(client),\n action: 'window.blur',\n properties: {\n duration,\n },\n });\n });\n\n lastFocusEvent = now;\n totalTime = totalTime + duration;\n };\n\n const unloadCallback = () => {\n setTimeout(() => {\n observability.track({\n ...getTelemetryIdentity(client),\n action: 'page.unload',\n properties: {\n duration: totalTime,\n },\n });\n });\n };\n\n const errorCallback = (event: ErrorEvent) => {\n setTimeout(() => {\n observability.track({\n ...getTelemetryIdentity(client),\n action: 'window.error',\n properties: {\n message: event.message,\n filename: event.filename,\n stack: (event.error as Error)?.stack,\n cause: (event.error as Error)?.cause,\n },\n });\n });\n };\n\n window.addEventListener('click', clickCallback, true);\n window.addEventListener('focus', focusCallback);\n window.addEventListener('blur', blurCallback);\n window.addEventListener('beforeunload', unloadCallback);\n window.addEventListener('error', errorCallback);\n\n return () => {\n window.removeEventListener('click', clickCallback, true);\n window.removeEventListener('focus', focusCallback);\n window.removeEventListener('blur', blurCallback);\n window.removeEventListener('beforeunload', unloadCallback);\n window.removeEventListener('error', errorCallback);\n };\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Event", "scheduleTaskInterval", "PublicKey", "Context", "invariant", "LogLevel", "log", "ConnectionState", "DeviceKind", "Platform", "isNode", "localForage", "log", "OBSERVABILITY_DISABLED_KEY", "OBSERVABILITY_GROUP_KEY", "isObservabilityDisabled", "namespace", "getItem", "err", "catch", "storeObservabilityDisabled", "value", "setItem", "String", "getObservabilityGroup", "undefined", "storeObservabilityGroup", "initializeAppObservability", "config", "mode", "tracingEnable", "replayEnable", "group", "release", "get", "environment", "Observability", "observability", "errorLog", "sentryInitOptions", "tracing", "replay", "sampleRate", "replaySampleRate", "replaySampleRateOnError", "observabilityDisabled", "setMode", "info", "getIPData", "IP_DATA_CACHE_TIMEOUT", "cachedData", "timestamp", "Date", "now", "data", "IPDATA_API_KEY", "fetch", "then", "res", "json", "captureException", "initialize", "startErrorLogs", "ipData", "setIPDataTelemetryTags", "navigator", "storage", "estimate", "setInterval", "storageEstimate", "usage", "setTag", "toString", "quota", "error", "warn", "getTelemetryIdentifier", "client", "initialized", "undefined", "identity", "halo", "get", "did", "getTelemetryIdentity", "existsSync", "statSync", "mkdir", "readFile", "writeFile", "join", "yaml", "v4", "uuid", "validate", "validateUuid", "log", "showObservabilityBanner", "configDir", "bannercb", "path", "join", "existsSync", "writeFile", "getObservabilityState", "statSync", "isDirectory", "Error", "mkdir", "recursive", "idPath", "context", "readFile", "validate", "initializeState", "observabilityState", "installationId", "uuid", "group", "process", "env", "DX_OBSERVABILITY_GROUP", "undefined", "mode", "DX_DISABLE_OBSERVABILITY", "DX_OBSERVABILITY_MODE", "yaml", "dump", "contextString", "load", "Boolean", "validateUuid", "initializeNodeObservability", "namespace", "version", "config", "tracingEnable", "replayEnable", "log", "release", "environment", "DX_ENVIRONMENT", "observability", "Observability", "errorLog", "sentryInitOptions", "sampleRate", "setTag", "IPDATA_API_KEY", "get", "res", "fetch", "ipData", "json", "setIPDataTelemetryTags", "err", "captureException", "mapSpaces", "spaces", "options", "verbose", "truncateKeys", "map", "space", "open", "ready", "internal", "data", "metrics", "startup", "getTime", "pipeline", "startDataMutations", "currentEpoch", "subject", "assertion", "timeframe", "totalMessages", "epoch", "number", "currentDataMutations", "currentDataTimeframe", "totalDataMutations", "targetDataTimeframe", "key", "truncate", "isOpen", "members", "get", "length", "objects", "db", "coreDatabase", "getAllObjectIds", "progress", "Math", "min", "abs", "toFixed", "lastFocusEvent", "Date", "totalTime", "setupTelemetryListeners", "namespace", "client", "observability", "clickCallback", "event", "id", "target", "setTimeout", "track", "getTelemetryIdentity", "action", "properties", "path", "composedPath", "filter", "el", "Boolean", "tagName", "map", "toLowerCase", "reverse", "join", "focusCallback", "now", "timeAway", "getTime", "blurCallback", "duration", "unloadCallback", "errorCallback", "message", "filename", "stack", "error", "cause", "window", "addEventListener", "removeEventListener", "SPACE_METRICS_MIN_INTERVAL", "SPACE_TELEMETRY_MIN_INTERVAL", "NETWORK_METRICS_MIN_INTERVAL", "Observability", "
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Event", "scheduleTaskInterval", "PublicKey", "Context", "invariant", "LogLevel", "log", "ConnectionState", "DeviceKind", "Platform", "isNode", "localForage", "log", "OBSERVABILITY_DISABLED_KEY", "OBSERVABILITY_GROUP_KEY", "isObservabilityDisabled", "namespace", "getItem", "err", "catch", "storeObservabilityDisabled", "value", "setItem", "String", "getObservabilityGroup", "undefined", "storeObservabilityGroup", "initializeAppObservability", "config", "mode", "tracingEnable", "replayEnable", "group", "release", "get", "environment", "Observability", "observability", "errorLog", "sentryInitOptions", "tracing", "replay", "sampleRate", "replaySampleRate", "replaySampleRateOnError", "observabilityDisabled", "setMode", "info", "getIPData", "IP_DATA_CACHE_TIMEOUT", "cachedData", "timestamp", "Date", "now", "data", "IPDATA_API_KEY", "fetch", "then", "res", "json", "captureException", "initialize", "startErrorLogs", "ipData", "setIPDataTelemetryTags", "navigator", "storage", "estimate", "setInterval", "storageEstimate", "usage", "setTag", "toString", "quota", "error", "warn", "getTelemetryIdentifier", "client", "initialized", "undefined", "identity", "halo", "get", "did", "getTelemetryIdentity", "existsSync", "statSync", "mkdir", "readFile", "writeFile", "join", "yaml", "v4", "uuid", "validate", "validateUuid", "log", "showObservabilityBanner", "configDir", "bannercb", "path", "join", "existsSync", "writeFile", "getObservabilityState", "statSync", "isDirectory", "Error", "mkdir", "recursive", "idPath", "context", "readFile", "validate", "initializeState", "observabilityState", "installationId", "uuid", "group", "process", "env", "DX_OBSERVABILITY_GROUP", "undefined", "mode", "DX_DISABLE_OBSERVABILITY", "DX_OBSERVABILITY_MODE", "yaml", "dump", "contextString", "load", "Boolean", "validateUuid", "initializeNodeObservability", "namespace", "version", "config", "tracingEnable", "replayEnable", "log", "release", "environment", "DX_ENVIRONMENT", "observability", "Observability", "errorLog", "sentryInitOptions", "sampleRate", "setTag", "IPDATA_API_KEY", "get", "res", "fetch", "ipData", "json", "setIPDataTelemetryTags", "err", "captureException", "mapSpaces", "spaces", "options", "verbose", "truncateKeys", "map", "space", "open", "ready", "internal", "data", "metrics", "startup", "getTime", "pipeline", "startDataMutations", "currentEpoch", "subject", "assertion", "timeframe", "totalMessages", "epoch", "number", "currentDataMutations", "currentDataTimeframe", "totalDataMutations", "targetDataTimeframe", "key", "truncate", "isOpen", "members", "get", "length", "objects", "db", "coreDatabase", "getAllObjectIds", "progress", "Math", "min", "abs", "toFixed", "lastFocusEvent", "Date", "totalTime", "setupTelemetryListeners", "namespace", "client", "observability", "clickCallback", "event", "id", "target", "setTimeout", "track", "getTelemetryIdentity", "action", "properties", "path", "composedPath", "filter", "el", "Boolean", "tagName", "map", "toLowerCase", "reverse", "join", "focusCallback", "now", "timeAway", "getTime", "blurCallback", "duration", "unloadCallback", "errorCallback", "message", "filename", "stack", "error", "cause", "window", "addEventListener", "removeEventListener", "SPACE_METRICS_MIN_INTERVAL", "SPACE_TELEMETRY_MIN_INTERVAL", "NETWORK_METRICS_MIN_INTERVAL", "Observability", "_mode", "_namespace", "_config", "_group", "_secrets", "_tags", "Map", "_otelMetrics", "_otelTraces", "_telemetryBatchSize", "_telemetry", "_sentryLogProcessor", "_otelLogs", "_errorReportingOptions", "_captureException", "_captureUserFeedback", "_lastNetworkStatus", "_ctx", "Context", "mode", "namespace", "environment", "release", "config", "group", "secrets", "telemetry", "errorLog", "_loadSecrets", "batchSize", "sentryInitOptions", "setTag", "PublicKey", "random", "toHex", "enabled", "isNode", "mergedSecrets", "buildSecrets", "process", "env", "DX_ENVIRONMENT", "DX_RELEASE", "SENTRY_DESTINATION", "TELEMETRY_API_KEY", "IPDATA_API_KEY", "DX_OTEL_ENDPOINT", "OTEL_ENDPOINT", "DX_OTEL_AUTHORIZATION", "OTEL_AUTHORIZATION", "log", "rtc", "get", "initialize", "_initLogs", "_initMetrics", "_initTelemetry", "_initErrorLogs", "_initTraces", "close", "closes", "push", "Promise", "all", "dispose", "setMode", "_setTag", "key", "value", "scope", "undefined", "set", "getTag", "setIdentityTags", "clientServices", "IdentityService", "queryIdentity", "subscribe", "idqr", "identity", "did", "identify", "userId", "DevicesService", "queryDevices", "dqr", "devices", "length", "device", "invariant", "thisDevice", "find", "kind", "DeviceKind", "CURRENT", "deviceKey", "truncate", "profile", "label", "setIPDataTelemetryTags", "ipData", "city", "region", "country", "latitude", "toString", "longitude", "OtelLogs", "endpoint", "authorizationHeader", "serviceName", "serviceVersion", "getTags", "Object", "fromEntries", "Array", "from", "filter", "map", "logLevel", "LogLevel", "VERBOSE", "includeSharedWorkerLogs", "runtimeConfig", "processors", "logProcessor", "OtelMetrics", "gauge", "name", "extraTags", "startNetworkMetrics", "NetworkService", "updateSignalMetrics", "Event", "debounce", "on", "signaling", "forEach", "server", "state", "swarmCount", "connectionStates", "ConnectionState", "totalReadBufferSize", "totalWriteBufferSize", "totalChannelBufferSize", "connectionInfo", "conn", "connections", "readBufferSize", "writeBufferSize", "stream", "streams", "queryStatus", "networkStatus", "emit", "scheduleTaskInterval", "startSpacesMetrics", "client", "spaces", "subscriptions", "onDispose", "subscription", "unsubscribe", "updateSpaceMetrics", "data", "mapSpaces", "truncateKeys", "members", "objects", "epoch", "currentDataMutations", "updateSpaceTelemetry", "track", "getTelemetryIdentity", "event", "TelemetryEvent", "METRICS", "action", "properties", "subscribeToSpaceUpdate", "space", "pipeline", "next", "id", "has", "startRuntimeMetrics", "frequency", "platform", "services", "SystemService", "getPlatform", "Platform", "PLATFORM_TYPE", "type", "toLowerCase", "arch", "runtime", "memory", "window", "performance", "totalJSHeapSize", "usedJSHeapSize", "jsHeapSizeLimit", "then", "rss", "heapTotal", "heapUsed", "catch", "error", "document", "SegmentTelemetry", "apiKey", "page", "options", "captureException", "captureUserFeedback", "init", "SentryLogProcessor", "info", "dest", "destination", "scrubFilenames", "onError", "addLogBreadcrumbsTo", "v", "k", "startErrorLogs", "startTraces", "start", "OtelTraces", "err", "message"]
|
|
7
7
|
}
|
|
@@ -19,19 +19,6 @@ var TelemetryEvent = /* @__PURE__ */ (function(TelemetryEvent2) {
|
|
|
19
19
|
})({});
|
|
20
20
|
|
|
21
21
|
// src/segment/base.ts
|
|
22
|
-
function _define_property(obj, key, value) {
|
|
23
|
-
if (key in obj) {
|
|
24
|
-
Object.defineProperty(obj, key, {
|
|
25
|
-
value,
|
|
26
|
-
enumerable: true,
|
|
27
|
-
configurable: true,
|
|
28
|
-
writable: true
|
|
29
|
-
});
|
|
30
|
-
} else {
|
|
31
|
-
obj[key] = value;
|
|
32
|
-
}
|
|
33
|
-
return obj;
|
|
34
|
-
}
|
|
35
22
|
var __dxlog_file = "/__w/dxos/dxos/packages/sdk/observability/src/segment/base.ts";
|
|
36
23
|
var getIdentityOptions = ({ did, installationId }) => {
|
|
37
24
|
if (!did && !installationId) {
|
|
@@ -48,6 +35,10 @@ var getIdentityOptions = ({ did, installationId }) => {
|
|
|
48
35
|
};
|
|
49
36
|
};
|
|
50
37
|
var AbstractSegmentTelemetry = class {
|
|
38
|
+
_getTags;
|
|
39
|
+
constructor(_getTags) {
|
|
40
|
+
this._getTags = _getTags;
|
|
41
|
+
}
|
|
51
42
|
createPageProps(options) {
|
|
52
43
|
const { properties, ...rest } = options;
|
|
53
44
|
return {
|
|
@@ -72,28 +63,37 @@ var AbstractSegmentTelemetry = class {
|
|
|
72
63
|
}
|
|
73
64
|
};
|
|
74
65
|
}
|
|
75
|
-
constructor(_getTags) {
|
|
76
|
-
_define_property(this, "_getTags", void 0);
|
|
77
|
-
this._getTags = _getTags;
|
|
78
|
-
}
|
|
79
66
|
};
|
|
80
67
|
|
|
81
68
|
// src/segment/node.ts
|
|
82
|
-
function _define_property2(obj, key, value) {
|
|
83
|
-
if (key in obj) {
|
|
84
|
-
Object.defineProperty(obj, key, {
|
|
85
|
-
value,
|
|
86
|
-
enumerable: true,
|
|
87
|
-
configurable: true,
|
|
88
|
-
writable: true
|
|
89
|
-
});
|
|
90
|
-
} else {
|
|
91
|
-
obj[key] = value;
|
|
92
|
-
}
|
|
93
|
-
return obj;
|
|
94
|
-
}
|
|
95
69
|
var __dxlog_file2 = "/__w/dxos/dxos/packages/sdk/observability/src/segment/node.ts";
|
|
96
70
|
var SegmentTelemetry = class extends AbstractSegmentTelemetry {
|
|
71
|
+
_analytics;
|
|
72
|
+
constructor({ apiKey, batchSize, getTags }) {
|
|
73
|
+
super(getTags);
|
|
74
|
+
try {
|
|
75
|
+
invariant(apiKey, "Missing API key.", {
|
|
76
|
+
F: __dxlog_file2,
|
|
77
|
+
L: 24,
|
|
78
|
+
S: this,
|
|
79
|
+
A: [
|
|
80
|
+
"apiKey",
|
|
81
|
+
"'Missing API key.'"
|
|
82
|
+
]
|
|
83
|
+
});
|
|
84
|
+
this._analytics = new Analytics({
|
|
85
|
+
writeKey: apiKey,
|
|
86
|
+
flushAt: batchSize
|
|
87
|
+
});
|
|
88
|
+
} catch (err) {
|
|
89
|
+
log2.catch("Failed to initialize telemetry", err, {
|
|
90
|
+
F: __dxlog_file2,
|
|
91
|
+
L: 30,
|
|
92
|
+
S: this,
|
|
93
|
+
C: (f, a) => f(...a)
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
97
|
identify(options) {
|
|
98
98
|
if (!this._analytics) {
|
|
99
99
|
log2("Analytics not initialized", {
|
|
@@ -195,35 +195,10 @@ var SegmentTelemetry = class extends AbstractSegmentTelemetry {
|
|
|
195
195
|
}
|
|
196
196
|
await this._analytics.closeAndFlush();
|
|
197
197
|
}
|
|
198
|
-
constructor({ apiKey, batchSize, getTags }) {
|
|
199
|
-
super(getTags), _define_property2(this, "_analytics", void 0);
|
|
200
|
-
try {
|
|
201
|
-
invariant(apiKey, "Missing API key.", {
|
|
202
|
-
F: __dxlog_file2,
|
|
203
|
-
L: 24,
|
|
204
|
-
S: this,
|
|
205
|
-
A: [
|
|
206
|
-
"apiKey",
|
|
207
|
-
"'Missing API key.'"
|
|
208
|
-
]
|
|
209
|
-
});
|
|
210
|
-
this._analytics = new Analytics({
|
|
211
|
-
writeKey: apiKey,
|
|
212
|
-
flushAt: batchSize
|
|
213
|
-
});
|
|
214
|
-
} catch (err) {
|
|
215
|
-
log2.catch("Failed to initialize telemetry", err, {
|
|
216
|
-
F: __dxlog_file2,
|
|
217
|
-
L: 30,
|
|
218
|
-
S: this,
|
|
219
|
-
C: (f, a) => f(...a)
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
198
|
};
|
|
224
199
|
|
|
225
200
|
export {
|
|
226
201
|
TelemetryEvent,
|
|
227
202
|
SegmentTelemetry
|
|
228
203
|
};
|
|
229
|
-
//# sourceMappingURL=chunk-
|
|
204
|
+
//# sourceMappingURL=chunk-OJV247NY.mjs.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/segment/node.ts", "../../../src/segment/base.ts", "../../../src/segment/types.ts"],
|
|
4
4
|
"sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport { Analytics, type IdentifyParams } from '@segment/analytics-node';\n\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\n\nimport { captureException } from '../sentry';\n\nimport { AbstractSegmentTelemetry } from './base';\nimport type { PageOptions, SegmentTelemetryOptions, TrackOptions } from './types';\n\n/**\n * Node telemetry.\n */\nexport class SegmentTelemetry extends AbstractSegmentTelemetry {\n private _analytics?: Analytics;\n\n constructor({ apiKey, batchSize, getTags }: SegmentTelemetryOptions) {\n super(getTags);\n try {\n invariant(apiKey, 'Missing API key.');\n this._analytics = new Analytics({\n writeKey: apiKey,\n flushAt: batchSize,\n });\n } catch (err) {\n log.catch('Failed to initialize telemetry', err);\n }\n }\n\n identify(options: IdentifyParams): void {\n if (!this._analytics) {\n log('Analytics not initialized', { action: 'identify' });\n return;\n }\n\n try {\n this._analytics.identify(options);\n } catch (err) {\n log.catch('Failed to identify', err);\n }\n }\n\n page(options: PageOptions): void {\n if (!this._analytics) {\n log('Analytics not initialized', { action: 'page' });\n return;\n }\n\n try {\n this._analytics.page(this.createPageProps(options));\n } catch (err) {\n log.catch('Failed to track page', err);\n }\n }\n\n track(options: TrackOptions): void {\n if (!this._analytics) {\n log('Analytics not initialized', { action: 'track' });\n return;\n }\n\n log.info('sending event to telemetry', { options });\n try {\n this._analytics.track(this.createTrackProps(options));\n } catch (err) {\n log.catch('Failed to track action', err);\n }\n }\n\n async flush(): Promise<void> {\n if (!this._analytics) {\n log('Analytics not initialized', { action: 'flush' });\n return;\n }\n\n try {\n await this._analytics.flush();\n } catch (err) {\n // are these errors worth capturing?\n captureException(err);\n }\n }\n\n async close(): Promise<void> {\n if (!this._analytics) {\n return;\n }\n\n await this._analytics.closeAndFlush();\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type IdentifyParams, type PageParams, type TrackParams } from '@segment/analytics-node';\n\nimport { log } from '@dxos/log';\n\nimport {\n type IdentityOptions,\n type PageOptions,\n type SegmentIdentityOptions,\n type Tags,\n TelemetryEvent,\n type TrackOptions,\n} from './types';\n\n/**\n * NOTE: Segment provides a default ID if we don't provide one.\n */\nconst getIdentityOptions = ({ did, installationId }: IdentityOptions): SegmentIdentityOptions => {\n if (!did && !installationId) {\n log.warn('No telemetry identifier provided.');\n }\n\n return {\n userId: did,\n anonymousId: installationId,\n } as SegmentIdentityOptions;\n};\n\n/**\n * Base class for Node and BrowserSegment telemetry.\n */\nexport abstract class AbstractSegmentTelemetry {\n constructor(private readonly _getTags: () => Tags) {}\n\n abstract identify(options: IdentifyParams): void;\n\n abstract page(options: PageOptions): void;\n\n abstract track(options: TrackOptions): void;\n\n protected createPageProps(options: PageOptions): PageParams {\n const { properties, ...rest } = options;\n return {\n ...getIdentityOptions(options),\n ...rest,\n properties: {\n common: this._getTags(),\n custom: properties,\n },\n };\n }\n\n protected createTrackProps(options: TrackOptions): TrackParams {\n const { event, action, properties, ...rest } = options;\n return {\n ...getIdentityOptions(options),\n ...rest,\n event: event ?? TelemetryEvent.ACTION,\n properties: {\n action,\n common: this._getTags(),\n custom: properties,\n },\n };\n }\n}\n", "//\n// Copyright 2022 DXOS.org\n//\n\nexport type Tags = Record<string, string>;\n\nexport type SegmentTelemetryOptions = {\n apiKey?: string;\n batchSize?: number;\n enable?: boolean;\n getTags: () => Tags;\n};\n\n// Copied from @segment/analytics-node.\nexport type SegmentIdentityOptions =\n | { userId: string; anonymousId?: string }\n | { userId?: string; anonymousId: string };\n\n// TODO(burdon): Should require one or the other.\nexport type IdentityOptions = { did?: string; installationId?: string };\n\nexport type CommonOptions = IdentityOptions & {\n timestamp?: Date;\n properties?: Record<string, unknown>;\n};\n\n/**\n * Page views.\n * https://segment.com/docs/connections/sources/catalog/libraries/server/node/#page\n */\nexport type PageOptions = CommonOptions & {\n category?: string;\n name?: string;\n};\n\n/**\n * Track actions.\n * https://segment.com/docs/connections/sources/catalog/libraries/server/node/#track\n */\nexport type TrackOptions = CommonOptions & {\n event?: TelemetryEvent;\n action: string;\n};\n\n/**\n * Each event will be mapped to a different Postgres table via segment.\n */\nexport enum TelemetryEvent {\n /**\n * Use actions.\n */\n ACTION = 'action',\n /**\n * High-volume technical metrics.\n */\n METRICS = 'metrics',\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,SAASA,iBAAsC;AAE/C,SAASC,iBAAiB;AAC1B,SAASC,OAAAA,YAAW;;;ACDpB,SAASC,WAAW;;;ACyCb,IAAKC,iBAAAA,0BAAAA,iBAAAA;AAGT,EAAAA,gBAAA,QAAA,IAAA;AAIA,EAAAA,gBAAA,SAAA,IAAA;SAPSA
|
|
6
|
-
"names": ["Analytics", "invariant", "log", "log", "TelemetryEvent", "getIdentityOptions", "did", "installationId", "log", "warn", "userId", "anonymousId", "AbstractSegmentTelemetry", "createPageProps", "options", "properties", "rest", "common", "
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Analytics", "invariant", "log", "log", "TelemetryEvent", "getIdentityOptions", "did", "installationId", "log", "warn", "userId", "anonymousId", "AbstractSegmentTelemetry", "_getTags", "createPageProps", "options", "properties", "rest", "common", "custom", "createTrackProps", "event", "action", "TelemetryEvent", "ACTION", "SegmentTelemetry", "AbstractSegmentTelemetry", "_analytics", "apiKey", "batchSize", "getTags", "invariant", "Analytics", "writeKey", "flushAt", "err", "log", "catch", "identify", "options", "action", "page", "createPageProps", "track", "info", "createTrackProps", "flush", "captureException", "close", "closeAndFlush"]
|
|
7
7
|
}
|
|
@@ -15,8 +15,8 @@ import {
|
|
|
15
15
|
showObservabilityBanner,
|
|
16
16
|
storeObservabilityDisabled,
|
|
17
17
|
storeObservabilityGroup
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-JJS4CBLT.mjs";
|
|
19
|
+
import "./chunk-OJV247NY.mjs";
|
|
20
20
|
import "./chunk-QUZL7LKE.mjs";
|
|
21
21
|
import "./chunk-QK5IUYVA.mjs";
|
|
22
22
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/cli-observability-secrets.json":{"bytes":593,"imports":[]},"src/sentry/node.ts":{"bytes":13833,"imports":[{"path":"@sentry/node","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@sentry/node","kind":"import-statement","external":true}],"format":"esm"},"src/sentry/index.ts":{"bytes":492,"imports":[{"path":"src/sentry/node.ts","kind":"import-statement","original":"./node"}],"format":"esm"},"src/segment/types.ts":{"bytes":2514,"imports":[],"format":"esm"},"src/segment/base.ts":{"bytes":5630,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/segment/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/segment/node.ts":{"bytes":9880,"imports":[{"path":"@segment/analytics-node","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/sentry/index.ts","kind":"import-statement","original":"../sentry"},{"path":"src/segment/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"src/segment/index.ts":{"bytes":534,"imports":[{"path":"src/segment/node.ts","kind":"import-statement","original":"./node"},{"path":"src/segment/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/otel/otel.ts":{"bytes":1907,"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true}],"format":"esm"},"src/otel/logs.ts":{"bytes":11493,"imports":[{"path":"@opentelemetry/api-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-logs-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/otel/otel.ts","kind":"import-statement","original":"./otel"}],"format":"esm"},"src/otel/metrics.ts":{"bytes":14383,"imports":[{"path":"@opentelemetry/exporter-metrics-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-metrics","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"src/otel/otel.ts","kind":"import-statement","original":"./otel"}],"format":"esm"},"src/otel/traces.ts":{"bytes":7372,"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-trace-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-base","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true}],"format":"esm"},"src/otel/index.ts":{"bytes":699,"imports":[{"path":"src/otel/otel.ts","kind":"import-statement","original":"./otel"},{"path":"src/otel/logs.ts","kind":"import-statement","original":"./logs"},{"path":"src/otel/metrics.ts","kind":"import-statement","original":"./metrics"},{"path":"src/otel/traces.ts","kind":"import-statement","original":"./traces"}],"format":"esm"},"src/sentry/sentry-log-processor.ts":{"bytes":21263,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/sentry/node.ts","kind":"import-statement","original":"./node"}],"format":"esm"},"src/observability.ts":{"bytes":78122,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/cli-observability-secrets.json","kind":"import-statement","original":"./cli-observability-secrets.json"},{"path":"src/helpers/index.ts","kind":"import-statement","original":"./helpers"},{"path":"src/segment/index.ts","kind":"import-statement","original":"./segment"},{"path":"src/otel/index.ts","kind":"dynamic-import","original":"./otel"},{"path":"src/otel/index.ts","kind":"dynamic-import","original":"./otel"},{"path":"src/segment/index.ts","kind":"dynamic-import","original":"./segment"},{"path":"src/sentry/index.ts","kind":"dynamic-import","original":"./sentry"},{"path":"src/sentry/sentry-log-processor.ts","kind":"dynamic-import","original":"./sentry/sentry-log-processor"},{"path":"src/otel/index.ts","kind":"dynamic-import","original":"./otel"}],"format":"esm"},"src/helpers/browser-observability.ts":{"bytes":20088,"imports":[{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/observability.ts","kind":"dynamic-import","original":"../observability"}],"format":"esm"},"src/helpers/common.ts":{"bytes":3121,"imports":[],"format":"esm"},"src/helpers/node-observability.ts":{"bytes":14187,"imports":[{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"js-yaml","kind":"import-statement","external":true},{"path":"uuid","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/observability.ts","kind":"import-statement","original":"../observability"}],"format":"esm"},"src/helpers/map-spaces.ts":{"bytes":6364,"imports":[],"format":"esm"},"src/helpers/setup-telemetry-listeners.ts":{"bytes":10343,"imports":[{"path":"src/helpers/common.ts","kind":"import-statement","original":"./common"}],"format":"esm"},"src/helpers/index.ts":{"bytes":917,"imports":[{"path":"src/helpers/browser-observability.ts","kind":"import-statement","original":"./browser-observability"},{"path":"src/helpers/common.ts","kind":"import-statement","original":"./common"},{"path":"src/helpers/node-observability.ts","kind":"import-statement","original":"./node-observability"},{"path":"src/helpers/map-spaces.ts","kind":"import-statement","original":"./map-spaces"},{"path":"src/helpers/setup-telemetry-listeners.ts","kind":"import-statement","original":"./setup-telemetry-listeners"}],"format":"esm"},"src/index.ts":{"bytes":553,"imports":[{"path":"src/helpers/index.ts","kind":"import-statement","original":"./helpers"},{"path":"src/observability.ts","kind":"import-statement","original":"./observability"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-4EWQFQ2F.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-24NMRR4E.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-QUZL7LKE.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-QK5IUYVA.mjs","kind":"import-statement"}],"exports":["OBSERVABILITY_DISABLED_KEY","OBSERVABILITY_GROUP_KEY","Observability","getObservabilityGroup","getObservabilityState","getTelemetryIdentifier","getTelemetryIdentity","initializeAppObservability","initializeNodeObservability","isObservabilityDisabled","mapSpaces","setupTelemetryListeners","showObservabilityBanner","storeObservabilityDisabled","storeObservabilityGroup"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0}},"bytes":1042},"dist/lib/node-esm/segment/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/segment/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-24NMRR4E.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-QUZL7LKE.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-QK5IUYVA.mjs","kind":"import-statement"}],"exports":["SegmentTelemetry","TelemetryEvent"],"entryPoint":"src/segment/index.ts","inputs":{},"bytes":318},"dist/lib/node-esm/sentry/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/sentry/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-QUZL7LKE.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-QK5IUYVA.mjs","kind":"import-statement"}],"exports":["addBreadcrumb","captureException","captureMessage","captureUserFeedback","init","setTag","setTags","setUser","withScope"],"entryPoint":"src/sentry/index.ts","inputs":{},"bytes":472},"dist/lib/node-esm/otel-KHSGBROB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":17943},"dist/lib/node-esm/otel-KHSGBROB.mjs":{"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true},{"path":"@opentelemetry/api-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-logs-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-metrics-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-metrics","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@opentelemetry/api","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-trace-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-base","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true}],"exports":["OtelLogs","OtelMetrics","OtelTraces","setDiagLogger"],"entryPoint":"src/otel/index.ts","inputs":{"src/otel/otel.ts":{"bytesInOutput":229},"src/otel/index.ts":{"bytesInOutput":0},"src/otel/logs.ts":{"bytesInOutput":2878},"src/otel/metrics.ts":{"bytesInOutput":3942},"src/otel/traces.ts":{"bytesInOutput":2135}},"bytes":9477},"dist/lib/node-esm/sentry-log-processor-3BDS4BB4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10701},"dist/lib/node-esm/sentry-log-processor-3BDS4BB4.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-QK5IUYVA.mjs","kind":"import-statement"},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["SentryLogProcessor"],"entryPoint":"src/sentry/sentry-log-processor.ts","inputs":{"src/sentry/sentry-log-processor.ts":{"bytesInOutput":5226}},"bytes":5539},"dist/lib/node-esm/observability-DHNVVRC7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/observability-DHNVVRC7.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-4EWQFQ2F.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-24NMRR4E.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-QUZL7LKE.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-QK5IUYVA.mjs","kind":"import-statement"}],"exports":["Observability"],"entryPoint":"src/observability.ts","inputs":{},"bytes":321},"dist/lib/node-esm/chunk-4EWQFQ2F.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":65013},"dist/lib/node-esm/chunk-4EWQFQ2F.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-24NMRR4E.mjs","kind":"import-statement"},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/observability-DHNVVRC7.mjs","kind":"dynamic-import"},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"js-yaml","kind":"import-statement","external":true},{"path":"uuid","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/otel-KHSGBROB.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/otel-KHSGBROB.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/segment/index.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/sentry/index.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/sentry-log-processor-3BDS4BB4.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/otel-KHSGBROB.mjs","kind":"dynamic-import"}],"exports":["OBSERVABILITY_DISABLED_KEY","OBSERVABILITY_GROUP_KEY","Observability","getObservabilityGroup","getObservabilityState","getTelemetryIdentifier","getTelemetryIdentity","initializeAppObservability","initializeNodeObservability","isObservabilityDisabled","mapSpaces","setupTelemetryListeners","showObservabilityBanner","storeObservabilityDisabled","storeObservabilityGroup"],"inputs":{"src/observability.ts":{"bytesInOutput":20602},"src/cli-observability-secrets.json":{"bytesInOutput":625},"src/helpers/browser-observability.ts":{"bytesInOutput":5032},"src/helpers/index.ts":{"bytesInOutput":0},"src/helpers/common.ts":{"bytesInOutput":324},"src/helpers/node-observability.ts":{"bytesInOutput":3402},"src/helpers/map-spaces.ts":{"bytesInOutput":1192},"src/helpers/setup-telemetry-listeners.ts":{"bytesInOutput":2542}},"bytes":34579},"dist/lib/node-esm/chunk-24NMRR4E.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8287},"dist/lib/node-esm/chunk-24NMRR4E.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-QK5IUYVA.mjs","kind":"import-statement"},{"path":"@segment/analytics-node","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["SegmentTelemetry","TelemetryEvent"],"inputs":{"src/segment/node.ts":{"bytesInOutput":3199},"src/segment/base.ts":{"bytesInOutput":1379},"src/segment/types.ts":{"bytesInOutput":182},"src/segment/index.ts":{"bytesInOutput":0}},"bytes":5126},"dist/lib/node-esm/chunk-QUZL7LKE.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/chunk-QUZL7LKE.mjs":{"imports":[],"exports":[],"inputs":{"src/sentry/index.ts":{"bytesInOutput":0}},"bytes":136},"dist/lib/node-esm/chunk-QK5IUYVA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6673},"dist/lib/node-esm/chunk-QK5IUYVA.mjs":{"imports":[{"path":"@sentry/node","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@sentry/node","kind":"import-statement","external":true}],"exports":["addBreadcrumb","captureException","captureMessage","captureUserFeedback","init","setTag","setTags","setUser","withScope"],"inputs":{"src/sentry/node.ts":{"bytesInOutput":3387}},"bytes":3700}}}
|
|
1
|
+
{"inputs":{"src/cli-observability-secrets.json":{"bytes":593,"imports":[]},"src/sentry/node.ts":{"bytes":13833,"imports":[{"path":"@sentry/node","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@sentry/node","kind":"import-statement","external":true}],"format":"esm"},"src/sentry/index.ts":{"bytes":492,"imports":[{"path":"src/sentry/node.ts","kind":"import-statement","original":"./node"}],"format":"esm"},"src/segment/types.ts":{"bytes":2514,"imports":[],"format":"esm"},"src/segment/base.ts":{"bytes":5273,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/segment/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/segment/node.ts":{"bytes":9519,"imports":[{"path":"@segment/analytics-node","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/sentry/index.ts","kind":"import-statement","original":"../sentry"},{"path":"src/segment/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"src/segment/index.ts":{"bytes":534,"imports":[{"path":"src/segment/node.ts","kind":"import-statement","original":"./node"},{"path":"src/segment/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/otel/otel.ts":{"bytes":1907,"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true}],"format":"esm"},"src/otel/logs.ts":{"bytes":10897,"imports":[{"path":"@opentelemetry/api-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-logs-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/otel/otel.ts","kind":"import-statement","original":"./otel"}],"format":"esm"},"src/otel/metrics.ts":{"bytes":13918,"imports":[{"path":"@opentelemetry/exporter-metrics-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-metrics","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"src/otel/otel.ts","kind":"import-statement","original":"./otel"}],"format":"esm"},"src/otel/traces.ts":{"bytes":6961,"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-trace-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-base","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true}],"format":"esm"},"src/otel/index.ts":{"bytes":699,"imports":[{"path":"src/otel/otel.ts","kind":"import-statement","original":"./otel"},{"path":"src/otel/logs.ts","kind":"import-statement","original":"./logs"},{"path":"src/otel/metrics.ts","kind":"import-statement","original":"./metrics"},{"path":"src/otel/traces.ts","kind":"import-statement","original":"./traces"}],"format":"esm"},"src/sentry/sentry-log-processor.ts":{"bytes":20520,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/sentry/node.ts","kind":"import-statement","original":"./node"}],"format":"esm"},"src/observability.ts":{"bytes":76912,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/cli-observability-secrets.json","kind":"import-statement","original":"./cli-observability-secrets.json"},{"path":"src/helpers/index.ts","kind":"import-statement","original":"./helpers"},{"path":"src/segment/index.ts","kind":"import-statement","original":"./segment"},{"path":"src/otel/index.ts","kind":"dynamic-import","original":"./otel"},{"path":"src/otel/index.ts","kind":"dynamic-import","original":"./otel"},{"path":"src/segment/index.ts","kind":"dynamic-import","original":"./segment"},{"path":"src/sentry/index.ts","kind":"dynamic-import","original":"./sentry"},{"path":"src/sentry/sentry-log-processor.ts","kind":"dynamic-import","original":"./sentry/sentry-log-processor"},{"path":"src/otel/index.ts","kind":"dynamic-import","original":"./otel"}],"format":"esm"},"src/helpers/browser-observability.ts":{"bytes":20089,"imports":[{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/observability.ts","kind":"dynamic-import","original":"../observability"}],"format":"esm"},"src/helpers/common.ts":{"bytes":3121,"imports":[],"format":"esm"},"src/helpers/node-observability.ts":{"bytes":14187,"imports":[{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"js-yaml","kind":"import-statement","external":true},{"path":"uuid","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/observability.ts","kind":"import-statement","original":"../observability"}],"format":"esm"},"src/helpers/map-spaces.ts":{"bytes":6364,"imports":[],"format":"esm"},"src/helpers/setup-telemetry-listeners.ts":{"bytes":10343,"imports":[{"path":"src/helpers/common.ts","kind":"import-statement","original":"./common"}],"format":"esm"},"src/helpers/index.ts":{"bytes":917,"imports":[{"path":"src/helpers/browser-observability.ts","kind":"import-statement","original":"./browser-observability"},{"path":"src/helpers/common.ts","kind":"import-statement","original":"./common"},{"path":"src/helpers/node-observability.ts","kind":"import-statement","original":"./node-observability"},{"path":"src/helpers/map-spaces.ts","kind":"import-statement","original":"./map-spaces"},{"path":"src/helpers/setup-telemetry-listeners.ts","kind":"import-statement","original":"./setup-telemetry-listeners"}],"format":"esm"},"src/index.ts":{"bytes":553,"imports":[{"path":"src/helpers/index.ts","kind":"import-statement","original":"./helpers"},{"path":"src/observability.ts","kind":"import-statement","original":"./observability"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-JJS4CBLT.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-OJV247NY.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-QUZL7LKE.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-QK5IUYVA.mjs","kind":"import-statement"}],"exports":["OBSERVABILITY_DISABLED_KEY","OBSERVABILITY_GROUP_KEY","Observability","getObservabilityGroup","getObservabilityState","getTelemetryIdentifier","getTelemetryIdentity","initializeAppObservability","initializeNodeObservability","isObservabilityDisabled","mapSpaces","setupTelemetryListeners","showObservabilityBanner","storeObservabilityDisabled","storeObservabilityGroup"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0}},"bytes":1042},"dist/lib/node-esm/segment/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/segment/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-OJV247NY.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-QUZL7LKE.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-QK5IUYVA.mjs","kind":"import-statement"}],"exports":["SegmentTelemetry","TelemetryEvent"],"entryPoint":"src/segment/index.ts","inputs":{},"bytes":318},"dist/lib/node-esm/sentry/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/sentry/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-QUZL7LKE.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-QK5IUYVA.mjs","kind":"import-statement"}],"exports":["addBreadcrumb","captureException","captureMessage","captureUserFeedback","init","setTag","setTags","setUser","withScope"],"entryPoint":"src/sentry/index.ts","inputs":{},"bytes":472},"dist/lib/node-esm/otel-7PUCFSTY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":17728},"dist/lib/node-esm/otel-7PUCFSTY.mjs":{"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true},{"path":"@opentelemetry/api-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-logs-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-metrics-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-metrics","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@opentelemetry/api","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-trace-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-base","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true}],"exports":["OtelLogs","OtelMetrics","OtelTraces","setDiagLogger"],"entryPoint":"src/otel/index.ts","inputs":{"src/otel/otel.ts":{"bytesInOutput":229},"src/otel/index.ts":{"bytesInOutput":0},"src/otel/logs.ts":{"bytesInOutput":2459},"src/otel/metrics.ts":{"bytesInOutput":3582},"src/otel/traces.ts":{"bytesInOutput":1812}},"bytes":8375},"dist/lib/node-esm/sentry-log-processor-C4UGMAMV.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10604},"dist/lib/node-esm/sentry-log-processor-C4UGMAMV.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-QK5IUYVA.mjs","kind":"import-statement"},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["SentryLogProcessor"],"entryPoint":"src/sentry/sentry-log-processor.ts","inputs":{"src/sentry/sentry-log-processor.ts":{"bytesInOutput":4751}},"bytes":5064},"dist/lib/node-esm/observability-UWX2LAYX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/observability-UWX2LAYX.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-JJS4CBLT.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-OJV247NY.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-QUZL7LKE.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-QK5IUYVA.mjs","kind":"import-statement"}],"exports":["Observability"],"entryPoint":"src/observability.ts","inputs":{},"bytes":321},"dist/lib/node-esm/chunk-JJS4CBLT.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":64662},"dist/lib/node-esm/chunk-JJS4CBLT.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-OJV247NY.mjs","kind":"import-statement"},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/observability-UWX2LAYX.mjs","kind":"dynamic-import"},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"js-yaml","kind":"import-statement","external":true},{"path":"uuid","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/otel-7PUCFSTY.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/otel-7PUCFSTY.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/segment/index.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/sentry/index.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/sentry-log-processor-C4UGMAMV.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/otel-7PUCFSTY.mjs","kind":"dynamic-import"}],"exports":["OBSERVABILITY_DISABLED_KEY","OBSERVABILITY_GROUP_KEY","Observability","getObservabilityGroup","getObservabilityState","getTelemetryIdentifier","getTelemetryIdentity","initializeAppObservability","initializeNodeObservability","isObservabilityDisabled","mapSpaces","setupTelemetryListeners","showObservabilityBanner","storeObservabilityDisabled","storeObservabilityGroup"],"inputs":{"src/observability.ts":{"bytesInOutput":19910},"src/cli-observability-secrets.json":{"bytesInOutput":625},"src/helpers/browser-observability.ts":{"bytesInOutput":5032},"src/helpers/index.ts":{"bytesInOutput":0},"src/helpers/common.ts":{"bytesInOutput":324},"src/helpers/node-observability.ts":{"bytesInOutput":3402},"src/helpers/map-spaces.ts":{"bytesInOutput":1192},"src/helpers/setup-telemetry-listeners.ts":{"bytesInOutput":2542}},"bytes":33887},"dist/lib/node-esm/chunk-OJV247NY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8217},"dist/lib/node-esm/chunk-OJV247NY.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-QK5IUYVA.mjs","kind":"import-statement"},{"path":"@segment/analytics-node","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["SegmentTelemetry","TelemetryEvent"],"inputs":{"src/segment/node.ts":{"bytesInOutput":2917},"src/segment/base.ts":{"bytesInOutput":1095},"src/segment/types.ts":{"bytesInOutput":182},"src/segment/index.ts":{"bytesInOutput":0}},"bytes":4560},"dist/lib/node-esm/chunk-QUZL7LKE.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/chunk-QUZL7LKE.mjs":{"imports":[],"exports":[],"inputs":{"src/sentry/index.ts":{"bytesInOutput":0}},"bytes":136},"dist/lib/node-esm/chunk-QK5IUYVA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6673},"dist/lib/node-esm/chunk-QK5IUYVA.mjs":{"imports":[{"path":"@sentry/node","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@sentry/node","kind":"import-statement","external":true}],"exports":["addBreadcrumb","captureException","captureMessage","captureUserFeedback","init","setTag","setTags","setUser","withScope"],"inputs":{"src/sentry/node.ts":{"bytesInOutput":3387}},"bytes":3700}}}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
Observability
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-JJS4CBLT.mjs";
|
|
5
|
+
import "./chunk-OJV247NY.mjs";
|
|
6
6
|
import "./chunk-QUZL7LKE.mjs";
|
|
7
7
|
import "./chunk-QK5IUYVA.mjs";
|
|
8
8
|
export {
|
|
9
9
|
Observability
|
|
10
10
|
};
|
|
11
|
-
//# sourceMappingURL=observability-
|
|
11
|
+
//# sourceMappingURL=observability-UWX2LAYX.mjs.map
|