@iann29/rastro 0.3.0 → 0.4.0
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 +80 -36
- package/agent/manifest.json +2 -2
- package/dist/component/_generated/component.d.ts +1 -0
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/_generated/server.d.ts +1 -0
- package/dist/component/_generated/server.d.ts.map +1 -1
- package/dist/component/_generated/server.js.map +1 -1
- package/dist/component/constants.d.ts +7 -2
- package/dist/component/constants.d.ts.map +1 -1
- package/dist/component/constants.js +24 -3
- package/dist/component/constants.js.map +1 -1
- package/dist/component/convex.config.d.ts +1 -0
- package/dist/component/convex.config.js +3 -0
- package/dist/component/convex.config.js.map +1 -1
- package/dist/component/geo.d.ts +1 -0
- package/dist/component/geo.d.ts.map +1 -1
- package/dist/component/geo.js +1 -1
- package/dist/component/geo.js.map +1 -1
- package/dist/component/http.d.ts.map +1 -1
- package/dist/component/http.js +14 -1
- package/dist/component/http.js.map +1 -1
- package/dist/component/identity.d.ts +12 -0
- package/dist/component/identity.d.ts.map +1 -1
- package/dist/component/identity.js +30 -2
- package/dist/component/identity.js.map +1 -1
- package/dist/component/ingest.d.ts +34 -0
- package/dist/component/ingest.d.ts.map +1 -1
- package/dist/component/ingest.js +69 -17
- package/dist/component/ingest.js.map +1 -1
- package/dist/component/live.d.ts.map +1 -1
- package/dist/component/live.js +34 -4
- package/dist/component/live.js.map +1 -1
- package/dist/component/reports.d.ts.map +1 -1
- package/dist/component/reports.js +21 -6
- package/dist/component/reports.js.map +1 -1
- package/dist/component/rollupStore.d.ts +7 -4
- package/dist/component/rollupStore.d.ts.map +1 -1
- package/dist/component/rollupStore.js +37 -17
- package/dist/component/rollupStore.js.map +1 -1
- package/dist/component/rollups.d.ts +27 -8
- package/dist/component/rollups.d.ts.map +1 -1
- package/dist/component/rollups.js +110 -32
- package/dist/component/rollups.js.map +1 -1
- package/dist/component/schema.d.ts +6 -2
- package/dist/component/schema.js +5 -2
- package/dist/component/schema.js.map +1 -1
- package/dist/tracker/generated.d.ts +11 -11
- package/dist/tracker/generated.d.ts.map +1 -1
- package/dist/tracker/generated.js +11 -11
- package/dist/tracker/generated.js.map +1 -1
- package/dist/tracker/tracker.js +88 -43
- package/dist/tracker/tracker.js.map +1 -1
- package/dist/tracker/vitals.d.ts.map +1 -1
- package/dist/tracker/vitals.js +22 -4
- package/dist/tracker/vitals.js.map +1 -1
- package/dist/tracker.min.js +1 -1
- package/dist/vitals.min.js +1 -1
- package/docs/upgrading.md +84 -28
- package/llms.txt +3 -3
- package/package.json +1 -1
- package/src/component/_generated/component.ts +1 -0
- package/src/component/_generated/server.ts +1 -0
- package/src/component/constants.ts +24 -3
- package/src/component/convex.config.ts +3 -0
- package/src/component/geo.ts +1 -1
- package/src/component/http.ts +15 -1
- package/src/component/identity.ts +41 -2
- package/src/component/ingest.ts +92 -32
- package/src/component/live.ts +51 -4
- package/src/component/reports.ts +24 -8
- package/src/component/rollupStore.ts +51 -20
- package/src/component/rollups.ts +141 -32
- package/src/component/schema.ts +6 -3
- package/src/tracker/generated.ts +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geo.js","sourceRoot":"","sources":["../../src/component/geo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geo.js","sourceRoot":"","sources":["../../src/component/geo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/component/http.ts"],"names":[],"mappings":"AAwFA,QAAA,MAAM,IAAI,oCAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/component/http.ts"],"names":[],"mappings":"AAwFA,QAAA,MAAM,IAAI,oCAAe,CAAC;eAokBX,IAAI"}
|
package/dist/component/http.js
CHANGED
|
@@ -6,7 +6,7 @@ import { MAX_BATCH_BYTES, MAX_BATCH_EVENT_GROUPS, MAX_BATCH_EVENTS, RATE_LIMIT_W
|
|
|
6
6
|
import { classifyIp, geoIpDailyLimit, geoIpStatus, isTrustedProxyRequest, readRequestMetadata, resolveClientIp, resolveGeoIp, } from "./geo.js";
|
|
7
7
|
import { isPlainRecord } from "./guards.js";
|
|
8
8
|
import { alignClock, sanitizeEvent } from "./sanitize.js";
|
|
9
|
-
import { deriveVisitorKey, randomSecret } from "./identity.js";
|
|
9
|
+
import { deriveClientKey, deriveVisitorKey, randomSecret } from "./identity.js";
|
|
10
10
|
import { classifyClient, isKnownBot } from "./useragent.js";
|
|
11
11
|
import { RASTRO_VERSION, TRACKER_GZIP_BASE64, TRACKER_GZIP_BYTES, TRACKER_HASH, VITALS_GZIP_BASE64, VITALS_GZIP_BYTES, VITALS_HASH, } from "../tracker/generated.js";
|
|
12
12
|
const TRACKER_GZIP = Uint8Array.from(atob(TRACKER_GZIP_BASE64), (character) => character.charCodeAt(0));
|
|
@@ -116,12 +116,25 @@ http.route({
|
|
|
116
116
|
...classifyClient(userAgent, request.headers),
|
|
117
117
|
...(visitorKey ? { visitorKey } : {}),
|
|
118
118
|
};
|
|
119
|
+
// Origin is a browser control: any other sender writes the header it
|
|
120
|
+
// likes. The per-client budget is keyed like the visitor key above (salted,
|
|
121
|
+
// daily, never the address); without a usable client IP only the per-site
|
|
122
|
+
// shards bound the batch.
|
|
123
|
+
const clientKey = clientIp.ip && env.RASTRO_CLIENT_RATE_LIMIT !== "off"
|
|
124
|
+
? await deriveClientKey({
|
|
125
|
+
secret: await visitorSecret(ctx),
|
|
126
|
+
now: Date.now(),
|
|
127
|
+
siteId: payload.siteId,
|
|
128
|
+
ip: clientIp.ip,
|
|
129
|
+
})
|
|
130
|
+
: undefined;
|
|
119
131
|
try {
|
|
120
132
|
const result = await ctx.runMutation(api.ingest.ingestBatch, {
|
|
121
133
|
siteId: payload.siteId,
|
|
122
134
|
origin,
|
|
123
135
|
events,
|
|
124
136
|
context,
|
|
137
|
+
...(clientKey ? { clientKey } : {}),
|
|
125
138
|
});
|
|
126
139
|
if (clientIp.ip &&
|
|
127
140
|
!hasCoordinates(edgeGeo) &&
|
|
@@ -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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"}
|
|
@@ -10,4 +10,16 @@ export declare function deriveVisitorKey(input: {
|
|
|
10
10
|
ip: string;
|
|
11
11
|
userAgent: string;
|
|
12
12
|
}): Promise<string>;
|
|
13
|
+
/**
|
|
14
|
+
* The per-client ingest budget's key: the same salted daily hash, over the
|
|
15
|
+
* client's network instead of its device — the IPv4 address, or the /64 of an
|
|
16
|
+
* IPv6 address, the block one subscriber gets and could otherwise walk through
|
|
17
|
+
* one address per request.
|
|
18
|
+
*/
|
|
19
|
+
export declare function deriveClientKey(input: {
|
|
20
|
+
secret: string;
|
|
21
|
+
now: number;
|
|
22
|
+
siteId: string;
|
|
23
|
+
ip: string;
|
|
24
|
+
}): Promise<string>;
|
|
13
25
|
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/component/identity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/component/identity.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,MAAM,iFAUjB,CAAC;AAEH,eAAO,MAAM,YAAY;;mBAmBvB,CAAC;AAEH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,MAAM,CAAC,CAMlB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ,GAAG,OAAO,CAAC,MAAM,CAAC,CAalB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { v } from "convex/values";
|
|
2
2
|
import { DAY_MS } from "./constants.js";
|
|
3
|
+
import { parseIpv6 } from "./geo.js";
|
|
3
4
|
import { internalMutation, internalQuery } from "./_generated/server.js";
|
|
4
5
|
/**
|
|
5
6
|
* Anonymous visitors (no host-supplied id) are counted through a salted hash of
|
|
@@ -47,8 +48,35 @@ export function randomSecret() {
|
|
|
47
48
|
return hex(crypto.getRandomValues(new Uint8Array(32)));
|
|
48
49
|
}
|
|
49
50
|
export async function deriveVisitorKey(input) {
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
return saltedDailyKey(input.secret, input.now, [
|
|
52
|
+
input.siteId,
|
|
53
|
+
input.ip,
|
|
54
|
+
input.userAgent,
|
|
55
|
+
]);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The per-client ingest budget's key: the same salted daily hash, over the
|
|
59
|
+
* client's network instead of its device — the IPv4 address, or the /64 of an
|
|
60
|
+
* IPv6 address, the block one subscriber gets and could otherwise walk through
|
|
61
|
+
* one address per request.
|
|
62
|
+
*/
|
|
63
|
+
export async function deriveClientKey(input) {
|
|
64
|
+
const groups = parseIpv6(input.ip.toLowerCase());
|
|
65
|
+
const network = groups
|
|
66
|
+
? `${groups
|
|
67
|
+
.slice(0, 4)
|
|
68
|
+
.map((group) => group.toString(16))
|
|
69
|
+
.join(":")}::/64`
|
|
70
|
+
: input.ip;
|
|
71
|
+
return saltedDailyKey(input.secret, input.now, [
|
|
72
|
+
"client",
|
|
73
|
+
input.siteId,
|
|
74
|
+
network,
|
|
75
|
+
]);
|
|
76
|
+
}
|
|
77
|
+
async function saltedDailyKey(secret, now, parts) {
|
|
78
|
+
const dayStart = Math.floor(now / DAY_MS) * DAY_MS;
|
|
79
|
+
const material = new TextEncoder().encode([secret, dayStart, ...parts].join(" "));
|
|
52
80
|
const digest = new Uint8Array(await crypto.subtle.digest("SHA-256", material));
|
|
53
81
|
return hex(digest).slice(0, KEY_HEX_LENGTH);
|
|
54
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/component/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEzE;;;;;;;GAOG;AACH,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAExC,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC;IAClC,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE;aACrB,KAAK,CAAC,gBAAgB,CAAC;aACvB,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aAC1D,MAAM,EAAE,CAAC;QACZ,OAAO,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC;IAC5B,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;IAC3C,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE;aAC1B,KAAK,CAAC,gBAAgB,CAAC;aACvB,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aAC1D,MAAM,EAAE,CAAC;QACZ,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACpC,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,YAAY;IAC1B,OAAO,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAMtC;IACC,MAAM,
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/component/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,29 @@
|
|
|
1
|
+
import type { Doc, Id } from "./_generated/dataModel.js";
|
|
2
|
+
import type { MutationCtx } from "./_generated/server.js";
|
|
3
|
+
import { type VisitorSketch } from "./cardinality.js";
|
|
4
|
+
type AggregateDelta = {
|
|
5
|
+
siteId: Id<"sites">;
|
|
6
|
+
granularity: "hour" | "day" | "localDay";
|
|
7
|
+
bucketStart: number;
|
|
8
|
+
shard: number;
|
|
9
|
+
events: number;
|
|
10
|
+
pageviews: number;
|
|
11
|
+
clicks: number;
|
|
12
|
+
customEvents: number;
|
|
13
|
+
outboundClicks: number;
|
|
14
|
+
sessions: number;
|
|
15
|
+
visitors: number;
|
|
16
|
+
visitorSketch: VisitorSketch;
|
|
17
|
+
conversions: number;
|
|
18
|
+
revenueCents: number;
|
|
19
|
+
dimensions: Doc<"aggregateBuckets">["dimensions"];
|
|
20
|
+
durationMs: number;
|
|
21
|
+
continuedSessions: number;
|
|
22
|
+
newVisitors: number;
|
|
23
|
+
};
|
|
24
|
+
export type AggregateDeltas = Map<string, AggregateDelta>;
|
|
1
25
|
export declare const ingestBatch: import("convex/server").RegisteredMutation<"public", {
|
|
26
|
+
clientKey?: string | undefined;
|
|
2
27
|
context?: {
|
|
3
28
|
browser?: string | undefined;
|
|
4
29
|
city?: string | undefined;
|
|
@@ -50,4 +75,13 @@ export declare const trackConversion: import("convex/server").RegisteredMutation
|
|
|
50
75
|
duplicates: number;
|
|
51
76
|
rejected: number;
|
|
52
77
|
}>>;
|
|
78
|
+
/**
|
|
79
|
+
* Folds session duration growth without telemetry: a departure's final
|
|
80
|
+
* interval, or the heartbeat time of a visitor the live sweep retired. The
|
|
81
|
+
* shard follows `shardKey`: the session for a departure, the site for a
|
|
82
|
+
* sweep.
|
|
83
|
+
*/
|
|
84
|
+
export declare function foldSessionDuration(aggregateDeltas: AggregateDeltas, siteId: Id<"sites">, shardKey: string, timestamp: number, durationDeltaMs: number, timezone?: string): void;
|
|
85
|
+
export declare function flushAggregates(ctx: MutationCtx, aggregateDeltas: AggregateDeltas): Promise<void>;
|
|
86
|
+
export {};
|
|
53
87
|
//# sourceMappingURL=ingest.d.ts.map
|
|
@@ -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":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AA2B1D,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAyE1B,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAAC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAqF1D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwXtB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;GA+H1B,CAAC;AA2uDH;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,QAAQ,CAAC,EAAE,MAAM,QAgClB;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,eAAe,iBAyEjC"}
|
package/dist/component/ingest.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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_LEAVE_GRACE_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, 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_LEAVE_GRACE_MS, LIVE_SESSION_TTL_MS, LIVE_SWEEP_INTERVAL_MS, MAX_BATCH_EVENTS, MAX_BYTES_PER_CLIENT_WINDOW, MAX_EVENTS_PER_CLIENT_WINDOW, 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, REPORT_ROLLUP_SHARDS, SECONDARY_AGGREGATE_SHARDS, SITE_INGEST_SHARDS, } from "./constants.js";
|
|
5
5
|
import { addVisitor, createVisitorSketch, unionVisitorSketches, } from "./cardinality.js";
|
|
6
6
|
import { addToVitalHistogram, emptyVitalHistogram, vitalDevice, VITAL_ALL, } from "./vitals.js";
|
|
7
7
|
import { fail } from "./errors.js";
|
|
@@ -26,6 +26,8 @@ export const ingestBatch = mutation({
|
|
|
26
26
|
origin: v.string(),
|
|
27
27
|
events: v.array(trackerEventValidator),
|
|
28
28
|
context: v.optional(ingestContextValidator),
|
|
29
|
+
// The HTTP action's salted daily client-network key (see identity.ts).
|
|
30
|
+
clientKey: v.optional(v.string()),
|
|
29
31
|
},
|
|
30
32
|
returns: ingestResultValidator,
|
|
31
33
|
handler: async (ctx, args) => {
|
|
@@ -51,6 +53,9 @@ export const ingestBatch = mutation({
|
|
|
51
53
|
}
|
|
52
54
|
const now = Date.now();
|
|
53
55
|
await ensureAnalyticsControl(ctx, args.siteId, now);
|
|
56
|
+
if (args.clientKey !== undefined) {
|
|
57
|
+
await consumeClientRateLimit(ctx, args.siteId, args.clientKey, eventByteCounts, now);
|
|
58
|
+
}
|
|
54
59
|
await consumeSiteRateLimit(ctx, args.siteId, args.events, eventByteCounts, now);
|
|
55
60
|
const context = sanitizeContext(args.context);
|
|
56
61
|
const timezone = localDayTimezone(site.timezone);
|
|
@@ -155,11 +160,10 @@ export const ingestBatch = mutation({
|
|
|
155
160
|
rejected += 1;
|
|
156
161
|
continue;
|
|
157
162
|
}
|
|
158
|
-
|
|
159
|
-
//
|
|
160
|
-
//
|
|
161
|
-
|
|
162
|
-
foldSessionDuration(aggregateDeltas, args.siteId, event, durationDeltaMs, timezone);
|
|
163
|
+
// A heartbeat is presence, not telemetry: it moves the session's
|
|
164
|
+
// lastSeenAt and live row only. The time it proves reaches the
|
|
165
|
+
// duration counters once, when the visitor departs (live.ts).
|
|
166
|
+
await accountHeartbeat(ctx, args.siteId, existingSession, event, context, now, batchState);
|
|
163
167
|
accepted += 1;
|
|
164
168
|
continue;
|
|
165
169
|
}
|
|
@@ -190,7 +194,7 @@ export const ingestBatch = mutation({
|
|
|
190
194
|
durationMs,
|
|
191
195
|
};
|
|
192
196
|
sessionRow.dirty = true;
|
|
193
|
-
foldSessionDuration(aggregateDeltas, args.siteId, event, durationMs - existingSession.durationMs, timezone);
|
|
197
|
+
foldSessionDuration(aggregateDeltas, args.siteId, event.sessionId, event.timestamp, durationMs - existingSession.durationMs, timezone);
|
|
194
198
|
}
|
|
195
199
|
const expiresAt = Math.min(liveSession.expiresAt, now + LIVE_LEAVE_GRACE_MS);
|
|
196
200
|
if (expiresAt < liveSession.expiresAt) {
|
|
@@ -868,6 +872,12 @@ async function attributionForEvent(ctx, siteId, event, existingSession, batchSta
|
|
|
868
872
|
affiliateExpiresAt: expiresAt,
|
|
869
873
|
};
|
|
870
874
|
}
|
|
875
|
+
/**
|
|
876
|
+
* Moves the session's lastSeenAt and its live row. `durationMs` stays: it is
|
|
877
|
+
* what the duration counters already hold, and the time a heartbeat proves
|
|
878
|
+
* is counted when the visitor departs (live.ts), so an idle tab never
|
|
879
|
+
* rewrites an aggregate bucket.
|
|
880
|
+
*/
|
|
871
881
|
async function accountHeartbeat(ctx, siteId, session, event, context, now, batchState) {
|
|
872
882
|
const startedAt = Math.min(session.startedAt, event.timestamp);
|
|
873
883
|
const lastSeenAt = Math.max(session.lastSeenAt, event.timestamp);
|
|
@@ -875,7 +885,6 @@ async function accountHeartbeat(ctx, siteId, session, event, context, now, batch
|
|
|
875
885
|
startedAt,
|
|
876
886
|
lastSeenAt,
|
|
877
887
|
exitPath: event.timestamp >= session.lastSeenAt ? event.path : session.exitPath,
|
|
878
|
-
durationMs: Math.max(0, lastSeenAt - startedAt),
|
|
879
888
|
...(context.country ? { country: context.country } : {}),
|
|
880
889
|
...(context.city ? { city: context.city } : {}),
|
|
881
890
|
...(context.latitude !== undefined ? { latitude: context.latitude } : {}),
|
|
@@ -896,7 +905,6 @@ async function accountHeartbeat(ctx, siteId, session, event, context, now, batch
|
|
|
896
905
|
else {
|
|
897
906
|
await ctx.db.patch("sessions", session._id, updates);
|
|
898
907
|
}
|
|
899
|
-
const durationDeltaMs = Math.max(0, updates.durationMs - session.durationMs);
|
|
900
908
|
await updateLiveSession(ctx, siteId, event, context, {
|
|
901
909
|
isNewSession: false,
|
|
902
910
|
isNewVisitorHour: false,
|
|
@@ -918,7 +926,42 @@ async function accountHeartbeat(ctx, siteId, session, event, context, now, batch
|
|
|
918
926
|
conversionCount: session.conversionCount,
|
|
919
927
|
newVisitor: session.newVisitor,
|
|
920
928
|
}, now, batchState);
|
|
921
|
-
|
|
929
|
+
}
|
|
930
|
+
/**
|
|
931
|
+
* One client network's budget per site and minute, kept in the session
|
|
932
|
+
* windows' table under `~client:<key>`, a key no sanitized session ID can take.
|
|
933
|
+
* The key is the salted daily hash the HTTP action derived; the address never
|
|
934
|
+
* reaches this mutation. It is one row per client, so only that client's own
|
|
935
|
+
* concurrent requests contend on it.
|
|
936
|
+
*/
|
|
937
|
+
async function consumeClientRateLimit(ctx, siteId, clientKey, eventByteCounts, now) {
|
|
938
|
+
const windowStart = Math.floor(now / RATE_LIMIT_WINDOW_MS) * RATE_LIMIT_WINDOW_MS;
|
|
939
|
+
const sessionId = `~client:${clientKey}`;
|
|
940
|
+
const rows = await ctx.db
|
|
941
|
+
.query("ingestWindows")
|
|
942
|
+
.withIndex("by_siteId_and_sessionId_and_windowStart", (range) => range.eq("siteId", siteId).eq("sessionId", sessionId))
|
|
943
|
+
.order("desc")
|
|
944
|
+
.take(1);
|
|
945
|
+
const window = rows[0] ?? null;
|
|
946
|
+
const current = window?.windowStart === windowStart ? window : null;
|
|
947
|
+
const eventCount = (current?.eventCount ?? 0) + eventByteCounts.length;
|
|
948
|
+
const byteCount = (current?.byteCount ?? 0) +
|
|
949
|
+
eventByteCounts.reduce((total, bytes) => total + bytes, 0);
|
|
950
|
+
if (eventCount > MAX_EVENTS_PER_CLIENT_WINDOW ||
|
|
951
|
+
byteCount > MAX_BYTES_PER_CLIENT_WINDOW) {
|
|
952
|
+
fail("RATE_LIMITED", "client ingest budget exceeded", {
|
|
953
|
+
windowMs: RATE_LIMIT_WINDOW_MS,
|
|
954
|
+
eventLimitPerClient: MAX_EVENTS_PER_CLIENT_WINDOW,
|
|
955
|
+
byteLimitPerClient: MAX_BYTES_PER_CLIENT_WINDOW,
|
|
956
|
+
});
|
|
957
|
+
}
|
|
958
|
+
const fields = { windowStart, eventCount, byteCount, updatedAt: now };
|
|
959
|
+
if (window) {
|
|
960
|
+
await ctx.db.patch("ingestWindows", window._id, fields);
|
|
961
|
+
}
|
|
962
|
+
else {
|
|
963
|
+
await ctx.db.insert("ingestWindows", { siteId, sessionId, ...fields });
|
|
964
|
+
}
|
|
922
965
|
}
|
|
923
966
|
async function consumeSiteRateLimit(ctx, siteId, events, eventByteCounts, now) {
|
|
924
967
|
const windowStart = Math.floor(now / RATE_LIMIT_WINDOW_MS) * RATE_LIMIT_WINDOW_MS;
|
|
@@ -1227,9 +1270,11 @@ async function advanceFunnel(ctx, siteId, funnel, event, reportRollupDeltas, bat
|
|
|
1227
1270
|
foldFunnelRollup(reportRollupDeltas, siteId, funnel._id, event, 0, false);
|
|
1228
1271
|
return { funnelId: funnel._id, step: 1, steps: funnel.steps.length };
|
|
1229
1272
|
}
|
|
1230
|
-
if (
|
|
1231
|
-
event.timestamp < progress.lastStepAt)
|
|
1273
|
+
if (event.timestamp < progress.lastStepAt)
|
|
1232
1274
|
return;
|
|
1275
|
+
// An expired window restarts on a first-step event even after a completion,
|
|
1276
|
+
// so a returning buyer can complete again; inside the window a completed
|
|
1277
|
+
// funnel stays done.
|
|
1233
1278
|
if (event.timestamp - progress.startedAt > funnel.conversionWindowMs) {
|
|
1234
1279
|
if (!matchesFirst)
|
|
1235
1280
|
return;
|
|
@@ -1258,6 +1303,8 @@ async function advanceFunnel(ctx, siteId, funnel, event, reportRollupDeltas, bat
|
|
|
1258
1303
|
foldFunnelRollup(reportRollupDeltas, siteId, funnel._id, event, 0, false);
|
|
1259
1304
|
return { funnelId: funnel._id, step: 1, steps: funnel.steps.length };
|
|
1260
1305
|
}
|
|
1306
|
+
if (progress.completedAt !== undefined)
|
|
1307
|
+
return;
|
|
1261
1308
|
const nextStep = funnel.steps[progress.currentStep];
|
|
1262
1309
|
if (!nextStep || !stepMatches(nextStep, event))
|
|
1263
1310
|
return;
|
|
@@ -1608,14 +1655,19 @@ function aggregateBucketStart(granularity, timestamp, timezone) {
|
|
|
1608
1655
|
const interval = granularity === "hour" ? HOUR_MS : DAY_MS;
|
|
1609
1656
|
return Math.floor(timestamp / interval) * interval;
|
|
1610
1657
|
}
|
|
1611
|
-
/**
|
|
1612
|
-
|
|
1658
|
+
/**
|
|
1659
|
+
* Folds session duration growth without telemetry: a departure's final
|
|
1660
|
+
* interval, or the heartbeat time of a visitor the live sweep retired. The
|
|
1661
|
+
* shard follows `shardKey`: the session for a departure, the site for a
|
|
1662
|
+
* sweep.
|
|
1663
|
+
*/
|
|
1664
|
+
export function foldSessionDuration(aggregateDeltas, siteId, shardKey, timestamp, durationDeltaMs, timezone) {
|
|
1613
1665
|
if (durationDeltaMs <= 0)
|
|
1614
1666
|
return;
|
|
1615
1667
|
for (const granularity of aggregateGranularities(timezone)) {
|
|
1616
|
-
const shard = stableHash(
|
|
1668
|
+
const shard = stableHash(shardKey) %
|
|
1617
1669
|
(granularity === "hour" ? HOURLY_AGGREGATE_SHARDS : AGGREGATE_SHARDS);
|
|
1618
|
-
const bucketStart = aggregateBucketStart(granularity,
|
|
1670
|
+
const bucketStart = aggregateBucketStart(granularity, timestamp, timezone);
|
|
1619
1671
|
const key = `${siteId}:${granularity}:${bucketStart}:${shard}`;
|
|
1620
1672
|
const delta = aggregateDeltas.get(key) ?? {
|
|
1621
1673
|
siteId,
|
|
@@ -1641,7 +1693,7 @@ function foldSessionDuration(aggregateDeltas, siteId, event, durationDeltaMs, ti
|
|
|
1641
1693
|
aggregateDeltas.set(key, delta);
|
|
1642
1694
|
}
|
|
1643
1695
|
}
|
|
1644
|
-
async function flushAggregates(ctx, aggregateDeltas) {
|
|
1696
|
+
export async function flushAggregates(ctx, aggregateDeltas) {
|
|
1645
1697
|
for (const delta of aggregateDeltas.values()) {
|
|
1646
1698
|
const bucket = await ctx.db
|
|
1647
1699
|
.query("aggregateBuckets")
|