@grafana/faro-core 1.14.3 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle/faro-core.iife.js +1 -1
- package/dist/bundle/types/api/const.d.ts +4 -3
- package/dist/bundle/types/api/index.d.ts +2 -2
- package/dist/bundle/types/api/logs/initialize.d.ts +1 -1
- package/dist/bundle/types/api/measurements/initialize.d.ts +1 -2
- package/dist/bundle/types/api/traces/initialize.d.ts +1 -1
- package/dist/bundle/types/api/types.d.ts +16 -6
- package/dist/bundle/types/extensions/baseExtension.d.ts +1 -1
- package/dist/bundle/types/globalObject/globalObject.d.ts +1 -2
- package/dist/bundle/types/index.d.ts +3 -3
- package/dist/bundle/types/testUtils/mockTransport.d.ts +1 -1
- package/dist/bundle/types/utils/index.d.ts +1 -1
- package/dist/bundle/types/utils/reactive.d.ts +12 -41
- package/dist/bundle/types/version.d.ts +1 -1
- package/dist/cjs/api/ItemBuffer.js.map +1 -1
- package/dist/cjs/api/const.js +5 -4
- package/dist/cjs/api/const.js.map +1 -1
- package/dist/cjs/api/events/initialize.js +2 -3
- package/dist/cjs/api/events/initialize.js.map +1 -1
- package/dist/cjs/api/exceptions/const.js.map +1 -1
- package/dist/cjs/api/exceptions/initialize.js +2 -3
- package/dist/cjs/api/exceptions/initialize.js.map +1 -1
- package/dist/cjs/api/index.js +5 -4
- package/dist/cjs/api/index.js.map +1 -1
- package/dist/cjs/api/initialize.js +2 -2
- package/dist/cjs/api/initialize.js.map +1 -1
- package/dist/cjs/api/logs/const.js.map +1 -1
- package/dist/cjs/api/logs/initialize.js +2 -3
- package/dist/cjs/api/logs/initialize.js.map +1 -1
- package/dist/cjs/api/measurements/initialize.js +2 -3
- package/dist/cjs/api/measurements/initialize.js.map +1 -1
- package/dist/cjs/api/meta/initialize.js +1 -2
- package/dist/cjs/api/meta/initialize.js.map +1 -1
- package/dist/cjs/api/traces/initialize.js +1 -2
- package/dist/cjs/api/traces/initialize.js.map +1 -1
- package/dist/cjs/api/types.js.map +1 -1
- package/dist/cjs/api/userActionLifecycleHandler.js +4 -5
- package/dist/cjs/api/userActionLifecycleHandler.js.map +1 -1
- package/dist/cjs/api/utils.js +1 -2
- package/dist/cjs/api/utils.js.map +1 -1
- package/dist/cjs/index.js +6 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/initialize.js +1 -2
- package/dist/cjs/initialize.js.map +1 -1
- package/dist/cjs/instrumentations/base.js.map +1 -1
- package/dist/cjs/instrumentations/initialize.js +1 -2
- package/dist/cjs/instrumentations/initialize.js.map +1 -1
- package/dist/cjs/instrumentations/registerInitial.js +1 -2
- package/dist/cjs/instrumentations/registerInitial.js.map +1 -1
- package/dist/cjs/internalLogger/const.js +1 -1
- package/dist/cjs/internalLogger/const.js.map +1 -1
- package/dist/cjs/internalLogger/createInternalLogger.js +1 -2
- package/dist/cjs/internalLogger/createInternalLogger.js.map +1 -1
- package/dist/cjs/internalLogger/initialize.js +2 -2
- package/dist/cjs/internalLogger/initialize.js.map +1 -1
- package/dist/cjs/metas/initialize.js +1 -2
- package/dist/cjs/metas/initialize.js.map +1 -1
- package/dist/cjs/metas/registerInitial.js +1 -2
- package/dist/cjs/metas/registerInitial.js.map +1 -1
- package/dist/cjs/sdk/faroGlobalObject.js +1 -2
- package/dist/cjs/sdk/faroGlobalObject.js.map +1 -1
- package/dist/cjs/sdk/internalFaroGlobalObject.js +3 -4
- package/dist/cjs/sdk/internalFaroGlobalObject.js.map +1 -1
- package/dist/cjs/sdk/registerFaro.js +2 -2
- package/dist/cjs/sdk/registerFaro.js.map +1 -1
- package/dist/cjs/testUtils/mockConfig.js +1 -2
- package/dist/cjs/testUtils/mockConfig.js.map +1 -1
- package/dist/cjs/testUtils/mockStacktraceParser.js.map +1 -1
- package/dist/cjs/testUtils/mockTransport.js.map +1 -1
- package/dist/cjs/testUtils/testPromise.js +1 -2
- package/dist/cjs/testUtils/testPromise.js.map +1 -1
- package/dist/cjs/transports/batchExecutor.js.map +1 -1
- package/dist/cjs/transports/const.js +1 -1
- package/dist/cjs/transports/const.js.map +1 -1
- package/dist/cjs/transports/initialize.js +1 -2
- package/dist/cjs/transports/initialize.js.map +1 -1
- package/dist/cjs/transports/registerInitial.js +1 -2
- package/dist/cjs/transports/registerInitial.js.map +1 -1
- package/dist/cjs/transports/utils.js +2 -3
- package/dist/cjs/transports/utils.js.map +1 -1
- package/dist/cjs/unpatchedConsole/initialize.js +2 -2
- package/dist/cjs/unpatchedConsole/initialize.js.map +1 -1
- package/dist/cjs/utils/date.js +3 -4
- package/dist/cjs/utils/date.js.map +1 -1
- package/dist/cjs/utils/deepEqual.js +1 -2
- package/dist/cjs/utils/deepEqual.js.map +1 -1
- package/dist/cjs/utils/index.js +1 -2
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/is.js +5 -5
- package/dist/cjs/utils/is.js.map +1 -1
- package/dist/cjs/utils/json.js +3 -4
- package/dist/cjs/utils/json.js.map +1 -1
- package/dist/cjs/utils/logLevels.js +1 -1
- package/dist/cjs/utils/logLevels.js.map +1 -1
- package/dist/cjs/utils/noop.js +1 -2
- package/dist/cjs/utils/noop.js.map +1 -1
- package/dist/cjs/utils/promiseBuffer.js +1 -2
- package/dist/cjs/utils/promiseBuffer.js.map +1 -1
- package/dist/cjs/utils/reactive.js +61 -75
- package/dist/cjs/utils/reactive.js.map +1 -1
- package/dist/cjs/utils/shortId.js +1 -2
- package/dist/cjs/utils/shortId.js.map +1 -1
- package/dist/cjs/utils/sourceMaps.js +1 -2
- package/dist/cjs/utils/sourceMaps.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/api/ItemBuffer.js.map +1 -1
- package/dist/esm/api/const.js +4 -3
- package/dist/esm/api/const.js.map +1 -1
- package/dist/esm/api/events/initialize.js +2 -2
- package/dist/esm/api/events/initialize.js.map +1 -1
- package/dist/esm/api/exceptions/const.js.map +1 -1
- package/dist/esm/api/exceptions/initialize.js +2 -2
- package/dist/esm/api/exceptions/initialize.js.map +1 -1
- package/dist/esm/api/index.js +1 -1
- package/dist/esm/api/index.js.map +1 -1
- package/dist/esm/api/logs/const.js.map +1 -1
- package/dist/esm/api/logs/initialize.js +2 -2
- package/dist/esm/api/logs/initialize.js.map +1 -1
- package/dist/esm/api/measurements/initialize.js +2 -2
- package/dist/esm/api/measurements/initialize.js.map +1 -1
- package/dist/esm/api/meta/initialize.js.map +1 -1
- package/dist/esm/api/traces/initialize.js.map +1 -1
- package/dist/esm/api/types.js.map +1 -1
- package/dist/esm/api/userActionLifecycleHandler.js +4 -4
- package/dist/esm/api/userActionLifecycleHandler.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/initialize.js.map +1 -1
- package/dist/esm/instrumentations/initialize.js.map +1 -1
- package/dist/esm/internalLogger/createInternalLogger.js.map +1 -1
- package/dist/esm/metas/initialize.js.map +1 -1
- package/dist/esm/metas/registerInitial.js.map +1 -1
- package/dist/esm/sdk/faroGlobalObject.js.map +1 -1
- package/dist/esm/sdk/internalFaroGlobalObject.js.map +1 -1
- package/dist/esm/testUtils/mockStacktraceParser.js.map +1 -1
- package/dist/esm/transports/batchExecutor.js.map +1 -1
- package/dist/esm/transports/initialize.js.map +1 -1
- package/dist/esm/transports/utils.js.map +1 -1
- package/dist/esm/utils/deepEqual.js.map +1 -1
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/is.js.map +1 -1
- package/dist/esm/utils/json.js.map +1 -1
- package/dist/esm/utils/promiseBuffer.js.map +1 -1
- package/dist/esm/utils/reactive.js +55 -69
- package/dist/esm/utils/reactive.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/spec/core/src/api/ItemBuffer.js.map +1 -1
- package/dist/spec/core/src/api/const.js +5 -4
- package/dist/spec/core/src/api/const.js.map +1 -1
- package/dist/spec/core/src/api/events/initialize.js +2 -3
- package/dist/spec/core/src/api/events/initialize.js.map +1 -1
- package/dist/spec/core/src/api/events/initialize.test.js +3 -3
- package/dist/spec/core/src/api/events/initialize.test.js.map +1 -1
- package/dist/spec/core/src/api/exceptions/const.js.map +1 -1
- package/dist/spec/core/src/api/exceptions/initialize.js +2 -3
- package/dist/spec/core/src/api/exceptions/initialize.js.map +1 -1
- package/dist/spec/core/src/api/exceptions/initialize.test.js +3 -3
- package/dist/spec/core/src/api/exceptions/initialize.test.js.map +1 -1
- package/dist/spec/core/src/api/index.js +5 -4
- package/dist/spec/core/src/api/index.js.map +1 -1
- package/dist/spec/core/src/api/initialize.js +2 -2
- package/dist/spec/core/src/api/initialize.js.map +1 -1
- package/dist/spec/core/src/api/initialize.test.js +17 -7
- package/dist/spec/core/src/api/initialize.test.js.map +1 -1
- package/dist/spec/core/src/api/logs/const.js.map +1 -1
- package/dist/spec/core/src/api/logs/initialize.js +2 -3
- package/dist/spec/core/src/api/logs/initialize.js.map +1 -1
- package/dist/spec/core/src/api/logs/initialize.test.js +3 -3
- package/dist/spec/core/src/api/logs/initialize.test.js.map +1 -1
- package/dist/spec/core/src/api/measurements/initialize.js +2 -3
- package/dist/spec/core/src/api/measurements/initialize.js.map +1 -1
- package/dist/spec/core/src/api/measurements/initialize.test.js +3 -3
- package/dist/spec/core/src/api/measurements/initialize.test.js.map +1 -1
- package/dist/spec/core/src/api/meta/initialize.js +1 -2
- package/dist/spec/core/src/api/meta/initialize.js.map +1 -1
- package/dist/spec/core/src/api/traces/initialize.js +1 -2
- package/dist/spec/core/src/api/traces/initialize.js.map +1 -1
- package/dist/spec/core/src/api/types.js.map +1 -1
- package/dist/spec/core/src/api/userActionLifecycleHandler.js +4 -5
- package/dist/spec/core/src/api/userActionLifecycleHandler.js.map +1 -1
- package/dist/spec/core/src/api/userActionLifecycleHandler.test.js +26 -9
- package/dist/spec/core/src/api/userActionLifecycleHandler.test.js.map +1 -1
- package/dist/spec/core/src/api/utils.js +1 -2
- package/dist/spec/core/src/api/utils.js.map +1 -1
- package/dist/spec/core/src/index.js +6 -6
- package/dist/spec/core/src/index.js.map +1 -1
- package/dist/spec/core/src/initialize.js +1 -2
- package/dist/spec/core/src/initialize.js.map +1 -1
- package/dist/spec/core/src/instrumentations/base.js.map +1 -1
- package/dist/spec/core/src/instrumentations/initialize.js +1 -2
- package/dist/spec/core/src/instrumentations/initialize.js.map +1 -1
- package/dist/spec/core/src/instrumentations/registerInitial.js +1 -2
- package/dist/spec/core/src/instrumentations/registerInitial.js.map +1 -1
- package/dist/spec/core/src/internalLogger/const.js +1 -1
- package/dist/spec/core/src/internalLogger/const.js.map +1 -1
- package/dist/spec/core/src/internalLogger/createInternalLogger.js +1 -2
- package/dist/spec/core/src/internalLogger/createInternalLogger.js.map +1 -1
- package/dist/spec/core/src/internalLogger/initialize.js +2 -2
- package/dist/spec/core/src/internalLogger/initialize.js.map +1 -1
- package/dist/spec/core/src/metas/initialize.js +1 -2
- package/dist/spec/core/src/metas/initialize.js.map +1 -1
- package/dist/spec/core/src/metas/registerInitial.js +1 -2
- package/dist/spec/core/src/metas/registerInitial.js.map +1 -1
- package/dist/spec/core/src/sdk/faroGlobalObject.js +1 -2
- package/dist/spec/core/src/sdk/faroGlobalObject.js.map +1 -1
- package/dist/spec/core/src/sdk/internalFaroGlobalObject.js +3 -4
- package/dist/spec/core/src/sdk/internalFaroGlobalObject.js.map +1 -1
- package/dist/spec/core/src/sdk/registerFaro.js +2 -2
- package/dist/spec/core/src/sdk/registerFaro.js.map +1 -1
- package/dist/spec/core/src/testUtils/mockConfig.js +1 -2
- package/dist/spec/core/src/testUtils/mockConfig.js.map +1 -1
- package/dist/spec/core/src/testUtils/mockStacktraceParser.js.map +1 -1
- package/dist/spec/core/src/testUtils/mockTransport.js.map +1 -1
- package/dist/spec/core/src/testUtils/testPromise.js +1 -2
- package/dist/spec/core/src/testUtils/testPromise.js.map +1 -1
- package/dist/spec/core/src/transports/batchExecutor.js.map +1 -1
- package/dist/spec/core/src/transports/const.js +1 -1
- package/dist/spec/core/src/transports/const.js.map +1 -1
- package/dist/spec/core/src/transports/initialize.js +1 -2
- package/dist/spec/core/src/transports/initialize.js.map +1 -1
- package/dist/spec/core/src/transports/registerInitial.js +1 -2
- package/dist/spec/core/src/transports/registerInitial.js.map +1 -1
- package/dist/spec/core/src/transports/transports.test.js.map +1 -1
- package/dist/spec/core/src/transports/utils.js +2 -3
- package/dist/spec/core/src/transports/utils.js.map +1 -1
- package/dist/spec/core/src/unpatchedConsole/initialize.js +2 -2
- package/dist/spec/core/src/unpatchedConsole/initialize.js.map +1 -1
- package/dist/spec/core/src/utils/date.js +3 -4
- package/dist/spec/core/src/utils/date.js.map +1 -1
- package/dist/spec/core/src/utils/deepEqual.js +1 -2
- package/dist/spec/core/src/utils/deepEqual.js.map +1 -1
- package/dist/spec/core/src/utils/index.js +1 -2
- package/dist/spec/core/src/utils/index.js.map +1 -1
- package/dist/spec/core/src/utils/is.js +5 -5
- package/dist/spec/core/src/utils/is.js.map +1 -1
- package/dist/spec/core/src/utils/json.js +3 -4
- package/dist/spec/core/src/utils/json.js.map +1 -1
- package/dist/spec/core/src/utils/logLevels.js +1 -1
- package/dist/spec/core/src/utils/logLevels.js.map +1 -1
- package/dist/spec/core/src/utils/noop.js +1 -2
- package/dist/spec/core/src/utils/noop.js.map +1 -1
- package/dist/spec/core/src/utils/promiseBuffer.js +1 -2
- package/dist/spec/core/src/utils/promiseBuffer.js.map +1 -1
- package/dist/spec/core/src/utils/promiseBuffer.test.js +2 -2
- package/dist/spec/core/src/utils/reactive.js +61 -75
- package/dist/spec/core/src/utils/reactive.js.map +1 -1
- package/dist/spec/core/src/utils/reactive.test.js +32 -19
- package/dist/spec/core/src/utils/reactive.test.js.map +1 -1
- package/dist/spec/core/src/utils/shortId.js +1 -2
- package/dist/spec/core/src/utils/shortId.js.map +1 -1
- package/dist/spec/core/src/utils/sourceMaps.js +1 -2
- package/dist/spec/core/src/utils/sourceMaps.js.map +1 -1
- package/dist/spec/core/src/version.js +1 -1
- package/dist/spec/core/src/version.js.map +1 -1
- package/dist/types/api/const.d.ts +4 -3
- package/dist/types/api/index.d.ts +2 -2
- package/dist/types/api/logs/initialize.d.ts +1 -1
- package/dist/types/api/measurements/initialize.d.ts +1 -2
- package/dist/types/api/traces/initialize.d.ts +1 -1
- package/dist/types/api/types.d.ts +16 -6
- package/dist/types/core/src/api/const.d.ts +4 -3
- package/dist/types/core/src/api/index.d.ts +2 -2
- package/dist/types/core/src/api/logs/initialize.d.ts +1 -1
- package/dist/types/core/src/api/measurements/initialize.d.ts +1 -2
- package/dist/types/core/src/api/traces/initialize.d.ts +1 -1
- package/dist/types/core/src/api/types.d.ts +16 -6
- package/dist/types/core/src/extensions/baseExtension.d.ts +1 -1
- package/dist/types/core/src/globalObject/globalObject.d.ts +1 -2
- package/dist/types/core/src/index.d.ts +3 -3
- package/dist/types/core/src/testUtils/mockTransport.d.ts +1 -1
- package/dist/types/core/src/utils/index.d.ts +1 -1
- package/dist/types/core/src/utils/reactive.d.ts +12 -41
- package/dist/types/core/src/version.d.ts +1 -1
- package/dist/types/extensions/baseExtension.d.ts +1 -1
- package/dist/types/globalObject/globalObject.d.ts +1 -2
- package/dist/types/index.d.ts +3 -3
- package/dist/types/testUtils/mockTransport.d.ts +1 -1
- package/dist/types/utils/index.d.ts +1 -1
- package/dist/types/utils/reactive.d.ts +12 -41
- package/dist/types/version.d.ts +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.test.js","sourceRoot":"","sources":["../../../../../../src/api/measurements/initialize.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n APIEvent,\n ApiMessageBusMessages,\n dateNow,\n type MeasurementEvent,\n type PushMeasurementOptions,\n TransportItem,\n} from '../..';\nimport { initializeFaro } from '../../initialize';\nimport { mockConfig, mockInternalLogger, MockTransport } from '../../testUtils';\nimport { mockMetas, mockTracesApi, mockTransports } from '../apiTestHelpers';\nimport {\n USER_ACTION_CANCEL_MESSAGE_TYPE,\n USER_ACTION_END_MESSAGE_TYPE,\n USER_ACTION_START_MESSAGE_TYPE,\n} from '../const';\nimport { ItemBuffer } from '../ItemBuffer';\nimport type { API } from '../types';\n\nimport { initializeMeasurementsAPI } from './initialize';\n\ndescribe('api.measurements', () => {\n function createAPI({ dedupe }: { dedupe: boolean } = { dedupe: true }): [API, MockTransport] {\n const transport = new MockTransport();\n const config = mockConfig({\n dedupe,\n transports: [transport],\n });\n\n const { api } = initializeFaro(config);\n\n return [api, transport];\n }\n\n describe('pushMeasurement', () => {\n let api: API;\n let transport: MockTransport;\n\n beforeEach(() => {\n [api, transport] = createAPI();\n });\n\n describe('Filtering', () => {\n it('filters the same measurement', () => {\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n });\n\n it('filters the same measurement with the same context', () => {\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const context = { foo: 'bar' };\n\n api.pushMeasurement(measurement, { context });\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement, { context });\n expect(transport.items).toHaveLength(1);\n });\n\n it(\"doesn't filter events with different context\", () => {\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement, { context: { foo: 'bar' } });\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement, { context: { bar: 'baz' } });\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter measurements with same type and partially same values\", () => {\n const measurement1 = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const measurement2 = {\n ...measurement1,\n values: {\n ...measurement1.values,\n b: 2,\n },\n };\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement2);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter measurements with different type and same values\", () => {\n const measurement1 = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const measurement2 = {\n ...measurement1,\n type: 'web-vitals',\n };\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement2);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"filters a measurement and doesn't filter the next different one\", () => {\n const measurement1 = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const measurement2 = {\n ...measurement1,\n type: 'web-vitals',\n };\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement2);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter when dedupe is false\", () => {\n [api, transport] = createAPI({ dedupe: false });\n\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter when skipDedupe is true\", () => {\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement, { skipDedupe: true });\n expect(transport.items).toHaveLength(2);\n });\n\n it('uses traceId and spanId from custom context', () => {\n const spanContext: PushMeasurementOptions['spanContext'] = {\n traceId: 'my-trace-id',\n spanId: 'my-span-id',\n };\n\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement, { spanContext });\n expect(transport.items).toHaveLength(1);\n\n expect((transport.items[0]?.payload as MeasurementEvent).trace).toStrictEqual({\n trace_id: 'my-trace-id',\n span_id: 'my-span-id',\n });\n });\n });\n\n it('Sets the timestamp to the provided custom timestamp', () => {\n api.pushMeasurement(\n {\n type: 'custom',\n values: {\n a: 1,\n },\n },\n { timestampOverwriteMs: 123 }\n );\n expect(transport.items).toHaveLength(1);\n expect((transport.items[0]?.payload as MeasurementEvent).timestamp).toBe('1970-01-01T00:00:00.123Z');\n });\n\n it('stringifies all values in the attributes object', () => {\n api.pushEvent('test', {\n // @ts-expect-error\n a: 1,\n b: 'foo',\n // @ts-expect-error\n c: true,\n // @ts-expect-error\n d: { e: 'bar' },\n // @ts-expect-error\n g: null,\n // @ts-expect-error\n h: undefined,\n // @ts-expect-error\n i: [1, 2, 3],\n });\n\n // @ts-expect-error\n expect(transport.items[0]?.payload.attributes).toStrictEqual({\n a: '1',\n b: 'foo',\n c: 'true',\n d: '{\"e\":\"bar\"}',\n g: 'null',\n h: 'undefined',\n i: '[1,2,3]',\n });\n });\n\n it('does not stringify empty context', () => {\n api.pushMeasurement(\n {\n type: 'custom',\n values: {},\n },\n {\n context: {},\n }\n );\n api.pushMeasurement({\n type: 'custom2',\n values: {},\n });\n expect(transport.items).toHaveLength(2);\n expect((transport.items[0] as TransportItem<MeasurementEvent>).payload.context).toBeUndefined();\n expect((transport.items[0] as TransportItem<MeasurementEvent>).payload.context).toBeUndefined();\n });\n });\n\n describe('User action', () => {\n it('buffers the measurement if a user action is in progress', () => {\n const internalLogger = mockInternalLogger;\n const config = mockConfig();\n\n const actionBuffer = new ItemBuffer<TransportItem<APIEvent>>();\n\n let message: ApiMessageBusMessages | undefined;\n\n const getMessage = () => message;\n\n message = { type: 'user-action-start', name: 'testAction', startTime: Date.now(), parentId: 'parent-id' };\n const api = initializeMeasurementsAPI({\n unpatchedConsole: console,\n internalLogger,\n config,\n metas: mockMetas,\n transports: mockTransports,\n tracesApi: mockTracesApi,\n actionBuffer,\n getMessage,\n });\n\n api.pushMeasurement({ type: 'test', values: { a: 1 } });\n expect(actionBuffer.size()).toBe(1);\n\n message = {\n type: 'user-action-end',\n name: 'testAction',\n id: 'parent-id',\n startTime: dateNow(),\n endTime: dateNow(),\n duration: 0,\n eventType: 'click',\n };\n\n api.pushMeasurement({ type: 'test-2', values: { a: 1 } });\n expect(actionBuffer.size()).toBe(1);\n\n message = {\n type: 'user-action-cancel',\n name: 'testAction',\n parentId: 'parent-id',\n };\n\n api.pushMeasurement({ type: 'test-3', values: { a: 1 } });\n expect(actionBuffer.size()).toBe(1);\n });\n });\n\n describe('User action', () => {\n it('buffers the item if a user action is in progress', () => {\n const internalLogger = mockInternalLogger;\n const config = mockConfig();\n\n const actionBuffer = new ItemBuffer<TransportItem<APIEvent>>();\n\n let message: ApiMessageBusMessages | undefined;\n\n const getMessage = () => message;\n\n message = {\n type: USER_ACTION_START_MESSAGE_TYPE,\n name: 'testAction',\n startTime: Date.now(),\n parentId: 'parent-id',\n };\n const api = initializeMeasurementsAPI({\n unpatchedConsole: console,\n internalLogger,\n config,\n metas: mockMetas,\n transports: mockTransports,\n tracesApi: mockTracesApi,\n actionBuffer,\n getMessage,\n });\n\n api.pushMeasurement({ type: 'test', values: { a: 1 } });\n expect(actionBuffer.size()).toBe(1);\n\n message = {\n type: USER_ACTION_END_MESSAGE_TYPE,\n name: 'testAction',\n id: 'parent-id',\n startTime: dateNow(),\n endTime: dateNow(),\n duration: 0,\n eventType: 'click',\n };\n\n api.pushMeasurement({ type: 'test-2', values: { a: 1 } });\n expect(actionBuffer.size()).toBe(1);\n\n message = {\n type: USER_ACTION_CANCEL_MESSAGE_TYPE,\n name: 'testAction',\n parentId: 'parent-id',\n };\n\n api.pushMeasurement({ type: 'test-3', values: { a: 1 } });\n expect(actionBuffer.size()).toBe(1);\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"initialize.test.js","sourceRoot":"","sources":["../../../../../../src/api/measurements/initialize.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n APIEvent,\n ApiMessageBusMessages,\n dateNow,\n type MeasurementEvent,\n type PushMeasurementOptions,\n TransportItem,\n} from '../..';\nimport { initializeFaro } from '../../initialize';\nimport { mockConfig, mockInternalLogger, MockTransport } from '../../testUtils';\nimport { mockMetas, mockTracesApi, mockTransports } from '../apiTestHelpers';\nimport { USER_ACTION_CANCEL, USER_ACTION_END, USER_ACTION_START } from '../const';\nimport { ItemBuffer } from '../ItemBuffer';\nimport type { API } from '../types';\n\nimport { initializeMeasurementsAPI } from './initialize';\n\ndescribe('api.measurements', () => {\n function createAPI({ dedupe }: { dedupe: boolean } = { dedupe: true }): [API, MockTransport] {\n const transport = new MockTransport();\n const config = mockConfig({\n dedupe,\n transports: [transport],\n });\n\n const { api } = initializeFaro(config);\n\n return [api, transport];\n }\n\n describe('pushMeasurement', () => {\n let api: API;\n let transport: MockTransport;\n\n beforeEach(() => {\n [api, transport] = createAPI();\n });\n\n describe('Filtering', () => {\n it('filters the same measurement', () => {\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n });\n\n it('filters the same measurement with the same context', () => {\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const context = { foo: 'bar' };\n\n api.pushMeasurement(measurement, { context });\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement, { context });\n expect(transport.items).toHaveLength(1);\n });\n\n it(\"doesn't filter events with different context\", () => {\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement, { context: { foo: 'bar' } });\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement, { context: { bar: 'baz' } });\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter measurements with same type and partially same values\", () => {\n const measurement1 = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const measurement2 = {\n ...measurement1,\n values: {\n ...measurement1.values,\n b: 2,\n },\n };\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement2);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter measurements with different type and same values\", () => {\n const measurement1 = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const measurement2 = {\n ...measurement1,\n type: 'web-vitals',\n };\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement2);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"filters a measurement and doesn't filter the next different one\", () => {\n const measurement1 = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const measurement2 = {\n ...measurement1,\n type: 'web-vitals',\n };\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement2);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter when dedupe is false\", () => {\n [api, transport] = createAPI({ dedupe: false });\n\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter when skipDedupe is true\", () => {\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement, { skipDedupe: true });\n expect(transport.items).toHaveLength(2);\n });\n\n it('uses traceId and spanId from custom context', () => {\n const spanContext: PushMeasurementOptions['spanContext'] = {\n traceId: 'my-trace-id',\n spanId: 'my-span-id',\n };\n\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement, { spanContext });\n expect(transport.items).toHaveLength(1);\n\n expect((transport.items[0]?.payload as MeasurementEvent).trace).toStrictEqual({\n trace_id: 'my-trace-id',\n span_id: 'my-span-id',\n });\n });\n });\n\n it('Sets the timestamp to the provided custom timestamp', () => {\n api.pushMeasurement(\n {\n type: 'custom',\n values: {\n a: 1,\n },\n },\n { timestampOverwriteMs: 123 }\n );\n expect(transport.items).toHaveLength(1);\n expect((transport.items[0]?.payload as MeasurementEvent).timestamp).toBe('1970-01-01T00:00:00.123Z');\n });\n\n it('stringifies all values in the attributes object', () => {\n api.pushEvent('test', {\n // @ts-expect-error\n a: 1,\n b: 'foo',\n // @ts-expect-error\n c: true,\n // @ts-expect-error\n d: { e: 'bar' },\n // @ts-expect-error\n g: null,\n // @ts-expect-error\n h: undefined,\n // @ts-expect-error\n i: [1, 2, 3],\n });\n\n // @ts-expect-error\n expect(transport.items[0]?.payload.attributes).toStrictEqual({\n a: '1',\n b: 'foo',\n c: 'true',\n d: '{\"e\":\"bar\"}',\n g: 'null',\n h: 'undefined',\n i: '[1,2,3]',\n });\n });\n\n it('does not stringify empty context', () => {\n api.pushMeasurement(\n {\n type: 'custom',\n values: {},\n },\n {\n context: {},\n }\n );\n api.pushMeasurement({\n type: 'custom2',\n values: {},\n });\n expect(transport.items).toHaveLength(2);\n expect((transport.items[0] as TransportItem<MeasurementEvent>).payload.context).toBeUndefined();\n expect((transport.items[0] as TransportItem<MeasurementEvent>).payload.context).toBeUndefined();\n });\n });\n\n describe('User action', () => {\n it('buffers the measurement if a user action is in progress', () => {\n const internalLogger = mockInternalLogger;\n const config = mockConfig();\n\n const actionBuffer = new ItemBuffer<TransportItem<APIEvent>>();\n\n let message: ApiMessageBusMessages | undefined;\n\n const getMessage = () => message;\n\n message = { type: 'user-action-start', name: 'testAction', startTime: Date.now(), parentId: 'parent-id' };\n const api = initializeMeasurementsAPI({\n unpatchedConsole: console,\n internalLogger,\n config,\n metas: mockMetas,\n transports: mockTransports,\n tracesApi: mockTracesApi,\n actionBuffer,\n getMessage,\n });\n\n api.pushMeasurement({ type: 'test', values: { a: 1 } });\n expect(actionBuffer.size()).toBe(1);\n\n message = {\n type: 'user-action-end',\n name: 'testAction',\n id: 'parent-id',\n startTime: dateNow(),\n endTime: dateNow(),\n duration: 0,\n eventType: 'click',\n };\n\n api.pushMeasurement({ type: 'test-2', values: { a: 1 } });\n expect(actionBuffer.size()).toBe(1);\n\n message = {\n type: 'user-action-cancel',\n name: 'testAction',\n parentId: 'parent-id',\n };\n\n api.pushMeasurement({ type: 'test-3', values: { a: 1 } });\n expect(actionBuffer.size()).toBe(1);\n });\n });\n\n describe('User action', () => {\n it('buffers the item if a user action is in progress', () => {\n const internalLogger = mockInternalLogger;\n const config = mockConfig();\n\n const actionBuffer = new ItemBuffer<TransportItem<APIEvent>>();\n\n let message: ApiMessageBusMessages | undefined;\n\n const getMessage = () => message;\n\n message = {\n type: USER_ACTION_START,\n name: 'testAction',\n startTime: Date.now(),\n parentId: 'parent-id',\n };\n const api = initializeMeasurementsAPI({\n unpatchedConsole: console,\n internalLogger,\n config,\n metas: mockMetas,\n transports: mockTransports,\n tracesApi: mockTracesApi,\n actionBuffer,\n getMessage,\n });\n\n api.pushMeasurement({ type: 'test', values: { a: 1 } });\n expect(actionBuffer.size()).toBe(1);\n\n message = {\n type: USER_ACTION_END,\n name: 'testAction',\n id: 'parent-id',\n startTime: dateNow(),\n endTime: dateNow(),\n duration: 0,\n eventType: 'click',\n };\n\n api.pushMeasurement({ type: 'test-2', values: { a: 1 } });\n expect(actionBuffer.size()).toBe(1);\n\n message = {\n type: USER_ACTION_CANCEL,\n name: 'testAction',\n parentId: 'parent-id',\n };\n\n api.pushMeasurement({ type: 'test-3', values: { a: 1 } });\n expect(actionBuffer.size()).toBe(1);\n });\n });\n});\n"]}
|
|
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.initializeMetaAPI =
|
|
14
|
+
exports.initializeMetaAPI = initializeMetaAPI;
|
|
15
15
|
var is_1 = require("../../utils/is");
|
|
16
16
|
function initializeMetaAPI(_a) {
|
|
17
17
|
var internalLogger = _a.internalLogger, metas = _a.metas;
|
|
@@ -89,5 +89,4 @@ function initializeMetaAPI(_a) {
|
|
|
89
89
|
getPage: getPage,
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
|
-
exports.initializeMetaAPI = initializeMetaAPI;
|
|
93
92
|
//# sourceMappingURL=initialize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../../../src/api/meta/initialize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../../../src/api/meta/initialize.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Meta, Metas } from '../../metas';\nimport type { TransportItem, Transports } from '../../transports';\nimport type { UnpatchedConsole } from '../../unpatchedConsole';\nimport { isEmpty, isString } from '../../utils/is';\nimport type { ItemBuffer } from '../ItemBuffer';\nimport type { TracesAPI } from '../traces';\nimport type { ApiMessageBusMessages } from '../types';\n\nimport type { MetaAPI } from './types';\n\nexport function initializeMetaAPI({\n internalLogger,\n metas,\n}: {\n unpatchedConsole: UnpatchedConsole;\n internalLogger: InternalLogger;\n config: Config;\n metas: Metas;\n transports: Transports;\n tracesApi: TracesAPI;\n actionBuffer: ItemBuffer<TransportItem>;\n getMessage: () => ApiMessageBusMessages | undefined;\n}): MetaAPI {\n internalLogger.debug('Initializing meta API');\n\n let metaSession: Partial<Meta> | undefined = undefined;\n let metaUser: Partial<Meta> | undefined = undefined;\n let metaView: Partial<Meta> | undefined = undefined;\n let metaPage: Partial<Meta> | undefined = undefined;\n\n const setUser: MetaAPI['setUser'] = (user) => {\n if (metaUser) {\n metas.remove(metaUser);\n }\n\n metaUser = {\n user,\n };\n\n metas.add(metaUser);\n };\n\n const setSession: MetaAPI['setSession'] = (session, options) => {\n const newOverrides = options?.overrides;\n const overrides = newOverrides\n ? {\n overrides: {\n ...metaSession?.session?.overrides,\n ...newOverrides,\n },\n }\n : {};\n\n if (metaSession) {\n metas.remove(metaSession);\n }\n\n metaSession = {\n session: {\n // if session is undefined, session manager force creates a new session\n ...(isEmpty(session) ? undefined : session),\n ...overrides,\n },\n };\n\n metas.add(metaSession);\n };\n\n const getSession: MetaAPI['getSession'] = () => metas.value.session;\n\n const setView: MetaAPI['setView'] = (view, options) => {\n if (options?.overrides) {\n setSession(getSession(), { overrides: options.overrides });\n }\n\n if (metaView?.view?.name === view?.name) {\n return;\n }\n\n const previousView = metaView;\n\n metaView = {\n view,\n };\n\n metas.add(metaView);\n\n if (previousView) {\n metas.remove(previousView);\n }\n };\n\n const getView: MetaAPI['getView'] = () => metas.value.view;\n\n const setPage: MetaAPI['setPage'] = (page) => {\n const pageMeta = isString(page)\n ? {\n // metaPage is available once setPage() has been called.\n // This is because page self updating metas like page need to be added as a function\n // Thus we call getPage in case metaPage is empty\n ...(metaPage?.page ?? getPage()),\n id: page,\n }\n : page;\n\n if (metaPage) {\n metas.remove(metaPage);\n }\n\n metaPage = {\n page: pageMeta,\n };\n\n metas.add(metaPage);\n };\n\n const getPage: MetaAPI['getPage'] = () => metas.value.page;\n\n return {\n setUser,\n resetUser: setUser as MetaAPI['resetUser'],\n setSession,\n resetSession: setSession as MetaAPI['resetSession'],\n getSession,\n setView,\n getView,\n setPage,\n getPage,\n };\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.initializeTracesAPI =
|
|
3
|
+
exports.initializeTracesAPI = initializeTracesAPI;
|
|
4
4
|
var transports_1 = require("../../transports");
|
|
5
5
|
function initializeTracesAPI(_unpatchedConsole, internalLogger, _config, metas, transports) {
|
|
6
6
|
internalLogger.debug('Initializing traces API');
|
|
@@ -45,5 +45,4 @@ function initializeTracesAPI(_unpatchedConsole, internalLogger, _config, metas,
|
|
|
45
45
|
pushTraces: pushTraces,
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
|
-
exports.initializeTracesAPI = initializeTracesAPI;
|
|
49
48
|
//# sourceMappingURL=initialize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../../../src/api/traces/initialize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../../../src/api/traces/initialize.ts"],"names":[],"mappings":";;AASA,kDA0DC;AAhED,+CAAqD;AAMrD,SAAgB,mBAAmB,CACjC,iBAAmC,EACnC,cAA8B,EAC9B,OAAe,EACf,KAAY,EACZ,UAAsB;IAEtB,cAAc,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEhD,IAAI,IAAI,GAAwB,SAAS,CAAC;IAE1C,IAAM,QAAQ,GAA0B,UAAC,KAAK,EAAE,OAAO;QACrD,cAAc,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAEnD,IAAI,GAAG;YACL,KAAK,OAAA;YACL,OAAO,SAAA;SACR,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,eAAe,GAAiC;QACpD,IAAM,GAAG,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAE9D,OAAO,CAAC,GAAG;YACT,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,QAAQ,EAAE,GAAG,CAAC,OAAO;gBACrB,OAAO,EAAE,GAAG,CAAC,MAAM;aACpB,CAAC;IACR,CAAC,CAAC;IAEF,IAAM,UAAU,GAA4B,UAAC,OAAO;QAClD,IAAI,CAAC;YACH,IAAM,IAAI,GAA8B;gBACtC,IAAI,EAAE,8BAAiB,CAAC,KAAK;gBAC7B,OAAO,SAAA;gBACP,IAAI,EAAE,KAAK,CAAC,KAAK;aAClB,CAAC;YAEF,cAAc,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAE9C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,cAAc,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC;IAEF,IAAM,OAAO,GAAyB,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;IAEjD,IAAM,iBAAiB,GAAmC,cAAM,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC;IAEvE,OAAO;QACL,OAAO,SAAA;QACP,eAAe,iBAAA;QACf,QAAQ,UAAA;QACR,iBAAiB,mBAAA;QACjB,UAAU,YAAA;KACX,CAAC;AACJ,CAAC","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Metas } from '../../metas';\nimport { TransportItemType } from '../../transports';\nimport type { TransportItem, Transports } from '../../transports/types';\nimport type { UnpatchedConsole } from '../../unpatchedConsole';\n\nimport type { OTELApi, TraceEvent, TracesAPI } from './types';\n\nexport function initializeTracesAPI(\n _unpatchedConsole: UnpatchedConsole,\n internalLogger: InternalLogger,\n _config: Config,\n metas: Metas,\n transports: Transports\n): TracesAPI {\n internalLogger.debug('Initializing traces API');\n\n let otel: OTELApi | undefined = undefined;\n\n const initOTEL: TracesAPI['initOTEL'] = (trace, context) => {\n internalLogger.debug('Initializing OpenTelemetry');\n\n otel = {\n trace,\n context,\n };\n };\n\n const getTraceContext: TracesAPI['getTraceContext'] = () => {\n const ctx = otel?.trace.getSpanContext(otel.context.active());\n\n return !ctx\n ? undefined\n : {\n trace_id: ctx.traceId,\n span_id: ctx.spanId,\n };\n };\n\n const pushTraces: TracesAPI['pushTraces'] = (payload) => {\n try {\n const item: TransportItem<TraceEvent> = {\n type: TransportItemType.TRACE,\n payload,\n meta: metas.value,\n };\n\n internalLogger.debug('Pushing trace\\n', item);\n\n transports.execute(item);\n } catch (err) {\n internalLogger.error('Error pushing trace\\n', err);\n }\n };\n\n const getOTEL: TracesAPI['getOTEL'] = () => otel;\n\n const isOTELInitialized: TracesAPI['isOTELInitialized'] = () => !!otel;\n\n return {\n getOTEL,\n getTraceContext,\n initOTEL,\n isOTELInitialized,\n pushTraces,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/api/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/api/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { USER_ACTION_CANCEL, USER_ACTION_END, USER_ACTION_HALT, USER_ACTION_START } from './const';\nimport type { EventEvent, EventsAPI } from './events';\nimport type { ExceptionEvent, ExceptionsAPI } from './exceptions';\nimport type { LogEvent, LogsAPI } from './logs';\nimport type { MeasurementEvent, MeasurementsAPI } from './measurements';\nimport type { MetaAPI } from './meta';\nimport type { TraceEvent, TracesAPI } from './traces';\n\nexport type APIEvent = LogEvent | ExceptionEvent | MeasurementEvent | TraceEvent | EventEvent;\n\nexport type API = LogsAPI & ExceptionsAPI & MeasurementsAPI & TracesAPI & MetaAPI & EventsAPI;\n\nexport type ApiMessageBusMessages =\n | UserActionStartMessage\n | UserActionEndMessage\n | UserActionCancelMessage\n | UserActionHaltMessage;\n\nexport type UserActionMessageType =\n | typeof USER_ACTION_START\n | typeof USER_ACTION_END\n | typeof USER_ACTION_CANCEL\n | typeof USER_ACTION_HALT;\n\nexport type UserActionStartMessage = {\n type: typeof USER_ACTION_START;\n name: string;\n startTime: number;\n\n /**\n * Unique identifier of the parent user action to which this action belongs.\n */\n parentId: string;\n};\n\nexport type UserActionEndMessage = {\n type: typeof USER_ACTION_END;\n name: string;\n startTime: number;\n endTime: number;\n duration: number;\n eventType: string;\n\n /**\n * Unique identifier for the user action. Will be undefined for messages related to child actions.\n */\n id: string;\n};\n\nexport type UserActionCancelMessage = {\n type: typeof USER_ACTION_CANCEL;\n name: string;\n\n /**\n * Unique identifier of the parent user action to which this action belongs.\n */\n parentId?: string;\n};\n\nexport type UserActionHaltMessage = {\n type: typeof USER_ACTION_HALT;\n name: string;\n reason: 'pending-requests';\n haltTime: number;\n\n /**\n * Unique identifier of the parent user action to which this action belongs.\n */\n parentId?: string;\n};\n\nexport type UserAction = {\n name: string;\n id?: string;\n parentId?: string;\n};\n"]}
|
|
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.createUserActionLifecycleHandler =
|
|
14
|
+
exports.createUserActionLifecycleHandler = createUserActionLifecycleHandler;
|
|
15
15
|
var transports_1 = require("../transports");
|
|
16
16
|
var const_1 = require("./const");
|
|
17
17
|
var ItemBuffer_1 = require("./ItemBuffer");
|
|
@@ -21,11 +21,11 @@ function createUserActionLifecycleHandler(_a) {
|
|
|
21
21
|
var trackUserActionsExcludeItem = config.trackUserActionsExcludeItem;
|
|
22
22
|
var message;
|
|
23
23
|
apiMessageBus.subscribe(function (msg) {
|
|
24
|
-
if (msg.type
|
|
24
|
+
if (const_1.USER_ACTION_START === msg.type || const_1.USER_ACTION_HALT === msg.type) {
|
|
25
25
|
message = msg;
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
-
if (msg.type === const_1.
|
|
28
|
+
if (msg.type === const_1.USER_ACTION_END) {
|
|
29
29
|
var id_1 = msg.id, name_1 = msg.name;
|
|
30
30
|
actionBuffer.flushBuffer(function (item) {
|
|
31
31
|
if (isExcludeFromUserAction(item, trackUserActionsExcludeItem)) {
|
|
@@ -41,7 +41,7 @@ function createUserActionLifecycleHandler(_a) {
|
|
|
41
41
|
message = undefined;
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
|
-
if (msg.type === const_1.
|
|
44
|
+
if (msg.type === const_1.USER_ACTION_CANCEL) {
|
|
45
45
|
message = undefined;
|
|
46
46
|
actionBuffer.flushBuffer(function (item) {
|
|
47
47
|
transports.execute(item);
|
|
@@ -51,7 +51,6 @@ function createUserActionLifecycleHandler(_a) {
|
|
|
51
51
|
var getMessage = function () { return message; };
|
|
52
52
|
return { actionBuffer: actionBuffer, getMessage: getMessage };
|
|
53
53
|
}
|
|
54
|
-
exports.createUserActionLifecycleHandler = createUserActionLifecycleHandler;
|
|
55
54
|
function isExcludeFromUserAction(item, trackUserActionsExcludeItem) {
|
|
56
55
|
return ((trackUserActionsExcludeItem === null || trackUserActionsExcludeItem === void 0 ? void 0 : trackUserActionsExcludeItem(item)) ||
|
|
57
56
|
(item.type === transports_1.TransportItemType.MEASUREMENT && item.payload.type === 'web-vitals'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userActionLifecycleHandler.js","sourceRoot":"","sources":["../../../../../src/api/userActionLifecycleHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userActionLifecycleHandler.js","sourceRoot":"","sources":["../../../../../src/api/userActionLifecycleHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;AASA,4EAwDC;AAhED,4CAAuF;AAGvF,iCAAmG;AACnG,2CAA0C;AAI1C,SAAgB,gCAAgC,CAAC,EAQhD;QAPC,aAAa,mBAAA,EACb,UAAU,gBAAA,EACV,MAAM,YAAA;IAMN,IAAM,YAAY,GAAG,IAAI,uBAAU,EAAiB,CAAC;IACrD,IAAM,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,CAAC;IACvE,IAAI,OAA0C,CAAC;IAE/C,aAAa,CAAC,SAAS,CAAC,UAAC,GAAG;QAC1B,IAAI,yBAAiB,KAAK,GAAG,CAAC,IAAI,IAAI,wBAAgB,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YACpE,OAAO,GAAG,GAAG,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAe,EAAE,CAAC;YACzB,IAAA,IAAE,GAAW,GAAG,GAAd,EAAE,MAAI,GAAK,GAAG,KAAR,CAAS;YAEzB,YAAY,CAAC,WAAW,CAAC,UAAC,IAAI;gBAC5B,IAAI,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,CAAC,EAAE,CAAC;oBAC/D,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACzB,OAAO;gBACT,CAAC;gBAED,IAAM,cAAc,GAAG,sBAClB,IAAI,KACP,OAAO,wBACF,IAAI,CAAC,OAAO,KACf,MAAM,EAAE;4BACN,QAAQ,EAAE,IAAE;4BACZ,IAAI,QAAA;yBACL,MAEa,CAAC;gBAEnB,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,OAAO,GAAG,SAAS,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,0BAAkB,EAAE,CAAC;YACpC,OAAO,GAAG,SAAS,CAAC;YACpB,YAAY,CAAC,WAAW,CAAC,UAAC,IAAI;gBAC5B,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAM,UAAU,GAAG,cAAsB,OAAA,OAAO,EAAP,CAAO,CAAC;IACjD,OAAO,EAAE,YAAY,cAAA,EAAE,UAAU,YAAA,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAA6B,EAC7B,2BAAkE;IAElE,OAAO,CACL,CAAA,2BAA2B,aAA3B,2BAA2B,uBAA3B,2BAA2B,CAAG,IAAI,CAAC;QACnC,CAAC,IAAI,CAAC,IAAI,KAAK,8BAAiB,CAAC,WAAW,IAAK,IAAI,CAAC,OAA4B,CAAC,IAAI,KAAK,YAAY,CAAC,CAC1G,CAAC;AACJ,CAAC","sourcesContent":["import type { Config } from '../config';\nimport { type TransportItem, TransportItemType, type Transports } from '../transports';\nimport type { Observable } from '../utils';\n\nimport { USER_ACTION_CANCEL, USER_ACTION_END, USER_ACTION_HALT, USER_ACTION_START } from './const';\nimport { ItemBuffer } from './ItemBuffer';\nimport type { MeasurementEvent } from './measurements';\nimport type { APIEvent, ApiMessageBusMessages } from './types';\n\nexport function createUserActionLifecycleHandler({\n apiMessageBus,\n transports,\n config,\n}: {\n apiMessageBus: Observable<ApiMessageBusMessages>;\n transports: Transports;\n config: Config;\n}) {\n const actionBuffer = new ItemBuffer<TransportItem>();\n const trackUserActionsExcludeItem = config.trackUserActionsExcludeItem;\n let message: ApiMessageBusMessages | undefined;\n\n apiMessageBus.subscribe((msg) => {\n if (USER_ACTION_START === msg.type || USER_ACTION_HALT === msg.type) {\n message = msg;\n return;\n }\n\n if (msg.type === USER_ACTION_END) {\n const { id, name } = msg;\n\n actionBuffer.flushBuffer((item) => {\n if (isExcludeFromUserAction(item, trackUserActionsExcludeItem)) {\n transports.execute(item);\n return;\n }\n\n const userActionItem = {\n ...item,\n payload: {\n ...item.payload,\n action: {\n parentId: id,\n name,\n },\n },\n } as TransportItem;\n\n transports.execute(userActionItem);\n });\n\n message = undefined;\n return;\n }\n\n if (msg.type === USER_ACTION_CANCEL) {\n message = undefined;\n actionBuffer.flushBuffer((item) => {\n transports.execute(item);\n });\n }\n });\n\n const getMessage = (): typeof message => message;\n return { actionBuffer, getMessage };\n}\n\nfunction isExcludeFromUserAction(\n item: TransportItem<APIEvent>,\n trackUserActionsExcludeItem: Config['trackUserActionsExcludeItem']\n) {\n return (\n trackUserActionsExcludeItem?.(item) ||\n (item.type === TransportItemType.MEASUREMENT && (item.payload as MeasurementEvent).type === 'web-vitals')\n );\n}\n"]}
|
|
@@ -25,10 +25,27 @@ describe('userActionLifecycleHandler', function () {
|
|
|
25
25
|
config: {},
|
|
26
26
|
}).getMessage;
|
|
27
27
|
var message = {
|
|
28
|
-
type: const_1.
|
|
29
|
-
name: '',
|
|
28
|
+
type: const_1.USER_ACTION_START,
|
|
29
|
+
name: 'start-test',
|
|
30
30
|
startTime: 0,
|
|
31
|
-
parentId: '',
|
|
31
|
+
parentId: '123',
|
|
32
|
+
};
|
|
33
|
+
apiMessageBus.notify(message);
|
|
34
|
+
expect(getMessage()).toEqual(message);
|
|
35
|
+
});
|
|
36
|
+
it('assigns the user-action-halt message to the message variable when it receives it', function () {
|
|
37
|
+
var apiMessageBus = new reactive_1.Observable();
|
|
38
|
+
var getMessage = (0, userActionLifecycleHandler_1.createUserActionLifecycleHandler)({
|
|
39
|
+
apiMessageBus: apiMessageBus,
|
|
40
|
+
transports: apiTestHelpers_1.mockTransports,
|
|
41
|
+
config: {},
|
|
42
|
+
}).getMessage;
|
|
43
|
+
var message = {
|
|
44
|
+
type: __1.USER_ACTION_HALT,
|
|
45
|
+
name: 'halt-test',
|
|
46
|
+
haltTime: 0,
|
|
47
|
+
reason: 'pending-requests',
|
|
48
|
+
parentId: '123',
|
|
32
49
|
};
|
|
33
50
|
apiMessageBus.notify(message);
|
|
34
51
|
expect(getMessage()).toEqual(message);
|
|
@@ -42,7 +59,7 @@ describe('userActionLifecycleHandler', function () {
|
|
|
42
59
|
config: {},
|
|
43
60
|
}), actionBuffer = _a.actionBuffer, getMessage = _a.getMessage;
|
|
44
61
|
var message = {
|
|
45
|
-
type: const_1.
|
|
62
|
+
type: const_1.USER_ACTION_START,
|
|
46
63
|
name: '',
|
|
47
64
|
startTime: 0,
|
|
48
65
|
parentId: '',
|
|
@@ -51,7 +68,7 @@ describe('userActionLifecycleHandler', function () {
|
|
|
51
68
|
var item = { type: __1.TransportItemType.EVENT, payload: {}, meta: {} };
|
|
52
69
|
actionBuffer.addItem(item);
|
|
53
70
|
var cancelMessage = {
|
|
54
|
-
type: const_1.
|
|
71
|
+
type: const_1.USER_ACTION_CANCEL,
|
|
55
72
|
name: 'pointerdown',
|
|
56
73
|
};
|
|
57
74
|
apiMessageBus.notify(cancelMessage);
|
|
@@ -69,7 +86,7 @@ describe('userActionLifecycleHandler', function () {
|
|
|
69
86
|
config: {},
|
|
70
87
|
}).actionBuffer;
|
|
71
88
|
var message = {
|
|
72
|
-
type: const_1.
|
|
89
|
+
type: const_1.USER_ACTION_START,
|
|
73
90
|
name: 'pointerdown',
|
|
74
91
|
startTime: 0,
|
|
75
92
|
parentId: '123',
|
|
@@ -78,7 +95,7 @@ describe('userActionLifecycleHandler', function () {
|
|
|
78
95
|
var item = { type: __1.TransportItemType.EVENT, payload: {}, meta: {} };
|
|
79
96
|
actionBuffer.addItem(item);
|
|
80
97
|
var endMessage = {
|
|
81
|
-
type: const_1.
|
|
98
|
+
type: const_1.USER_ACTION_END,
|
|
82
99
|
id: '123',
|
|
83
100
|
name: 'pointerdown',
|
|
84
101
|
startTime: 100,
|
|
@@ -106,7 +123,7 @@ describe('userActionLifecycleHandler', function () {
|
|
|
106
123
|
},
|
|
107
124
|
}), actionBuffer = _a.actionBuffer, getMessage = _a.getMessage;
|
|
108
125
|
var message = {
|
|
109
|
-
type: const_1.
|
|
126
|
+
type: const_1.USER_ACTION_START,
|
|
110
127
|
name: 'pointerdown',
|
|
111
128
|
startTime: 0,
|
|
112
129
|
parentId: '123',
|
|
@@ -130,7 +147,7 @@ describe('userActionLifecycleHandler', function () {
|
|
|
130
147
|
};
|
|
131
148
|
actionBuffer.addItem(itemEventExcluded);
|
|
132
149
|
var endMessage = {
|
|
133
|
-
type: const_1.
|
|
150
|
+
type: const_1.USER_ACTION_END,
|
|
134
151
|
id: '123',
|
|
135
152
|
name: 'pointerdown',
|
|
136
153
|
startTime: 100,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userActionLifecycleHandler.test.js","sourceRoot":"","sources":["../../../../../src/api/userActionLifecycleHandler.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type APIEvent,\n ApiMessageBusMessages,\n type Config,\n dateNow,\n EventEvent,\n type Meta,\n TransportItem,\n TransportItemType,\n UserActionStartMessage,\n} from '..';\nimport { Observable } from '../utils/reactive';\n\nimport { mockTransports } from './apiTestHelpers';\nimport { USER_ACTION_CANCEL_MESSAGE_TYPE, USER_ACTION_END_MESSAGE_TYPE, USER_ACTION_START_MESSAGE_TYPE } from './const';\nimport { createUserActionLifecycleHandler } from './userActionLifecycleHandler';\n\ndescribe('userActionLifecycleHandler', () => {\n it('assigns the user-action-start message to the message variable when it receives it', () => {\n const apiMessageBus = new Observable<ApiMessageBusMessages>();\n\n const { getMessage } = createUserActionLifecycleHandler({\n apiMessageBus,\n transports: mockTransports,\n config: {} as Config,\n });\n\n const message: UserActionStartMessage = {\n type: USER_ACTION_START_MESSAGE_TYPE,\n name: '',\n startTime: 0,\n parentId: '',\n };\n\n apiMessageBus.notify(message);\n\n expect(getMessage()).toEqual(message);\n });\n\n it('When it receives a user-action-cancel message, it resets the cached message flushes the buffer and sends the items to the transports', () => {\n const apiMessageBus = new Observable<ApiMessageBusMessages>();\n\n const mockExecute = jest.fn();\n const { actionBuffer, getMessage } = createUserActionLifecycleHandler({\n apiMessageBus,\n transports: {\n ...mockTransports,\n execute: mockExecute,\n },\n config: {} as Config,\n });\n\n const message: UserActionStartMessage = {\n type: USER_ACTION_START_MESSAGE_TYPE,\n name: '',\n startTime: 0,\n parentId: '',\n };\n\n apiMessageBus.notify(message);\n\n const item = { type: TransportItemType.EVENT, payload: {}, meta: {} as Meta };\n actionBuffer.addItem(item);\n\n const cancelMessage: ApiMessageBusMessages = {\n type: USER_ACTION_CANCEL_MESSAGE_TYPE,\n name: 'pointerdown',\n };\n\n apiMessageBus.notify(cancelMessage);\n\n expect(getMessage()).toBeUndefined();\n expect(mockExecute).toHaveBeenCalledTimes(1);\n expect(mockExecute).toHaveBeenCalledWith(item);\n expect(actionBuffer.size()).toEqual(0);\n });\n\n it('When it receives a user-action-end message, it sends the items to the transports with the action parentId and name', () => {\n const apiMessageBus = new Observable<ApiMessageBusMessages>();\n\n const mockExecute = jest.fn();\n const { actionBuffer } = createUserActionLifecycleHandler({\n apiMessageBus,\n transports: {\n ...mockTransports,\n execute: mockExecute,\n },\n config: {} as Config,\n });\n\n const message: UserActionStartMessage = {\n type: USER_ACTION_START_MESSAGE_TYPE,\n name: 'pointerdown',\n startTime: 0,\n parentId: '123',\n };\n\n apiMessageBus.notify(message);\n\n const item = { type: TransportItemType.EVENT, payload: {}, meta: {} as Meta };\n actionBuffer.addItem(item);\n\n const endMessage: ApiMessageBusMessages = {\n type: USER_ACTION_END_MESSAGE_TYPE,\n id: '123',\n name: 'pointerdown',\n startTime: 100,\n endTime: 120,\n duration: 20,\n eventType: 'keydown',\n };\n\n apiMessageBus.notify(endMessage);\n\n expect(mockExecute).toHaveBeenCalledTimes(1);\n expect(mockExecute).toHaveBeenCalledWith({\n ...item,\n payload: {\n ...item.payload,\n action: {\n parentId: '123',\n name: 'pointerdown',\n },\n },\n });\n });\n\n it('excludes items defined by the isExcludeFromUserAction function from the user actions', () => {\n const apiMessageBus = new Observable<ApiMessageBusMessages>();\n\n const mockExecute = jest.fn();\n const { actionBuffer, getMessage } = createUserActionLifecycleHandler({\n apiMessageBus,\n transports: {\n ...mockTransports,\n execute: mockExecute,\n },\n config: {\n trackUserActionsExcludeItem(item) {\n return item.type === TransportItemType.EVENT && (item.payload as EventEvent).name === 'i-am-excluded';\n },\n } as Config,\n });\n\n const message: UserActionStartMessage = {\n type: USER_ACTION_START_MESSAGE_TYPE,\n name: 'pointerdown',\n startTime: 0,\n parentId: '123',\n };\n\n apiMessageBus.notify(message);\n\n const itemEvent = { type: TransportItemType.EVENT, payload: {}, meta: {} as Meta };\n actionBuffer.addItem(itemEvent);\n\n const itemMeasurement: TransportItem<APIEvent> = {\n type: TransportItemType.MEASUREMENT,\n payload: { type: 'web-vitals', values: {}, timestamp: dateNow().toString() },\n meta: {} as Meta,\n };\n actionBuffer.addItem(itemMeasurement);\n\n const itemEventExcluded: TransportItem<EventEvent> = {\n type: TransportItemType.EVENT,\n payload: {\n timestamp: dateNow().toString(),\n name: 'i-am-excluded',\n },\n meta: {} as Meta,\n };\n actionBuffer.addItem(itemEventExcluded);\n\n const endMessage: ApiMessageBusMessages = {\n type: USER_ACTION_END_MESSAGE_TYPE,\n id: '123',\n name: 'pointerdown',\n startTime: 100,\n endTime: 120,\n duration: 20,\n eventType: 'keydown',\n };\n\n apiMessageBus.notify(endMessage);\n\n expect(mockExecute).toHaveBeenCalledTimes(3);\n expect(mockExecute).toHaveBeenNthCalledWith(1, {\n ...itemEvent,\n payload: {\n ...itemEvent.payload,\n action: {\n parentId: '123',\n name: 'pointerdown',\n },\n },\n });\n expect(mockExecute).toHaveBeenNthCalledWith(2, itemMeasurement);\n expect(mockExecute).toHaveBeenNthCalledWith(3, itemEventExcluded);\n expect(getMessage()).toBeUndefined();\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"userActionLifecycleHandler.test.js","sourceRoot":"","sources":["../../../../../src/api/userActionLifecycleHandler.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type APIEvent,\n ApiMessageBusMessages,\n type Config,\n dateNow,\n EventEvent,\n type Meta,\n TransportItem,\n TransportItemType,\n USER_ACTION_HALT,\n UserActionStartMessage,\n} from '..';\nimport { Observable } from '../utils/reactive';\n\nimport { mockTransports } from './apiTestHelpers';\nimport { USER_ACTION_CANCEL, USER_ACTION_END, USER_ACTION_START } from './const';\nimport type { UserActionHaltMessage } from './types';\nimport { createUserActionLifecycleHandler } from './userActionLifecycleHandler';\n\ndescribe('userActionLifecycleHandler', () => {\n it('assigns the user-action-start message to the message variable when it receives it', () => {\n const apiMessageBus = new Observable<ApiMessageBusMessages>();\n\n const { getMessage } = createUserActionLifecycleHandler({\n apiMessageBus,\n transports: mockTransports,\n config: {} as Config,\n });\n\n const message: UserActionStartMessage = {\n type: USER_ACTION_START,\n name: 'start-test',\n startTime: 0,\n parentId: '123',\n };\n\n apiMessageBus.notify(message);\n\n expect(getMessage()).toEqual(message);\n });\n\n it('assigns the user-action-halt message to the message variable when it receives it', () => {\n const apiMessageBus = new Observable<ApiMessageBusMessages>();\n\n const { getMessage } = createUserActionLifecycleHandler({\n apiMessageBus,\n transports: mockTransports,\n config: {} as Config,\n });\n\n const message: UserActionHaltMessage = {\n type: USER_ACTION_HALT,\n name: 'halt-test',\n haltTime: 0,\n reason: 'pending-requests',\n parentId: '123',\n };\n\n apiMessageBus.notify(message);\n\n expect(getMessage()).toEqual(message);\n });\n\n it('When it receives a user-action-cancel message, it resets the cached message flushes the buffer and sends the items to the transports', () => {\n const apiMessageBus = new Observable<ApiMessageBusMessages>();\n\n const mockExecute = jest.fn();\n const { actionBuffer, getMessage } = createUserActionLifecycleHandler({\n apiMessageBus,\n transports: {\n ...mockTransports,\n execute: mockExecute,\n },\n config: {} as Config,\n });\n\n const message: UserActionStartMessage = {\n type: USER_ACTION_START,\n name: '',\n startTime: 0,\n parentId: '',\n };\n\n apiMessageBus.notify(message);\n\n const item = { type: TransportItemType.EVENT, payload: {}, meta: {} as Meta };\n actionBuffer.addItem(item);\n\n const cancelMessage: ApiMessageBusMessages = {\n type: USER_ACTION_CANCEL,\n name: 'pointerdown',\n };\n\n apiMessageBus.notify(cancelMessage);\n\n expect(getMessage()).toBeUndefined();\n expect(mockExecute).toHaveBeenCalledTimes(1);\n expect(mockExecute).toHaveBeenCalledWith(item);\n expect(actionBuffer.size()).toEqual(0);\n });\n\n it('When it receives a user-action-end message, it sends the items to the transports with the action parentId and name', () => {\n const apiMessageBus = new Observable<ApiMessageBusMessages>();\n\n const mockExecute = jest.fn();\n const { actionBuffer } = createUserActionLifecycleHandler({\n apiMessageBus,\n transports: {\n ...mockTransports,\n execute: mockExecute,\n },\n config: {} as Config,\n });\n\n const message: UserActionStartMessage = {\n type: USER_ACTION_START,\n name: 'pointerdown',\n startTime: 0,\n parentId: '123',\n };\n\n apiMessageBus.notify(message);\n\n const item = { type: TransportItemType.EVENT, payload: {}, meta: {} as Meta };\n actionBuffer.addItem(item);\n\n const endMessage: ApiMessageBusMessages = {\n type: USER_ACTION_END,\n id: '123',\n name: 'pointerdown',\n startTime: 100,\n endTime: 120,\n duration: 20,\n eventType: 'keydown',\n };\n\n apiMessageBus.notify(endMessage);\n\n expect(mockExecute).toHaveBeenCalledTimes(1);\n expect(mockExecute).toHaveBeenCalledWith({\n ...item,\n payload: {\n ...item.payload,\n action: {\n parentId: '123',\n name: 'pointerdown',\n },\n },\n });\n });\n\n it('excludes items defined by the isExcludeFromUserAction function from the user actions', () => {\n const apiMessageBus = new Observable<ApiMessageBusMessages>();\n\n const mockExecute = jest.fn();\n const { actionBuffer, getMessage } = createUserActionLifecycleHandler({\n apiMessageBus,\n transports: {\n ...mockTransports,\n execute: mockExecute,\n },\n config: {\n trackUserActionsExcludeItem(item) {\n return item.type === TransportItemType.EVENT && (item.payload as EventEvent).name === 'i-am-excluded';\n },\n } as Config,\n });\n\n const message: UserActionStartMessage = {\n type: USER_ACTION_START,\n name: 'pointerdown',\n startTime: 0,\n parentId: '123',\n };\n\n apiMessageBus.notify(message);\n\n const itemEvent = { type: TransportItemType.EVENT, payload: {}, meta: {} as Meta };\n actionBuffer.addItem(itemEvent);\n\n const itemMeasurement: TransportItem<APIEvent> = {\n type: TransportItemType.MEASUREMENT,\n payload: { type: 'web-vitals', values: {}, timestamp: dateNow().toString() },\n meta: {} as Meta,\n };\n actionBuffer.addItem(itemMeasurement);\n\n const itemEventExcluded: TransportItem<EventEvent> = {\n type: TransportItemType.EVENT,\n payload: {\n timestamp: dateNow().toString(),\n name: 'i-am-excluded',\n },\n meta: {} as Meta,\n };\n actionBuffer.addItem(itemEventExcluded);\n\n const endMessage: ApiMessageBusMessages = {\n type: USER_ACTION_END,\n id: '123',\n name: 'pointerdown',\n startTime: 100,\n endTime: 120,\n duration: 20,\n eventType: 'keydown',\n };\n\n apiMessageBus.notify(endMessage);\n\n expect(mockExecute).toHaveBeenCalledTimes(3);\n expect(mockExecute).toHaveBeenNthCalledWith(1, {\n ...itemEvent,\n payload: {\n ...itemEvent.payload,\n action: {\n parentId: '123',\n name: 'pointerdown',\n },\n },\n });\n expect(mockExecute).toHaveBeenNthCalledWith(2, itemMeasurement);\n expect(mockExecute).toHaveBeenNthCalledWith(3, itemEventExcluded);\n expect(getMessage()).toBeUndefined();\n });\n});\n"]}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.shouldIgnoreEvent =
|
|
3
|
+
exports.shouldIgnoreEvent = shouldIgnoreEvent;
|
|
4
4
|
var is_1 = require("../utils/is");
|
|
5
5
|
function shouldIgnoreEvent(patterns, msg) {
|
|
6
6
|
return patterns.some(function (pattern) {
|
|
7
7
|
return (0, is_1.isString)(pattern) ? msg.includes(pattern) : !!msg.match(pattern);
|
|
8
8
|
});
|
|
9
9
|
}
|
|
10
|
-
exports.shouldIgnoreEvent = shouldIgnoreEvent;
|
|
11
10
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/api/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/api/utils.ts"],"names":[],"mappings":";;AAGA,8CAIC;AAND,kCAAuC;AAEvC,SAAgB,iBAAiB,CAAC,QAAkB,EAAE,GAAW;IAC/D,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAC,OAAO;QAC3B,OAAO,IAAA,aAAQ,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { Patterns } from '../config/types';\nimport { isString } from '../utils/is';\n\nexport function shouldIgnoreEvent(patterns: Patterns, msg: string): boolean {\n return patterns.some((pattern) => {\n return isString(pattern) ? msg.includes(pattern) : !!msg.match(pattern);\n });\n}\n"]}
|
|
@@ -14,16 +14,17 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
18
|
-
exports.unknownString = exports.VERSION = exports.
|
|
17
|
+
exports.isNull = exports.isMapDefined = exports.isMap = exports.isInt = exports.isInstanceOf = exports.isFunction = exports.isEventDefined = exports.isEvent = exports.isErrorEvent = exports.isErrorDefined = exports.isError = exports.isElementDefined = exports.isElement = exports.isDomException = exports.isDomError = exports.isBoolean = exports.isArray = exports.getCurrentTimestamp = exports.genShortID = exports.defaultLogLevel = exports.deepEqual = exports.createPromiseBuffer = exports.allLogLevels = exports.defaultUnpatchedConsole = exports.transportItemTypeToBodyKey = exports.TransportItemType = exports.getTransportBody = exports.BaseTransport = exports.setInternalFaroOnGlobalObject = exports.isInternalFaroOnGlobalObject = exports.internalGlobalObjectKey = exports.getInternalFaroFromGlobalObject = exports.faro = exports.InternalLoggerLevel = exports.defaultInternalLoggerLevel = exports.createInternalLogger = exports.BaseInstrumentation = exports.defaultGlobalObjectKey = exports.defaultBatchingConfig = exports.initializeFaro = exports.globalObject = exports.BaseExtension = exports.USER_ACTION_HALT = exports.USER_ACTION_START = exports.USER_ACTION_END = exports.USER_ACTION_CANCEL = exports.apiMessageBus = exports.defaultErrorArgsSerializer = exports.defaultLogArgsSerializer = exports.defaultExceptionType = void 0;
|
|
18
|
+
exports.unknownString = exports.VERSION = exports.Observable = exports.stringifyObjectValues = exports.stringifyExternalJson = exports.getCircularDependencyReplacer = exports.isEmpty = exports.dateNow = exports.noop = exports.LogLevel = exports.isUndefined = exports.isTypeof = exports.isToString = exports.isThenable = exports.isSyntheticEvent = exports.isSymbol = exports.isString = exports.isRegExp = exports.isPrimitive = exports.isObject = exports.isNumber = void 0;
|
|
19
19
|
var api_1 = require("./api");
|
|
20
20
|
Object.defineProperty(exports, "defaultExceptionType", { enumerable: true, get: function () { return api_1.defaultExceptionType; } });
|
|
21
21
|
Object.defineProperty(exports, "defaultLogArgsSerializer", { enumerable: true, get: function () { return api_1.defaultLogArgsSerializer; } });
|
|
22
22
|
Object.defineProperty(exports, "defaultErrorArgsSerializer", { enumerable: true, get: function () { return api_1.defaultErrorArgsSerializer; } });
|
|
23
23
|
Object.defineProperty(exports, "apiMessageBus", { enumerable: true, get: function () { return api_1.apiMessageBus; } });
|
|
24
|
-
Object.defineProperty(exports, "
|
|
25
|
-
Object.defineProperty(exports, "
|
|
26
|
-
Object.defineProperty(exports, "
|
|
24
|
+
Object.defineProperty(exports, "USER_ACTION_CANCEL", { enumerable: true, get: function () { return api_1.USER_ACTION_CANCEL; } });
|
|
25
|
+
Object.defineProperty(exports, "USER_ACTION_END", { enumerable: true, get: function () { return api_1.USER_ACTION_END; } });
|
|
26
|
+
Object.defineProperty(exports, "USER_ACTION_START", { enumerable: true, get: function () { return api_1.USER_ACTION_START; } });
|
|
27
|
+
Object.defineProperty(exports, "USER_ACTION_HALT", { enumerable: true, get: function () { return api_1.USER_ACTION_HALT; } });
|
|
27
28
|
var extensions_1 = require("./extensions");
|
|
28
29
|
Object.defineProperty(exports, "BaseExtension", { enumerable: true, get: function () { return extensions_1.BaseExtension; } });
|
|
29
30
|
var globalObject_1 = require("./globalObject");
|
|
@@ -96,7 +97,6 @@ Object.defineProperty(exports, "getCircularDependencyReplacer", { enumerable: tr
|
|
|
96
97
|
Object.defineProperty(exports, "stringifyExternalJson", { enumerable: true, get: function () { return utils_1.stringifyExternalJson; } });
|
|
97
98
|
Object.defineProperty(exports, "stringifyObjectValues", { enumerable: true, get: function () { return utils_1.stringifyObjectValues; } });
|
|
98
99
|
Object.defineProperty(exports, "Observable", { enumerable: true, get: function () { return utils_1.Observable; } });
|
|
99
|
-
Object.defineProperty(exports, "merge", { enumerable: true, get: function () { return utils_1.merge; } });
|
|
100
100
|
var version_1 = require("./version");
|
|
101
101
|
Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_1.VERSION; } });
|
|
102
102
|
var consts_1 = require("./consts");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,6BASe;AARb,2GAAA,oBAAoB,OAAA;AACpB,+GAAA,wBAAwB,OAAA;AACxB,iHAAA,0BAA0B,OAAA;AAC1B,oGAAA,aAAa,OAAA;AACb,yGAAA,kBAAkB,OAAA;AAClB,sGAAA,eAAe,OAAA;AACf,wGAAA,iBAAiB,OAAA;AACjB,uGAAA,gBAAgB,OAAA;AAqClB,2CAA6C;AAApC,2GAAA,aAAa,OAAA;AAGtB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAGrB,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AAEvB,mCAAyE;AAAhE,+GAAA,qBAAqB,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AAGtD,uDAAyD;AAAhD,uHAAA,mBAAmB,OAAA;AAG5B,mDAAyG;AAAhG,sHAAA,oBAAoB,OAAA;AAAE,4HAAA,0BAA0B,OAAA;AAAE,qHAAA,mBAAmB,OAAA;AAoB9E,6BAMe;AALb,2FAAA,IAAI,OAAA;AACJ,sHAAA,+BAA+B,OAAA;AAC/B,8GAAA,uBAAuB,OAAA;AACvB,mHAAA,4BAA4B,OAAA;AAC5B,oHAAA,6BAA6B,OAAA;AAI/B,6CAA2B;AAE3B,2CAA8G;AAArG,2GAAA,aAAa,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AAAE,+GAAA,iBAAiB,OAAA;AAAE,wHAAA,0BAA0B,OAAA;AAWvF,uDAA6D;AAApD,2HAAA,uBAAuB,OAAA;AAGhC,iCA2CiB;AA1Cf,qGAAA,YAAY,OAAA;AACZ,4GAAA,mBAAmB,OAAA;AACnB,kGAAA,SAAS,OAAA;AACT,wGAAA,eAAe,OAAA;AACf,mGAAA,UAAU,OAAA;AACV,4GAAA,mBAAmB,OAAA;AACnB,gGAAA,OAAO,OAAA;AACP,kGAAA,SAAS,OAAA;AACT,mGAAA,UAAU,OAAA;AACV,uGAAA,cAAc,OAAA;AACd,kGAAA,SAAS,OAAA;AACT,yGAAA,gBAAgB,OAAA;AAChB,gGAAA,OAAO,OAAA;AACP,uGAAA,cAAc,OAAA;AACd,qGAAA,YAAY,OAAA;AACZ,gGAAA,OAAO,OAAA;AACP,uGAAA,cAAc,OAAA;AACd,mGAAA,UAAU,OAAA;AACV,qGAAA,YAAY,OAAA;AACZ,8FAAA,KAAK,OAAA;AACL,8FAAA,KAAK,OAAA;AACL,qGAAA,YAAY,OAAA;AACZ,+FAAA,MAAM,OAAA;AACN,iGAAA,QAAQ,OAAA;AACR,iGAAA,QAAQ,OAAA;AACR,oGAAA,WAAW,OAAA;AACX,iGAAA,QAAQ,OAAA;AACR,iGAAA,QAAQ,OAAA;AACR,iGAAA,QAAQ,OAAA;AACR,yGAAA,gBAAgB,OAAA;AAChB,mGAAA,UAAU,OAAA;AACV,mGAAA,UAAU,OAAA;AACV,iGAAA,QAAQ,OAAA;AACR,oGAAA,WAAW,OAAA;AACX,iGAAA,QAAQ,OAAA;AACR,6FAAA,IAAI,OAAA;AACJ,gGAAA,OAAO,OAAA;AACP,gGAAA,OAAO,OAAA;AACP,sHAAA,6BAA6B,OAAA;AAC7B,8GAAA,qBAAqB,OAAA;AACrB,8GAAA,qBAAqB,OAAA;AACrB,mGAAA,UAAU,OAAA;AAcZ,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAEhB,mCAAyC;AAAhC,uGAAA,aAAa,OAAA","sourcesContent":["export {\n defaultExceptionType,\n defaultLogArgsSerializer,\n defaultErrorArgsSerializer,\n apiMessageBus,\n USER_ACTION_CANCEL,\n USER_ACTION_END,\n USER_ACTION_START,\n USER_ACTION_HALT,\n} from './api';\nexport type {\n API,\n APIEvent,\n EventAttributes,\n EventEvent,\n EventsAPI,\n ExceptionEvent,\n ExceptionStackFrame,\n ExceptionsAPI,\n ExtendedError,\n LogArgsSerializer,\n LogContext,\n LogEvent,\n LogsAPI,\n MeasurementEvent,\n MeasurementsAPI,\n MetaAPI,\n OTELApi,\n PushErrorOptions,\n PushEventOptions,\n PushLogOptions,\n PushMeasurementOptions,\n Stacktrace,\n StacktraceParser,\n TraceContext,\n TraceEvent,\n TracesAPI,\n ApiMessageBusMessages,\n UserActionStartMessage,\n UserActionEndMessage,\n UserActionCancelMessage,\n UserActionHaltMessage,\n UserAction,\n} from './api';\n\nexport { BaseExtension } from './extensions';\nexport type { Extension } from './extensions';\n\nexport { globalObject } from './globalObject';\nexport type { GlobalObject } from './globalObject';\n\nexport { initializeFaro } from './initialize';\n\nexport { defaultBatchingConfig, defaultGlobalObjectKey } from './config';\nexport type { Config, Patterns } from './config';\n\nexport { BaseInstrumentation } from './instrumentations';\nexport type { Instrumentation, Instrumentations } from './instrumentations';\n\nexport { createInternalLogger, defaultInternalLoggerLevel, InternalLoggerLevel } from './internalLogger';\nexport type { InternalLogger } from './internalLogger';\n\nexport type {\n Meta,\n MetaApp,\n MetaAttributes,\n MetaBrowser,\n MetaGetter,\n MetaItem,\n MetaPage,\n Metas,\n MetaSDK,\n MetaSDKIntegration,\n MetaSession,\n MetaUser,\n MetaView,\n MetaOverrides,\n} from './metas';\n\nexport {\n faro,\n getInternalFaroFromGlobalObject,\n internalGlobalObjectKey,\n isInternalFaroOnGlobalObject,\n setInternalFaroOnGlobalObject,\n} from './sdk';\nexport type { Faro } from './sdk';\n\nexport * from './semantic';\n\nexport { BaseTransport, getTransportBody, TransportItemType, transportItemTypeToBodyKey } from './transports';\nexport type {\n BeforeSendHook,\n SendFn,\n Transport,\n TransportBody,\n TransportItem,\n TransportItemPayload,\n Transports,\n} from './transports';\n\nexport { defaultUnpatchedConsole } from './unpatchedConsole';\nexport type { UnpatchedConsole } from './unpatchedConsole';\n\nexport {\n allLogLevels,\n createPromiseBuffer,\n deepEqual,\n defaultLogLevel,\n genShortID,\n getCurrentTimestamp,\n isArray,\n isBoolean,\n isDomError,\n isDomException,\n isElement,\n isElementDefined,\n isError,\n isErrorDefined,\n isErrorEvent,\n isEvent,\n isEventDefined,\n isFunction,\n isInstanceOf,\n isInt,\n isMap,\n isMapDefined,\n isNull,\n isNumber,\n isObject,\n isPrimitive,\n isRegExp,\n isString,\n isSymbol,\n isSyntheticEvent,\n isThenable,\n isToString,\n isTypeof,\n isUndefined,\n LogLevel,\n noop,\n dateNow,\n isEmpty,\n getCircularDependencyReplacer,\n stringifyExternalJson,\n stringifyObjectValues,\n Observable,\n} from './utils';\nexport type {\n BaseObject,\n BaseObjectKey,\n BaseObjectPrimitiveValue,\n BaseObjectValue,\n BufferItem,\n PromiseBuffer,\n PromiseBufferOptions,\n PromiseProducer,\n Subscription,\n} from './utils';\n\nexport { VERSION } from './version';\n\nexport { unknownString } from './consts';\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.initializeFaro =
|
|
3
|
+
exports.initializeFaro = initializeFaro;
|
|
4
4
|
var api_1 = require("./api");
|
|
5
5
|
var instrumentations_1 = require("./instrumentations");
|
|
6
6
|
var internalLogger_1 = require("./internalLogger");
|
|
@@ -28,5 +28,4 @@ function initializeFaro(config) {
|
|
|
28
28
|
(0, instrumentations_1.registerInitialInstrumentations)(faro);
|
|
29
29
|
return faro;
|
|
30
30
|
}
|
|
31
|
-
exports.initializeFaro = initializeFaro;
|
|
32
31
|
//# sourceMappingURL=initialize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/initialize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/initialize.ts"],"names":[],"mappings":";;AAUA,wCA2BC;AArCD,6BAAsC;AAEtC,uDAAiG;AACjG,mDAA4D;AAC5D,iCAAgE;AAChE,6BAAmE;AAEnE,2CAA+E;AAC/E,uDAAgE;AAEhE,SAAgB,cAAc,CAAC,MAAc;IAC3C,IAAM,gBAAgB,GAAG,IAAA,6CAA0B,EAAC,MAAM,CAAC,CAAC;IAC5D,IAAM,cAAc,GAAG,IAAA,yCAAwB,EAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAE1E,IAAI,IAAA,kCAA4B,GAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtD,cAAc,CAAC,KAAK,CAClB,oIAAoI,CACrI,CAAC;QAEF,OAAO,SAAU,CAAC;IACpB,CAAC;IAED,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAErC,wBAAwB;IACxB,IAAM,KAAK,GAAG,IAAA,uBAAe,EAAC,gBAAgB,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IACxE,IAAM,UAAU,GAAG,IAAA,iCAAoB,EAAC,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACzF,IAAM,GAAG,GAAG,IAAA,mBAAa,EAAC,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACvF,IAAM,gBAAgB,GAAG,IAAA,6CAA0B,EAAC,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACtH,IAAM,IAAI,GAAG,IAAA,kBAAY,EAAC,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAE9G,oGAAoG;IACpG,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC;IAC3B,IAAA,sCAAyB,EAAC,IAAI,CAAC,CAAC;IAChC,IAAA,kDAA+B,EAAC,IAAI,CAAC,CAAC;IAEtC,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { initializeAPI } from './api';\nimport type { Config } from './config';\nimport { initializeInstrumentations, registerInitialInstrumentations } from './instrumentations';\nimport { initializeInternalLogger } from './internalLogger';\nimport { initializeMetas, registerInitialMetas } from './metas';\nimport { isInternalFaroOnGlobalObject, registerFaro } from './sdk';\nimport type { Faro } from './sdk';\nimport { initializeTransports, registerInitialTransports } from './transports';\nimport { initializeUnpatchedConsole } from './unpatchedConsole';\n\nexport function initializeFaro(config: Config): Faro {\n const unpatchedConsole = initializeUnpatchedConsole(config);\n const internalLogger = initializeInternalLogger(unpatchedConsole, config);\n\n if (isInternalFaroOnGlobalObject() && !config.isolate) {\n internalLogger.error(\n 'Faro is already registered. Either add instrumentations, transports etc. to the global faro instance or use the \"isolate\" property'\n );\n\n return undefined!;\n }\n\n internalLogger.debug('Initializing');\n\n // Initializing the APIs\n const metas = initializeMetas(unpatchedConsole, internalLogger, config);\n const transports = initializeTransports(unpatchedConsole, internalLogger, config, metas);\n const api = initializeAPI(unpatchedConsole, internalLogger, config, metas, transports);\n const instrumentations = initializeInstrumentations(unpatchedConsole, internalLogger, config, metas, transports, api);\n const faro = registerFaro(unpatchedConsole, internalLogger, config, metas, transports, api, instrumentations);\n\n // make sure Faro is initialized before registering default metas, instrumentations, transports etc.\n registerInitialMetas(faro);\n registerInitialTransports(faro);\n registerInitialInstrumentations(faro);\n\n return faro;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/instrumentations/base.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,4CAA8C;AAK9C;IAAkD,uCAAa;IAA/D
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/instrumentations/base.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,4CAA8C;AAK9C;IAAkD,uCAAa;IAA/D;;QACE,SAAG,GAAQ,EAAS,CAAC;QACrB,gBAAU,GAAe,EAAgB,CAAC;;IAG5C,CAAC;IAAD,0BAAC;AAAD,CAAC,AALD,CAAkD,0BAAa,GAK9D;AALqB,kDAAmB","sourcesContent":["import type { API } from '../api';\nimport { BaseExtension } from '../extensions';\nimport type { Transports } from '../transports';\n\nimport type { Instrumentation } from './types';\n\nexport abstract class BaseInstrumentation extends BaseExtension implements Instrumentation {\n api: API = {} as API;\n transports: Transports = {} as Transports;\n\n abstract initialize(): void;\n}\n"]}
|
|
@@ -9,7 +9,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
9
9
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.initializeInstrumentations =
|
|
12
|
+
exports.initializeInstrumentations = initializeInstrumentations;
|
|
13
13
|
function initializeInstrumentations(unpatchedConsole, internalLogger, config, metas, transports, api) {
|
|
14
14
|
internalLogger.debug('Initializing instrumentations');
|
|
15
15
|
var instrumentations = [];
|
|
@@ -67,5 +67,4 @@ function initializeInstrumentations(unpatchedConsole, internalLogger, config, me
|
|
|
67
67
|
remove: remove,
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
|
-
exports.initializeInstrumentations = initializeInstrumentations;
|
|
71
70
|
//# sourceMappingURL=initialize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../../src/instrumentations/initialize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../../src/instrumentations/initialize.ts"],"names":[],"mappings":";;;;;;;;;;;AASA,gEA6EC;AA7ED,SAAgB,0BAA0B,CACxC,gBAAkC,EAClC,cAA8B,EAC9B,MAAc,EACd,KAAY,EACZ,UAAsB,EACtB,GAAQ;IAER,cAAc,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAEtD,IAAM,gBAAgB,GAAsB,EAAE,CAAC;IAE/C,IAAM,GAAG,GAA4B;QAAC,6BAAsB;aAAtB,UAAsB,EAAtB,qBAAsB,EAAtB,IAAsB;YAAtB,wCAAsB;;QAC1D,cAAc,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAEhD,mBAAmB,CAAC,OAAO,CAAC,UAAC,kBAAkB;YAC7C,cAAc,CAAC,KAAK,CAAC,mBAAW,kBAAkB,CAAC,IAAI,uBAAmB,CAAC,CAAC;YAE5E,IAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAClC,UAAC,uBAAuB,IAAK,OAAA,uBAAuB,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,EAAxD,CAAwD,CACtF,CAAC;YAEF,IAAI,MAAM,EAAE,CAAC;gBACX,cAAc,CAAC,IAAI,CAAC,0BAAmB,kBAAkB,CAAC,IAAI,sBAAmB,CAAC,CAAC;gBAEnF,OAAO;YACT,CAAC;YAED,kBAAkB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YACvD,kBAAkB,CAAC,cAAc,GAAG,cAAc,CAAC;YACnD,kBAAkB,CAAC,MAAM,GAAG,MAAM,CAAC;YACnC,kBAAkB,CAAC,KAAK,GAAG,KAAK,CAAC;YACjC,kBAAkB,CAAC,UAAU,GAAG,UAAU,CAAC;YAC3C,kBAAkB,CAAC,GAAG,GAAG,GAAG,CAAC;YAE7B,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE1C,kBAAkB,CAAC,UAAU,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAM,MAAM,GAA+B;QAAC,kCAA2B;aAA3B,UAA2B,EAA3B,qBAA2B,EAA3B,IAA2B;YAA3B,6CAA2B;;QACrE,cAAc,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAElD,wBAAwB,CAAC,OAAO,CAAC,UAAC,uBAAuB;;YACvD,cAAc,CAAC,KAAK,CAAC,qBAAa,uBAAuB,CAAC,IAAI,uBAAmB,CAAC,CAAC;YAEnF,IAAM,4BAA4B,GAAG,gBAAgB,CAAC,MAAM,CAC1D,UAAC,GAAG,EAAE,uBAAuB,EAAE,sBAAsB;gBACnD,IAAI,GAAG,KAAK,IAAI,IAAI,uBAAuB,CAAC,IAAI,KAAK,uBAAuB,CAAC,IAAI,EAAE,CAAC;oBAClF,OAAO,sBAAsB,CAAC;gBAChC,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,EACD,IAAI,CACL,CAAC;YAEF,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBAClC,cAAc,CAAC,IAAI,CAAC,4BAAoB,uBAAuB,CAAC,IAAI,oBAAgB,CAAC,CAAC;gBAEtF,OAAO;YACT,CAAC;YAED,MAAA,MAAA,gBAAgB,CAAC,4BAA4B,CAAE,EAAC,OAAO,kDAAI,CAAC;YAE5D,gBAAgB,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACL,GAAG,KAAA;QACH,IAAI,gBAAgB;YAClB,yBAAW,gBAAgB,QAAE;QAC/B,CAAC;QACD,MAAM,QAAA;KACP,CAAC;AACJ,CAAC","sourcesContent":["import type { API } from '../api';\nimport type { Config } from '../config';\nimport type { InternalLogger } from '../internalLogger';\nimport type { Metas } from '../metas';\nimport type { Transports } from '../transports';\nimport type { UnpatchedConsole } from '../unpatchedConsole';\n\nimport type { Instrumentation, Instrumentations } from './types';\n\nexport function initializeInstrumentations(\n unpatchedConsole: UnpatchedConsole,\n internalLogger: InternalLogger,\n config: Config,\n metas: Metas,\n transports: Transports,\n api: API\n): Instrumentations {\n internalLogger.debug('Initializing instrumentations');\n\n const instrumentations: Instrumentation[] = [];\n\n const add: Instrumentations['add'] = (...newInstrumentations) => {\n internalLogger.debug('Adding instrumentations');\n\n newInstrumentations.forEach((newInstrumentation) => {\n internalLogger.debug(`Adding \"${newInstrumentation.name}\" instrumentation`);\n\n const exists = instrumentations.some(\n (existingInstrumentation) => existingInstrumentation.name === newInstrumentation.name\n );\n\n if (exists) {\n internalLogger.warn(`Instrumentation ${newInstrumentation.name} is already added`);\n\n return;\n }\n\n newInstrumentation.unpatchedConsole = unpatchedConsole;\n newInstrumentation.internalLogger = internalLogger;\n newInstrumentation.config = config;\n newInstrumentation.metas = metas;\n newInstrumentation.transports = transports;\n newInstrumentation.api = api;\n\n instrumentations.push(newInstrumentation);\n\n newInstrumentation.initialize();\n });\n };\n\n const remove: Instrumentations['remove'] = (...instrumentationsToRemove) => {\n internalLogger.debug('Removing instrumentations');\n\n instrumentationsToRemove.forEach((instrumentationToRemove) => {\n internalLogger.debug(`Removing \"${instrumentationToRemove.name}\" instrumentation`);\n\n const existingInstrumentationIndex = instrumentations.reduce<number | null>(\n (acc, existingInstrumentation, existingTransportIndex) => {\n if (acc === null && existingInstrumentation.name === instrumentationToRemove.name) {\n return existingTransportIndex;\n }\n\n return null;\n },\n null\n );\n\n if (!existingInstrumentationIndex) {\n internalLogger.warn(`Instrumentation \"${instrumentationToRemove.name}\" is not added`);\n\n return;\n }\n\n instrumentations[existingInstrumentationIndex]!.destroy?.();\n\n instrumentations.splice(existingInstrumentationIndex, 1);\n });\n };\n\n return {\n add,\n get instrumentations() {\n return [...instrumentations];\n },\n remove,\n };\n}\n"]}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.registerInitialInstrumentations =
|
|
3
|
+
exports.registerInitialInstrumentations = registerInitialInstrumentations;
|
|
4
4
|
function registerInitialInstrumentations(faro) {
|
|
5
5
|
var _a;
|
|
6
6
|
(_a = faro.instrumentations).add.apply(_a, faro.config.instrumentations);
|
|
7
7
|
}
|
|
8
|
-
exports.registerInitialInstrumentations = registerInitialInstrumentations;
|
|
9
8
|
//# sourceMappingURL=registerInitial.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerInitial.js","sourceRoot":"","sources":["../../../../../src/instrumentations/registerInitial.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registerInitial.js","sourceRoot":"","sources":["../../../../../src/instrumentations/registerInitial.ts"],"names":[],"mappings":";;AAEA,0EAEC;AAFD,SAAgB,+BAA+B,CAAC,IAAU;;IACxD,CAAA,KAAA,IAAI,CAAC,gBAAgB,CAAA,CAAC,GAAG,WAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;AAC7D,CAAC","sourcesContent":["import type { Faro } from '../sdk';\n\nexport function registerInitialInstrumentations(faro: Faro): void {\n faro.instrumentations.add(...faro.config.instrumentations);\n}\n"]}
|