export default function traceSegment()

in src/trace/segment.ts [24:43]


export default function traceSegment(options: CustomOptionsType) {
  const segments = [] as SegmentFields[];
  // inject interceptor
  xhrInterceptor(options, segments);
  windowFetch(options, segments);
  window.addEventListener('beforeunload', () => {
    if (!segments.length) {
      return;
    }
    new Report('SEGMENTS', options.collector).sendByBeacon(segments);
  });
  //report per options.traceTimeInterval min
  setInterval(() => {
    if (!segments.length) {
      return;
    }
    new Report('SEGMENTS', options.collector).sendByXhr(segments);
    segments.splice(0, segments.length);
  }, options.traceTimeInterval);
}