@iann29/rastro 0.1.0-alpha.3 → 0.1.0-alpha.4
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 +264 -51
- package/agent/integration.md +651 -0
- package/agent/manifest.json +183 -0
- package/agent/manifest.schema.json +405 -0
- package/dist/client/federation.d.ts +205 -0
- package/dist/client/federation.d.ts.map +1 -0
- package/dist/client/federation.js +179 -0
- package/dist/client/federation.js.map +1 -0
- package/dist/client/index.d.ts +1600 -8
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +210 -2
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +4 -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 +151 -1
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/cardinality.d.ts +12 -0
- package/dist/component/cardinality.d.ts.map +1 -0
- package/dist/component/cardinality.js +94 -0
- package/dist/component/cardinality.js.map +1 -0
- package/dist/component/constants.d.ts +10 -0
- package/dist/component/constants.d.ts.map +1 -1
- package/dist/component/constants.js +10 -0
- package/dist/component/constants.js.map +1 -1
- package/dist/component/coverage.d.ts +18 -0
- package/dist/component/coverage.d.ts.map +1 -0
- package/dist/component/coverage.js +19 -0
- package/dist/component/coverage.js.map +1 -0
- package/dist/component/errors.d.ts +1 -1
- package/dist/component/errors.d.ts.map +1 -1
- package/dist/component/errors.js.map +1 -1
- package/dist/component/http.d.ts.map +1 -1
- package/dist/component/http.js +46 -8
- package/dist/component/http.js.map +1 -1
- package/dist/component/ingest.d.ts.map +1 -1
- package/dist/component/ingest.js +238 -18
- package/dist/component/ingest.js.map +1 -1
- package/dist/component/live.d.ts.map +1 -1
- package/dist/component/live.js +6 -3
- package/dist/component/live.js.map +1 -1
- package/dist/component/reports.d.ts +111 -2
- package/dist/component/reports.d.ts.map +1 -1
- package/dist/component/reports.js +639 -78
- package/dist/component/reports.js.map +1 -1
- package/dist/component/retention.d.ts +75 -1
- package/dist/component/retention.d.ts.map +1 -1
- package/dist/component/retention.js +517 -54
- package/dist/component/retention.js.map +1 -1
- package/dist/component/sanitize.d.ts +4 -1
- package/dist/component/sanitize.d.ts.map +1 -1
- package/dist/component/sanitize.js +9 -4
- package/dist/component/sanitize.js.map +1 -1
- package/dist/component/schema.d.ts +187 -1
- package/dist/component/schema.js +100 -1
- package/dist/component/schema.js.map +1 -1
- package/dist/component/sites.d.ts.map +1 -1
- package/dist/component/sites.js +5 -1
- package/dist/component/sites.js.map +1 -1
- package/dist/component/validators.d.ts +26 -1
- package/dist/component/validators.d.ts.map +1 -1
- package/dist/component/validators.js +7 -0
- package/dist/component/validators.js.map +1 -1
- package/docs/benchmarks/2026-08-20-realistic.md +4 -4
- package/docs/benchmarks/2026-08-21-formal-certification.md +333 -0
- package/docs/federation-setup.md +395 -0
- package/docs/federation.md +258 -0
- package/docs/upgrading.md +130 -0
- package/llms.txt +65 -0
- package/package.json +32 -6
- package/scripts/generate-federation-keys.mjs +20 -0
- package/src/component/_generated/api.ts +4 -0
- package/src/component/_generated/component.ts +211 -1
- package/src/component/cardinality.ts +116 -0
- package/src/component/constants.ts +10 -0
- package/src/component/coverage.ts +25 -0
- package/src/component/errors.ts +2 -1
- package/src/component/http.ts +76 -6
- package/src/component/ingest.ts +387 -12
- package/src/component/live.ts +8 -3
- package/src/component/reports.ts +891 -86
- package/src/component/retention.ts +624 -88
- package/src/component/sanitize.ts +15 -4
- package/src/component/schema.ts +110 -0
- package/src/component/sites.ts +5 -1
- package/src/component/validators.ts +8 -0
|
@@ -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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"}
|
|
@@ -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":"AA6LA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4PtB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;GAmH1B,CAAC"}
|
package/dist/component/ingest.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
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_GOALS_PER_SITE, RATE_LIMIT_WINDOW_MS, 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, } from "./constants.js";
|
|
5
|
+
import { addVisitor, createVisitorSketch, unionVisitorSketches, } from "./cardinality.js";
|
|
5
6
|
import { fail } from "./errors.js";
|
|
7
|
+
import { ensureAnalyticsControl } from "./coverage.js";
|
|
6
8
|
import { bufferEventBatch, eventBatchKey, eventBucketStart, findTelemetry, flushEventBatches, insertEventBatch, inspectTelemetryMinute, } from "./eventStore.js";
|
|
7
|
-
import { cleanString,
|
|
9
|
+
import { cleanString, isValidMoney, measureBatchBytes, originAllowed, sanitizeContext, sanitizeCurrency, sanitizeEvent, sanitizeOpaqueId, sanitizePath, sanitizeProperties, sanitizeSlug, sourceFromReferrer, stableHash, } from "./sanitize.js";
|
|
8
10
|
import { ingestContextValidator, ingestResultValidator, trackerEventValidator, trustedConversionValidator, } from "./validators.js";
|
|
9
11
|
export const ingestBatch = mutation({
|
|
10
12
|
args: {
|
|
@@ -28,16 +30,19 @@ export const ingestBatch = mutation({
|
|
|
28
30
|
limit: MAX_BATCH_EVENTS,
|
|
29
31
|
});
|
|
30
32
|
}
|
|
33
|
+
let eventByteCounts;
|
|
31
34
|
try {
|
|
32
|
-
|
|
35
|
+
({ eventByteCounts } = measureBatchBytes(String(args.siteId), args.events));
|
|
33
36
|
}
|
|
34
37
|
catch {
|
|
35
38
|
fail("BATCH_TOO_LARGE", "batch exceeds 64 KiB", { limitBytes: 65_536 });
|
|
36
39
|
}
|
|
37
40
|
const now = Date.now();
|
|
38
|
-
|
|
41
|
+
await ensureAnalyticsControl(ctx, args.siteId, now);
|
|
42
|
+
await consumeSiteRateLimit(ctx, args.siteId, args.events, eventByteCounts, now);
|
|
39
43
|
const context = sanitizeContext(args.context);
|
|
40
44
|
const aggregateDeltas = new Map();
|
|
45
|
+
const reportRollupDeltas = createReportRollupDeltas();
|
|
41
46
|
const sessionRateWindows = new Map();
|
|
42
47
|
const batchState = {
|
|
43
48
|
sessions: new Map(),
|
|
@@ -171,6 +176,7 @@ export const ingestBatch = mutation({
|
|
|
171
176
|
goals: canMatchDefinition ? goals ?? [] : [],
|
|
172
177
|
funnels: canMatchDefinition ? funnels ?? [] : [],
|
|
173
178
|
aggregateDeltas,
|
|
179
|
+
reportRollupDeltas,
|
|
174
180
|
recordTelemetry: true,
|
|
175
181
|
financialConversion: false,
|
|
176
182
|
trustedGoalKey: undefined,
|
|
@@ -183,6 +189,7 @@ export const ingestBatch = mutation({
|
|
|
183
189
|
await flushBatchState(ctx, batchState);
|
|
184
190
|
await flushSessionRateLimits(ctx, sessionRateWindows, now);
|
|
185
191
|
await flushAggregates(ctx, aggregateDeltas);
|
|
192
|
+
await flushReportRollups(ctx, reportRollupDeltas);
|
|
186
193
|
return { accepted, duplicates, rejected };
|
|
187
194
|
},
|
|
188
195
|
});
|
|
@@ -260,6 +267,7 @@ export const trackConversion = mutation({
|
|
|
260
267
|
device: existingTelemetry?.device ?? existingSession?.device,
|
|
261
268
|
};
|
|
262
269
|
const aggregateDeltas = new Map();
|
|
270
|
+
const reportRollupDeltas = createReportRollupDeltas();
|
|
263
271
|
const session = await accountEvent(ctx, {
|
|
264
272
|
siteId: args.siteId,
|
|
265
273
|
event,
|
|
@@ -268,6 +276,7 @@ export const trackConversion = mutation({
|
|
|
268
276
|
goals: [],
|
|
269
277
|
funnels: [],
|
|
270
278
|
aggregateDeltas,
|
|
279
|
+
reportRollupDeltas,
|
|
271
280
|
recordTelemetry: existingTelemetry === null && !telemetry.saturated,
|
|
272
281
|
financialConversion: true,
|
|
273
282
|
trustedGoalKey,
|
|
@@ -277,6 +286,8 @@ export const trackConversion = mutation({
|
|
|
277
286
|
await insertEventBatch(ctx, args.siteId, event, session.country ?? "unknown");
|
|
278
287
|
}
|
|
279
288
|
await flushAggregates(ctx, aggregateDeltas);
|
|
289
|
+
await flushReportRollups(ctx, reportRollupDeltas);
|
|
290
|
+
await ensureAnalyticsControl(ctx, args.siteId, Date.now());
|
|
280
291
|
return { accepted: 1, duplicates: 0, rejected: 0 };
|
|
281
292
|
},
|
|
282
293
|
});
|
|
@@ -346,7 +357,7 @@ function withoutSystemFields(document) {
|
|
|
346
357
|
async function accountEvent(ctx, input) {
|
|
347
358
|
const { event } = input;
|
|
348
359
|
const session = input.recordTelemetry
|
|
349
|
-
? await upsertSession(ctx, input.siteId, event, input.context, input.existingSession, input.financialConversion, input.batchState)
|
|
360
|
+
? await upsertSession(ctx, input.siteId, event, input.context, input.existingSession, input.financialConversion, input.reportRollupDeltas, input.batchState)
|
|
350
361
|
: await accountTrustedSession(ctx, input.existingSession, event);
|
|
351
362
|
const matchedGoalKeys = [];
|
|
352
363
|
const matchingGoals = input.goals.filter((goal) => goal.active && goalMatches(goal, event));
|
|
@@ -393,15 +404,16 @@ async function accountEvent(ctx, input) {
|
|
|
393
404
|
timestamp: event.timestamp,
|
|
394
405
|
valueCents: goal.valueCents ?? 0,
|
|
395
406
|
});
|
|
407
|
+
foldGoalRollup(input.reportRollupDeltas, input.siteId, event, goal);
|
|
396
408
|
matchedGoalKeys.push(goal.key);
|
|
397
409
|
}
|
|
398
410
|
for (const funnel of input.funnels) {
|
|
399
411
|
if (funnel.active) {
|
|
400
|
-
await advanceFunnel(ctx, input.siteId, funnel, event, input.batchState);
|
|
412
|
+
await advanceFunnel(ctx, input.siteId, funnel, event, input.reportRollupDeltas, input.batchState);
|
|
401
413
|
}
|
|
402
414
|
}
|
|
403
415
|
if (input.financialConversion) {
|
|
404
|
-
await accountConversion(ctx, input.siteId, session, event, input.trustedGoalKey);
|
|
416
|
+
await accountConversion(ctx, input.siteId, session, event, input.trustedGoalKey, input.reportRollupDeltas);
|
|
405
417
|
}
|
|
406
418
|
const dimensions = [
|
|
407
419
|
{ type: "source", value: session.source },
|
|
@@ -450,13 +462,16 @@ async function accountTrustedSession(ctx, existing, event) {
|
|
|
450
462
|
affiliateExpiresAt: existing.affiliateExpiresAt,
|
|
451
463
|
};
|
|
452
464
|
}
|
|
453
|
-
async function upsertSession(ctx, siteId, event, context, existing, financialConversion, batchState) {
|
|
465
|
+
async function upsertSession(ctx, siteId, event, context, existing, financialConversion, reportRollupDeltas, batchState) {
|
|
454
466
|
const source = sourceFromReferrer(event.referrer);
|
|
455
467
|
const utmSource = stringProperty(event.properties, "utm_source");
|
|
456
468
|
const utmMedium = stringProperty(event.properties, "utm_medium");
|
|
457
469
|
const utmCampaign = stringProperty(event.properties, "utm_campaign");
|
|
458
470
|
const attribution = await attributionForEvent(ctx, siteId, event, existing, batchState);
|
|
459
471
|
if (existing) {
|
|
472
|
+
if (attribution && existing.affiliateId !== attribution.affiliateId) {
|
|
473
|
+
foldAffiliateVisitRollup(reportRollupDeltas, siteId, event, attribution);
|
|
474
|
+
}
|
|
460
475
|
const startedAt = Math.min(existing.startedAt, event.timestamp);
|
|
461
476
|
const lastSeenAt = Math.max(existing.lastSeenAt, event.timestamp);
|
|
462
477
|
const updates = {
|
|
@@ -559,6 +574,9 @@ async function upsertSession(ctx, siteId, event, context, existing, financialCon
|
|
|
559
574
|
...(attribution ?? {}),
|
|
560
575
|
};
|
|
561
576
|
const sessionId = await ctx.db.insert("sessions", fields);
|
|
577
|
+
if (attribution) {
|
|
578
|
+
foldAffiliateVisitRollup(reportRollupDeltas, siteId, event, attribution);
|
|
579
|
+
}
|
|
562
580
|
if (batchState) {
|
|
563
581
|
const state = batchState.sessions.get(event.sessionId);
|
|
564
582
|
if (!state)
|
|
@@ -738,15 +756,12 @@ async function accountHeartbeat(ctx, siteId, session, event, context, now, batch
|
|
|
738
756
|
affiliateSlug: session.affiliateSlug,
|
|
739
757
|
}, now, batchState);
|
|
740
758
|
}
|
|
741
|
-
async function consumeSiteRateLimit(ctx, siteId, events, now) {
|
|
759
|
+
async function consumeSiteRateLimit(ctx, siteId, events, eventByteCounts, now) {
|
|
742
760
|
const windowStart = Math.floor(now / RATE_LIMIT_WINDOW_MS) * RATE_LIMIT_WINDOW_MS;
|
|
743
761
|
const increments = new Map();
|
|
744
|
-
const eventByteCounts = [];
|
|
745
|
-
const encoder = new TextEncoder();
|
|
746
762
|
for (let index = 0; index < events.length; index += 1) {
|
|
747
763
|
const event = events[index];
|
|
748
|
-
const byteCount =
|
|
749
|
-
eventByteCounts.push(byteCount);
|
|
764
|
+
const byteCount = eventByteCounts[index];
|
|
750
765
|
const shard = stableHash(event.sessionId) % SITE_INGEST_SHARDS;
|
|
751
766
|
const current = increments.get(shard) ?? { eventCount: 0, byteCount: 0 };
|
|
752
767
|
current.eventCount += 1;
|
|
@@ -803,7 +818,6 @@ async function consumeSiteRateLimit(ctx, siteId, events, now) {
|
|
|
803
818
|
});
|
|
804
819
|
}
|
|
805
820
|
}
|
|
806
|
-
return eventByteCounts;
|
|
807
821
|
}
|
|
808
822
|
async function consumeRateLimit(ctx, siteId, sessionId, byteCount, now, states) {
|
|
809
823
|
const windowStart = Math.floor(now / RATE_LIMIT_WINDOW_MS) * RATE_LIMIT_WINDOW_MS;
|
|
@@ -957,9 +971,14 @@ async function ensureLiveSweep(ctx, siteId, now, batchState) {
|
|
|
957
971
|
.query("liveSweepStates")
|
|
958
972
|
.withIndex("by_siteId", (range) => range.eq("siteId", siteId))
|
|
959
973
|
.unique();
|
|
960
|
-
if (!existing) {
|
|
974
|
+
if (!existing || existing.scheduledAt <= now) {
|
|
961
975
|
const scheduledAt = now + LIVE_SWEEP_INTERVAL_MS;
|
|
962
|
-
|
|
976
|
+
if (existing) {
|
|
977
|
+
await ctx.db.patch("liveSweepStates", existing._id, { scheduledAt });
|
|
978
|
+
}
|
|
979
|
+
else {
|
|
980
|
+
await ctx.db.insert("liveSweepStates", { siteId, scheduledAt });
|
|
981
|
+
}
|
|
963
982
|
await ctx.scheduler.runAt(scheduledAt, internal.live.sweep, {
|
|
964
983
|
siteId,
|
|
965
984
|
scheduledAt,
|
|
@@ -973,7 +992,7 @@ function goalMatches(goal, event) {
|
|
|
973
992
|
}
|
|
974
993
|
return event.type === "custom" && event.name === goal.matchValue;
|
|
975
994
|
}
|
|
976
|
-
async function advanceFunnel(ctx, siteId, funnel, event, batchState) {
|
|
995
|
+
async function advanceFunnel(ctx, siteId, funnel, event, reportRollupDeltas, batchState) {
|
|
977
996
|
const cacheKey = JSON.stringify([funnel._id, event.visitorId]);
|
|
978
997
|
let progressState = batchState?.funnelProgress.get(cacheKey);
|
|
979
998
|
if (batchState && !progressState) {
|
|
@@ -1017,6 +1036,7 @@ async function advanceFunnel(ctx, siteId, funnel, event, batchState) {
|
|
|
1017
1036
|
};
|
|
1018
1037
|
}
|
|
1019
1038
|
await incrementFunnelStep(ctx, siteId, funnel._id, event, 0, false);
|
|
1039
|
+
foldFunnelRollup(reportRollupDeltas, siteId, funnel._id, event, 0, false);
|
|
1020
1040
|
return;
|
|
1021
1041
|
}
|
|
1022
1042
|
if (progress.completedAt !== undefined || event.timestamp < progress.lastStepAt)
|
|
@@ -1046,6 +1066,7 @@ async function advanceFunnel(ctx, siteId, funnel, event, batchState) {
|
|
|
1046
1066
|
});
|
|
1047
1067
|
}
|
|
1048
1068
|
await incrementFunnelStep(ctx, siteId, funnel._id, event, 0, false);
|
|
1069
|
+
foldFunnelRollup(reportRollupDeltas, siteId, funnel._id, event, 0, false);
|
|
1049
1070
|
return;
|
|
1050
1071
|
}
|
|
1051
1072
|
const nextStep = funnel.steps[progress.currentStep];
|
|
@@ -1067,6 +1088,7 @@ async function advanceFunnel(ctx, siteId, funnel, event, batchState) {
|
|
|
1067
1088
|
await ctx.db.patch("funnelProgress", progress._id, updates);
|
|
1068
1089
|
}
|
|
1069
1090
|
await incrementFunnelStep(ctx, siteId, funnel._id, event, progress.currentStep, completed);
|
|
1091
|
+
foldFunnelRollup(reportRollupDeltas, siteId, funnel._id, event, progress.currentStep, completed);
|
|
1070
1092
|
}
|
|
1071
1093
|
function stepMatches(step, event) {
|
|
1072
1094
|
return step.type === "pageview"
|
|
@@ -1103,7 +1125,7 @@ async function incrementFunnelStep(ctx, siteId, funnelId, event, step, completed
|
|
|
1103
1125
|
});
|
|
1104
1126
|
}
|
|
1105
1127
|
}
|
|
1106
|
-
async function accountConversion(ctx, siteId, session, event, trustedGoalKey) {
|
|
1128
|
+
async function accountConversion(ctx, siteId, session, event, trustedGoalKey, reportRollupDeltas) {
|
|
1107
1129
|
const revenueCents = event.revenueCents ?? 0;
|
|
1108
1130
|
const currency = event.currency ?? "USD";
|
|
1109
1131
|
const candidate = attributionSnapshot(session);
|
|
@@ -1132,6 +1154,7 @@ async function accountConversion(ctx, siteId, session, event, trustedGoalKey) {
|
|
|
1132
1154
|
commissionCents,
|
|
1133
1155
|
});
|
|
1134
1156
|
if (commissionAffiliate && attribution) {
|
|
1157
|
+
foldAffiliateConversionRollup(reportRollupDeltas, siteId, event, commissionAffiliate, attribution.affiliateSlug, revenueCents, commissionCents);
|
|
1135
1158
|
const bucketStart = Math.floor(event.timestamp / DAY_MS) * DAY_MS;
|
|
1136
1159
|
const shard = stableHash(event.sessionId) % SECONDARY_AGGREGATE_SHARDS;
|
|
1137
1160
|
const stats = await ctx.db
|
|
@@ -1163,6 +1186,188 @@ async function accountConversion(ctx, siteId, session, event, trustedGoalKey) {
|
|
|
1163
1186
|
}
|
|
1164
1187
|
}
|
|
1165
1188
|
}
|
|
1189
|
+
function createReportRollupDeltas() {
|
|
1190
|
+
return {
|
|
1191
|
+
goals: new Map(),
|
|
1192
|
+
funnels: new Map(),
|
|
1193
|
+
affiliates: new Map(),
|
|
1194
|
+
};
|
|
1195
|
+
}
|
|
1196
|
+
function reportRollupCoordinates(siteId, definitionId, timestamp, visitorId) {
|
|
1197
|
+
const bucketStart = Math.floor(timestamp / DAY_MS) * DAY_MS;
|
|
1198
|
+
const shard = stableHash(visitorId) % REPORT_ROLLUP_SHARDS;
|
|
1199
|
+
return {
|
|
1200
|
+
bucketStart,
|
|
1201
|
+
shard,
|
|
1202
|
+
key: `${siteId}:${definitionId}:${bucketStart}:${shard}`,
|
|
1203
|
+
};
|
|
1204
|
+
}
|
|
1205
|
+
function foldGoalRollup(deltas, siteId, event, goal) {
|
|
1206
|
+
const coordinates = reportRollupCoordinates(siteId, String(goal._id), event.timestamp, event.visitorId);
|
|
1207
|
+
const current = deltas.goals.get(coordinates.key) ?? {
|
|
1208
|
+
siteId,
|
|
1209
|
+
goalId: goal._id,
|
|
1210
|
+
bucketStart: coordinates.bucketStart,
|
|
1211
|
+
shard: coordinates.shard,
|
|
1212
|
+
goalKey: goal.key,
|
|
1213
|
+
completions: 0,
|
|
1214
|
+
valueCents: 0,
|
|
1215
|
+
};
|
|
1216
|
+
current.completions += 1;
|
|
1217
|
+
current.valueCents += goal.valueCents ?? 0;
|
|
1218
|
+
deltas.goals.set(coordinates.key, current);
|
|
1219
|
+
}
|
|
1220
|
+
function foldFunnelRollup(deltas, siteId, funnelId, event, step, completed) {
|
|
1221
|
+
const coordinates = reportRollupCoordinates(siteId, String(funnelId), event.timestamp, event.visitorId);
|
|
1222
|
+
const rollup = deltas.funnels.get(coordinates.key) ?? {
|
|
1223
|
+
siteId,
|
|
1224
|
+
funnelId,
|
|
1225
|
+
bucketStart: coordinates.bucketStart,
|
|
1226
|
+
shard: coordinates.shard,
|
|
1227
|
+
steps: new Map(),
|
|
1228
|
+
};
|
|
1229
|
+
const current = rollup.steps.get(step) ?? {
|
|
1230
|
+
step,
|
|
1231
|
+
entrants: 0,
|
|
1232
|
+
completions: 0,
|
|
1233
|
+
};
|
|
1234
|
+
current.entrants += 1;
|
|
1235
|
+
current.completions += Number(completed);
|
|
1236
|
+
rollup.steps.set(step, current);
|
|
1237
|
+
deltas.funnels.set(coordinates.key, rollup);
|
|
1238
|
+
}
|
|
1239
|
+
function foldAffiliateVisitRollup(deltas, siteId, event, attribution) {
|
|
1240
|
+
const coordinates = reportRollupCoordinates(siteId, String(attribution.affiliateId), event.timestamp, event.visitorId);
|
|
1241
|
+
const current = deltas.affiliates.get(coordinates.key) ?? {
|
|
1242
|
+
siteId,
|
|
1243
|
+
affiliateId: attribution.affiliateId,
|
|
1244
|
+
bucketStart: coordinates.bucketStart,
|
|
1245
|
+
shard: coordinates.shard,
|
|
1246
|
+
affiliateSlug: attribution.affiliateSlug,
|
|
1247
|
+
visits: 0,
|
|
1248
|
+
visitorSketch: createVisitorSketch(),
|
|
1249
|
+
conversions: 0,
|
|
1250
|
+
revenueCents: 0,
|
|
1251
|
+
commissionCents: 0,
|
|
1252
|
+
};
|
|
1253
|
+
current.visits += 1;
|
|
1254
|
+
current.visitorSketch = addVisitor(current.visitorSketch, event.visitorId);
|
|
1255
|
+
deltas.affiliates.set(coordinates.key, current);
|
|
1256
|
+
}
|
|
1257
|
+
function foldAffiliateConversionRollup(deltas, siteId, event, affiliate, affiliateSlug, revenueCents, commissionCents) {
|
|
1258
|
+
const coordinates = reportRollupCoordinates(siteId, String(affiliate._id), event.timestamp, event.visitorId);
|
|
1259
|
+
const current = deltas.affiliates.get(coordinates.key) ?? {
|
|
1260
|
+
siteId,
|
|
1261
|
+
affiliateId: affiliate._id,
|
|
1262
|
+
bucketStart: coordinates.bucketStart,
|
|
1263
|
+
shard: coordinates.shard,
|
|
1264
|
+
affiliateSlug,
|
|
1265
|
+
visits: 0,
|
|
1266
|
+
visitorSketch: createVisitorSketch(),
|
|
1267
|
+
conversions: 0,
|
|
1268
|
+
revenueCents: 0,
|
|
1269
|
+
commissionCents: 0,
|
|
1270
|
+
};
|
|
1271
|
+
current.conversions += 1;
|
|
1272
|
+
current.revenueCents += revenueCents;
|
|
1273
|
+
current.commissionCents += commissionCents;
|
|
1274
|
+
deltas.affiliates.set(coordinates.key, current);
|
|
1275
|
+
}
|
|
1276
|
+
async function flushReportRollups(ctx, deltas) {
|
|
1277
|
+
for (const delta of deltas.goals.values()) {
|
|
1278
|
+
const existing = await ctx.db
|
|
1279
|
+
.query("goalDailyRollups")
|
|
1280
|
+
.withIndex("by_siteId_and_goalId_and_bucketStart_and_shard", (range) => range
|
|
1281
|
+
.eq("siteId", delta.siteId)
|
|
1282
|
+
.eq("goalId", delta.goalId)
|
|
1283
|
+
.eq("bucketStart", delta.bucketStart)
|
|
1284
|
+
.eq("shard", delta.shard))
|
|
1285
|
+
.unique();
|
|
1286
|
+
const fields = {
|
|
1287
|
+
siteId: delta.siteId,
|
|
1288
|
+
goalId: delta.goalId,
|
|
1289
|
+
bucketStart: delta.bucketStart,
|
|
1290
|
+
shard: delta.shard,
|
|
1291
|
+
generation: 1,
|
|
1292
|
+
goalKey: delta.goalKey,
|
|
1293
|
+
completions: (existing?.completions ?? 0) + delta.completions,
|
|
1294
|
+
valueCents: (existing?.valueCents ?? 0) + delta.valueCents,
|
|
1295
|
+
};
|
|
1296
|
+
if (existing) {
|
|
1297
|
+
await ctx.db.replace("goalDailyRollups", existing._id, fields);
|
|
1298
|
+
}
|
|
1299
|
+
else {
|
|
1300
|
+
await ctx.db.insert("goalDailyRollups", fields);
|
|
1301
|
+
}
|
|
1302
|
+
}
|
|
1303
|
+
for (const delta of deltas.funnels.values()) {
|
|
1304
|
+
const existing = await ctx.db
|
|
1305
|
+
.query("funnelDailyRollups")
|
|
1306
|
+
.withIndex("by_siteId_and_funnelId_and_bucketStart_and_shard", (range) => range
|
|
1307
|
+
.eq("siteId", delta.siteId)
|
|
1308
|
+
.eq("funnelId", delta.funnelId)
|
|
1309
|
+
.eq("bucketStart", delta.bucketStart)
|
|
1310
|
+
.eq("shard", delta.shard))
|
|
1311
|
+
.unique();
|
|
1312
|
+
const steps = existing?.steps.map((step) => ({ ...step })) ?? [];
|
|
1313
|
+
for (const addition of delta.steps.values()) {
|
|
1314
|
+
const current = steps.find((step) => step.step === addition.step);
|
|
1315
|
+
if (current) {
|
|
1316
|
+
current.entrants += addition.entrants;
|
|
1317
|
+
current.completions += addition.completions;
|
|
1318
|
+
}
|
|
1319
|
+
else {
|
|
1320
|
+
if (steps.length >= MAX_FUNNEL_STEPS) {
|
|
1321
|
+
fail("LIMIT_EXCEEDED", "daily funnel rollup step limit exceeded");
|
|
1322
|
+
}
|
|
1323
|
+
steps.push(addition);
|
|
1324
|
+
}
|
|
1325
|
+
}
|
|
1326
|
+
const fields = {
|
|
1327
|
+
siteId: delta.siteId,
|
|
1328
|
+
funnelId: delta.funnelId,
|
|
1329
|
+
bucketStart: delta.bucketStart,
|
|
1330
|
+
shard: delta.shard,
|
|
1331
|
+
generation: 1,
|
|
1332
|
+
steps,
|
|
1333
|
+
};
|
|
1334
|
+
if (existing) {
|
|
1335
|
+
await ctx.db.replace("funnelDailyRollups", existing._id, fields);
|
|
1336
|
+
}
|
|
1337
|
+
else {
|
|
1338
|
+
await ctx.db.insert("funnelDailyRollups", fields);
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1341
|
+
for (const delta of deltas.affiliates.values()) {
|
|
1342
|
+
const existing = await ctx.db
|
|
1343
|
+
.query("affiliateDailyRollups")
|
|
1344
|
+
.withIndex("by_siteId_and_affiliateId_and_bucketStart_and_shard", (range) => range
|
|
1345
|
+
.eq("siteId", delta.siteId)
|
|
1346
|
+
.eq("affiliateId", delta.affiliateId)
|
|
1347
|
+
.eq("bucketStart", delta.bucketStart)
|
|
1348
|
+
.eq("shard", delta.shard))
|
|
1349
|
+
.unique();
|
|
1350
|
+
const fields = {
|
|
1351
|
+
siteId: delta.siteId,
|
|
1352
|
+
affiliateId: delta.affiliateId,
|
|
1353
|
+
bucketStart: delta.bucketStart,
|
|
1354
|
+
shard: delta.shard,
|
|
1355
|
+
generation: 1,
|
|
1356
|
+
affiliateSlug: delta.affiliateSlug,
|
|
1357
|
+
visits: (existing?.visits ?? 0) + delta.visits,
|
|
1358
|
+
visitorSketch: unionVisitorSketches(existing?.visitorSketch ?? createVisitorSketch(), delta.visitorSketch),
|
|
1359
|
+
conversions: (existing?.conversions ?? 0) + delta.conversions,
|
|
1360
|
+
revenueCents: (existing?.revenueCents ?? 0) + delta.revenueCents,
|
|
1361
|
+
commissionCents: (existing?.commissionCents ?? 0) + delta.commissionCents,
|
|
1362
|
+
};
|
|
1363
|
+
if (existing) {
|
|
1364
|
+
await ctx.db.replace("affiliateDailyRollups", existing._id, fields);
|
|
1365
|
+
}
|
|
1366
|
+
else {
|
|
1367
|
+
await ctx.db.insert("affiliateDailyRollups", fields);
|
|
1368
|
+
}
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1166
1371
|
function foldAggregates(aggregateDeltas, siteId, event, session, dimensions, recordTelemetry, financialConversion) {
|
|
1167
1372
|
const revenueCents = financialConversion ? event.revenueCents ?? 0 : 0;
|
|
1168
1373
|
const dimensionDeltas = dimensions.map((dimension) => ({
|
|
@@ -1190,6 +1395,7 @@ function foldAggregates(aggregateDeltas, siteId, event, session, dimensions, rec
|
|
|
1190
1395
|
outboundClicks: 0,
|
|
1191
1396
|
sessions: 0,
|
|
1192
1397
|
visitors: 0,
|
|
1398
|
+
visitorSketch: createVisitorSketch(),
|
|
1193
1399
|
conversions: 0,
|
|
1194
1400
|
revenueCents: 0,
|
|
1195
1401
|
dimensions: [],
|
|
@@ -1208,6 +1414,9 @@ function foldAggregates(aggregateDeltas, siteId, event, session, dimensions, rec
|
|
|
1208
1414
|
? Number(session.isNewVisitorHour)
|
|
1209
1415
|
: Number(session.isNewVisitorDay)
|
|
1210
1416
|
: 0;
|
|
1417
|
+
if (recordTelemetry) {
|
|
1418
|
+
delta.visitorSketch = addVisitor(delta.visitorSketch, event.visitorId);
|
|
1419
|
+
}
|
|
1211
1420
|
delta.conversions += Number(financialConversion);
|
|
1212
1421
|
delta.revenueCents += revenueCents;
|
|
1213
1422
|
delta.dimensions = mergeDimensions(delta.dimensions, dimensionDeltas);
|
|
@@ -1224,6 +1433,13 @@ async function flushAggregates(ctx, aggregateDeltas) {
|
|
|
1224
1433
|
.eq("shard", delta.shard))
|
|
1225
1434
|
.unique();
|
|
1226
1435
|
const dimensions = mergeDimensions(bucket?.dimensions ?? [], delta.dimensions);
|
|
1436
|
+
const priorSketch = bucket?.visitorSketch;
|
|
1437
|
+
const visitorSketch = priorSketch
|
|
1438
|
+
? unionVisitorSketches(priorSketch, delta.visitorSketch)
|
|
1439
|
+
: delta.visitorSketch;
|
|
1440
|
+
const visitorSketchComplete = bucket
|
|
1441
|
+
? bucket.visitorSketchComplete === true && priorSketch !== undefined
|
|
1442
|
+
: true;
|
|
1227
1443
|
if (bucket) {
|
|
1228
1444
|
await ctx.db.patch("aggregateBuckets", bucket._id, {
|
|
1229
1445
|
events: bucket.events + delta.events,
|
|
@@ -1233,6 +1449,8 @@ async function flushAggregates(ctx, aggregateDeltas) {
|
|
|
1233
1449
|
outboundClicks: bucket.outboundClicks + delta.outboundClicks,
|
|
1234
1450
|
sessions: bucket.sessions + delta.sessions,
|
|
1235
1451
|
visitors: bucket.visitors + delta.visitors,
|
|
1452
|
+
visitorSketch,
|
|
1453
|
+
visitorSketchComplete,
|
|
1236
1454
|
conversions: bucket.conversions + delta.conversions,
|
|
1237
1455
|
revenueCents: bucket.revenueCents + delta.revenueCents,
|
|
1238
1456
|
dimensions,
|
|
@@ -1251,6 +1469,8 @@ async function flushAggregates(ctx, aggregateDeltas) {
|
|
|
1251
1469
|
outboundClicks: delta.outboundClicks,
|
|
1252
1470
|
sessions: delta.sessions,
|
|
1253
1471
|
visitors: delta.visitors,
|
|
1472
|
+
visitorSketch,
|
|
1473
|
+
visitorSketchComplete,
|
|
1254
1474
|
conversions: delta.conversions,
|
|
1255
1475
|
revenueCents: delta.revenueCents,
|
|
1256
1476
|
dimensions,
|