@adriangalilea/utils 9.11.0 → 9.13.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 +1 -1
- package/dist/visits/index.d.ts +20 -5
- package/dist/visits/index.d.ts.map +1 -1
- package/dist/visits/index.js +96 -11
- package/dist/visits/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -93,7 +93,7 @@ const visits = await readVisits(libsqlDriver(client), { site: 'untitled.garden',
|
|
|
93
93
|
// [{ id, started, places: ['studio', 'lore'], referrer: 'news.ycombinator.com', country: 'ES', … }]
|
|
94
94
|
```
|
|
95
95
|
|
|
96
|
-
A visit is one caller's pages, each within 30 minutes of the one before, within one UTC day. The caller is a hash of its IP and user agent with the site and a random salt of the day, deleted when the day is over: a visitor is recognisable within a day, never across two, and once the salt is gone by no one, the site's owner included. One store can hold several sites: a person reading two of them is two callers, never linked. The IP and user agent are never stored; the country (two letters, from the platform's header) is. Pages and visits are kept 180 days, a page's lines (its own start and end, requests, named events, errors) 30, a probe's (an automated browser) and the staff's 7, and both are left out of `readVisits` unless `flagged`. A page flags itself a probe (`navigator.webdriver`); the route's `staff(request)` flags the pages a batch starts as the site's own people reading, answered on the server where the session is (a signed-in owner, a development host). Refused, by line: a service the site did not name, a line outside a page's trace, a field named like a person (`ip`, `user_agent`, `email`, `user`, `name`, `phone`). A crawler's batch is dropped whole. Provision `VISITS_SCHEMA` once (the tables are prefixed `visits_`); the route updates and deletes, so its credential needs both. `readVisits` merges a move within a place (two pages of one project are one step, `pages` counts them), and `events: ['main action']` makes those named lines steps too, right after the page they were written on, as `eventStep(place, name)` (`trash:main action`): where a project's funnel ends. `readVisit(db, id)` returns one visit's pages and its lines as written: every page's trace, read back from the lines alone (ui's `spanTrees`).
|
|
96
|
+
A visit is one caller's pages, each within 30 minutes of the one before, within one UTC day. The caller is a hash of its IP and user agent with the site and a random salt of the day, deleted when the day is over: a visitor is recognisable within a day, never across two, and once the salt is gone by no one, the site's owner included. One store can hold several sites: a person reading two of them is two callers, never linked. The IP and user agent are never stored; the country (two letters, from the platform's header) is. Pages and visits are kept 180 days, a page's lines (its own start and end, requests, named events, errors) 30, a probe's (an automated browser) and the staff's 7, and both are left out of `readVisits` unless `flagged`. A page flags itself a probe (`navigator.webdriver`); the route's `staff(request)` flags the pages a batch starts as the site's own people reading, answered on the server where the session is (a signed-in owner, a development host). Refused, by line: a service the site did not name, a line outside a page's trace, a field named like a person (`ip`, `user_agent`, `email`, `user`, `name`, `phone`). A crawler's batch is dropped whole. Provision `VISITS_SCHEMA` once (the tables are prefixed `visits_`); the route updates and deletes, so its credential needs both. `readVisits` merges a move within a place (two pages of one project are one step, `pages` counts them), and `events: ['main action']` makes those named lines steps too, right after the page they were written on, as `eventStep(place, name)` (`trash:main action`): where a project's funnel ends. `readVisit(db, id)` returns one visit's pages and its lines as written: every page's trace, read back from the lines alone (ui's `spanTrees`). A page's view count is kept apart, for good: per day and page, how many visits read it, each once and the staff's and probes' never, a number with nothing of who (`visits_views`). A visit reads a page by opening it, or by being shown it whole elsewhere, as a note in a feed is read like a tweet in a timeline: the page writes a `view` line naming it (`{ host, path }`, ui's page-sensor does for `data-view` elements half on screen), counted once per visit with the page itself; `readViews(db, { site, host, paths })` sums it over all time, what a public "N views" reads.
|
|
97
97
|
|
|
98
98
|
## Installation
|
|
99
99
|
|
package/dist/visits/index.d.ts
CHANGED
|
@@ -22,12 +22,17 @@
|
|
|
22
22
|
* ROWS: `visits_visit` (one per visit: when, how many pages, where it came
|
|
23
23
|
* from, coarse country and viewport, whether a probe or the site's staff made
|
|
24
24
|
* it), `visits_page` (one per page span: its place, path, how it was reached,
|
|
25
|
-
* how long it was on screen, the sections it reached, the vitals)
|
|
25
|
+
* how long it was on screen, the sections it reached, the vitals),
|
|
26
26
|
* `visits_event` (every line of the page's trace as written: the page span's
|
|
27
27
|
* own start and end, fetch spans, named events, errors, so a page's trace is
|
|
28
|
-
* read back from its lines alone, on the visitor's one clock)
|
|
29
|
-
*
|
|
30
|
-
*
|
|
28
|
+
* read back from its lines alone, on the visitor's one clock) and
|
|
29
|
+
* `visits_views` (per day, per page, how many visits read it, each once, the
|
|
30
|
+
* staff's and probes' never: a count with nothing of who; a visit reads a page
|
|
31
|
+
* by opening it or by a `view` line naming it, a post shown whole elsewhere). Pages and visits
|
|
32
|
+
* are kept VISIT_DAYS, events EVENT_DAYS, a probe's or staff's FLAGGED_DAYS;
|
|
33
|
+
* old rows go on the first write of each day. Views are kept for good: they
|
|
34
|
+
* are what a page's all-time count is read from (`readViews`). Provision
|
|
35
|
+
* VISITS_SCHEMA once, never on a request.
|
|
31
36
|
*
|
|
32
37
|
* REFUSED: a line that is no event, a service the site did not name, a line
|
|
33
38
|
* outside a page's trace, a field named like a person (ip, user_agent, email,
|
|
@@ -41,7 +46,7 @@ export declare const EVENT_DAYS = 30;
|
|
|
41
46
|
/** A probe's or the staff's visits: the developer's view, kept a week. */
|
|
42
47
|
export declare const FLAGGED_DAYS = 7;
|
|
43
48
|
/** Run explicitly during provisioning, never on a request. */
|
|
44
|
-
export declare const VISITS_SCHEMA: readonly ["CREATE TABLE IF NOT EXISTS visits_salt (day TEXT PRIMARY KEY, salt TEXT NOT NULL)", "CREATE TABLE IF NOT EXISTS visits_caller (day TEXT NOT NULL, caller TEXT NOT NULL, visit TEXT NOT NULL, last INTEGER NOT NULL, PRIMARY KEY (day, caller))", "CREATE TABLE IF NOT EXISTS visits_visit (id TEXT PRIMARY KEY, site TEXT NOT NULL, day TEXT NOT NULL, started INTEGER NOT NULL, last INTEGER NOT NULL, pages INTEGER NOT NULL, referrer TEXT, source TEXT, country TEXT, viewport TEXT, probe INTEGER NOT NULL, staff INTEGER NOT NULL)", "CREATE INDEX IF NOT EXISTS visits_visit_day ON visits_visit (site, day)", "CREATE TABLE IF NOT EXISTS visits_page (span_id TEXT PRIMARY KEY, trace_id TEXT NOT NULL, visit TEXT NOT NULL, seq INTEGER NOT NULL, site TEXT NOT NULL, day TEXT NOT NULL, at INTEGER NOT NULL, host TEXT NOT NULL, path TEXT NOT NULL, place TEXT, route TEXT, nav TEXT NOT NULL, from_path TEXT, build TEXT, dur_ms REAL, reached TEXT, ttfb_ms REAL, lcp_ms REAL, inp_ms REAL, cls REAL)", "CREATE INDEX IF NOT EXISTS visits_page_visit ON visits_page (visit, seq)", "CREATE INDEX IF NOT EXISTS visits_page_trace ON visits_page (trace_id)", "CREATE INDEX IF NOT EXISTS visits_page_day ON visits_page (site, day)", "CREATE TABLE IF NOT EXISTS visits_event (id INTEGER PRIMARY KEY, visit TEXT NOT NULL, trace_id TEXT NOT NULL, day TEXT NOT NULL, at INTEGER NOT NULL, line TEXT NOT NULL)", "CREATE INDEX IF NOT EXISTS visits_event_visit ON visits_event (visit, id)", "CREATE INDEX IF NOT EXISTS visits_event_day ON visits_event (day)"];
|
|
49
|
+
export declare const VISITS_SCHEMA: readonly ["CREATE TABLE IF NOT EXISTS visits_salt (day TEXT PRIMARY KEY, salt TEXT NOT NULL)", "CREATE TABLE IF NOT EXISTS visits_caller (day TEXT NOT NULL, caller TEXT NOT NULL, visit TEXT NOT NULL, last INTEGER NOT NULL, PRIMARY KEY (day, caller))", "CREATE TABLE IF NOT EXISTS visits_visit (id TEXT PRIMARY KEY, site TEXT NOT NULL, day TEXT NOT NULL, started INTEGER NOT NULL, last INTEGER NOT NULL, pages INTEGER NOT NULL, referrer TEXT, source TEXT, country TEXT, viewport TEXT, probe INTEGER NOT NULL, staff INTEGER NOT NULL)", "CREATE INDEX IF NOT EXISTS visits_visit_day ON visits_visit (site, day)", "CREATE TABLE IF NOT EXISTS visits_page (span_id TEXT PRIMARY KEY, trace_id TEXT NOT NULL, visit TEXT NOT NULL, seq INTEGER NOT NULL, site TEXT NOT NULL, day TEXT NOT NULL, at INTEGER NOT NULL, host TEXT NOT NULL, path TEXT NOT NULL, place TEXT, route TEXT, nav TEXT NOT NULL, from_path TEXT, build TEXT, dur_ms REAL, reached TEXT, ttfb_ms REAL, lcp_ms REAL, inp_ms REAL, cls REAL)", "CREATE INDEX IF NOT EXISTS visits_page_visit ON visits_page (visit, seq)", "CREATE INDEX IF NOT EXISTS visits_page_trace ON visits_page (trace_id)", "CREATE INDEX IF NOT EXISTS visits_page_day ON visits_page (site, day)", "CREATE TABLE IF NOT EXISTS visits_event (id INTEGER PRIMARY KEY, visit TEXT NOT NULL, trace_id TEXT NOT NULL, day TEXT NOT NULL, at INTEGER NOT NULL, line TEXT NOT NULL)", "CREATE INDEX IF NOT EXISTS visits_event_visit ON visits_event (visit, id)", "CREATE INDEX IF NOT EXISTS visits_event_day ON visits_event (day)", "CREATE TABLE IF NOT EXISTS visits_views (site TEXT NOT NULL, day TEXT NOT NULL, host TEXT NOT NULL, path TEXT NOT NULL, views INTEGER NOT NULL, PRIMARY KEY (site, day, host, path))"];
|
|
45
50
|
export interface VisitsOptions {
|
|
46
51
|
/** The site's own SQLite, VISITS_SCHEMA provisioned. */
|
|
47
52
|
readonly db: MetricsDriver;
|
|
@@ -107,6 +112,16 @@ export declare function readVisits(db: MetricsReader, q: {
|
|
|
107
112
|
events?: readonly string[];
|
|
108
113
|
now?: number;
|
|
109
114
|
}): Promise<VisitRow[]>;
|
|
115
|
+
/**
|
|
116
|
+
* How many visits read each of a host's pages, all time: a page's view count, from
|
|
117
|
+
* `visits_views` (each visit once, the staff's and probes' never). `paths` limits it
|
|
118
|
+
* to those pages; a page no visit read is absent.
|
|
119
|
+
*/
|
|
120
|
+
export declare function readViews(db: MetricsReader, q: {
|
|
121
|
+
site: string;
|
|
122
|
+
host: string;
|
|
123
|
+
paths?: readonly string[];
|
|
124
|
+
}): Promise<Record<string, number>>;
|
|
110
125
|
/** One visit's page rows and its lines as written, in the order kept: each
|
|
111
126
|
* page's trace (its own start and end, its requests, its events) by trace id. */
|
|
112
127
|
export declare function readVisit(db: MetricsReader, id: string): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/visits/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/visits/index.ts"],"names":[],"mappings":"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"}
|
package/dist/visits/index.js
CHANGED
|
@@ -22,12 +22,17 @@
|
|
|
22
22
|
* ROWS: `visits_visit` (one per visit: when, how many pages, where it came
|
|
23
23
|
* from, coarse country and viewport, whether a probe or the site's staff made
|
|
24
24
|
* it), `visits_page` (one per page span: its place, path, how it was reached,
|
|
25
|
-
* how long it was on screen, the sections it reached, the vitals)
|
|
25
|
+
* how long it was on screen, the sections it reached, the vitals),
|
|
26
26
|
* `visits_event` (every line of the page's trace as written: the page span's
|
|
27
27
|
* own start and end, fetch spans, named events, errors, so a page's trace is
|
|
28
|
-
* read back from its lines alone, on the visitor's one clock)
|
|
29
|
-
*
|
|
30
|
-
*
|
|
28
|
+
* read back from its lines alone, on the visitor's one clock) and
|
|
29
|
+
* `visits_views` (per day, per page, how many visits read it, each once, the
|
|
30
|
+
* staff's and probes' never: a count with nothing of who; a visit reads a page
|
|
31
|
+
* by opening it or by a `view` line naming it, a post shown whole elsewhere). Pages and visits
|
|
32
|
+
* are kept VISIT_DAYS, events EVENT_DAYS, a probe's or staff's FLAGGED_DAYS;
|
|
33
|
+
* old rows go on the first write of each day. Views are kept for good: they
|
|
34
|
+
* are what a page's all-time count is read from (`readViews`). Provision
|
|
35
|
+
* VISITS_SCHEMA once, never on a request.
|
|
31
36
|
*
|
|
32
37
|
* REFUSED: a line that is no event, a service the site did not name, a line
|
|
33
38
|
* outside a page's trace, a field named like a person (ip, user_agent, email,
|
|
@@ -55,6 +60,7 @@ export const VISITS_SCHEMA = [
|
|
|
55
60
|
"CREATE TABLE IF NOT EXISTS visits_event (id INTEGER PRIMARY KEY, visit TEXT NOT NULL, trace_id TEXT NOT NULL, day TEXT NOT NULL, at INTEGER NOT NULL, line TEXT NOT NULL)",
|
|
56
61
|
"CREATE INDEX IF NOT EXISTS visits_event_visit ON visits_event (visit, id)",
|
|
57
62
|
"CREATE INDEX IF NOT EXISTS visits_event_day ON visits_event (day)",
|
|
63
|
+
"CREATE TABLE IF NOT EXISTS visits_views (site TEXT NOT NULL, day TEXT NOT NULL, host TEXT NOT NULL, path TEXT NOT NULL, views INTEGER NOT NULL, PRIMARY KEY (site, day, host, path))",
|
|
58
64
|
];
|
|
59
65
|
export function callerOf(request) {
|
|
60
66
|
const h = request.headers;
|
|
@@ -154,7 +160,7 @@ export function visitsRoute(options) {
|
|
|
154
160
|
const staff = paging && options.staff !== undefined
|
|
155
161
|
? await options.staff(request)
|
|
156
162
|
: false;
|
|
157
|
-
const visitOf = await assign(db, site, { caller, staff }, day, at, events, statements);
|
|
163
|
+
const { visitOf, viewers } = await assign(db, site, { caller, staff }, day, at, events, statements);
|
|
158
164
|
let accepted = 0;
|
|
159
165
|
for (const { n, line, e } of events) {
|
|
160
166
|
const visit = visitOf(e.trace_id);
|
|
@@ -165,6 +171,21 @@ export function visitsRoute(options) {
|
|
|
165
171
|
accepted++;
|
|
166
172
|
if (e.msg === "page" && e.phase === "end")
|
|
167
173
|
statements.push(pageEnd(e));
|
|
174
|
+
// A post read where it was shown (a note in a feed): a view of its page.
|
|
175
|
+
const host = str(e.fields?.host);
|
|
176
|
+
const path = str(e.fields?.path);
|
|
177
|
+
if (e.msg === "view" &&
|
|
178
|
+
e.phase === undefined &&
|
|
179
|
+
host !== null &&
|
|
180
|
+
path?.startsWith("/") &&
|
|
181
|
+
inside(host, site)) {
|
|
182
|
+
let viewer = viewers.get(visit);
|
|
183
|
+
if (viewer === undefined) {
|
|
184
|
+
viewer = await viewerOf(db, visit);
|
|
185
|
+
viewers.set(visit, viewer);
|
|
186
|
+
}
|
|
187
|
+
statements.push(...view(viewer, { site, day, host, path }));
|
|
188
|
+
}
|
|
168
189
|
statements.push({
|
|
169
190
|
sql: "INSERT INTO visits_event (visit, trace_id, day, at, line) VALUES (?, ?, ?, ?, ?)",
|
|
170
191
|
args: [visit, e.trace_id, day, at, line],
|
|
@@ -211,6 +232,7 @@ function refusal(line, services) {
|
|
|
211
232
|
* its start, so whichever of the two arrives first keeps the page.
|
|
212
233
|
*/
|
|
213
234
|
async function assign(db, site, { caller, staff }, day, at, events, statements) {
|
|
235
|
+
const viewers = new Map();
|
|
214
236
|
const traces = [...new Set(events.map(({ e }) => e.trace_id))];
|
|
215
237
|
// One event per page, its start where the batch has it.
|
|
216
238
|
const opened = new Map();
|
|
@@ -230,7 +252,7 @@ async function assign(db, site, { caller, staff }, day, at, events, statements)
|
|
|
230
252
|
known.set(String(r.trace_id), String(r.visit));
|
|
231
253
|
}
|
|
232
254
|
if (starts.length === 0)
|
|
233
|
-
return (t) => known.get(t);
|
|
255
|
+
return { visitOf: (t) => known.get(t), viewers };
|
|
234
256
|
// The site is in the hash: one store can hold several sites, and a person reading
|
|
235
257
|
// two of them is two callers, never one visit across sites nor a link between them.
|
|
236
258
|
const hash = await sha256(`${await saltOf(db, day)}\0${site}\0${caller.ip}\0${caller.agent}`);
|
|
@@ -241,8 +263,13 @@ async function assign(db, site, { caller, staff }, day, at, events, statements)
|
|
|
241
263
|
args: [day, id],
|
|
242
264
|
})),
|
|
243
265
|
];
|
|
266
|
+
/** The visit the batch's pages join: its pages so far and what it has viewed. */
|
|
244
267
|
let visit = open && at - Number(open.last) <= VISIT_GAP_MS
|
|
245
|
-
? {
|
|
268
|
+
? {
|
|
269
|
+
id: String(open.visit),
|
|
270
|
+
pages: Number(open.pages),
|
|
271
|
+
...(await viewerOf(db, String(open.visit))),
|
|
272
|
+
}
|
|
246
273
|
: null;
|
|
247
274
|
for (const e of starts) {
|
|
248
275
|
if (known.has(e.trace_id))
|
|
@@ -251,7 +278,12 @@ async function assign(db, site, { caller, staff }, day, at, events, statements)
|
|
|
251
278
|
const flag = (k) => f[k] === true || (k === "staff" && staff) ? 1 : 0;
|
|
252
279
|
if (visit === null) {
|
|
253
280
|
const referrer = str(f.referrer);
|
|
254
|
-
visit = {
|
|
281
|
+
visit = {
|
|
282
|
+
id: hex(crypto.getRandomValues(new Uint8Array(8))),
|
|
283
|
+
pages: 0,
|
|
284
|
+
flagged: false,
|
|
285
|
+
seen: new Set(),
|
|
286
|
+
};
|
|
255
287
|
statements.push({
|
|
256
288
|
sql: "INSERT INTO visits_visit (id, site, day, started, last, pages, referrer, source, country, viewport, probe, staff) VALUES (?, ?, ?, ?, ?, 0, ?, ?, ?, ?, ?, ?)",
|
|
257
289
|
args: [
|
|
@@ -271,6 +303,11 @@ async function assign(db, site, { caller, staff }, day, at, events, statements)
|
|
|
271
303
|
}
|
|
272
304
|
visit.pages += 1;
|
|
273
305
|
known.set(e.trace_id, visit.id);
|
|
306
|
+
const host = str(f.host) ?? "";
|
|
307
|
+
const path = str(f.path) ?? "/";
|
|
308
|
+
visit.flagged ||= flag("probe") === 1 || flag("staff") === 1;
|
|
309
|
+
viewers.set(visit.id, visit);
|
|
310
|
+
statements.push(...view(visit, { site, day, host, path }));
|
|
274
311
|
statements.push({
|
|
275
312
|
sql: "INSERT OR IGNORE INTO visits_page (span_id, trace_id, visit, seq, site, day, at, host, path, place, route, nav, from_path, build) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
|
|
276
313
|
args: [
|
|
@@ -281,8 +318,8 @@ async function assign(db, site, { caller, staff }, day, at, events, statements)
|
|
|
281
318
|
site,
|
|
282
319
|
day,
|
|
283
320
|
at,
|
|
284
|
-
|
|
285
|
-
|
|
321
|
+
host,
|
|
322
|
+
path,
|
|
286
323
|
str(f.place),
|
|
287
324
|
str(f.route),
|
|
288
325
|
str(f.nav) ?? "navigate",
|
|
@@ -299,7 +336,40 @@ async function assign(db, site, { caller, staff }, day, at, events, statements)
|
|
|
299
336
|
sql: "INSERT INTO visits_caller (day, caller, visit, last) VALUES (?, ?, ?, ?) ON CONFLICT (day, caller) DO UPDATE SET visit = excluded.visit, last = excluded.last",
|
|
300
337
|
args: [day, id, visit.id, at],
|
|
301
338
|
});
|
|
302
|
-
return (t) => known.get(t);
|
|
339
|
+
return { visitOf: (t) => known.get(t), viewers };
|
|
340
|
+
}
|
|
341
|
+
const viewKey = (host, path) => `${host}\0${path}`;
|
|
342
|
+
async function viewerOf(db, visit) {
|
|
343
|
+
const [v] = [
|
|
344
|
+
...(await db.query({
|
|
345
|
+
sql: "SELECT probe, staff FROM visits_visit WHERE id = ?",
|
|
346
|
+
args: [visit],
|
|
347
|
+
})),
|
|
348
|
+
];
|
|
349
|
+
if (v === undefined)
|
|
350
|
+
throw new Error(`visits: no visit ${visit}`);
|
|
351
|
+
const read = await db.query({
|
|
352
|
+
sql: "SELECT host, path FROM visits_page WHERE visit = ? UNION SELECT json_extract(line, '$.fields.host'), json_extract(line, '$.fields.path') FROM visits_event WHERE visit = ? AND json_extract(line, '$.msg') = 'view' AND json_extract(line, '$.phase') IS NULL",
|
|
353
|
+
args: [visit, visit],
|
|
354
|
+
});
|
|
355
|
+
return {
|
|
356
|
+
flagged: Number(v.probe) === 1 || Number(v.staff) === 1,
|
|
357
|
+
seen: new Set([...read].map((r) => viewKey(String(r.host), String(r.path)))),
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
/** A page read by a visit: a view of it, the first time this visit reads it. */
|
|
361
|
+
function view(viewer, at) {
|
|
362
|
+
const key = viewKey(at.host, at.path);
|
|
363
|
+
const first = !viewer.seen.has(key);
|
|
364
|
+
viewer.seen.add(key);
|
|
365
|
+
return first && !viewer.flagged
|
|
366
|
+
? [
|
|
367
|
+
{
|
|
368
|
+
sql: "INSERT INTO visits_views (site, day, host, path, views) VALUES (?, ?, ?, ?, 1) ON CONFLICT (site, day, host, path) DO UPDATE SET views = views + 1",
|
|
369
|
+
args: [at.site, at.day, at.host, at.path],
|
|
370
|
+
},
|
|
371
|
+
]
|
|
372
|
+
: [];
|
|
303
373
|
}
|
|
304
374
|
/** What a page span's end adds to its row. */
|
|
305
375
|
function pageEnd(e) {
|
|
@@ -432,6 +502,21 @@ export async function readVisits(db, q) {
|
|
|
432
502
|
}
|
|
433
503
|
return [...visits.values()].map(({ at: _, ...v }) => v);
|
|
434
504
|
}
|
|
505
|
+
/**
|
|
506
|
+
* How many visits read each of a host's pages, all time: a page's view count, from
|
|
507
|
+
* `visits_views` (each visit once, the staff's and probes' never). `paths` limits it
|
|
508
|
+
* to those pages; a page no visit read is absent.
|
|
509
|
+
*/
|
|
510
|
+
export async function readViews(db, q) {
|
|
511
|
+
const only = q.paths === undefined
|
|
512
|
+
? ""
|
|
513
|
+
: ` AND path IN (${q.paths.map(() => "?").join(",") || "NULL"})`;
|
|
514
|
+
const rows = await db.query({
|
|
515
|
+
sql: `SELECT path, SUM(views) AS views FROM visits_views WHERE site = ? AND host = ?${only} GROUP BY path`,
|
|
516
|
+
args: [q.site, q.host, ...(q.paths ?? [])],
|
|
517
|
+
});
|
|
518
|
+
return Object.fromEntries([...rows].map((r) => [String(r.path), Number(r.views)]));
|
|
519
|
+
}
|
|
435
520
|
/** One visit's page rows and its lines as written, in the order kept: each
|
|
436
521
|
* page's trace (its own start and end, its requests, its events) by trace id. */
|
|
437
522
|
export async function readVisit(db, id) {
|
package/dist/visits/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/visits/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/visits/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED