UNPKG

@sentry/core

Version:
45 lines (33 loc) 1.36 kB
Object.defineProperty(exports, '__esModule', { value: true }); const utils = require('@sentry/utils'); const currentScopes = require('./currentScopes.js'); /** * Default maximum number of breadcrumbs added to an event. Can be overwritten * with {@link Options.maxBreadcrumbs}. */ const DEFAULT_BREADCRUMBS = 100; /** * Records a new breadcrumb which will be attached to future events. * * Breadcrumbs will be added to subsequent events to provide more context on * user's actions prior to an error or crash. */ function addBreadcrumb(breadcrumb, hint) { const client = currentScopes.getClient(); const isolationScope = currentScopes.getIsolationScope(); if (!client) return; const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } = client.getOptions(); if (maxBreadcrumbs <= 0) return; const timestamp = utils.dateTimestampInSeconds(); const mergedBreadcrumb = { timestamp, ...breadcrumb }; const finalBreadcrumb = beforeBreadcrumb ? (utils.consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) ) : mergedBreadcrumb; if (finalBreadcrumb === null) return; if (client.emit) { client.emit('beforeAddBreadcrumb', finalBreadcrumb, hint); } isolationScope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs); } exports.addBreadcrumb = addBreadcrumb; //# sourceMappingURL=breadcrumbs.js.map