name: logseq-server-usage-stats
description: Collect, interpret, and troubleshoot db-sync server usage stats (total users/graphs, active users/graphs in N days, created-today metrics) using the deps/db-sync scripts and D1 schema. Use when requests involve show-usage-stats, server usage reporting, active-entity counting, or Cloudflare D1 cost impact of usage tracking.
Logseq Server Usage Stats
Use this skill to run and explain server usage stats for db-sync.
Run stats
Use the packaged command from deps/db-sync:
cd deps/db-sync
pnpm show-usage-stats
pnpm show-usage-stats --days 7
pnpm show-usage-stats --json
pnpm show-usage-stats --env staging --days 30 --json
pnpm show-usage-stats --env local --json
Metric semantics
Interpret output with these rules:
active_users_last_n_daysandactive_graphs_last_n_dayscome from deduplicated rows indaily_active_entities.active_since_utcandtoday_utcare UTC-day boundaries.users_created_todayreadsusers.created_atin today UTC range.graphs_created_todayreadsgraphs.created_atin today UTC range.
When discussing data quality, explicitly mention:
- activity is counted from request-path touch logic, not client app foreground time
- active metrics are per day per entity, not per request
Cost review workflow
When asked about Cloudflare cost impact:
- Separate one-off stats query cost from continuous request-path tracking cost.
- Treat request-path activity touch as the primary D1 cost driver.
- Verify whether touch happens only on successful responses in the current code.
- Estimate cost with traffic shape:
- successful sync request volume
- unique
(day, entity_type, entity_id)volume - cache effectiveness under multi-isolate execution
- Recommend reducing write attempts before adding new infrastructure:
- keep touch only on meaningful successful routes
- avoid duplicate touch points on read-heavy endpoints
Troubleshooting
If command fails, check in order:
- Wrong environment or wrangler config path.
- Missing migrations/tables/columns.
- D1 auth/project context mismatch.
- Non-integer
--daysvalue (>= 1required).