@dxos/observability 0.3.11-main.5c52a13 → 0.3.11-main.5cbcf4e

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.
Files changed (82) hide show
  1. package/README.md +9 -4
  2. package/dist/lib/browser/{chunk-2J5YS65Q.mjs → chunk-6ZTMPKEG.mjs} +3 -3
  3. package/dist/lib/browser/{chunk-2J5YS65Q.mjs.map → chunk-6ZTMPKEG.mjs.map} +3 -3
  4. package/dist/lib/browser/{chunk-ROSK6U3K.mjs → chunk-HPGC4HC7.mjs} +3 -3
  5. package/dist/lib/browser/chunk-HPGC4HC7.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-STWCJK52.mjs → chunk-OCQVYNE3.mjs} +223 -129
  7. package/dist/lib/browser/chunk-OCQVYNE3.mjs.map +7 -0
  8. package/dist/lib/browser/datadog/index.mjs +1 -1
  9. package/dist/lib/browser/index.mjs +9 -5
  10. package/dist/lib/browser/meta.json +1 -1
  11. package/dist/lib/browser/observability-QNG5QON4.mjs +10 -0
  12. package/dist/lib/browser/segment/index.mjs +1 -1
  13. package/dist/lib/node/{chunk-ARUBPK2W.cjs → chunk-BHF4PKAP.cjs} +6 -6
  14. package/dist/lib/node/chunk-BHF4PKAP.cjs.map +7 -0
  15. package/dist/lib/node/{chunk-DE7OVD7T.cjs → chunk-CBMRJXSL.cjs} +211 -119
  16. package/dist/lib/node/chunk-CBMRJXSL.cjs.map +7 -0
  17. package/dist/lib/node/{chunk-VDBBIYH6.cjs → chunk-ZJRKFREX.cjs} +6 -6
  18. package/dist/lib/node/{chunk-VDBBIYH6.cjs.map → chunk-ZJRKFREX.cjs.map} +3 -3
  19. package/dist/lib/node/datadog/index.cjs +3 -3
  20. package/dist/lib/node/datadog/index.cjs.map +1 -1
  21. package/dist/lib/node/index.cjs +20 -16
  22. package/dist/lib/node/index.cjs.map +2 -2
  23. package/dist/lib/node/meta.json +1 -1
  24. package/dist/lib/node/{observability-YMIQHLME.cjs → observability-JMKBRR4L.cjs} +8 -8
  25. package/dist/lib/node/observability-JMKBRR4L.cjs.map +7 -0
  26. package/dist/lib/node/segment/index.cjs +2 -2
  27. package/dist/lib/node/segment/index.cjs.map +1 -1
  28. package/dist/types/src/datadog/metrics.d.ts +3 -1
  29. package/dist/types/src/datadog/metrics.d.ts.map +1 -1
  30. package/dist/types/src/datadog/metrics.js +1 -1
  31. package/dist/types/src/datadog/metrics.js.map +1 -1
  32. package/dist/types/src/helpers/{app-observability.d.ts → browser-observability.d.ts} +4 -6
  33. package/dist/types/src/helpers/browser-observability.d.ts.map +1 -0
  34. package/dist/types/src/helpers/{app-observability.js → browser-observability.js} +22 -51
  35. package/dist/types/src/helpers/browser-observability.js.map +1 -0
  36. package/dist/types/src/helpers/common.d.ts +10 -0
  37. package/dist/types/src/helpers/common.d.ts.map +1 -0
  38. package/dist/types/src/helpers/common.js +23 -0
  39. package/dist/types/src/helpers/common.js.map +1 -0
  40. package/dist/types/src/helpers/index.d.ts +3 -1
  41. package/dist/types/src/helpers/index.d.ts.map +1 -1
  42. package/dist/types/src/helpers/index.js +3 -1
  43. package/dist/types/src/helpers/index.js.map +1 -1
  44. package/dist/types/src/helpers/node-observability.d.ts +34 -0
  45. package/dist/types/src/helpers/node-observability.d.ts.map +1 -0
  46. package/dist/types/src/helpers/node-observability.js +106 -0
  47. package/dist/types/src/helpers/node-observability.js.map +1 -0
  48. package/dist/types/src/helpers/setup-telemetry-listeners.d.ts.map +1 -1
  49. package/dist/types/src/helpers/setup-telemetry-listeners.js +7 -12
  50. package/dist/types/src/helpers/setup-telemetry-listeners.js.map +1 -1
  51. package/dist/types/src/observability.d.ts +5 -4
  52. package/dist/types/src/observability.d.ts.map +1 -1
  53. package/dist/types/src/observability.js +29 -16
  54. package/dist/types/src/observability.js.map +1 -1
  55. package/dist/types/src/segment/browser.d.ts.map +1 -1
  56. package/dist/types/src/segment/browser.js +2 -2
  57. package/dist/types/src/segment/browser.js.map +1 -1
  58. package/dist/types/src/segment/node.d.ts.map +1 -1
  59. package/dist/types/src/segment/node.js +2 -2
  60. package/dist/types/src/segment/node.js.map +1 -1
  61. package/dist/types/src/segment/types.d.ts +3 -1
  62. package/dist/types/src/segment/types.d.ts.map +1 -1
  63. package/package.json +17 -14
  64. package/src/datadog/metrics.ts +3 -5
  65. package/src/helpers/{app-observability.ts → browser-observability.ts} +26 -54
  66. package/src/helpers/common.ts +25 -0
  67. package/src/helpers/index.ts +3 -1
  68. package/src/helpers/node-observability.ts +151 -0
  69. package/src/helpers/setup-telemetry-listeners.ts +2 -7
  70. package/src/observability.ts +40 -20
  71. package/src/segment/browser.ts +3 -3
  72. package/src/segment/node.ts +3 -3
  73. package/src/segment/types.ts +1 -1
  74. package/dist/lib/browser/chunk-ROSK6U3K.mjs.map +0 -7
  75. package/dist/lib/browser/chunk-STWCJK52.mjs.map +0 -7
  76. package/dist/lib/browser/observability-XIDFB6PJ.mjs +0 -10
  77. package/dist/lib/node/chunk-ARUBPK2W.cjs.map +0 -7
  78. package/dist/lib/node/chunk-DE7OVD7T.cjs.map +0 -7
  79. package/dist/lib/node/observability-YMIQHLME.cjs.map +0 -7
  80. package/dist/types/src/helpers/app-observability.d.ts.map +0 -1
  81. package/dist/types/src/helpers/app-observability.js.map +0 -1
  82. /package/dist/lib/browser/{observability-XIDFB6PJ.mjs.map → observability-QNG5QON4.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Event, scheduleTaskInterval } from '@dxos/async';\nimport { type Client, type Config } from '@dxos/client';\nimport { type Space } from '@dxos/client-protocol';\nimport { Context } from '@dxos/context';\nimport { invariant } from '@dxos/invariant';\nimport { 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 { DatadogMetrics } from './datadog';\nimport { type IPData, getTelemetryIdentifier, mapSpaces } from './helpers';\nimport { SegmentTelemetry, type EventOptions, type PageOptions } from './segment';\nimport {\n captureException as sentryCaptureException,\n enableSentryLogProcessor,\n configureTracing as sentryConfigureTracing,\n init as sentryInit,\n type InitOptions,\n setTag as sentrySetTag,\n} from './sentry';\n\nconst SPACE_METRICS_MIN_INTERVAL = 1000 * 60;\n// const DATADOG_IDLE_INTERVAL = 1000 * 60 * 5;\nconst DATADOG_IDLE_INTERVAL = 1000 * 60 * 1;\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 DATADOG_API_KEY: string | null;\n DATADOG_APP_KEY: string | null;\n};\n\nexport type Mode = 'basic' | 'full' | 'disabled';\nexport type TagScope = 'errors' | 'telemetry' | 'metrics' | 'all';\n\nexport type ObservabilityOptions = {\n /// The webapp (e.g. 'composer.dxos.org'), 'cli', or 'agent'.\n namespace: string;\n // TODO(nf): make platform a required extension?\n // platform: Platform;\n config?: Config;\n secrets?: Record<string, string>;\n group?: string;\n mode?: Mode;\n\n telemetry?: {\n batchSize?: number;\n };\n\n errorLog?: {\n sentryInitOptions?: InitOptions;\n logProcessor?: boolean;\n };\n};\n\n/*\n * Observability provides a common interface for error logging, metrics, and telemetry.\n * It currently provides these capabilities using Sentry, Datadog, and Segment.\n */\nexport class Observability {\n // TODO(wittjosiah): Generic metrics interface.\n private _metrics?: DatadogMetrics;\n // TODO(wittjosiah): Generic telemetry interface.\n private _telemetryBatchSize: number;\n private _telemetry?: SegmentTelemetry;\n // TODO(wittjosiah): Generic error logging interface.\n private _errorReportingOptions?: InitOptions;\n private _errorLogProcessor: boolean;\n\n private _secrets: ObservabilitySecrets;\n private _namespace: string;\n private _config?: Config;\n private _mode: Mode = 'disabled';\n private _group?: string;\n // TODO(nf): accept upstream context?\n private _ctx = new Context();\n private _tags = new Map<string, { value: string; scope: TagScope }>();\n\n // TODO(nf): make platform a required extension?\n constructor({ namespace, config, secrets, group, mode, telemetry, errorLog }: ObservabilityOptions) {\n this._namespace = namespace;\n this._config = config;\n this._mode = mode ?? 'disabled';\n this._group = group;\n this._secrets = this._loadSecrets(config, secrets);\n this._telemetryBatchSize = telemetry?.batchSize ?? 30;\n this._errorReportingOptions = errorLog?.sentryInitOptions;\n this._errorLogProcessor = errorLog?.logProcessor ?? false;\n\n if (this._group) {\n this.setTag('group', this._group);\n }\n this.setTag('namespace', this._namespace);\n\n if (this._mode === 'full') {\n // TODO(nf): set group and hostname?\n }\n }\n\n private _loadSecrets(config: Config | undefined, secrets?: Record<string, string>) {\n if (isNode()) {\n return buildSecrets as ObservabilitySecrets;\n } else {\n invariant(config, 'runtime config is required');\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 DATADOG_API_KEY: config.get('runtime.app.env.DX_DATADOG_API_KEY'),\n DATADOG_APP_KEY: config.get('runtime.app.env.DX_DATADOG_APP_KEY'),\n ...secrets,\n };\n }\n }\n\n initialize() {\n this._initMetrics();\n this._initTelemetry();\n this._initErrorLogs();\n }\n\n async close() {\n await this._ctx.dispose();\n\n // TODO(wittjosiah): Remove telemetry, etc. scripts.\n }\n\n setMode(mode: Mode) {\n this._mode = mode;\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 //\n // Tags\n //\n\n setTag(key: string, value: string, scope?: TagScope) {\n if (this.enabled && (scope === undefined || scope === 'all' || scope === 'errors')) {\n sentrySetTag(key, value);\n }\n if (!scope) {\n scope = 'all';\n }\n this._tags.set(key, { value, scope });\n }\n\n addIPDataTelemetryTags = (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 // TODO(wittjosiah): Improve privacy of telemetry identifiers. See `getTelemetryIdentifier`.\n async setIdentityTags(client: Client) {\n client.services.services.IdentityService!.queryIdentity().subscribe((idqr) => {\n if (!idqr?.identity?.identityKey) {\n log('empty response from identity service', { idqr });\n return;\n }\n\n this.setTag('identityKey', idqr.identity.identityKey.truncate());\n });\n\n client.services.services.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 invariant(dqr, 'empty response from device service');\n\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 this.setTag('deviceKey', thisDevice.deviceKey.truncate());\n if (thisDevice.profile?.label) {\n this.setTag('deviceProfile', thisDevice.profile.label);\n }\n });\n }\n\n //\n // Metrics\n //\n\n private _initMetrics() {\n if (this.enabled && this._secrets.DATADOG_API_KEY) {\n this._metrics = new DatadogMetrics({\n apiKey: this._secrets.DATADOG_API_KEY,\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 // TODO(nf): move/refactor from telementryContext, needed to read CORS proxy\n config: this._config!,\n });\n } else {\n log('datadog disabled');\n }\n }\n\n /**\n * Gauge metric.\n *\n * The default implementation uses Datadog.\n */\n gauge(name: string, value: number | any, extraTags?: any) {\n this._metrics?.gauge(name, value, extraTags);\n }\n\n // TODO(nf): Refactor into ObservabilityExtensions.\n\n startNetworkMetrics(client: Client) {\n const updateSignalMetrics = new Event<NetworkStatus>();\n\n // const lcsh = (csp as LocalClientServices).host;\n updateSignalMetrics.on(this._ctx, async (networkStatus) => {\n log('send signal metrics');\n (networkStatus.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 networkStatus.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\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('dxox.client.network.totalReadBufferSize', totalReadBufferSize);\n this.gauge('dxos.client.network.totalWriteBufferSize', totalWriteBufferSize);\n this.gauge('dxos.client.network.totalChannelBufferSize', totalChannelBufferSize);\n });\n });\n\n client.services.services.NetworkService?.queryStatus().subscribe((networkStatus) => {\n updateSignalMetrics.emit(networkStatus);\n });\n\n // scheduleTaskInterval(ctx, async () => updateSignalMetrics.emit(), DATADOG_IDLE_INTERVAL);\n }\n\n startSpacesMetrics(client: Client, namespace: string) {\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 update');\n for (const data of mapSpaces(spaces, { truncateKeys: true })) {\n // Metrics\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 // Telemetry\n this.event({\n identityId: getTelemetryIdentifier(client),\n name: `${namespace}.space.update`,\n properties: data,\n });\n }\n });\n\n const subscribeToSpaceUpdate = (space: Space) =>\n space.pipeline.subscribe({\n next: () => {\n updateSpaceMetrics.emit();\n },\n });\n\n spaces.forEach((space) => {\n subscriptions.set(space.key.toHex(), subscribeToSpaceUpdate(space));\n });\n\n client.spaces.subscribe({\n next: async (spaces) => {\n spaces\n .filter((space) => !subscriptions.has(space.key.toHex()))\n .forEach((space) => {\n subscriptions.set(space.key.toHex(), subscribeToSpaceUpdate(space));\n });\n },\n });\n\n scheduleTaskInterval(this._ctx, async () => updateSpaceMetrics.emit(), DATADOG_IDLE_INTERVAL);\n }\n\n async startRuntimeMetrics(client: Client, frequency: number = DATADOG_IDLE_INTERVAL) {\n const platform = await client.services.services.SystemService?.getPlatform();\n invariant(platform, 'platform is required');\n\n this.setTag('platform_type', Platform.PLATFORM_TYPE[platform.type as number].toLowerCase());\n if (this._mode === 'full') {\n // platform[foo] does not work?\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 scheduleTaskInterval(\n this._ctx,\n async () => {\n log('platform');\n client.services.services.SystemService?.getPlatform()\n .then((platform) => {\n log('platform', { platform });\n if (platform.memory) {\n this.gauge('dxos.client.runtime.rss', platform.memory.rss);\n this.gauge('dxos.client.runtime.heapTotal', platform.memory.heapTotal);\n this.gauge('dxos.client.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 _initTelemetry() {\n if (this._secrets.TELEMETRY_API_KEY && this._mode !== 'disabled') {\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 * A telemetry event.\n *\n * The default implementation uses Segment.\n */\n event(options: EventOptions) {\n this._telemetry?.event(options);\n }\n\n /**\n * A telemetry page view.\n *\n * The default implementation uses Segment.\n */\n page(options: PageOptions) {\n this._telemetry?.page(options);\n }\n\n //\n // Error Logs\n //\n\n private _initErrorLogs() {\n if (this._secrets.SENTRY_DESTINATION && this._mode !== 'disabled') {\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 sentryInit({\n ...this._errorReportingOptions,\n destination: this._secrets.SENTRY_DESTINATION,\n scrubFilenames: this._mode !== 'full',\n });\n if (this._errorReportingOptions?.tracing) {\n sentryConfigureTracing();\n }\n // TODO(nf): set platform at instantiation? needed for node.\n if (this._errorLogProcessor) {\n enableSentryLogProcessor();\n }\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 sentrySetTag(k, v.value);\n }\n });\n } else {\n log('sentry disabled');\n }\n }\n\n /**\n * Manually capture an exception.\n *\n * The default implementation uses Sentry.\n */\n captureException(err: any) {\n if (this.enabled) {\n sentryCaptureException(err);\n }\n }\n}\n", "{\n \"SENTRY_DESTINATION\": \"https://2647916221e643869965e78469479aa4@o4504012000067584.ingest.sentry.io/4504012027265029\",\n \"TELEMETRY_API_KEY\": \"B00QG6PtJJrJ0VVFe0H5a6bcUUShKyZM\",\n \"IPDATA_API_KEY\": \"73dfdecdf979c18f07d50cf841bbdd9e589f237256326ac8cca23786\",\n \"DATADOG_API_KEY\": null,\n \"DATADOG_APP_KEY\": null\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 { IPData } from './common';\nimport type { Mode, Observability } from '../observability';\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 mode = 'basic',\n tracingEnable = true,\n replayEnable = true,\n}: AppObservabilityOptions): Promise<Observability> => {\n log('initializeAppObservability', { config });\n\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\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 observabilityDisabled = await isObservabilityDisabled(namespace);\n\n const { Observability } = await import('../observability');\n\n // TODO(nf): configure mode\n const observability = new Observability({\n namespace,\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 sampleRate: 1.0,\n replaySampleRate: 0.1,\n replaySampleRateOnError: 1.0,\n },\n },\n });\n\n // global kill switch\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\n // TODO(nf): should provide capability to init Sentry earlier in booting process to capture errors during initialization.\n\n observability.initialize();\n\n const ipData = await getIPData(config);\n\n ipData && observability.addIPDataTelemetryTags(ipData);\n\n if (typeof navigator !== 'undefined' && navigator.storage?.estimate) {\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 }, 10e3);\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\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) => {\n if (!client?.initialized) {\n return undefined;\n }\n\n const identity = client.halo.identity.get();\n if (identity) {\n return identity.identityKey.truncate();\n }\n\n return undefined;\n};\n\nexport type IPData = { city: string; region: string; country: string; latitude: number; longitude: number };\n", "//\n// Copyright 2022 DXOS.org\n//\nimport yaml from 'js-yaml';\nimport { existsSync, statSync } from 'node:fs';\nimport { mkdir, readFile, writeFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { v4 as uuid, validate as validateUuid } from 'uuid';\n\nimport type { Config } from '@dxos/client';\nimport { log } from '@dxos/log';\n\nimport { Observability, type Mode } 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_TELEMETRY=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 TelemetryContext = {\n mode: Mode;\n installationId?: string;\n group?: string;\n timezone: string;\n runtime: string;\n os: string;\n arch: string;\n ci: boolean;\n [key: string]: any;\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_TELEMETRY_GROUP ?? undefined,\n mode: (process.env.DX_DISABLE_TELEMETRY ? 'disabled' : process.env.DX_TELEMETRY_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_TELEMETRY ? 'disabled' : context.mode ?? 'basic',\n };\n }\n};\n\nexport type NodeObservabilityOptions = {\n installationId: string;\n group?: string;\n namespace: 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 config,\n installationId,\n group,\n mode = 'basic',\n tracingEnable = true,\n replayEnable = true,\n}: NodeObservabilityOptions): Promise<Observability> => {\n log('initializeCliObservability', { config });\n\n const release = `${namespace}@${config.get('runtime.app.build.version')}`;\n const environment = config.get('runtime.app.env.DX_ENVIRONMENT');\n\n const observability = new Observability({\n namespace,\n group,\n mode,\n errorLog: {\n sentryInitOptions: {\n environment,\n release,\n // TODO(wittjosiah): Configure this.\n sampleRate: 1.0,\n },\n logProcessor: true,\n },\n });\n\n observability.setTag('installationId', installationId);\n\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.addIPDataTelemetryTags(ipData);\n } catch (err) {\n observability?.captureException(err);\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.query().objects.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 { getTelemetryIdentifier } from './common';\nimport type { Observability } from '../observability';\n\nlet lastFocusEvent = new Date();\nlet totalTime = 0;\n\nexport const setupTelemetryListeners = (namespace: string, client: Client, observability: Observability) => {\n const clickCallback = (event: any) => {\n if (observability.group === 'dxos' && event.target && !event.target.id) {\n // TODO(wittjosiah): Use @dxos/log so these can be filtered.\n console.warn('Click event on element without id:', event.target);\n }\n\n setTimeout(() =>\n observability.event({\n identityId: getTelemetryIdentifier(client),\n name: `${namespace}.window.click`,\n properties: {\n href: window.location.href,\n id: (event.target as HTMLElement)?.id,\n path: (event.path 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.event({\n identityId: getTelemetryIdentifier(client),\n name: `${namespace}.window.focus`,\n properties: {\n href: window.location.href,\n timeAway: now.getTime() - lastFocusEvent.getTime(),\n },\n }),\n );\n lastFocusEvent = now;\n };\n\n const blurCallback = () => {\n const now = new Date();\n const timeSpent = now.getTime() - lastFocusEvent.getTime();\n setTimeout(() =>\n observability.event({\n identityId: getTelemetryIdentifier(client),\n name: `${namespace}.window.blur`,\n properties: {\n href: window.location.href,\n timeSpent,\n },\n }),\n );\n lastFocusEvent = now;\n totalTime = totalTime + timeSpent;\n };\n\n const unloadCallback = () => {\n setTimeout(() =>\n observability.event({\n identityId: getTelemetryIdentifier(client),\n name: `${namespace}.page.unload`,\n properties: {\n href: window.location.href,\n timeSpent: totalTime,\n },\n }),\n );\n };\n\n const errorCallback = (event: ErrorEvent) => {\n setTimeout(() =>\n observability.event({\n identityId: getTelemetryIdentifier(client),\n name: `${namespace}.window.error`,\n properties: {\n href: window.location.href,\n message: event.message,\n filename: event.filename,\n stack: (event.error as Error).stack,\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": ["import_log", "OBSERVABILITY_DISABLED_KEY", "OBSERVABILITY_GROUP_KEY", "isObservabilityDisabled", "namespace", "getItem", "err", "log", "catch", "storeObservabilityDisabled", "value", "setItem", "String", "getObservabilityGroup", "undefined", "storeObservabilityGroup", "initializeAppObservability", "config", "mode", "tracingEnable", "replayEnable", "group", "release", "get", "environment", "observabilityDisabled", "Observability", "observability", "errorLog", "sentryInitOptions", "tracing", "replay", "sampleRate", "replaySampleRate", "replaySampleRateOnError", "setMode", "info", "getIPData", "IP_DATA_CACHE_TIMEOUT", "cachedData", "timestamp", "Date", "now", "data", "IPDATA_API_KEY", "fetch", "then", "res", "json", "captureException", "initialize", "ipData", "addIPDataTelemetryTags", "navigator", "storage", "estimate", "setInterval", "storageEstimate", "usage", "setTag", "toString", "quota", "error", "warn", "getTelemetryIdentifier", "client", "initialized", "identity", "halo", "identityKey", "truncate", "showObservabilityBanner", "configDir", "bannercb", "path", "join", "existsSync", "writeFile", "getObservabilityState", "statSync", "isDirectory", "Error", "mkdir", "recursive", "idPath", "context", "readFile", "validate", "initializeState", "observabilityState", "installationId", "uuid", "process", "env", "DX_TELEMETRY_GROUP", "DX_DISABLE_TELEMETRY", "DX_TELEMETRY_MODE", "yaml", "dump", "contextString", "load", "Boolean", "validateUuid", "initializeNodeObservability", "logProcessor", "mapSpaces", "spaces", "options", "verbose", "truncateKeys", "map", "space", "open", "ready", "internal", "metrics", "startup", "getTime", "pipeline", "startDataMutations", "currentEpoch", "subject", "assertion", "timeframe", "totalMessages", "epoch", "number", "currentDataMutations", "currentDataTimeframe", "totalDataMutations", "targetDataTimeframe", "key", "isOpen", "members", "length", "objects", "db", "query", "progress", "Math", "min", "abs", "toFixed", "lastFocusEvent", "totalTime", "setupTelemetryListeners", "clickCallback", "event", "target", "id", "console", "setTimeout", "identityId", "name", "properties", "href", "window", "location", "filter", "el", "tagName", "toLowerCase", "reverse", "focusCallback", "timeAway", "blurCallback", "timeSpent", "unloadCallback", "errorCallback", "message", "filename", "stack", "addEventListener", "removeEventListener", "SPACE_METRICS_MIN_INTERVAL", "DATADOG_IDLE_INTERVAL", "constructor", "secrets", "telemetry", "_mode", "Context", "_tags", "Map", "city", "region", "country", "latitude", "longitude", "_namespace", "_config", "_group", "_secrets", "_loadSecrets", "_telemetryBatchSize", "batchSize", "_errorReportingOptions", "_errorLogProcessor", "isNode", "buildSecrets", "invariant", "rtc", "DX_ENVIRONMENT", "DX_RELEASE", "SENTRY_DESTINATION", "TELEMETRY_API_KEY", "DATADOG_API_KEY", "DATADOG_APP_KEY", "_initMetrics", "_initTelemetry", "_initErrorLogs", "close", "_ctx", "dispose", "enabled", "scope", "sentrySetTag", "set", "setIdentityTags", "services", "IdentityService", "queryIdentity", "subscribe", "idqr", "DevicesService", "queryDevices", "dqr", "devices", "device", "thisDevice", "find", "kind", "DeviceKind", "CURRENT", "deviceKey", "profile", "label", "_metrics", "DatadogMetrics", "apiKey", "getTags", "Object", "fromEntries", "Array", "from", "gauge", "extraTags", "startNetworkMetrics", "updateSignalMetrics", "Event", "on", "networkStatus", "signaling", "forEach", "server", "state", "swarmCount", "connectionStates", "ConnectionState", "totalReadBufferSize", "totalWriteBufferSize", "totalChannelBufferSize", "connectionInfo", "conn", "connections", "readBufferSize", "writeBufferSize", "stream", "streams", "NetworkService", "queryStatus", "emit", "startSpacesMetrics", "subscriptions", "onDispose", "subscription", "unsubscribe", "updateSpaceMetrics", "debounce", "subscribeToSpaceUpdate", "next", "toHex", "has", "scheduleTaskInterval", "startRuntimeMetrics", "frequency", "platform", "SystemService", "getPlatform", "Platform", "PLATFORM_TYPE", "type", "arch", "runtime", "memory", "rss", "heapTotal", "heapUsed", "_telemetry", "SegmentTelemetry", "page", "dest", "sentryInit", "destination", "scrubFilenames", "sentryConfigureTracing", "enableSentryLogProcessor", "v", "k", "sentryCaptureException"]
7
+ }
@@ -26,12 +26,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_VDBBIYH6_exports = {};
30
- __export(chunk_VDBBIYH6_exports, {
29
+ var chunk_ZJRKFREX_exports = {};
30
+ __export(chunk_ZJRKFREX_exports, {
31
31
  DatadogMetrics: () => DatadogMetrics,
32
32
  defaultOptions: () => defaultOptions
33
33
  });
34
- module.exports = __toCommonJS(chunk_VDBBIYH6_exports);
34
+ module.exports = __toCommonJS(chunk_ZJRKFREX_exports);
35
35
  var import_node_os = __toESM(require("node:os"));
36
36
  var import_log = require("@dxos/log");
37
37
  var Datadog = __toESM(require("datadog-metrics"));
@@ -74,7 +74,7 @@ var DatadogMetrics = class {
74
74
  ]
75
75
  });
