@iann29/rastro 0.1.0-alpha.5 → 0.1.0-alpha.7
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.
- package/README.md +82 -29
- package/agent/integration.md +17 -15
- package/agent/manifest.json +7 -5
- package/agent/manifest.schema.json +8 -5
- package/dist/client/federation.d.ts +34 -8
- package/dist/client/federation.d.ts.map +1 -1
- package/dist/client/federation.js +17 -3
- package/dist/client/federation.js.map +1 -1
- package/dist/client/index.d.ts +418 -21
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +191 -41
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +2 -0
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/_generated/component.d.ts +63 -7
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/affiliates.d.ts.map +1 -1
- package/dist/component/affiliates.js +6 -2
- package/dist/component/affiliates.js.map +1 -1
- package/dist/component/cardinality.d.ts.map +1 -1
- package/dist/component/cardinality.js.map +1 -1
- package/dist/component/constants.d.ts +7 -1
- package/dist/component/constants.d.ts.map +1 -1
- package/dist/component/constants.js +13 -1
- package/dist/component/constants.js.map +1 -1
- package/dist/component/diagnostics.d.ts.map +1 -1
- package/dist/component/diagnostics.js.map +1 -1
- package/dist/component/eventStore.d.ts +2 -1
- package/dist/component/eventStore.d.ts.map +1 -1
- package/dist/component/eventStore.js +13 -10
- package/dist/component/eventStore.js.map +1 -1
- package/dist/component/funnels.d.ts.map +1 -1
- package/dist/component/funnels.js +5 -3
- package/dist/component/funnels.js.map +1 -1
- package/dist/component/geo.d.ts.map +1 -1
- package/dist/component/geo.js +3 -2
- package/dist/component/geo.js.map +1 -1
- package/dist/component/goals.d.ts.map +1 -1
- package/dist/component/goals.js +8 -5
- package/dist/component/goals.js.map +1 -1
- package/dist/component/guards.d.ts.map +1 -1
- package/dist/component/guards.js.map +1 -1
- package/dist/component/http.d.ts.map +1 -1
- package/dist/component/http.js +51 -17
- package/dist/component/http.js.map +1 -1
- package/dist/component/ingest.d.ts +2 -1
- package/dist/component/ingest.d.ts.map +1 -1
- package/dist/component/ingest.js +143 -23
- package/dist/component/ingest.js.map +1 -1
- package/dist/component/live.d.ts.map +1 -1
- package/dist/component/live.js +1 -3
- package/dist/component/live.js.map +1 -1
- package/dist/component/reports.d.ts +60 -3
- package/dist/component/reports.d.ts.map +1 -1
- package/dist/component/reports.js +215 -49
- package/dist/component/reports.js.map +1 -1
- package/dist/component/retention.d.ts +4 -4
- package/dist/component/retention.d.ts.map +1 -1
- package/dist/component/retention.js +54 -22
- package/dist/component/retention.js.map +1 -1
- package/dist/component/sanitize.d.ts +11 -0
- package/dist/component/sanitize.d.ts.map +1 -1
- package/dist/component/sanitize.js +58 -11
- package/dist/component/sanitize.js.map +1 -1
- package/dist/component/schema.d.ts +47 -5
- package/dist/component/schema.js +21 -1
- package/dist/component/schema.js.map +1 -1
- package/dist/component/sites.d.ts.map +1 -1
- package/dist/component/sites.js +6 -6
- package/dist/component/sites.js.map +1 -1
- package/dist/component/validators.d.ts +14 -9
- package/dist/component/validators.d.ts.map +1 -1
- package/dist/component/validators.js +5 -1
- package/dist/component/validators.js.map +1 -1
- package/dist/component/visitors.d.ts.map +1 -1
- package/dist/component/visitors.js.map +1 -1
- package/dist/component/vitals.d.ts +41 -0
- package/dist/component/vitals.d.ts.map +1 -0
- package/dist/component/vitals.js +115 -0
- package/dist/component/vitals.js.map +1 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/tracker/generated.d.ts +8 -4
- package/dist/tracker/generated.d.ts.map +1 -1
- package/dist/tracker/generated.js +8 -4
- package/dist/tracker/generated.js.map +1 -1
- package/dist/tracker/tracker.d.ts.map +1 -1
- package/dist/tracker/tracker.js +3 -1
- package/dist/tracker/tracker.js.map +1 -1
- package/dist/tracker/vitals.d.ts +10 -0
- package/dist/tracker/vitals.d.ts.map +1 -0
- package/dist/tracker/vitals.js +140 -0
- package/dist/tracker/vitals.js.map +1 -0
- package/dist/tracker.min.js +1 -1
- package/dist/vitals.min.js +1 -0
- package/docs/benchmarks/2026-08-20-realistic.md +71 -71
- package/docs/benchmarks/2026-08-21-formal-certification.md +50 -30
- package/docs/benchmarks/2026-08-30-alpha6-recertification.md +206 -0
- package/docs/upgrading.md +46 -8
- package/llms.txt +5 -1
- package/package.json +17 -3
- package/scripts/benchmark-ingest.mjs +101 -48
- package/src/component/_generated/api.ts +2 -0
- package/src/component/_generated/component.ts +69 -4
- package/src/component/affiliates.ts +20 -5
- package/src/component/cardinality.ts +8 -7
- package/src/component/constants.ts +13 -1
- package/src/component/diagnostics.ts +3 -2
- package/src/component/eventStore.ts +53 -46
- package/src/component/funnels.ts +19 -16
- package/src/component/geo.ts +16 -14
- package/src/component/goals.ts +29 -21
- package/src/component/guards.ts +3 -1
- package/src/component/http.ts +93 -54
- package/src/component/ingest.ts +320 -127
- package/src/component/live.ts +5 -4
- package/src/component/reports.ts +563 -219
- package/src/component/retention.ts +221 -98
- package/src/component/sanitize.ts +99 -29
- package/src/component/schema.ts +31 -5
- package/src/component/sites.ts +22 -11
- package/src/component/validators.ts +16 -7
- package/src/component/visitors.ts +16 -5
- package/src/component/vitals.ts +146 -0
package/dist/component/http.js
CHANGED
|
@@ -5,11 +5,12 @@ import { env, httpAction } from "./_generated/server.js";
|
|
|
5
5
|
import { MAX_BATCH_BYTES, MAX_BATCH_EVENT_GROUPS, MAX_BATCH_EVENTS, RATE_LIMIT_WINDOW_MS, } from "./constants.js";
|
|
6
6
|
import { classifyIp, geoIpDailyLimit, geoIpStatus, isTrustedProxyRequest, readRequestMetadata, resolveClientIp, resolveGeoIp, } from "./geo.js";
|
|
7
7
|
import { isPlainRecord } from "./guards.js";
|
|
8
|
-
import { sanitizeEvent } from "./sanitize.js";
|
|
8
|
+
import { alignClock, sanitizeEvent } from "./sanitize.js";
|
|
9
9
|
import { deriveVisitorKey, randomSecret } from "./identity.js";
|
|
10
10
|
import { classifyClient, isKnownBot } from "./useragent.js";
|
|
11
|
-
import { TRACKER_GZIP_BASE64, TRACKER_GZIP_BYTES, } from "../tracker/generated.js";
|
|
11
|
+
import { TRACKER_GZIP_BASE64, TRACKER_GZIP_BYTES, VITALS_GZIP_BASE64, VITALS_GZIP_BYTES, } from "../tracker/generated.js";
|
|
12
12
|
const TRACKER_GZIP = Uint8Array.from(atob(TRACKER_GZIP_BASE64), (character) => character.charCodeAt(0));
|
|
13
|
+
const VITALS_GZIP = Uint8Array.from(atob(VITALS_GZIP_BASE64), (character) => character.charCodeAt(0));
|
|
13
14
|
const http = httpRouter();
|
|
14
15
|
http.route({
|
|
15
16
|
path: "/events",
|
|
@@ -42,6 +43,12 @@ http.route({
|
|
|
42
43
|
},
|
|
43
44
|
}, 400, headers);
|
|
44
45
|
}
|
|
46
|
+
// The sender's clock says when its events happened, but a clock minutes
|
|
47
|
+
// off would keep the visitor out of the live view and file the traffic
|
|
48
|
+
// under another hour. The batch also says when it was sent, and that offset
|
|
49
|
+
// re-anchors every event here, before the transaction and the geo
|
|
50
|
+
// enrichment read them, so both see the same timestamps.
|
|
51
|
+
const events = alignClock(payload.events, payload.sentAt, Date.now());
|
|
45
52
|
const trustProxy = env.RASTRO_TRUST_PROXY === "true";
|
|
46
53
|
const metadata = await readRequestMetadata(ctx);
|
|
47
54
|
const proxyRequestTrusted = isTrustedProxyRequest(metadata.ip, trustProxy);
|
|
@@ -51,11 +58,11 @@ http.route({
|
|
|
51
58
|
// Self-declared bots never reach a transaction; the response keeps the
|
|
52
59
|
// counter shape the tracker expects and names the reason in a header.
|
|
53
60
|
if (isKnownBot(userAgent)) {
|
|
54
|
-
return json({ accepted: 0, duplicates: 0, rejected:
|
|
61
|
+
return json({ accepted: 0, duplicates: 0, rejected: events.length }, 200, { ...headers, "X-Rastro-Rejected": "bot" });
|
|
55
62
|
}
|
|
56
63
|
// Anonymous batches (visitorId === sessionId) get a salted daily key so
|
|
57
64
|
// repeat visits count once; the IP itself stops here.
|
|
58
|
-
const anonymous =
|
|
65
|
+
const anonymous = events.some((event) => event.visitorId === event.sessionId);
|
|
59
66
|
const visitorKey = anonymous && clientIp.ip && userAgent
|
|
60
67
|
? await deriveVisitorKey({
|
|
61
68
|
secret: await visitorSecret(ctx),
|
|
@@ -74,20 +81,20 @@ http.route({
|
|
|
74
81
|
const result = await ctx.runMutation(api.ingest.ingestBatch, {
|
|
75
82
|
siteId: payload.siteId,
|
|
76
83
|
origin,
|
|
77
|
-
events
|
|
84
|
+
events,
|
|
78
85
|
context,
|
|
79
86
|
});
|
|
80
87
|
if (clientIp.ip &&
|
|
81
88
|
!hasCoordinates(edgeGeo) &&
|
|
82
89
|
geoIpStatus(env.RASTRO_GEOIP_PROVIDER, env.RASTRO_GEOIP_TOKEN) ===
|
|
83
90
|
"ready") {
|
|
84
|
-
const
|
|
85
|
-
if (
|
|
91
|
+
const candidates = enrichmentCandidateEvents(events);
|
|
92
|
+
if (candidates) {
|
|
86
93
|
let stage = "claim";
|
|
87
94
|
try {
|
|
88
95
|
const claim = await ctx.runMutation(internal.geo.claimEnrichment, {
|
|
89
96
|
siteId: payload.siteId,
|
|
90
|
-
events,
|
|
97
|
+
events: candidates,
|
|
91
98
|
dailyLimit: geoIpDailyLimit(env.RASTRO_GEOIP_DAILY_LIMIT),
|
|
92
99
|
});
|
|
93
100
|
if (claim.sessionIds.length > 0) {
|
|
@@ -170,6 +177,23 @@ http.route({
|
|
|
170
177
|
});
|
|
171
178
|
}),
|
|
172
179
|
});
|
|
180
|
+
http.route({
|
|
181
|
+
path: "/vitals.js",
|
|
182
|
+
method: "GET",
|
|
183
|
+
handler: httpAction(async () => {
|
|
184
|
+
return new Response(VITALS_GZIP, {
|
|
185
|
+
status: 200,
|
|
186
|
+
headers: {
|
|
187
|
+
"Content-Type": "text/javascript; charset=utf-8",
|
|
188
|
+
"Content-Encoding": "gzip",
|
|
189
|
+
"Content-Length": String(VITALS_GZIP_BYTES),
|
|
190
|
+
"Cache-Control": "public, max-age=300, stale-while-revalidate=86400",
|
|
191
|
+
"Access-Control-Allow-Origin": "*",
|
|
192
|
+
Vary: "Accept-Encoding",
|
|
193
|
+
},
|
|
194
|
+
});
|
|
195
|
+
}),
|
|
196
|
+
});
|
|
173
197
|
http.route({
|
|
174
198
|
path: "/health",
|
|
175
199
|
method: "GET",
|
|
@@ -194,13 +218,16 @@ http.route({
|
|
|
194
218
|
dailyLimit: geoIpDailyLimit(env.RASTRO_GEOIP_DAILY_LIMIT),
|
|
195
219
|
trustedProxy: trustProxy,
|
|
196
220
|
proxyRequestTrusted,
|
|
197
|
-
edgeHeadersAvailable: proxyRequestTrusted &&
|
|
221
|
+
edgeHeadersAvailable: proxyRequestTrusted &&
|
|
222
|
+
Object.keys(geoFromHeaders(request)).length > 0,
|
|
198
223
|
},
|
|
199
224
|
features: {
|
|
200
225
|
botDetection: "userAgent",
|
|
201
|
-
uniqueVisitors: clientIp.ip &&
|
|
226
|
+
uniqueVisitors: clientIp.ip &&
|
|
227
|
+
(metadata.userAgent ?? request.headers.get("user-agent"))
|
|
202
228
|
? "dailyHash"
|
|
203
229
|
: "session",
|
|
230
|
+
webVitals: "optIn",
|
|
204
231
|
},
|
|
205
232
|
}, 200, {
|
|
206
233
|
"Access-Control-Allow-Origin": "*",
|
|
@@ -214,7 +241,12 @@ function parsePayload(value) {
|
|
|
214
241
|
!Array.isArray(value.events)) {
|
|
215
242
|
throw new Error("body must contain siteId and events");
|
|
216
243
|
}
|
|
217
|
-
|
|
244
|
+
const sentAt = optionalNumber(value.sentAt, "sentAt");
|
|
245
|
+
return {
|
|
246
|
+
siteId: value.siteId,
|
|
247
|
+
events: value.events.map(parseEvent),
|
|
248
|
+
...(sentAt === undefined ? {} : { sentAt }),
|
|
249
|
+
};
|
|
218
250
|
}
|
|
219
251
|
class PayloadTooLargeError extends Error {
|
|
220
252
|
}
|
|
@@ -252,7 +284,8 @@ function parseEvent(value) {
|
|
|
252
284
|
type !== "custom" &&
|
|
253
285
|
type !== "conversion" &&
|
|
254
286
|
type !== "heartbeat" &&
|
|
255
|
-
type !== "outbound"
|
|
287
|
+
type !== "outbound" &&
|
|
288
|
+
type !== "vital") {
|
|
256
289
|
throw new Error("event type is invalid");
|
|
257
290
|
}
|
|
258
291
|
if (typeof value.eventId !== "string" ||
|
|
@@ -294,6 +327,9 @@ function parseEvent(value) {
|
|
|
294
327
|
...(optionalString(value.affiliateSlug, "affiliateSlug") !== undefined
|
|
295
328
|
? { affiliateSlug: optionalString(value.affiliateSlug, "affiliateSlug") }
|
|
296
329
|
: {}),
|
|
330
|
+
...(optionalNumber(value.value, "value") !== undefined
|
|
331
|
+
? { value: optionalNumber(value.value, "value") }
|
|
332
|
+
: {}),
|
|
297
333
|
};
|
|
298
334
|
}
|
|
299
335
|
function parseProperties(value) {
|
|
@@ -367,21 +403,19 @@ function geoFromHeaders(request) {
|
|
|
367
403
|
return {
|
|
368
404
|
...(country ? { country } : {}),
|
|
369
405
|
...(city ? { city } : {}),
|
|
370
|
-
...(validCoordinates(latitude, longitude)
|
|
371
|
-
? { latitude, longitude }
|
|
372
|
-
: {}),
|
|
406
|
+
...(validCoordinates(latitude, longitude) ? { latitude, longitude } : {}),
|
|
373
407
|
};
|
|
374
408
|
}
|
|
375
409
|
function hasCoordinates(value) {
|
|
376
410
|
return value.latitude !== undefined && value.longitude !== undefined;
|
|
377
411
|
}
|
|
378
412
|
function validCoordinates(latitude, longitude) {
|
|
379
|
-
return latitude !== undefined &&
|
|
413
|
+
return (latitude !== undefined &&
|
|
380
414
|
longitude !== undefined &&
|
|
381
415
|
latitude >= -90 &&
|
|
382
416
|
latitude <= 90 &&
|
|
383
417
|
longitude >= -180 &&
|
|
384
|
-
longitude <= 180;
|
|
418
|
+
longitude <= 180);
|
|
385
419
|
}
|
|
386
420
|
function firstHeader(request, names) {
|
|
387
421
|
for (const name of names) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/component/http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/component/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,8 @@ export declare const ingestBatch: import("convex/server").RegisteredMutation<"pu
|
|
|
23
23
|
sessionId: string;
|
|
24
24
|
target?: string | undefined;
|
|
25
25
|
timestamp: number;
|
|
26
|
-
type: "click" | "conversion" | "custom" | "heartbeat" | "outbound" | "pageview";
|
|
26
|
+
type: "click" | "conversion" | "custom" | "heartbeat" | "outbound" | "pageview" | "vital";
|
|
27
|
+
value?: number | undefined;
|
|
27
28
|
visitorId: string;
|
|
28
29
|
}[];
|
|
29
30
|
origin: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../src/component/ingest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../src/component/ingest.ts"],"names":[],"mappings":"AA0NA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8RtB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;GA6H1B,CAAC"}
|
package/dist/component/ingest.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { v } from "convex/values";
|
|
2
2
|
import { mutation } from "./_generated/server.js";
|
|
3
3
|
import { internal } from "./_generated/api.js";
|
|
4
|
-
import { AGGREGATE_SHARDS, MAX_BATCH_EVENT_GROUPS, DAY_MS, HOURLY_AGGREGATE_SHARDS, DIMENSION_SLOTS, HOUR_MS, LIVE_SESSION_TTL_MS, LIVE_SWEEP_INTERVAL_MS, MAX_BATCH_EVENTS, MAX_SITE_BYTES_PER_SHARD_WINDOW, MAX_SITE_EVENTS_PER_SHARD_WINDOW, MAX_BYTES_PER_SESSION_WINDOW, MAX_EVENTS_PER_SESSION_WINDOW, MAX_FUNNELS_PER_SITE, MAX_FUNNEL_STEPS, MAX_GOALS_PER_SITE, RATE_LIMIT_WINDOW_MS, REPORT_ROLLUP_SHARDS, SECONDARY_AGGREGATE_SHARDS, SITE_INGEST_SHARDS, } from "./constants.js";
|
|
4
|
+
import { AGGREGATE_SHARDS, MAX_BATCH_EVENT_GROUPS, DAY_MS, HOURLY_AGGREGATE_SHARDS, DIMENSION_SLOTS, HOUR_MS, LIVE_SESSION_TTL_MS, LIVE_SWEEP_INTERVAL_MS, MAX_BATCH_EVENTS, MAX_SITE_BYTES_PER_SHARD_WINDOW, MAX_SITE_EVENTS_PER_SHARD_WINDOW, MAX_BYTES_PER_SESSION_WINDOW, MAX_EVENTS_PER_SESSION_WINDOW, MAX_FUNNELS_PER_SITE, MAX_FUNNEL_STEPS, MAX_GOALS_PER_SITE, RATE_LIMIT_WINDOW_MS, REPORT_ROLLUP_SHARDS, SECONDARY_AGGREGATE_SHARDS, SITE_INGEST_SHARDS, VITAL_PAGE_SLOTS, } from "./constants.js";
|
|
5
5
|
import { addVisitor, createVisitorSketch, unionVisitorSketches, } from "./cardinality.js";
|
|
6
|
+
import { addToVitalHistogram, emptyVitalHistogram, mergeVitalHistograms, vitalDevice, VITAL_ALL, VITAL_OTHER_PAGES, } from "./vitals.js";
|
|
6
7
|
import { fail } from "./errors.js";
|
|
7
8
|
import { ensureAnalyticsControl } from "./coverage.js";
|
|
8
9
|
import { bufferEventBatch, eventBatchKey, eventBucketStart, findTelemetry, flushEventBatches, insertEventBatch, inspectTelemetryMinute, } from "./eventStore.js";
|
|
@@ -76,7 +77,7 @@ export const ingestBatch = mutation({
|
|
|
76
77
|
const bucketStart = eventBucketStart(event.timestamp);
|
|
77
78
|
const groupKey = eventBatchKey(event.sessionId, bucketStart);
|
|
78
79
|
requestGroups.add(groupKey);
|
|
79
|
-
if (event.type === "heartbeat")
|
|
80
|
+
if (event.type === "heartbeat" || event.type === "vital")
|
|
80
81
|
continue;
|
|
81
82
|
const eventIds = eventIdsByGroup.get(groupKey) ?? new Set();
|
|
82
83
|
if (eventIds.has(event.eventId)) {
|
|
@@ -144,6 +145,21 @@ export const ingestBatch = mutation({
|
|
|
144
145
|
accepted += 1;
|
|
145
146
|
continue;
|
|
146
147
|
}
|
|
148
|
+
if (event.type === "vital") {
|
|
149
|
+
// A vital annotates telemetry its session already produced; it never
|
|
150
|
+
// creates sessions, live presence, event batches, or aggregate counts.
|
|
151
|
+
if (!existingSession) {
|
|
152
|
+
rejected += 1;
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
if (!(await consumeRateLimit(ctx, args.siteId, event.sessionId, eventByteCounts[eventIndex], now, sessionRateWindows))) {
|
|
156
|
+
rejected += 1;
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
foldVitalRollups(reportRollupDeltas, args.siteId, event, vitalDevice(context.device));
|
|
160
|
+
accepted += 1;
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
147
163
|
if (duplicateInBatch.has(eventIndex) ||
|
|
148
164
|
persistedEventIds
|
|
149
165
|
.get(eventBatchKey(event.sessionId, eventBucketStart(event.timestamp)))
|
|
@@ -173,8 +189,8 @@ export const ingestBatch = mutation({
|
|
|
173
189
|
event,
|
|
174
190
|
context,
|
|
175
191
|
existingSession,
|
|
176
|
-
goals: canMatchDefinition ? goals ?? [] : [],
|
|
177
|
-
funnels: canMatchDefinition ? funnels ?? [] : [],
|
|
192
|
+
goals: canMatchDefinition ? (goals ?? []) : [],
|
|
193
|
+
funnels: canMatchDefinition ? (funnels ?? []) : [],
|
|
178
194
|
aggregateDeltas,
|
|
179
195
|
reportRollupDeltas,
|
|
180
196
|
recordTelemetry: true,
|
|
@@ -376,8 +392,7 @@ async function accountEvent(ctx, input) {
|
|
|
376
392
|
.eq("siteId", input.siteId)
|
|
377
393
|
.eq("goalId", goal._id)
|
|
378
394
|
.eq("eventId", completionEventId))
|
|
379
|
-
.take(2))
|
|
380
|
-
.find((completion) => completion.idempotencyVersion === 2);
|
|
395
|
+
.take(2)).find((completion) => completion.idempotencyVersion === 2);
|
|
381
396
|
const legacyPrior = scopedPrior
|
|
382
397
|
? undefined
|
|
383
398
|
: (await ctx.db
|
|
@@ -386,8 +401,7 @@ async function accountEvent(ctx, input) {
|
|
|
386
401
|
.eq("siteId", input.siteId)
|
|
387
402
|
.eq("goalId", goal._id)
|
|
388
403
|
.eq("eventId", event.eventId))
|
|
389
|
-
.take(2))
|
|
390
|
-
.find((completion) => completion.idempotencyVersion === undefined &&
|
|
404
|
+
.take(2)).find((completion) => completion.idempotencyVersion === undefined &&
|
|
391
405
|
completion.sessionId === event.sessionId &&
|
|
392
406
|
eventBucketStart(completion.timestamp) ===
|
|
393
407
|
eventBucketStart(event.timestamp));
|
|
@@ -427,7 +441,7 @@ async function accountEvent(ctx, input) {
|
|
|
427
441
|
{ type: "browser", value: input.context.browser ?? "Other" },
|
|
428
442
|
{
|
|
429
443
|
type: "event",
|
|
430
|
-
value: event.type === "custom" ? event.name ?? "custom" : event.type,
|
|
444
|
+
value: event.type === "custom" ? (event.name ?? "custom") : event.type,
|
|
431
445
|
},
|
|
432
446
|
...matchedGoalKeys.map((value) => ({ type: "goal", value })),
|
|
433
447
|
];
|
|
@@ -497,7 +511,7 @@ async function upsertSession(ctx, siteId, event, context, existing, financialCon
|
|
|
497
511
|
durationMs: Math.max(0, lastSeenAt - startedAt),
|
|
498
512
|
conversionCount: existing.conversionCount + Number(financialConversion),
|
|
499
513
|
revenueCents: existing.revenueCents +
|
|
500
|
-
(financialConversion ? event.revenueCents ?? 0 : 0),
|
|
514
|
+
(financialConversion ? (event.revenueCents ?? 0) : 0),
|
|
501
515
|
...(financialConversion && event.currency
|
|
502
516
|
? { currency: event.currency }
|
|
503
517
|
: {}),
|
|
@@ -508,7 +522,9 @@ async function upsertSession(ctx, siteId, event, context, existing, financialCon
|
|
|
508
522
|
...(context.country ? { country: context.country } : {}),
|
|
509
523
|
...(context.city ? { city: context.city } : {}),
|
|
510
524
|
...(context.latitude !== undefined ? { latitude: context.latitude } : {}),
|
|
511
|
-
...(context.longitude !== undefined
|
|
525
|
+
...(context.longitude !== undefined
|
|
526
|
+
? { longitude: context.longitude }
|
|
527
|
+
: {}),
|
|
512
528
|
browser: context.browser ?? existing.browser,
|
|
513
529
|
os: context.os ?? existing.os,
|
|
514
530
|
device: context.device ?? existing.device,
|
|
@@ -575,7 +591,9 @@ async function upsertSession(ctx, siteId, event, context, existing, financialCon
|
|
|
575
591
|
...(context.country ? { country: context.country } : {}),
|
|
576
592
|
...(context.city ? { city: context.city } : {}),
|
|
577
593
|
...(context.latitude !== undefined ? { latitude: context.latitude } : {}),
|
|
578
|
-
...(context.longitude !== undefined
|
|
594
|
+
...(context.longitude !== undefined
|
|
595
|
+
? { longitude: context.longitude }
|
|
596
|
+
: {}),
|
|
579
597
|
browser: context.browser ?? "Other",
|
|
580
598
|
os: context.os ?? "Other",
|
|
581
599
|
device: context.device ?? "unknown",
|
|
@@ -583,7 +601,7 @@ async function upsertSession(ctx, siteId, event, context, existing, financialCon
|
|
|
583
601
|
pageviewCount: event.type === "pageview" ? 1 : 0,
|
|
584
602
|
durationMs: 0,
|
|
585
603
|
conversionCount: Number(financialConversion),
|
|
586
|
-
revenueCents: financialConversion ? event.revenueCents ?? 0 : 0,
|
|
604
|
+
revenueCents: financialConversion ? (event.revenueCents ?? 0) : 0,
|
|
587
605
|
...(financialConversion && event.currency
|
|
588
606
|
? { currency: event.currency }
|
|
589
607
|
: {}),
|
|
@@ -737,14 +755,14 @@ async function accountHeartbeat(ctx, siteId, session, event, context, now, batch
|
|
|
737
755
|
const updates = {
|
|
738
756
|
startedAt,
|
|
739
757
|
lastSeenAt,
|
|
740
|
-
exitPath: event.timestamp >= session.lastSeenAt
|
|
741
|
-
? event.path
|
|
742
|
-
: session.exitPath,
|
|
758
|
+
exitPath: event.timestamp >= session.lastSeenAt ? event.path : session.exitPath,
|
|
743
759
|
durationMs: Math.max(0, lastSeenAt - startedAt),
|
|
744
760
|
...(context.country ? { country: context.country } : {}),
|
|
745
761
|
...(context.city ? { city: context.city } : {}),
|
|
746
762
|
...(context.latitude !== undefined ? { latitude: context.latitude } : {}),
|
|
747
|
-
...(context.longitude !== undefined
|
|
763
|
+
...(context.longitude !== undefined
|
|
764
|
+
? { longitude: context.longitude }
|
|
765
|
+
: {}),
|
|
748
766
|
browser: context.browser ?? session.browser,
|
|
749
767
|
os: context.os ?? session.os,
|
|
750
768
|
device: context.device ?? session.device,
|
|
@@ -795,9 +813,7 @@ async function consumeSiteRateLimit(ctx, siteId, events, eventByteCounts, now) {
|
|
|
795
813
|
.order("desc")
|
|
796
814
|
.take(1);
|
|
797
815
|
const storedWindow = rows[0] ?? null;
|
|
798
|
-
const window = storedWindow?.windowStart === windowStart
|
|
799
|
-
? storedWindow
|
|
800
|
-
: null;
|
|
816
|
+
const window = storedWindow?.windowStart === windowStart ? storedWindow : null;
|
|
801
817
|
if ((window?.eventCount ?? 0) + increment.eventCount >
|
|
802
818
|
MAX_SITE_EVENTS_PER_SHARD_WINDOW ||
|
|
803
819
|
(window?.byteCount ?? 0) + increment.byteCount >
|
|
@@ -1058,7 +1074,8 @@ async function advanceFunnel(ctx, siteId, funnel, event, reportRollupDeltas, bat
|
|
|
1058
1074
|
foldFunnelRollup(reportRollupDeltas, siteId, funnel._id, event, 0, false);
|
|
1059
1075
|
return;
|
|
1060
1076
|
}
|
|
1061
|
-
if (progress.completedAt !== undefined ||
|
|
1077
|
+
if (progress.completedAt !== undefined ||
|
|
1078
|
+
event.timestamp < progress.lastStepAt)
|
|
1062
1079
|
return;
|
|
1063
1080
|
if (event.timestamp - progress.startedAt > funnel.conversionWindowMs) {
|
|
1064
1081
|
if (!matchesFirst)
|
|
@@ -1210,6 +1227,7 @@ function createReportRollupDeltas() {
|
|
|
1210
1227
|
goals: new Map(),
|
|
1211
1228
|
funnels: new Map(),
|
|
1212
1229
|
affiliates: new Map(),
|
|
1230
|
+
vitals: new Map(),
|
|
1213
1231
|
};
|
|
1214
1232
|
}
|
|
1215
1233
|
function reportRollupCoordinates(siteId, definitionId, timestamp, visitorId) {
|
|
@@ -1292,6 +1310,103 @@ function foldAffiliateConversionRollup(deltas, siteId, event, affiliate, affilia
|
|
|
1292
1310
|
current.commissionCents += commissionCents;
|
|
1293
1311
|
deltas.affiliates.set(coordinates.key, current);
|
|
1294
1312
|
}
|
|
1313
|
+
function foldVitalRollups(deltas, siteId, event, device) {
|
|
1314
|
+
const metric = event.name;
|
|
1315
|
+
const value = event.value ?? 0;
|
|
1316
|
+
const bucketStart = Math.floor(event.timestamp / DAY_MS) * DAY_MS;
|
|
1317
|
+
const shard = stableHash(event.sessionId) % REPORT_ROLLUP_SHARDS;
|
|
1318
|
+
// Each measurement lands twice: on its page (across devices) and on its
|
|
1319
|
+
// device class (across pages), so both breakdowns stay exact and bounded.
|
|
1320
|
+
for (const target of [
|
|
1321
|
+
{ device: VITAL_ALL, page: event.path },
|
|
1322
|
+
{ device, page: VITAL_ALL },
|
|
1323
|
+
]) {
|
|
1324
|
+
const key = JSON.stringify([
|
|
1325
|
+
siteId,
|
|
1326
|
+
bucketStart,
|
|
1327
|
+
target.device,
|
|
1328
|
+
target.page,
|
|
1329
|
+
shard,
|
|
1330
|
+
]);
|
|
1331
|
+
const row = deltas.vitals.get(key) ?? {
|
|
1332
|
+
siteId,
|
|
1333
|
+
bucketStart,
|
|
1334
|
+
device: target.device,
|
|
1335
|
+
page: target.page,
|
|
1336
|
+
shard,
|
|
1337
|
+
metrics: new Map(),
|
|
1338
|
+
};
|
|
1339
|
+
const entry = row.metrics.get(metric) ?? {
|
|
1340
|
+
count: 0,
|
|
1341
|
+
sum: 0,
|
|
1342
|
+
histogram: emptyVitalHistogram(),
|
|
1343
|
+
};
|
|
1344
|
+
entry.count += 1;
|
|
1345
|
+
entry.sum += value;
|
|
1346
|
+
entry.histogram = addToVitalHistogram(entry.histogram, value);
|
|
1347
|
+
row.metrics.set(metric, entry);
|
|
1348
|
+
deltas.vitals.set(key, row);
|
|
1349
|
+
}
|
|
1350
|
+
}
|
|
1351
|
+
async function upsertVitalRollup(ctx, delta) {
|
|
1352
|
+
const existing = await ctx.db
|
|
1353
|
+
.query("vitalRollups")
|
|
1354
|
+
.withIndex("by_key", (range) => range
|
|
1355
|
+
.eq("siteId", delta.siteId)
|
|
1356
|
+
.eq("bucketStart", delta.bucketStart)
|
|
1357
|
+
.eq("device", delta.device)
|
|
1358
|
+
.eq("page", delta.page)
|
|
1359
|
+
.eq("shard", delta.shard))
|
|
1360
|
+
.unique();
|
|
1361
|
+
if (!existing &&
|
|
1362
|
+
delta.device === VITAL_ALL &&
|
|
1363
|
+
delta.page !== VITAL_OTHER_PAGES) {
|
|
1364
|
+
// A new page row spends one bounded read to respect the daily page slots;
|
|
1365
|
+
// past the cap, the day's remaining pages fold into "(other)".
|
|
1366
|
+
const pageRows = await ctx.db
|
|
1367
|
+
.query("vitalRollups")
|
|
1368
|
+
.withIndex("by_key", (range) => range
|
|
1369
|
+
.eq("siteId", delta.siteId)
|
|
1370
|
+
.eq("bucketStart", delta.bucketStart)
|
|
1371
|
+
.eq("device", VITAL_ALL))
|
|
1372
|
+
.take(VITAL_PAGE_SLOTS * REPORT_ROLLUP_SHARDS + 1);
|
|
1373
|
+
if (pageRows.length > VITAL_PAGE_SLOTS * REPORT_ROLLUP_SHARDS) {
|
|
1374
|
+
await upsertVitalRollup(ctx, { ...delta, page: VITAL_OTHER_PAGES });
|
|
1375
|
+
return;
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
const metrics = existing?.metrics.map((entry) => ({ ...entry })) ?? [];
|
|
1379
|
+
for (const [metric, addition] of delta.metrics) {
|
|
1380
|
+
const entry = metrics.find((candidate) => candidate.metric === metric);
|
|
1381
|
+
if (entry) {
|
|
1382
|
+
entry.count += addition.count;
|
|
1383
|
+
entry.sum += addition.sum;
|
|
1384
|
+
entry.histogram = mergeVitalHistograms(entry.histogram, addition.histogram);
|
|
1385
|
+
}
|
|
1386
|
+
else {
|
|
1387
|
+
metrics.push({
|
|
1388
|
+
metric,
|
|
1389
|
+
count: addition.count,
|
|
1390
|
+
sum: addition.sum,
|
|
1391
|
+
histogram: [...addition.histogram],
|
|
1392
|
+
});
|
|
1393
|
+
}
|
|
1394
|
+
}
|
|
1395
|
+
const fields = {
|
|
1396
|
+
siteId: delta.siteId,
|
|
1397
|
+
bucketStart: delta.bucketStart,
|
|
1398
|
+
device: delta.device,
|
|
1399
|
+
page: delta.page,
|
|
1400
|
+
shard: delta.shard,
|
|
1401
|
+
metrics,
|
|
1402
|
+
};
|
|
1403
|
+
if (existing) {
|
|
1404
|
+
await ctx.db.replace("vitalRollups", existing._id, fields);
|
|
1405
|
+
}
|
|
1406
|
+
else {
|
|
1407
|
+
await ctx.db.insert("vitalRollups", fields);
|
|
1408
|
+
}
|
|
1409
|
+
}
|
|
1295
1410
|
async function flushReportRollups(ctx, deltas) {
|
|
1296
1411
|
for (const delta of deltas.goals.values()) {
|
|
1297
1412
|
const existing = await ctx.db
|
|
@@ -1386,9 +1501,12 @@ async function flushReportRollups(ctx, deltas) {
|
|
|
1386
1501
|
await ctx.db.insert("affiliateDailyRollups", fields);
|
|
1387
1502
|
}
|
|
1388
1503
|
}
|
|
1504
|
+
for (const delta of deltas.vitals.values()) {
|
|
1505
|
+
await upsertVitalRollup(ctx, delta);
|
|
1506
|
+
}
|
|
1389
1507
|
}
|
|
1390
1508
|
function foldAggregates(aggregateDeltas, siteId, event, session, dimensions, recordTelemetry, financialConversion) {
|
|
1391
|
-
const revenueCents = financialConversion ? event.revenueCents ?? 0 : 0;
|
|
1509
|
+
const revenueCents = financialConversion ? (event.revenueCents ?? 0) : 0;
|
|
1392
1510
|
const dimensionDeltas = dimensions.map((dimension) => ({
|
|
1393
1511
|
...dimension,
|
|
1394
1512
|
count: Number(recordTelemetry),
|
|
@@ -1558,6 +1676,8 @@ function mergeDimensions(current, additions) {
|
|
|
1558
1676
|
}
|
|
1559
1677
|
function stringProperty(properties, key) {
|
|
1560
1678
|
const value = properties?.[key];
|
|
1561
|
-
return typeof value === "string"
|
|
1679
|
+
return typeof value === "string"
|
|
1680
|
+
? cleanString(value, 120) || undefined
|
|
1681
|
+
: undefined;
|
|
1562
1682
|
}
|
|
1563
1683
|
//# sourceMappingURL=ingest.js.map
|