breadcrumbs.ts 611 B

123456789101112131415161718192021
  1. import type * as Sentry from '@sentry/nextjs'
  2. import { RingBuffer } from './ringBuffer'
  3. export const MIRRORED_BREADCRUMBS = new RingBuffer<Sentry.Breadcrumb>(50)
  4. export const getMirroredBreadcrumbs = (): Sentry.Breadcrumb[] => {
  5. return MIRRORED_BREADCRUMBS.toArray()
  6. }
  7. let BREADCRUMB_SNAPSHOT: Sentry.Breadcrumb[] | null = null
  8. export const takeBreadcrumbSnapshot = (): void => {
  9. BREADCRUMB_SNAPSHOT = getMirroredBreadcrumbs()
  10. }
  11. export const getOwnershipOfBreadcrumbSnapshot = (): Sentry.Breadcrumb[] | null => {
  12. const snapshot = BREADCRUMB_SNAPSHOT
  13. BREADCRUMB_SNAPSHOT = null
  14. return snapshot
  15. }