76
76
  const mergedTags = Object.entries({
77
- ...Object.fromEntries(this._getTags().entries()),
77
+ ...this._getTags(),
78
78
  ...tags
79
79
  }).map(([key, value2]) => `${key}:${value2}`);
80
80
  (0, import_log2.log)("datadog gauge", {
@@ -83,7 +83,7 @@ var DatadogMetrics = class {
83
83
  tags: mergedTags
84
84
  }, {
85
85
  F: __dxlog_file2,
86
- L: 42,
86
+ L: 40,
87
87
  S: this,
88
88
  C: (f, a) => f(...a)
89
89
  });
@@ -98,4 +98,4 @@ var DatadogMetrics = class {
98
98
  DatadogMetrics,
99
99
  defaultOptions
100
100
  });
101
- //# sourceMappingURL=chunk-VDBBIYH6.cjs.map
101
+ //# sourceMappingURL=chunk-ZJRKFREX.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/datadog/node.ts", "../../../src/datadog/metrics.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport os from 'node:os';\n\nimport { log } from '@dxos/log';\n\nimport { type DatadogOptions } from './metrics';\n\nexport const defaultOptions = ({ apiKey, host }: DatadogOptions) => {\n return {\n apiKey,\n host: host ?? os.hostname(),\n onError: (err: any) => {\n log.info('Datadog error', { err });\n },\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Datadog from 'datadog-metrics';\nimport debug from 'debug';\n\nimport { type Config } from '@dxos/client';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\n\nimport { defaultOptions } from './node';\n// import { tags as globalTags } from '../tags';\n\nexport type DatadogOptions = {\n apiKey: string;\n host?: string;\n site?: String;\n getTags: () => Map<string, string>;\n // needed to read CORS proxy\n config: Config;\n};\n\ndebug.enable('metrics');\n\nexport class DatadogMetrics {\n private _datadogmetrics?: any;\n private _getTags: () => Map<string, string>;\n\n constructor(options: DatadogOptions) {\n this._getTags = options.getTags;\n this._datadogmetrics = Datadog;\n\n this._datadogmetrics.init(defaultOptions(options));\n }\n\n gauge(name: string, value: number, tags?: any) {\n invariant(this._datadogmetrics, 'Datadog not initialized');\n const mergedTags = Object.entries({ ...Object.fromEntries(this._getTags().entries()), ...tags }).map(\n ([key, value]) => `${key}:${value}`,\n );\n log('datadog gauge', { name, value, tags: mergedTags });\n this._datadogmetrics.gauge(name, value, mergedTags);\n }\n\n flush() {\n this._datadogmetrics.flush();\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,qBAAe;AAEf,iBAAoB;ACFpB,cAAyB;AACzB,mBAAkB;AAGlB,uBAA0B;AAC1B,IAAAA,cAAoB;;ADCb,IAAMC,iBAAiB,CAAC,EAAEC,QAAQC,KAAI,MAAkB;AAC7D,SAAO;IACLD;IACAC,MAAMA,QAAQC,eAAAA,QAAGC,SAAQ;IACzBC,SAAS,CAACC,QAAAA;AACRC,qBAAIC,KAAK,iBAAiB;QAAEF;MAAI,GAAA;;;;;;IAClC;EACF;AACF;;ACKAG,aAAAA,QAAMC,OAAO,SAAA;AAEN,IAAMC,iBAAN,MAAMA;EAIXC,YAAYC,SAAyB;AACnC,SAAKC,WAAWD,QAAQE;AACxB,SAAKC,kBAAkBC;AAEvB,SAAKD,gBAAgBE,KAAKlB,eAAea,OAAAA,CAAAA;EAC3C;EAEAM,MAAMC,MAAcC,OAAeC,MAAY;AAC7CC,oCAAU,KAAKP,iBAAiB,2BAAA;;;;;;;;;AAChC,UAAMQ,aAAaC,OAAOC,QAAQ;MAAE,GAAGD,OAAOE,YAAY,KAAKb,SAAQ,EAAGY,QAAO,CAAA;MAAK,GAAGJ;IAAK,CAAA,EAAGM,IAC/F,CAAC,CAACC,KAAKR,MAAAA,MAAW,GAAGQ,GAAAA,IAAOR,MAAAA,EAAO;AAErCd,oBAAAA,KAAI,iBAAiB;MAAEa;MAAMC;MAAOC,MAAME;IAAW,GAAA;;;;;;AACrD,SAAKR,gBAAgBG,MAAMC,MAAMC,OAAOG,UAAAA;EAC1C;EAEAM,QAAQ;AACN,SAAKd,gBAAgBc,MAAK;EAC5B;AACF;",
6
- "names": ["import_log", "defaultOptions", "apiKey", "host", "os", "hostname", "onError", "err", "log", "info", "debug", "enable", "DatadogMetrics", "constructor", "options", "_getTags", "getTags", "_datadogmetrics", "Datadog", "init", "gauge", "name", "value", "tags", "invariant", "mergedTags", "Object", "entries", "fromEntries", "map", "key", "flush"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport os from 'node:os';\n\nimport { log } from '@dxos/log';\n\nimport { type DatadogOptions } from './metrics';\n\nexport const defaultOptions = ({ apiKey, host }: DatadogOptions) => {\n return {\n apiKey,\n host: host ?? os.hostname(),\n onError: (err: any) => {\n log.info('Datadog error', { err });\n },\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Datadog from 'datadog-metrics';\nimport debug from 'debug';\n\nimport { type Config } from '@dxos/client';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\n\nimport { defaultOptions } from './node';\n// import { tags as globalTags } from '../tags';\n\nexport type DatadogOptions = {\n apiKey: string;\n host?: string;\n site?: String;\n getTags: () => { [key: string]: string };\n // needed to read CORS proxy\n config: Config;\n};\n\ndebug.enable('metrics');\n\nexport class DatadogMetrics {\n private _datadogmetrics?: any;\n private _getTags: () => { [key: string]: string };\n\n constructor(options: DatadogOptions) {\n this._getTags = options.getTags;\n this._datadogmetrics = Datadog;\n\n this._datadogmetrics.init(defaultOptions(options));\n }\n\n gauge(name: string, value: number, tags?: any) {\n invariant(this._datadogmetrics, 'Datadog not initialized');\n const mergedTags = Object.entries({ ...this._getTags(), ...tags }).map(([key, value]) => `${key}:${value}`);\n log('datadog gauge', { name, value, tags: mergedTags });\n this._datadogmetrics.gauge(name, value, mergedTags);\n }\n\n flush() {\n this._datadogmetrics.flush();\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,qBAAe;AAEf,iBAAoB;ACFpB,cAAyB;AACzB,mBAAkB;AAGlB,uBAA0B;AAC1B,IAAAA,cAAoB;;ADCb,IAAMC,iBAAiB,CAAC,EAAEC,QAAQC,KAAI,MAAkB;AAC7D,SAAO;IACLD;IACAC,MAAMA,QAAQC,eAAAA,QAAGC,SAAQ;IACzBC,SAAS,CAACC,QAAAA;AACRC,qBAAIC,KAAK,iBAAiB;QAAEF;MAAI,GAAA;;;;;;IAClC;EACF;AACF;;ACKAG,aAAAA,QAAMC,OAAO,SAAA;AAEN,IAAMC,iBAAN,MAAMA;EAIXC,YAAYC,SAAyB;AACnC,SAAKC,WAAWD,QAAQE;AACxB,SAAKC,kBAAkBC;AAEvB,SAAKD,gBAAgBE,KAAKlB,eAAea,OAAAA,CAAAA;EAC3C;EAEAM,MAAMC,MAAcC,OAAeC,MAAY;AAC7CC,oCAAU,KAAKP,iBAAiB,2BAAA;;;;;;;;;AAChC,UAAMQ,aAAaC,OAAOC,QAAQ;MAAE,GAAG,KAAKZ,SAAQ;MAAI,GAAGQ;IAAK,CAAA,EAAGK,IAAI,CAAC,CAACC,KAAKP,MAAAA,MAAW,GAAGO,GAAAA,IAAOP,MAAAA,EAAO;AAC1Gd,oBAAAA,KAAI,iBAAiB;MAAEa;MAAMC;MAAOC,MAAME;IAAW,GAAA;;;;;;AACrD,SAAKR,gBAAgBG,MAAMC,MAAMC,OAAOG,UAAAA;EAC1C;EAEAK,QAAQ;AACN,SAAKb,gBAAgBa,MAAK;EAC5B;AACF;",
6
+ "names": ["import_log", "defaultOptions", "apiKey", "host", "os", "hostname", "onError", "err", "log", "info", "debug", "enable", "DatadogMetrics", "constructor", "options", "_getTags", "getTags", "_datadogmetrics", "Datadog", "init", "gauge", "name", "value", "tags", "invariant", "mergedTags", "Object", "entries", "map", "key", "flush"]
7
7
  }
@@ -18,11 +18,11 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var datadog_exports = {};
20
20
  __export(datadog_exports, {
21
- DatadogMetrics: () => import_chunk_VDBBIYH6.DatadogMetrics,
22
- defaultOptions: () => import_chunk_VDBBIYH6.defaultOptions
21
+ DatadogMetrics: () => import_chunk_ZJRKFREX.DatadogMetrics,
22
+ defaultOptions: () => import_chunk_ZJRKFREX.defaultOptions
23
23
  });
24
24
  module.exports = __toCommonJS(datadog_exports);
25
- var import_chunk_VDBBIYH6 = require("../chunk-VDBBIYH6.cjs");
25
+ var import_chunk_ZJRKFREX = require("../chunk-ZJRKFREX.cjs");
26
26
  // Annotate the CommonJS export names for ESM import in node:
27
27
  0 && (module.exports = {
28
28
  DatadogMetrics,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.cjs"],
4
- "sourcesContent": ["import {\n DatadogMetrics,\n defaultOptions\n} from \"../chunk-VDBBIYH6.cjs\";\nexport {\n DatadogMetrics,\n defaultOptions\n};\n//# sourceMappingURL=index.cjs.map\n"],
4
+ "sourcesContent": ["import {\n DatadogMetrics,\n defaultOptions\n} from \"../chunk-ZJRKFREX.cjs\";\nexport {\n DatadogMetrics,\n defaultOptions\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAGO;",
6
6
  "names": []
7
7
  }
@@ -18,36 +18,40 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var node_exports = {};
20
20
  __export(node_exports, {
21
- BASE_TELEMETRY_PROPERTIES: () => import_chunk_DE7OVD7T.BASE_TELEMETRY_PROPERTIES,
22
- OBSERVABILITY_DISABLED_KEY: () => import_chunk_DE7OVD7T.OBSERVABILITY_DISABLED_KEY,
23
- OBSERVABILITY_GROUP_KEY: () => import_chunk_DE7OVD7T.OBSERVABILITY_GROUP_KEY,
24
- Observability: () => import_chunk_DE7OVD7T.Observability,
25
- getObservabilityGroup: () => import_chunk_DE7OVD7T.getObservabilityGroup,
26
- getTelemetryIdentifier: () => import_chunk_DE7OVD7T.getTelemetryIdentifier,
27
- initializeAppObservability: () => import_chunk_DE7OVD7T.initializeAppObservability,
28
- isObservabilityDisabled: () => import_chunk_DE7OVD7T.isObservabilityDisabled,
29
- mapSpaces: () => import_chunk_DE7OVD7T.mapSpaces,
30
- setupTelemetryListeners: () => import_chunk_DE7OVD7T.setupTelemetryListeners,
31
- storeObservabilityDisabled: () => import_chunk_DE7OVD7T.storeObservabilityDisabled,
32
- storeObservabilityGroup: () => import_chunk_DE7OVD7T.storeObservabilityGroup
21
+ OBSERVABILITY_DISABLED_KEY: () => import_chunk_CBMRJXSL.OBSERVABILITY_DISABLED_KEY,
22
+ OBSERVABILITY_GROUP_KEY: () => import_chunk_CBMRJXSL.OBSERVABILITY_GROUP_KEY,
23
+ Observability: () => import_chunk_CBMRJXSL.Observability,
24
+ getObservabilityGroup: () => import_chunk_CBMRJXSL.getObservabilityGroup,
25
+ getObservabilityState: () => import_chunk_CBMRJXSL.getObservabilityState,
26
+ getTelemetryIdentifier: () => import_chunk_CBMRJXSL.getTelemetryIdentifier,
27
+ initializeAppObservability: () => import_chunk_CBMRJXSL.initializeAppObservability,
28
+ initializeNodeObservability: () => import_chunk_CBMRJXSL.initializeNodeObservability,
29
+ isObservabilityDisabled: () => import_chunk_CBMRJXSL.isObservabilityDisabled,
30
+ mapSpaces: () => import_chunk_CBMRJXSL.mapSpaces,
31
+ setupTelemetryListeners: () => import_chunk_CBMRJXSL.setupTelemetryListeners,
32
+ showObservabilityBanner: () => import_chunk_CBMRJXSL.showObservabilityBanner,
33
+ storeObservabilityDisabled: () => import_chunk_CBMRJXSL.storeObservabilityDisabled,
34
+ storeObservabilityGroup: () => import_chunk_CBMRJXSL.storeObservabilityGroup
33
35
  });
34
36
  module.exports = __toCommonJS(node_exports);
35
- var import_chunk_DE7OVD7T = require("./chunk-DE7OVD7T.cjs");
36
- var import_chunk_VDBBIYH6 = require("./chunk-VDBBIYH6.cjs");
37
- var import_chunk_ARUBPK2W = require("./chunk-ARUBPK2W.cjs");
37
+ var import_chunk_CBMRJXSL = require("./chunk-CBMRJXSL.cjs");
38
+ var import_chunk_ZJRKFREX = require("./chunk-ZJRKFREX.cjs");
39
+ var import_chunk_BHF4PKAP = require("./chunk-BHF4PKAP.cjs");
38
40
  var import_chunk_FSAOBKO2 = require("./chunk-FSAOBKO2.cjs");
39
41
  // Annotate the CommonJS export names for ESM import in node:
40
42
  0 && (module.exports = {
41
- BASE_TELEMETRY_PROPERTIES,
42
43
  OBSERVABILITY_DISABLED_KEY,
43
44
  OBSERVABILITY_GROUP_KEY,
44
45
  Observability,
45
46
  getObservabilityGroup,
47
+ getObservabilityState,
46
48
  getTelemetryIdentifier,
47
49
  initializeAppObservability,
50
+ initializeNodeObservability,
48
51
  isObservabilityDisabled,
49
52
  mapSpaces,
50
53
  setupTelemetryListeners,
54
+ showObservabilityBanner,
51
55
  storeObservabilityDisabled,
52
56
  storeObservabilityGroup
53
57
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.cjs"],
4
- "sourcesContent": ["import {\n BASE_TELEMETRY_PROPERTIES,\n OBSERVABILITY_DISABLED_KEY,\n OBSERVABILITY_GROUP_KEY,\n Observability,\n getObservabilityGroup,\n getTelemetryIdentifier,\n initializeAppObservability,\n isObservabilityDisabled,\n mapSpaces,\n setupTelemetryListeners,\n storeObservabilityDisabled,\n storeObservabilityGroup\n} from \"./chunk-DE7OVD7T.cjs\";\nimport \"./chunk-VDBBIYH6.cjs\";\nimport \"./chunk-ARUBPK2W.cjs\";\nimport \"./chunk-FSAOBKO2.cjs\";\nexport {\n BASE_TELEMETRY_PROPERTIES,\n OBSERVABILITY_DISABLED_KEY,\n OBSERVABILITY_GROUP_KEY,\n Observability,\n getObservabilityGroup,\n getTelemetryIdentifier,\n initializeAppObservability,\n isObservabilityDisabled,\n mapSpaces,\n setupTelemetryListeners,\n storeObservabilityDisabled,\n storeObservabilityGroup\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAaO;AACP,4BAAO;AACP,4BAAO;AACP,4BAAO;",
4
+ "sourcesContent": ["import {\n OBSERVABILITY_DISABLED_KEY,\n OBSERVABILITY_GROUP_KEY,\n Observability,\n getObservabilityGroup,\n getObservabilityState,\n getTelemetryIdentifier,\n initializeAppObservability,\n initializeNodeObservability,\n isObservabilityDisabled,\n mapSpaces,\n setupTelemetryListeners,\n showObservabilityBanner,\n storeObservabilityDisabled,\n storeObservabilityGroup\n} from \"./chunk-CBMRJXSL.cjs\";\nimport \"./chunk-ZJRKFREX.cjs\";\nimport \"./chunk-BHF4PKAP.cjs\";\nimport \"./chunk-FSAOBKO2.cjs\";\nexport {\n OBSERVABILITY_DISABLED_KEY,\n OBSERVABILITY_GROUP_KEY,\n Observability,\n getObservabilityGroup,\n getObservabilityState,\n getTelemetryIdentifier,\n initializeAppObservability,\n initializeNodeObservability,\n isObservabilityDisabled,\n mapSpaces,\n setupTelemetryListeners,\n showObservabilityBanner,\n storeObservabilityDisabled,\n storeObservabilityGroup\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAeO;AACP,4BAAO;AACP,4BAAO;AACP,4BAAO;",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/sdk/observability/src/datadog/node.ts":{"bytes":1685,"imports":[{"path":"node:os","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/observability/src/datadog/metrics.ts":{"bytes":4719,"imports":[{"path":"datadog-metrics","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/observability/src/datadog/node.ts","kind":"import-statement","original":"./node"}],"format":"esm"},"packages/sdk/observability/src/datadog/index.ts":{"bytes":553,"imports":[{"path":"packages/sdk/observability/src/datadog/node.ts","kind":"import-statement","original":"./node"},{"path":"packages/sdk/observability/src/datadog/metrics.ts","kind":"import-statement","original":"./metrics"}],"format":"esm"},"packages/sdk/observability/src/cli-observability-secrets.json":{"bytes":315,"imports":[]},"packages/sdk/observability/src/sentry/node.ts":{"bytes":16627,"imports":[{"path":"@sentry/integrations","kind":"import-statement","external":true},{"path":"@sentry/node","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@sentry/node","kind":"import-statement","external":true},{"path":"@sentry/tracing","kind":"dynamic-import","external":true}],"format":"esm"},"packages/sdk/observability/src/sentry/types.ts":{"bytes":1037,"imports":[],"format":"esm"},"packages/sdk/observability/src/sentry/tracing.ts":{"bytes":17365,"imports":[{"path":"@sentry/browser","kind":"import-statement","external":true},{"path":"@dxos/async","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}],"format":"esm"},"packages/sdk/observability/src/sentry/index.ts":{"bytes":908,"imports":[{"path":"packages/sdk/observability/src/sentry/node.ts","kind":"import-statement","original":"./node"},{"path":"packages/sdk/observability/src/sentry/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/sdk/observability/src/sentry/tracing.ts","kind":"import-statement","original":"./tracing"}],"format":"esm"},"packages/sdk/observability/src/segment/node.ts":{"bytes":9463,"imports":[{"path":"analytics-node","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/observability/src/sentry/index.ts","kind":"import-statement","original":"../sentry"}],"format":"esm"},"packages/sdk/observability/src/segment/types.ts":{"bytes":1034,"imports":[],"format":"esm"},"packages/sdk/observability/src/segment/index.ts":{"bytes":547,"imports":[{"path":"packages/sdk/observability/src/segment/node.ts","kind":"import-statement","original":"./node"},{"path":"packages/sdk/observability/src/segment/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/sdk/observability/src/observability.ts":{"bytes":50323,"imports":[{"path":"@dxos/async","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":"packages/sdk/observability/src/cli-observability-secrets.json","kind":"import-statement","original":"./cli-observability-secrets.json"},{"path":"packages/sdk/observability/src/datadog/index.ts","kind":"import-statement","original":"./datadog"},{"path":"packages/sdk/observability/src/helpers/index.ts","kind":"import-statement","original":"./helpers"},{"path":"packages/sdk/observability/src/segment/index.ts","kind":"import-statement","original":"./segment"},{"path":"packages/sdk/observability/src/sentry/index.ts","kind":"import-statement","original":"./sentry"}],"format":"esm"},"packages/sdk/observability/src/helpers/app-observability.ts":{"bytes":22684,"imports":[{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/observability/src/observability.ts","kind":"dynamic-import","original":"../observability"}],"format":"esm"},"packages/sdk/observability/src/helpers/map-spaces.ts":{"bytes":6306,"imports":[],"format":"esm"},"packages/sdk/observability/src/helpers/setup-telemetry-listeners.ts":{"bytes":12503,"imports":[{"path":"packages/sdk/observability/src/helpers/app-observability.ts","kind":"import-statement","original":"./app-observability"}],"format":"esm"},"packages/sdk/observability/src/helpers/index.ts":{"bytes":722,"imports":[{"path":"packages/sdk/observability/src/helpers/app-observability.ts","kind":"import-statement","original":"./app-observability"},{"path":"packages/sdk/observability/src/helpers/map-spaces.ts","kind":"import-statement","original":"./map-spaces"},{"path":"packages/sdk/observability/src/helpers/setup-telemetry-listeners.ts","kind":"import-statement","original":"./setup-telemetry-listeners"}],"format":"esm"},"packages/sdk/observability/src/index.ts":{"bytes":566,"imports":[{"path":"packages/sdk/observability/src/helpers/index.ts","kind":"import-statement","original":"./helpers"},{"path":"packages/sdk/observability/src/observability.ts","kind":"import-statement","original":"./observability"}],"format":"esm"}},"outputs":{"packages/sdk/observability/dist/lib/node/datadog/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/observability/dist/lib/node/datadog/index.cjs":{"imports":[{"path":"packages/sdk/observability/dist/lib/node/chunk-VDBBIYH6.cjs","kind":"import-statement"}],"exports":["DatadogMetrics","defaultOptions"],"entryPoint":"packages/sdk/observability/src/datadog/index.ts","inputs":{},"bytes":158},"packages/sdk/observability/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/observability/dist/lib/node/index.cjs":{"imports":[{"path":"packages/sdk/observability/dist/lib/node/chunk-DE7OVD7T.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-VDBBIYH6.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-ARUBPK2W.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs","kind":"import-statement"}],"exports":["BASE_TELEMETRY_PROPERTIES","OBSERVABILITY_DISABLED_KEY","OBSERVABILITY_GROUP_KEY","Observability","getObservabilityGroup","getTelemetryIdentifier","initializeAppObservability","isObservabilityDisabled","mapSpaces","setupTelemetryListeners","storeObservabilityDisabled","storeObservabilityGroup"],"entryPoint":"packages/sdk/observability/src/index.ts","inputs":{"packages/sdk/observability/src/index.ts":{"bytesInOutput":0}},"bytes":794},"packages/sdk/observability/dist/lib/node/segment/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/observability/dist/lib/node/segment/index.cjs":{"imports":[{"path":"packages/sdk/observability/dist/lib/node/chunk-ARUBPK2W.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs","kind":"import-statement"}],"exports":["SegmentTelemetry"],"entryPoint":"packages/sdk/observability/src/segment/index.ts","inputs":{},"bytes":158},"packages/sdk/observability/dist/lib/node/sentry/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/observability/dist/lib/node/sentry/index.cjs":{"imports":[{"path":"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs","kind":"import-statement"}],"exports":["SENTRY_LOG_PROCESSOR","addBreadcrumb","captureException","configureTracing","enableSentryLogProcessor","init","setTag","setTags","setUser"],"entryPoint":"packages/sdk/observability/src/sentry/index.ts","inputs":{},"bytes":384},"packages/sdk/observability/dist/lib/node/observability-YMIQHLME.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/observability/dist/lib/node/observability-YMIQHLME.cjs":{"imports":[{"path":"packages/sdk/observability/dist/lib/node/chunk-DE7OVD7T.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-VDBBIYH6.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-ARUBPK2W.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs","kind":"import-statement"}],"exports":["Observability"],"entryPoint":"packages/sdk/observability/src/observability.ts","inputs":{},"bytes":229},"packages/sdk/observability/dist/lib/node/chunk-DE7OVD7T.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":44573},"packages/sdk/observability/dist/lib/node/chunk-DE7OVD7T.cjs":{"imports":[{"path":"packages/sdk/observability/dist/lib/node/chunk-VDBBIYH6.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-ARUBPK2W.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs","kind":"import-statement"},{"path":"@dxos/async","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":"packages/sdk/observability/dist/lib/node/observability-YMIQHLME.cjs","kind":"dynamic-import"}],"exports":["BASE_TELEMETRY_PROPERTIES","OBSERVABILITY_DISABLED_KEY","OBSERVABILITY_GROUP_KEY","Observability","getObservabilityGroup","getTelemetryIdentifier","initializeAppObservability","isObservabilityDisabled","mapSpaces","setupTelemetryListeners","storeObservabilityDisabled","storeObservabilityGroup"],"inputs":{"packages/sdk/observability/src/observability.ts":{"bytesInOutput":12773},"packages/sdk/observability/src/cli-observability-secrets.json":{"bytesInOutput":347},"packages/sdk/observability/src/helpers/app-observability.ts":{"bytesInOutput":5237},"packages/sdk/observability/src/helpers/index.ts":{"bytesInOutput":0},"packages/sdk/observability/src/helpers/map-spaces.ts":{"bytesInOutput":1177},"packages/sdk/observability/src/helpers/setup-telemetry-listeners.ts":{"bytesInOutput":2938}},"bytes":23440},"packages/sdk/observability/dist/lib/node/chunk-VDBBIYH6.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3081},"packages/sdk/observability/dist/lib/node/chunk-VDBBIYH6.cjs":{"imports":[{"path":"node:os","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"datadog-metrics","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["DatadogMetrics","defaultOptions"],"inputs":{"packages/sdk/observability/src/datadog/node.ts":{"bytesInOutput":450},"packages/sdk/observability/src/datadog/index.ts":{"bytesInOutput":0},"packages/sdk/observability/src/datadog/metrics.ts":{"bytesInOutput":1158}},"bytes":1804},"packages/sdk/observability/dist/lib/node/chunk-ARUBPK2W.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4079},"packages/sdk/observability/dist/lib/node/chunk-ARUBPK2W.cjs":{"imports":[{"path":"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs","kind":"import-statement"},{"path":"analytics-node","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["SegmentTelemetry"],"inputs":{"packages/sdk/observability/src/segment/node.ts":{"bytesInOutput":2910},"packages/sdk/observability/src/segment/index.ts":{"bytesInOutput":0}},"bytes":3096},"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":16118},"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs":{"imports":[{"path":"@sentry/integrations","kind":"import-statement","external":true},{"path":"@sentry/node","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@sentry/node","kind":"import-statement","external":true},{"path":"@sentry/tracing","kind":"dynamic-import","external":true},{"path":"@sentry/browser","kind":"import-statement","external":true},{"path":"@dxos/async","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}],"exports":["SENTRY_LOG_PROCESSOR","addBreadcrumb","captureException","configureTracing","enableSentryLogProcessor","init","setTag","setTags","setUser"],"inputs":{"packages/sdk/observability/src/sentry/node.ts":{"bytesInOutput":3654},"packages/sdk/observability/src/sentry/index.ts":{"bytesInOutput":0},"packages/sdk/observability/src/sentry/tracing.ts":{"bytesInOutput":4629}},"bytes":8601}}}
1
+ {"inputs":{"packages/sdk/observability/src/datadog/node.ts":{"bytes":1685,"imports":[{"path":"node:os","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/observability/src/datadog/metrics.ts":{"bytes":4585,"imports":[{"path":"datadog-metrics","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/observability/src/datadog/node.ts","kind":"import-statement","original":"./node"}],"format":"esm"},"packages/sdk/observability/src/datadog/index.ts":{"bytes":553,"imports":[{"path":"packages/sdk/observability/src/datadog/node.ts","kind":"import-statement","original":"./node"},{"path":"packages/sdk/observability/src/datadog/metrics.ts","kind":"import-statement","original":"./metrics"}],"format":"esm"},"packages/sdk/observability/src/cli-observability-secrets.json":{"bytes":315,"imports":[]},"packages/sdk/observability/src/sentry/node.ts":{"bytes":16627,"imports":[{"path":"@sentry/integrations","kind":"import-statement","external":true},{"path":"@sentry/node","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@sentry/node","kind":"import-statement","external":true},{"path":"@sentry/tracing","kind":"dynamic-import","external":true}],"format":"esm"},"packages/sdk/observability/src/sentry/types.ts":{"bytes":1037,"imports":[],"format":"esm"},"packages/sdk/observability/src/sentry/tracing.ts":{"bytes":17365,"imports":[{"path":"@sentry/browser","kind":"import-statement","external":true},{"path":"@dxos/async","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}],"format":"esm"},"packages/sdk/observability/src/sentry/index.ts":{"bytes":908,"imports":[{"path":"packages/sdk/observability/src/sentry/node.ts","kind":"import-statement","original":"./node"},{"path":"packages/sdk/observability/src/sentry/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/sdk/observability/src/sentry/tracing.ts","kind":"import-statement","original":"./tracing"}],"format":"esm"},"packages/sdk/observability/src/segment/node.ts":{"bytes":9207,"imports":[{"path":"analytics-node","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/observability/src/sentry/index.ts","kind":"import-statement","original":"../sentry"}],"format":"esm"},"packages/sdk/observability/src/segment/types.ts":{"bytes":1042,"imports":[],"format":"esm"},"packages/sdk/observability/src/segment/index.ts":{"bytes":547,"imports":[{"path":"packages/sdk/observability/src/segment/node.ts","kind":"import-statement","original":"./node"},{"path":"packages/sdk/observability/src/segment/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/sdk/observability/src/observability.ts":{"bytes":53691,"imports":[{"path":"@dxos/async","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":"packages/sdk/observability/src/cli-observability-secrets.json","kind":"import-statement","original":"./cli-observability-secrets.json"},{"path":"packages/sdk/observability/src/datadog/index.ts","kind":"import-statement","original":"./datadog"},{"path":"packages/sdk/observability/src/helpers/index.ts","kind":"import-statement","original":"./helpers"},{"path":"packages/sdk/observability/src/segment/index.ts","kind":"import-statement","original":"./segment"},{"path":"packages/sdk/observability/src/sentry/index.ts","kind":"import-statement","original":"./sentry"}],"format":"esm"},"packages/sdk/observability/src/helpers/browser-observability.ts":{"bytes":19235,"imports":[{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/observability/src/observability.ts","kind":"dynamic-import","original":"../observability"}],"format":"esm"},"packages/sdk/observability/src/helpers/common.ts":{"bytes":2622,"imports":[],"format":"esm"},"packages/sdk/observability/src/helpers/node-observability.ts":{"bytes":14102,"imports":[{"path":"js-yaml","kind":"import-statement","external":true},{"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":"uuid","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/observability/src/observability.ts","kind":"import-statement","original":"../observability"}],"format":"esm"},"packages/sdk/observability/src/helpers/map-spaces.ts":{"bytes":6306,"imports":[],"format":"esm"},"packages/sdk/observability/src/helpers/setup-telemetry-listeners.ts":{"bytes":11655,"imports":[{"path":"packages/sdk/observability/src/helpers/common.ts","kind":"import-statement","original":"./common"}],"format":"esm"},"packages/sdk/observability/src/helpers/index.ts":{"bytes":930,"imports":[{"path":"packages/sdk/observability/src/helpers/browser-observability.ts","kind":"import-statement","original":"./browser-observability"},{"path":"packages/sdk/observability/src/helpers/common.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/observability/src/helpers/node-observability.ts","kind":"import-statement","original":"./node-observability"},{"path":"packages/sdk/observability/src/helpers/map-spaces.ts","kind":"import-statement","original":"./map-spaces"},{"path":"packages/sdk/observability/src/helpers/setup-telemetry-listeners.ts","kind":"import-statement","original":"./setup-telemetry-listeners"}],"format":"esm"},"packages/sdk/observability/src/index.ts":{"bytes":566,"imports":[{"path":"packages/sdk/observability/src/helpers/index.ts","kind":"import-statement","original":"./helpers"},{"path":"packages/sdk/observability/src/observability.ts","kind":"import-statement","original":"./observability"}],"format":"esm"}},"outputs":{"packages/sdk/observability/dist/lib/node/datadog/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/observability/dist/lib/node/datadog/index.cjs":{"imports":[{"path":"packages/sdk/observability/dist/lib/node/chunk-ZJRKFREX.cjs","kind":"import-statement"}],"exports":["DatadogMetrics","defaultOptions"],"entryPoint":"packages/sdk/observability/src/datadog/index.ts","inputs":{},"bytes":158},"packages/sdk/observability/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/observability/dist/lib/node/index.cjs":{"imports":[{"path":"packages/sdk/observability/dist/lib/node/chunk-CBMRJXSL.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-ZJRKFREX.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-BHF4PKAP.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs","kind":"import-statement"}],"exports":["OBSERVABILITY_DISABLED_KEY","OBSERVABILITY_GROUP_KEY","Observability","getObservabilityGroup","getObservabilityState","getTelemetryIdentifier","initializeAppObservability","initializeNodeObservability","isObservabilityDisabled","mapSpaces","setupTelemetryListeners","showObservabilityBanner","storeObservabilityDisabled","storeObservabilityGroup"],"entryPoint":"packages/sdk/observability/src/index.ts","inputs":{"packages/sdk/observability/src/index.ts":{"bytesInOutput":0}},"bytes":902},"packages/sdk/observability/dist/lib/node/segment/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/observability/dist/lib/node/segment/index.cjs":{"imports":[{"path":"packages/sdk/observability/dist/lib/node/chunk-BHF4PKAP.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs","kind":"import-statement"}],"exports":["SegmentTelemetry"],"entryPoint":"packages/sdk/observability/src/segment/index.ts","inputs":{},"bytes":158},"packages/sdk/observability/dist/lib/node/sentry/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/observability/dist/lib/node/sentry/index.cjs":{"imports":[{"path":"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs","kind":"import-statement"}],"exports":["SENTRY_LOG_PROCESSOR","addBreadcrumb","captureException","configureTracing","enableSentryLogProcessor","init","setTag","setTags","setUser"],"entryPoint":"packages/sdk/observability/src/sentry/index.ts","inputs":{},"bytes":384},"packages/sdk/observability/dist/lib/node/observability-JMKBRR4L.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/observability/dist/lib/node/observability-JMKBRR4L.cjs":{"imports":[{"path":"packages/sdk/observability/dist/lib/node/chunk-CBMRJXSL.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-ZJRKFREX.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-BHF4PKAP.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs","kind":"import-statement"}],"exports":["Observability"],"entryPoint":"packages/sdk/observability/src/observability.ts","inputs":{},"bytes":229},"packages/sdk/observability/dist/lib/node/chunk-CBMRJXSL.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":52990},"packages/sdk/observability/dist/lib/node/chunk-CBMRJXSL.cjs":{"imports":[{"path":"packages/sdk/observability/dist/lib/node/chunk-ZJRKFREX.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-BHF4PKAP.cjs","kind":"import-statement"},{"path":"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs","kind":"import-statement"},{"path":"@dxos/async","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":"packages/sdk/observability/dist/lib/node/observability-JMKBRR4L.cjs","kind":"dynamic-import"},{"path":"js-yaml","kind":"import-statement","external":true},{"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":"uuid","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["OBSERVABILITY_DISABLED_KEY","OBSERVABILITY_GROUP_KEY","Observability","getObservabilityGroup","getObservabilityState","getTelemetryIdentifier","initializeAppObservability","initializeNodeObservability","isObservabilityDisabled","mapSpaces","setupTelemetryListeners","showObservabilityBanner","storeObservabilityDisabled","storeObservabilityGroup"],"inputs":{"packages/sdk/observability/src/observability.ts":{"bytesInOutput":13583},"packages/sdk/observability/src/cli-observability-secrets.json":{"bytesInOutput":347},"packages/sdk/observability/src/helpers/browser-observability.ts":{"bytesInOutput":4736},"packages/sdk/observability/src/helpers/index.ts":{"bytesInOutput":0},"packages/sdk/observability/src/helpers/common.ts":{"bytesInOutput":229},"packages/sdk/observability/src/helpers/node-observability.ts":{"bytesInOutput":3419},"packages/sdk/observability/src/helpers/map-spaces.ts":{"bytesInOutput":1177},"packages/sdk/observability/src/helpers/setup-telemetry-listeners.ts":{"bytesInOutput":2736}},"bytes":27371},"packages/sdk/observability/dist/lib/node/chunk-ZJRKFREX.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3002},"packages/sdk/observability/dist/lib/node/chunk-ZJRKFREX.cjs":{"imports":[{"path":"node:os","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"datadog-metrics","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["DatadogMetrics","defaultOptions"],"inputs":{"packages/sdk/observability/src/datadog/node.ts":{"bytesInOutput":450},"packages/sdk/observability/src/datadog/index.ts":{"bytesInOutput":0},"packages/sdk/observability/src/datadog/metrics.ts":{"bytesInOutput":1128}},"bytes":1774},"packages/sdk/observability/dist/lib/node/chunk-BHF4PKAP.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3928},"packages/sdk/observability/dist/lib/node/chunk-BHF4PKAP.cjs":{"imports":[{"path":"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs","kind":"import-statement"},{"path":"analytics-node","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["SegmentTelemetry"],"inputs":{"packages/sdk/observability/src/segment/node.ts":{"bytesInOutput":2850},"packages/sdk/observability/src/segment/index.ts":{"bytesInOutput":0}},"bytes":3036},"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":16118},"packages/sdk/observability/dist/lib/node/chunk-FSAOBKO2.cjs":{"imports":[{"path":"@sentry/integrations","kind":"import-statement","external":true},{"path":"@sentry/node","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@sentry/node","kind":"import-statement","external":true},{"path":"@sentry/tracing","kind":"dynamic-import","external":true},{"path":"@sentry/browser","kind":"import-statement","external":true},{"path":"@dxos/async","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}],"exports":["SENTRY_LOG_PROCESSOR","addBreadcrumb","captureException","configureTracing","enableSentryLogProcessor","init","setTag","setTags","setUser"],"inputs":{"packages/sdk/observability/src/sentry/node.ts":{"bytesInOutput":3654},"packages/sdk/observability/src/sentry/index.ts":{"bytesInOutput":0},"packages/sdk/observability/src/sentry/tracing.ts":{"bytesInOutput":4629}},"bytes":8601}}}
@@ -16,17 +16,17 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var observability_YMIQHLME_exports = {};
20
- __export(observability_YMIQHLME_exports, {
21
- Observability: () => import_chunk_DE7OVD7T.Observability
19
+ var observability_JMKBRR4L_exports = {};
20
+ __export(observability_JMKBRR4L_exports, {
21
+ Observability: () => import_chunk_CBMRJXSL.Observability
22
22
  });
23
- module.exports = __toCommonJS(observability_YMIQHLME_exports);
24
- var import_chunk_DE7OVD7T = require("./chunk-DE7OVD7T.cjs");
25
- var import_chunk_VDBBIYH6 = require("./chunk-VDBBIYH6.cjs");
26
- var import_chunk_ARUBPK2W = require("./chunk-ARUBPK2W.cjs");
23
+ module.exports = __toCommonJS(observability_JMKBRR4L_exports);
24
+ var import_chunk_CBMRJXSL = require("./chunk-CBMRJXSL.cjs");
25
+ var import_chunk_ZJRKFREX = require("./chunk-ZJRKFREX.cjs");
26
+ var import_chunk_BHF4PKAP = require("./chunk-BHF4PKAP.cjs");
27
27
  var import_chunk_FSAOBKO2 = require("./chunk-FSAOBKO2.cjs");
28
28
  // Annotate the CommonJS export names for ESM import in node:
29
29
  0 && (module.exports = {
30
30
  Observability
31
31
  });
32
- //# sourceMappingURL=observability-YMIQHLME.cjs.map
32
+ //# sourceMappingURL=observability-JMKBRR4L.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["observability-JMKBRR4L.cjs"],
4
+ "sourcesContent": ["import {\n Observability\n} from \"./chunk-CBMRJXSL.cjs\";\nimport \"./chunk-ZJRKFREX.cjs\";\nimport \"./chunk-BHF4PKAP.cjs\";\nimport \"./chunk-FSAOBKO2.cjs\";\nexport {\n Observability\n};\n//# sourceMappingURL=observability-JMKBRR4L.cjs.map\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAEO;AACP,4BAAO;AACP,4BAAO;AACP,4BAAO;",
6
+ "names": []
7
+ }
@@ -18,10 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var segment_exports = {};
20
20
  __export(segment_exports, {
21
- SegmentTelemetry: () => import_chunk_ARUBPK2W.SegmentTelemetry
21
+ SegmentTelemetry: () => import_chunk_BHF4PKAP.SegmentTelemetry
22
22
  });
23
23
  module.exports = __toCommonJS(segment_exports);
24
- var import_chunk_ARUBPK2W = require("../chunk-ARUBPK2W.cjs");
24
+ var import_chunk_BHF4PKAP = require("../chunk-BHF4PKAP.cjs");
25
25
  var import_chunk_FSAOBKO2 = require("../chunk-FSAOBKO2.cjs");
26
26
  // Annotate the CommonJS export names for ESM import in node:
27
27
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.cjs"],
4
- "sourcesContent": ["import {\n SegmentTelemetry\n} from \"../chunk-ARUBPK2W.cjs\";\nimport \"../chunk-FSAOBKO2.cjs\";\nexport {\n SegmentTelemetry\n};\n//# sourceMappingURL=index.cjs.map\n"],
4
+ "sourcesContent": ["import {\n SegmentTelemetry\n} from \"../chunk-BHF4PKAP.cjs\";\nimport \"../chunk-FSAOBKO2.cjs\";\nexport {\n SegmentTelemetry\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAEO;AACP,4BAAO;",
6
6
  "names": []
7
7
  }
@@ -3,7 +3,9 @@ export type DatadogOptions = {
3
3
  apiKey: string;
4
4
  host?: string;
5
5
  site?: String;
6
- getTags: () => Map<string, string>;
6
+ getTags: () => {
7
+ [key: string]: string;
8
+ };
7
9
  config: Config;
8
10
  };
9
11
  export declare class DatadogMetrics {
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../../src/datadog/metrics.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAO3C,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAIF,qBAAa,cAAc;IACzB,OAAO,CAAC,eAAe,CAAC,CAAM;IAC9B,OAAO,CAAC,QAAQ,CAA4B;gBAEhC,OAAO,EAAE,cAAc;IAOnC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAS7C,KAAK;CAGN"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../../src/datadog/metrics.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAO3C,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAEzC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAIF,qBAAa,cAAc;IACzB,OAAO,CAAC,eAAe,CAAC,CAAM;IAC9B,OAAO,CAAC,QAAQ,CAAkC;gBAEtC,OAAO,EAAE,cAAc;IAOnC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAO7C,KAAK;CAGN"}
@@ -44,7 +44,7 @@ class DatadogMetrics {
44
44
  }
45
45
  gauge(name, value, tags) {
46
46
  (0, invariant_1.invariant)(this._datadogmetrics, 'Datadog not initialized');
47
- const mergedTags = Object.entries({ ...Object.fromEntries(this._getTags().entries()), ...tags }).map(([key, value]) => `${key}:${value}`);
47
+ const mergedTags = Object.entries({ ...this._getTags(), ...tags }).map(([key, value]) => `${key}:${value}`);
48
48
  (0, log_1.log)('datadog gauge', { name, value, tags: mergedTags });
49
49
  this._datadogmetrics.gauge(name, value, mergedTags);
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../../src/datadog/metrics.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,yDAA2C;AAC3C,kDAA0B;AAG1B,+CAA4C;AAC5C,mCAAgC;AAEhC,iCAAwC;AAYxC,eAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAExB,MAAa,cAAc;IAIzB,YAAY,OAAuB;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAE/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAA,qBAAc,EAAC,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,KAAa,EAAE,IAAU;QAC3C,IAAA,qBAAS,EAAC,IAAI,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAClG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CACpC,CAAC;QACF,IAAA,SAAG,EAAC,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACF;AAvBD,wCAuBC"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../../src/datadog/metrics.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,yDAA2C;AAC3C,kDAA0B;AAG1B,+CAA4C;AAC5C,mCAAgC;AAEhC,iCAAwC;AAYxC,eAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAExB,MAAa,cAAc;IAIzB,YAAY,OAAuB;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAE/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAA,qBAAc,EAAC,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,KAAa,EAAE,IAAU;QAC3C,IAAA,qBAAS,EAAC,IAAI,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;QAC5G,IAAA,SAAG,EAAC,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACF;AArBD,wCAqBC"}
@@ -1,9 +1,7 @@
1
- import type { Client, Config } from '@dxos/client';
1
+ import type { Config } from '@dxos/client';
2
2
  import type { Mode, Observability } from '../observability';
3
- export declare const BASE_TELEMETRY_PROPERTIES: any;
4
- export declare const OBSERVABILITY_DISABLED_KEY = "telemetry-disabled";
5
- export declare const OBSERVABILITY_GROUP_KEY = "telemetry-group";
6
- export declare const getTelemetryIdentifier: (client: Client) => string | undefined;
3
+ export declare const OBSERVABILITY_DISABLED_KEY = "observability-disabled";
4
+ export declare const OBSERVABILITY_GROUP_KEY = "observability-group";
7
5
  export declare const isObservabilityDisabled: (namespace: string) => Promise<boolean>;
8
6
  export declare const storeObservabilityDisabled: (namespace: string, value: boolean) => Promise<void>;
9
7
  export declare const getObservabilityGroup: (namespace: string) => Promise<string | undefined>;
@@ -16,4 +14,4 @@ export type AppObservabilityOptions = {
16
14
  replayEnable?: boolean;
17
15
  };
18
16
  export declare const initializeAppObservability: ({ namespace, config, mode, tracingEnable, replayEnable, }: AppObservabilityOptions) => Promise<Observability>;
19
- //# sourceMappingURL=app-observability.d.ts.map
17
+ //# sourceMappingURL=browser-observability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-observability.d.ts","sourceRoot":"","sources":["../../../../src/helpers/browser-observability.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE5D,eAAO,MAAM,0BAA0B,2BAA2B,CAAC;AACnE,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,eAAO,MAAM,uBAAuB,cAAqB,MAAM,KAAG,QAAQ,OAAO,CAOhF,CAAC;AAEF,eAAO,MAAM,0BAA0B,cAAqB,MAAM,SAAS,OAAO,kBAMjF,CAAC;AAEF,eAAO,MAAM,qBAAqB,cAAqB,MAAM,KAAG,QAAQ,MAAM,GAAG,SAAS,CAMzF,CAAC;AAEF,eAAO,MAAM,uBAAuB,cAAqB,MAAM,SAAS,MAAM,kBAM7E,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CAExB,CAAC;AAKF,eAAO,MAAM,0BAA0B,8DAMpC,uBAAuB,2BA0GzB,CAAC"}