ray-logger-core 0.0.4 → 0.0.6

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.
@@ -0,0 +1,169 @@
1
+ import { latestRrwebFullSnapshotBefore } from '../timeline';
2
+ export const IDB_VERSION = 2;
3
+ export const SESSION_META_STORE = 'sessionMeta';
4
+ export const EVENT_CHUNKS_STORE = 'eventChunks';
5
+ export const EVENT_CHUNKS_BY_NAMESPACE_MAX_TIMESTAMP_INDEX = 'byNamespaceMaxTimestamp';
6
+ export const EVENT_CHUNKS_BY_NAMESPACE_MIN_TIMESTAMP_INDEX = 'byNamespaceMinTimestamp';
7
+ export function normalizeNonNegativeNumber(value, fallback) {
8
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : fallback;
9
+ }
10
+ export function normalizeOptionalNonNegativeNumber(value) {
11
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : undefined;
12
+ }
13
+ export async function collectNamespaceUsage(db) {
14
+ const meta = await collectSessionMeta(db);
15
+ const chunks = await collectEventChunks(db);
16
+ const byNamespace = new Map();
17
+ for (const record of meta) {
18
+ byNamespace.set(record.namespaceKey, {
19
+ namespaceKey: record.namespaceKey,
20
+ updatedAt: normalizeRecordUpdatedAt(record.updatedAt),
21
+ chunkCount: 0,
22
+ estimatedBytes: 0,
23
+ });
24
+ }
25
+ for (const chunk of chunks) {
26
+ const current = byNamespace.get(chunk.namespaceKey) ?? {
27
+ namespaceKey: chunk.namespaceKey,
28
+ updatedAt: 0,
29
+ chunkCount: 0,
30
+ estimatedBytes: 0,
31
+ };
32
+ current.chunkCount += 1;
33
+ current.estimatedBytes += estimateChunkBytes(chunk);
34
+ byNamespace.set(chunk.namespaceKey, current);
35
+ }
36
+ return [...byNamespace.values()];
37
+ }
38
+ export function collectSessionMeta(db) {
39
+ return collectCursorValues(db.transaction(SESSION_META_STORE, 'readonly').objectStore(SESSION_META_STORE).openCursor());
40
+ }
41
+ export function collectEventChunks(db) {
42
+ return collectCursorValues(db.transaction(EVENT_CHUNKS_STORE, 'readonly').objectStore(EVENT_CHUNKS_STORE).openCursor());
43
+ }
44
+ export function collectCursorValues(request) {
45
+ return new Promise((resolve, reject) => {
46
+ const values = [];
47
+ request.onerror = () => reject(request.error ?? new Error('IndexedDB cursor failed.'));
48
+ request.onsuccess = () => {
49
+ const cursor = request.result;
50
+ if (!cursor) {
51
+ resolve(values);
52
+ return;
53
+ }
54
+ values.push(cursor.value);
55
+ cursor.continue();
56
+ };
57
+ });
58
+ }
59
+ export async function deleteNamespace(db, namespaceKey) {
60
+ const tx = db.transaction([SESSION_META_STORE, EVENT_CHUNKS_STORE], 'readwrite');
61
+ tx.objectStore(SESSION_META_STORE).delete(namespaceKey);
62
+ const range = IDBKeyRange.bound([namespaceKey, 0], [namespaceKey, Number.MAX_SAFE_INTEGER]);
63
+ const store = tx.objectStore(EVENT_CHUNKS_STORE);
64
+ const request = store.openCursor(range);
65
+ request.onsuccess = () => {
66
+ const cursor = request.result;
67
+ if (!cursor) {
68
+ return;
69
+ }
70
+ cursor.delete();
71
+ cursor.continue();
72
+ };
73
+ await transactionDone(tx);
74
+ }
75
+ export function normalizeRecordUpdatedAt(updatedAt) {
76
+ return Number.isFinite(updatedAt) ? updatedAt : 0;
77
+ }
78
+ export function estimateChunkBytes(chunk) {
79
+ return JSON.stringify(chunk.events).length * 2;
80
+ }
81
+ export function openDatabase(dbName) {
82
+ return new Promise((resolve, reject) => {
83
+ const request = globalThis.indexedDB.open(dbName, IDB_VERSION);
84
+ request.onupgradeneeded = () => {
85
+ const db = request.result;
86
+ if (!db.objectStoreNames.contains(SESSION_META_STORE)) {
87
+ db.createObjectStore(SESSION_META_STORE, { keyPath: 'namespaceKey' });
88
+ }
89
+ let eventChunksStore;
90
+ if (!db.objectStoreNames.contains(EVENT_CHUNKS_STORE)) {
91
+ eventChunksStore = db.createObjectStore(EVENT_CHUNKS_STORE, {
92
+ keyPath: ['namespaceKey', 'chunkSeq'],
93
+ });
94
+ }
95
+ else {
96
+ eventChunksStore = request.transaction.objectStore(EVENT_CHUNKS_STORE);
97
+ }
98
+ if (!eventChunksStore.indexNames.contains(EVENT_CHUNKS_BY_NAMESPACE_MAX_TIMESTAMP_INDEX)) {
99
+ eventChunksStore.createIndex(EVENT_CHUNKS_BY_NAMESPACE_MAX_TIMESTAMP_INDEX, [
100
+ 'namespaceKey',
101
+ 'maxTimestamp',
102
+ ]);
103
+ }
104
+ if (!eventChunksStore.indexNames.contains(EVENT_CHUNKS_BY_NAMESPACE_MIN_TIMESTAMP_INDEX)) {
105
+ eventChunksStore.createIndex(EVENT_CHUNKS_BY_NAMESPACE_MIN_TIMESTAMP_INDEX, [
106
+ 'namespaceKey',
107
+ 'minTimestamp',
108
+ ]);
109
+ }
110
+ };
111
+ request.onerror = () => reject(request.error ?? new Error('Failed to open IndexedDB.'));
112
+ request.onsuccess = () => resolve(request.result);
113
+ });
114
+ }
115
+ export function requestToPromise(request) {
116
+ return new Promise((resolve, reject) => {
117
+ request.onerror = () => reject(request.error ?? new Error('IndexedDB request failed.'));
118
+ request.onsuccess = () => resolve(request.result);
119
+ });
120
+ }
121
+ export function transactionDone(transaction) {
122
+ return new Promise((resolve, reject) => {
123
+ transaction.oncomplete = () => resolve();
124
+ transaction.onerror = () => reject(transaction.error ?? new Error('IndexedDB transaction failed.'));
125
+ transaction.onabort = () => reject(transaction.error ?? new Error('IndexedDB transaction aborted.'));
126
+ });
127
+ }
128
+ export function collectEventsCursor(request, options) {
129
+ return new Promise((resolve, reject) => {
130
+ const values = [];
131
+ const sinceMs = options.sinceMs ?? Number.NEGATIVE_INFINITY;
132
+ const untilMs = options.untilMs ?? Number.POSITIVE_INFINITY;
133
+ request.onerror = () => reject(request.error ?? new Error('IndexedDB cursor failed.'));
134
+ request.onsuccess = () => {
135
+ const cursor = request.result;
136
+ if (!cursor) {
137
+ resolve(values);
138
+ return;
139
+ }
140
+ const chunk = cursor.value;
141
+ for (const event of chunk.events) {
142
+ if (event.timestamp >= sinceMs && event.timestamp <= untilMs) {
143
+ values.push(event);
144
+ }
145
+ }
146
+ cursor.continue();
147
+ };
148
+ });
149
+ }
150
+ export function findLatestRrwebFullSnapshotCursor(request, beforeMs) {
151
+ return new Promise((resolve, reject) => {
152
+ request.onerror = () => reject(request.error ?? new Error('IndexedDB cursor failed.'));
153
+ request.onsuccess = () => {
154
+ const cursor = request.result;
155
+ if (!cursor) {
156
+ resolve(undefined);
157
+ return;
158
+ }
159
+ const chunk = cursor.value;
160
+ const snapshot = latestRrwebFullSnapshotBefore(chunk.events, beforeMs);
161
+ if (snapshot) {
162
+ resolve(snapshot);
163
+ return;
164
+ }
165
+ cursor.continue();
166
+ };
167
+ });
168
+ }
169
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/storage/utils.ts"],"names":[],"mappings":"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"}
package/timeline.d.ts CHANGED
@@ -20,4 +20,5 @@ export declare function compareTimelineEvents(left: WebLoggerEvent, right: WebLo
20
20
  export declare function latestRrwebFullSnapshotBefore(events: readonly WebLoggerEvent[], beforeMs: number): WebLoggerEvent | undefined;
21
21
  export declare function hasRrwebFullSnapshot(events: readonly WebLoggerEvent[]): boolean;
22
22
  export declare function isRrwebFullSnapshot(event: WebLoggerEvent): boolean;
23
+ export declare function filterRepeatedRrwebFullSnapshotsSince(events: readonly WebLoggerEvent[], sinceMs: number): WebLoggerEvent[];
23
24
  //# sourceMappingURL=timeline.d.ts.map
package/timeline.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../src/timeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,QAAQ;;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAMf,OAAO,EAAE,eAAe;IAMpC,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,cAAc;IAchD,GAAG,IAAI,cAAc,EAAE;IAIvB,OAAO,IAAI,cAAc,EAAE;IAI3B,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,SAAc,GAAG,cAAc,EAAE;IAI/D,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI3E,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,cAAc,EAAE,GAAG,IAAI;CAShD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,GAAG,MAAM,CAEzF;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,SAAS,cAAc,EAAE,EACjC,QAAQ,EAAE,MAAM,GACf,cAAc,GAAG,SAAS,CAK5B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAE/E;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAElE"}
1
+ {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../src/timeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,QAAQ;;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAMf,OAAO,EAAE,eAAe;IAMpC,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,cAAc;IAchD,GAAG,IAAI,cAAc,EAAE;IAIvB,OAAO,IAAI,cAAc,EAAE;IAI3B,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,SAAc,GAAG,cAAc,EAAE;IAI/D,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI3E,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,cAAc,EAAE,GAAG,IAAI;CAShD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,GAAG,MAAM,CAEzF;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,SAAS,cAAc,EAAE,EACjC,QAAQ,EAAE,MAAM,GACf,cAAc,GAAG,SAAS,CAK5B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAE/E;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAElE;AAED,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,SAAS,cAAc,EAAE,EACjC,OAAO,EAAE,MAAM,GACd,cAAc,EAAE,CAelB"}
package/timeline.js CHANGED
@@ -58,6 +58,19 @@ export function hasRrwebFullSnapshot(events) {
58
58
  export function isRrwebFullSnapshot(event) {
59
59
  return event.type === 'rrweb' && event.payload.rrwebEvent.type === 2;
60
60
  }
61
+ export function filterRepeatedRrwebFullSnapshotsSince(events, sinceMs) {
62
+ let hasWindowFullSnapshot = false;
63
+ return events.filter((event) => {
64
+ if (!isRrwebFullSnapshot(event) || event.timestamp < sinceMs) {
65
+ return true;
66
+ }
67
+ if (hasWindowFullSnapshot) {
68
+ return false;
69
+ }
70
+ hasWindowFullSnapshot = true;
71
+ return true;
72
+ });
73
+ }
61
74
  function isRrwebFullSnapshotBefore(event, beforeMs) {
62
75
  return isRrwebFullSnapshot(event) && event.timestamp < beforeMs;
63
76
  }
package/timeline.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../src/timeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../src/timeline.ts"],"names":[],"mappings":"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"}
package/types.d.ts CHANGED
@@ -175,6 +175,21 @@ export interface IndexedDbCleanupResult {
175
175
  chunksBefore: number;
176
176
  chunksAfter: number;
177
177
  }
178
+ export type FlushSkippedReason = 'indexeddb-unavailable' | 'empty';
179
+ export type FlushResult = {
180
+ status: 'flushed';
181
+ namespaceKey: string;
182
+ chunkSeq: number;
183
+ eventCount: number;
184
+ minSeq: number;
185
+ maxSeq: number;
186
+ minTimestamp: number;
187
+ maxTimestamp: number;
188
+ estimatedBytes: number;
189
+ } | {
190
+ status: 'skipped';
191
+ reason: FlushSkippedReason;
192
+ };
178
193
  export interface WebLoggerConfig {
179
194
  enableRecordResponseBody?: boolean;
180
195
  enableRecordRequestBody?: boolean;
@@ -192,12 +207,14 @@ export interface WebLoggerConfig {
192
207
  indexedDbMaxEstimatedBytes?: number;
193
208
  recordConsoleCallSite?: boolean;
194
209
  rrwebOptions?: RrwebRecordOptions;
210
+ onFlushSuccess?: (result: FlushResult) => void;
211
+ onFlushError?: (error: unknown) => void;
195
212
  }
196
213
  export interface WebLoggerController {
197
214
  readonly sessionId: string;
198
215
  readonly persistentSessionId?: string;
199
216
  record(event: NewWebLoggerEvent): WebLoggerEvent;
200
- flushToIdb(): Promise<void>;
217
+ flushToIdb(): Promise<FlushResult>;
201
218
  exportFull(): Promise<SessionExport>;
202
219
  exportSince(sinceMs: number): Promise<SessionExport>;
203
220
  cleanupIndexedDb(options?: IndexedDbCleanupOptions): Promise<IndexedDbCleanupResult>;
package/types.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}