UNPKG

@dash0/sdk-web

Version:

Dash0's Web SDK to collect telemetry from end-users' web browsers

19 lines (17 loc) 720 B
export const SPAN_ID_BYTES = 8; export const TRACE_ID_BYTES = 16; export const PAGE_LOAD_ID_BYTES = TRACE_ID_BYTES; export const SESSION_ID_BYTES = SPAN_ID_BYTES; export const TAB_ID_BYTES = SPAN_ID_BYTES; export const WEB_EVENT_ID_BYTES = SPAN_ID_BYTES; const SHARED_CHAR_CODES_ARRAY = Array(32); export function generateUniqueId(byteCount: number): string { for (let i = 0; i < byteCount * 2; i++) { SHARED_CHAR_CODES_ARRAY[i] = Math.floor(Math.random() * 16) + 48; // valid hex characters in the range 48-57 and 97-102 if (SHARED_CHAR_CODES_ARRAY[i] >= 58) { SHARED_CHAR_CODES_ARRAY[i] += 39; } } return String.fromCharCode.apply(null, SHARED_CHAR_CODES_ARRAY.slice(0, byteCount * 2)); }