@wizeworks/lens-cloud 0.3.0-alpha.3 → 0.3.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 +3 -0
- package/dist/alerts/evaluate.d.ts +6 -5
- package/dist/alerts/evaluate.d.ts.map +1 -1
- package/dist/alerts/evaluate.js +59 -26
- package/dist/alerts/evaluate.js.map +1 -1
- package/dist/alerts/problem-link.d.ts +12 -0
- package/dist/alerts/problem-link.d.ts.map +1 -0
- package/dist/alerts/problem-link.js +31 -0
- package/dist/alerts/problem-link.js.map +1 -0
- package/dist/app.d.ts +9 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/auth/auth.d.ts +8 -2
- package/dist/auth/auth.d.ts.map +1 -1
- package/dist/auth/auth.js +25 -2
- package/dist/auth/auth.js.map +1 -1
- package/dist/auth/billing-hooks.d.ts +9 -0
- package/dist/auth/billing-hooks.d.ts.map +1 -0
- package/dist/auth/billing-hooks.js +49 -0
- package/dist/auth/billing-hooks.js.map +1 -0
- package/dist/auth/bridge.js +2 -2
- package/dist/auth/bridge.js.map +1 -1
- package/dist/auth/crypto.d.ts +2 -0
- package/dist/auth/crypto.d.ts.map +1 -1
- package/dist/auth/crypto.js +2 -2
- package/dist/auth/crypto.js.map +1 -1
- package/dist/auth/deps.d.ts +7 -0
- package/dist/auth/deps.d.ts.map +1 -1
- package/dist/auth/deps.js.map +1 -1
- package/dist/auth/hooks.d.ts.map +1 -1
- package/dist/auth/hooks.js +8 -1
- package/dist/auth/hooks.js.map +1 -1
- package/dist/auth/join-scope.d.ts +1 -1
- package/dist/auth/join-scope.d.ts.map +1 -1
- package/dist/auth/join-scope.js +8 -4
- package/dist/auth/join-scope.js.map +1 -1
- package/dist/auth/oauth-access.d.ts +8 -0
- package/dist/auth/oauth-access.d.ts.map +1 -0
- package/dist/auth/oauth-access.js +31 -0
- package/dist/auth/oauth-access.js.map +1 -0
- package/dist/auth/oauth-grant.d.ts +5 -0
- package/dist/auth/oauth-grant.d.ts.map +1 -0
- package/dist/auth/oauth-grant.js +79 -0
- package/dist/auth/oauth-grant.js.map +1 -0
- package/dist/auth/oauth-names.d.ts +104 -0
- package/dist/auth/oauth-names.d.ts.map +1 -0
- package/dist/auth/oauth-names.js +72 -0
- package/dist/auth/oauth-names.js.map +1 -0
- package/dist/auth/oauth.d.ts +17 -0
- package/dist/auth/oauth.d.ts.map +1 -0
- package/dist/auth/oauth.js +47 -0
- package/dist/auth/oauth.js.map +1 -0
- package/dist/auth/options.d.ts.map +1 -1
- package/dist/auth/options.js +2 -0
- package/dist/auth/options.js.map +1 -1
- package/dist/auth/plugins.d.ts.map +1 -1
- package/dist/auth/plugins.js +15 -1
- package/dist/auth/plugins.js.map +1 -1
- package/dist/auth/principal.d.ts +10 -1
- package/dist/auth/principal.d.ts.map +1 -1
- package/dist/auth/principal.js +8 -7
- package/dist/auth/principal.js.map +1 -1
- package/dist/auth/roles.d.ts +5 -2
- package/dist/auth/roles.d.ts.map +1 -1
- package/dist/auth/roles.js +1 -0
- package/dist/auth/roles.js.map +1 -1
- package/dist/auth/schema-names.d.ts +33 -0
- package/dist/auth/schema-names.d.ts.map +1 -1
- package/dist/auth/schema-names.js +23 -0
- package/dist/auth/schema-names.js.map +1 -1
- package/dist/auth/scim.d.ts +6 -0
- package/dist/auth/scim.d.ts.map +1 -0
- package/dist/auth/scim.js +56 -0
- package/dist/auth/scim.js.map +1 -0
- package/dist/auth/signup.d.ts.map +1 -1
- package/dist/auth/signup.js +5 -2
- package/dist/auth/signup.js.map +1 -1
- package/dist/auth/wire.d.ts +2 -1
- package/dist/auth/wire.d.ts.map +1 -1
- package/dist/auth/wire.js +4 -1
- package/dist/auth/wire.js.map +1 -1
- package/dist/billing/cli.d.ts +6 -0
- package/dist/billing/cli.d.ts.map +1 -0
- package/dist/billing/cli.js +54 -0
- package/dist/billing/cli.js.map +1 -0
- package/dist/billing/gate.d.ts +13 -0
- package/dist/billing/gate.d.ts.map +1 -0
- package/dist/billing/gate.js +27 -0
- package/dist/billing/gate.js.map +1 -0
- package/dist/billing/limits.d.ts +29 -0
- package/dist/billing/limits.d.ts.map +1 -0
- package/dist/billing/limits.js +69 -0
- package/dist/billing/limits.js.map +1 -0
- package/dist/billing/notices.d.ts +4 -0
- package/dist/billing/notices.d.ts.map +1 -0
- package/dist/billing/notices.js +40 -0
- package/dist/billing/notices.js.map +1 -0
- package/dist/billing/options.d.ts +37 -0
- package/dist/billing/options.d.ts.map +1 -0
- package/dist/billing/options.js +33 -0
- package/dist/billing/options.js.map +1 -0
- package/dist/billing/plans.d.ts +50 -0
- package/dist/billing/plans.d.ts.map +1 -0
- package/dist/billing/plans.js +47 -0
- package/dist/billing/plans.js.map +1 -0
- package/dist/billing/report.d.ts +26 -0
- package/dist/billing/report.d.ts.map +1 -0
- package/dist/billing/report.js +53 -0
- package/dist/billing/report.js.map +1 -0
- package/dist/billing/service.d.ts +20 -0
- package/dist/billing/service.d.ts.map +1 -0
- package/dist/billing/service.js +29 -0
- package/dist/billing/service.js.map +1 -0
- package/dist/billing/stripe-plugin.d.ts +14 -0
- package/dist/billing/stripe-plugin.d.ts.map +1 -0
- package/dist/billing/stripe-plugin.js +39 -0
- package/dist/billing/stripe-plugin.js.map +1 -0
- package/dist/billing/stripe-setup.d.ts +15 -0
- package/dist/billing/stripe-setup.d.ts.map +1 -0
- package/dist/billing/stripe-setup.js +73 -0
- package/dist/billing/stripe-setup.js.map +1 -0
- package/dist/billing/summary.d.ts +59 -0
- package/dist/billing/summary.d.ts.map +1 -0
- package/dist/billing/summary.js +50 -0
- package/dist/billing/summary.js.map +1 -0
- package/dist/billing/sync.d.ts +5 -0
- package/dist/billing/sync.d.ts.map +1 -0
- package/dist/billing/sync.js +35 -0
- package/dist/billing/sync.js.map +1 -0
- package/dist/billing/usage-sub.d.ts +17 -0
- package/dist/billing/usage-sub.d.ts.map +1 -0
- package/dist/billing/usage-sub.js +47 -0
- package/dist/billing/usage-sub.js.map +1 -0
- package/dist/billing/usage.d.ts +28 -0
- package/dist/billing/usage.d.ts.map +1 -0
- package/dist/billing/usage.js +80 -0
- package/dist/billing/usage.js.map +1 -0
- package/dist/billing/webhook.d.ts +6 -0
- package/dist/billing/webhook.d.ts.map +1 -0
- package/dist/billing/webhook.js +41 -0
- package/dist/billing/webhook.js.map +1 -0
- package/dist/cli-args.d.ts +1 -1
- package/dist/cli-args.d.ts.map +1 -1
- package/dist/cli-args.js +33 -2
- package/dist/cli-args.js.map +1 -1
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +15 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -1
- package/dist/config.js.map +1 -1
- package/dist/db/schema-alerts.d.ts +2 -0
- package/dist/db/schema-alerts.d.ts.map +1 -0
- package/dist/db/schema-alerts.js +15 -0
- package/dist/db/schema-alerts.js.map +1 -0
- package/dist/db/schema-billing.d.ts +2 -0
- package/dist/db/schema-billing.d.ts.map +1 -0
- package/dist/db/schema-billing.js +38 -0
- package/dist/db/schema-billing.js.map +1 -0
- package/dist/db/schema-issues.d.ts +2 -0
- package/dist/db/schema-issues.d.ts.map +1 -0
- package/dist/db/schema-issues.js +9 -0
- package/dist/db/schema-issues.js.map +1 -0
- package/dist/db/schema-logs.d.ts +2 -0
- package/dist/db/schema-logs.d.ts.map +1 -0
- package/dist/db/schema-logs.js +13 -0
- package/dist/db/schema-logs.js.map +1 -0
- package/dist/db/schema-oauth.d.ts +2 -0
- package/dist/db/schema-oauth.d.ts.map +1 -0
- package/dist/db/schema-oauth.js +69 -0
- package/dist/db/schema-oauth.js.map +1 -0
- package/dist/db/schema-saved-move.d.ts +2 -0
- package/dist/db/schema-saved-move.d.ts.map +1 -0
- package/dist/db/schema-saved-move.js +13 -0
- package/dist/db/schema-saved-move.js.map +1 -0
- package/dist/db/schema-saved.d.ts +2 -0
- package/dist/db/schema-saved.d.ts.map +1 -0
- package/dist/db/schema-saved.js +13 -0
- package/dist/db/schema-saved.js.map +1 -0
- package/dist/db/schema-scim.d.ts +2 -0
- package/dist/db/schema-scim.d.ts.map +1 -0
- package/dist/db/schema-scim.js +28 -0
- package/dist/db/schema-scim.js.map +1 -0
- package/dist/db/schema-slos.d.ts +2 -0
- package/dist/db/schema-slos.d.ts.map +1 -0
- package/dist/db/schema-slos.js +12 -0
- package/dist/db/schema-slos.js.map +1 -0
- package/dist/db/schema-sourcemaps.d.ts +2 -0
- package/dist/db/schema-sourcemaps.d.ts.map +1 -0
- package/dist/db/schema-sourcemaps.js +9 -0
- package/dist/db/schema-sourcemaps.js.map +1 -0
- package/dist/db/schema-tags.d.ts +2 -0
- package/dist/db/schema-tags.d.ts.map +1 -0
- package/dist/db/schema-tags.js +12 -0
- package/dist/db/schema-tags.js.map +1 -0
- package/dist/db/schema-team.d.ts +2 -0
- package/dist/db/schema-team.d.ts.map +1 -0
- package/dist/db/schema-team.js +15 -0
- package/dist/db/schema-team.js.map +1 -0
- package/dist/db/schema-uptime.d.ts +2 -0
- package/dist/db/schema-uptime.d.ts.map +1 -0
- package/dist/db/schema-uptime.js +22 -0
- package/dist/db/schema-uptime.js.map +1 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +30 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/http/http.d.ts +5 -1
- package/dist/http/http.d.ts.map +1 -1
- package/dist/http/http.js +5 -1
- package/dist/http/http.js.map +1 -1
- package/dist/jobs.d.ts +1 -1
- package/dist/jobs.d.ts.map +1 -1
- package/dist/jobs.js +15 -2
- package/dist/jobs.js.map +1 -1
- package/dist/mail/emails-billing.d.ts +17 -0
- package/dist/mail/emails-billing.d.ts.map +1 -0
- package/dist/mail/emails-billing.js +36 -0
- package/dist/mail/emails-billing.js.map +1 -0
- package/dist/mail/emails.d.ts +1 -1
- package/dist/mail/emails.d.ts.map +1 -1
- package/dist/mail/emails.js +7 -4
- package/dist/mail/emails.js.map +1 -1
- package/dist/mail/mailer.d.ts +1 -1
- package/dist/mail/mailer.d.ts.map +1 -1
- package/dist/mail/samples.d.ts.map +1 -1
- package/dist/mail/samples.js +17 -0
- package/dist/mail/samples.js.map +1 -1
- package/dist/mail/templates.d.ts +1 -1
- package/dist/mail/templates.d.ts.map +1 -1
- package/dist/notify/digest-data.d.ts.map +1 -1
- package/dist/notify/digest-data.js +2 -2
- package/dist/notify/digest-data.js.map +1 -1
- package/dist/notify/digest.d.ts.map +1 -1
- package/dist/notify/digest.js +4 -1
- package/dist/notify/digest.js.map +1 -1
- package/dist/notify/team-describe.d.ts.map +1 -1
- package/dist/notify/team-describe.js +14 -0
- package/dist/notify/team-describe.js.map +1 -1
- package/dist/repo/alert-events.d.ts +38 -0
- package/dist/repo/alert-events.d.ts.map +1 -0
- package/dist/repo/alert-events.js +29 -0
- package/dist/repo/alert-events.js.map +1 -0
- package/dist/repo/alerts.d.ts +14 -44
- package/dist/repo/alerts.d.ts.map +1 -1
- package/dist/repo/alerts.js +35 -13
- package/dist/repo/alerts.js.map +1 -1
- package/dist/repo/audit.d.ts +19 -1
- package/dist/repo/audit.d.ts.map +1 -1
- package/dist/repo/audit.js +24 -2
- package/dist/repo/audit.js.map +1 -1
- package/dist/repo/auth-prune.d.ts +1 -1
- package/dist/repo/auth-prune.d.ts.map +1 -1
- package/dist/repo/auth-prune.js +13 -1
- package/dist/repo/auth-prune.js.map +1 -1
- package/dist/repo/billing.d.ts +30 -0
- package/dist/repo/billing.d.ts.map +1 -0
- package/dist/repo/billing.js +47 -0
- package/dist/repo/billing.js.map +1 -0
- package/dist/repo/grants.d.ts +30 -0
- package/dist/repo/grants.d.ts.map +1 -0
- package/dist/repo/grants.js +57 -0
- package/dist/repo/grants.js.map +1 -0
- package/dist/repo/issues.d.ts +15 -0
- package/dist/repo/issues.d.ts.map +1 -0
- package/dist/repo/issues.js +31 -0
- package/dist/repo/issues.js.map +1 -0
- package/dist/repo/keys.d.ts +51 -0
- package/dist/repo/keys.d.ts.map +1 -0
- package/dist/repo/keys.js +58 -0
- package/dist/repo/keys.js.map +1 -0
- package/dist/repo/log-retention.d.ts +8 -0
- package/dist/repo/log-retention.d.ts.map +1 -0
- package/dist/repo/log-retention.js +20 -0
- package/dist/repo/log-retention.js.map +1 -0
- package/dist/repo/metric-read.d.ts +2 -0
- package/dist/repo/metric-read.d.ts.map +1 -1
- package/dist/repo/metric-read.js +5 -1
- package/dist/repo/metric-read.js.map +1 -1
- package/dist/repo/metric-write.d.ts.map +1 -1
- package/dist/repo/metric-write.js +3 -2
- package/dist/repo/metric-write.js.map +1 -1
- package/dist/repo/orgs.d.ts +2 -0
- package/dist/repo/orgs.d.ts.map +1 -1
- package/dist/repo/orgs.js +5 -1
- package/dist/repo/orgs.js.map +1 -1
- package/dist/repo/project-roles.d.ts +28 -0
- package/dist/repo/project-roles.d.ts.map +1 -0
- package/dist/repo/project-roles.js +39 -0
- package/dist/repo/project-roles.js.map +1 -0
- package/dist/repo/projects.d.ts +3 -22
- package/dist/repo/projects.d.ts.map +1 -1
- package/dist/repo/projects.js +4 -29
- package/dist/repo/projects.js.map +1 -1
- package/dist/repo/saved.d.ts +9 -0
- package/dist/repo/saved.d.ts.map +1 -0
- package/dist/repo/saved.js +29 -0
- package/dist/repo/saved.js.map +1 -0
- package/dist/repo/scim-tokens.d.ts +20 -0
- package/dist/repo/scim-tokens.d.ts.map +1 -0
- package/dist/repo/scim-tokens.js +32 -0
- package/dist/repo/scim-tokens.js.map +1 -0
- package/dist/repo/services.d.ts.map +1 -1
- package/dist/repo/services.js +2 -1
- package/dist/repo/services.js.map +1 -1
- package/dist/repo/settings.d.ts +30 -0
- package/dist/repo/settings.d.ts.map +1 -0
- package/dist/repo/settings.js +55 -0
- package/dist/repo/settings.js.map +1 -0
- package/dist/repo/slos.d.ts +10 -0
- package/dist/repo/slos.d.ts.map +1 -0
- package/dist/repo/slos.js +27 -0
- package/dist/repo/slos.js.map +1 -0
- package/dist/repo/sourcemaps.d.ts +9 -0
- package/dist/repo/sourcemaps.d.ts.map +1 -0
- package/dist/repo/sourcemaps.js +34 -0
- package/dist/repo/sourcemaps.js.map +1 -0
- package/dist/repo/tags.d.ts +11 -0
- package/dist/repo/tags.d.ts.map +1 -0
- package/dist/repo/tags.js +33 -0
- package/dist/repo/tags.js.map +1 -0
- package/dist/repo/trace-read.d.ts.map +1 -1
- package/dist/repo/trace-read.js +3 -1
- package/dist/repo/trace-read.js.map +1 -1
- package/dist/repo/trace-write.d.ts +1 -1
- package/dist/repo/trace-write.d.ts.map +1 -1
- package/dist/repo/trace-write.js +11 -5
- package/dist/repo/trace-write.js.map +1 -1
- package/dist/repo/uptime.d.ts +21 -0
- package/dist/repo/uptime.d.ts.map +1 -0
- package/dist/repo/uptime.js +53 -0
- package/dist/repo/uptime.js.map +1 -0
- package/dist/routes/alerts.d.ts.map +1 -1
- package/dist/routes/alerts.js +65 -66
- package/dist/routes/alerts.js.map +1 -1
- package/dist/routes/apps.d.ts +20 -0
- package/dist/routes/apps.d.ts.map +1 -0
- package/dist/routes/apps.js +53 -0
- package/dist/routes/apps.js.map +1 -0
- package/dist/routes/billing.d.ts +4 -0
- package/dist/routes/billing.d.ts.map +1 -0
- package/dist/routes/billing.js +51 -0
- package/dist/routes/billing.js.map +1 -0
- package/dist/routes/data.d.ts.map +1 -1
- package/dist/routes/data.js +16 -7
- package/dist/routes/data.js.map +1 -1
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +24 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/ingest.d.ts +3 -1
- package/dist/routes/ingest.d.ts.map +1 -1
- package/dist/routes/ingest.js +55 -14
- package/dist/routes/ingest.js.map +1 -1
- package/dist/routes/issues.d.ts +4 -0
- package/dist/routes/issues.d.ts.map +1 -0
- package/dist/routes/issues.js +34 -0
- package/dist/routes/issues.js.map +1 -0
- package/dist/routes/keys.d.ts +4 -0
- package/dist/routes/keys.d.ts.map +1 -0
- package/dist/routes/keys.js +70 -0
- package/dist/routes/keys.js.map +1 -0
- package/dist/routes/mcp.d.ts.map +1 -1
- package/dist/routes/mcp.js +60 -23
- package/dist/routes/mcp.js.map +1 -1
- package/dist/routes/me.d.ts.map +1 -1
- package/dist/routes/me.js +15 -5
- package/dist/routes/me.js.map +1 -1
- package/dist/routes/metrics.js +1 -1
- package/dist/routes/metrics.js.map +1 -1
- package/dist/routes/models.d.ts +7 -1
- package/dist/routes/models.d.ts.map +1 -1
- package/dist/routes/models.js +55 -19
- package/dist/routes/models.js.map +1 -1
- package/dist/routes/notify.d.ts.map +1 -1
- package/dist/routes/notify.js +3 -1
- package/dist/routes/notify.js.map +1 -1
- package/dist/routes/oauth-meta.d.ts +7 -0
- package/dist/routes/oauth-meta.d.ts.map +1 -0
- package/dist/routes/oauth-meta.js +52 -0
- package/dist/routes/oauth-meta.js.map +1 -0
- package/dist/routes/orgs.d.ts.map +1 -1
- package/dist/routes/orgs.js +23 -7
- package/dist/routes/orgs.js.map +1 -1
- package/dist/routes/projects.d.ts.map +1 -1
- package/dist/routes/projects.js +31 -22
- package/dist/routes/projects.js.map +1 -1
- package/dist/routes/saved.d.ts +4 -0
- package/dist/routes/saved.d.ts.map +1 -0
- package/dist/routes/saved.js +56 -0
- package/dist/routes/saved.js.map +1 -0
- package/dist/routes/scim.d.ts +4 -0
- package/dist/routes/scim.d.ts.map +1 -0
- package/dist/routes/scim.js +37 -0
- package/dist/routes/scim.js.map +1 -0
- package/dist/routes/search.d.ts.map +1 -1
- package/dist/routes/search.js +8 -5
- package/dist/routes/search.js.map +1 -1
- package/dist/routes/settings.d.ts +4 -0
- package/dist/routes/settings.d.ts.map +1 -0
- package/dist/routes/settings.js +39 -0
- package/dist/routes/settings.js.map +1 -0
- package/dist/routes/shares.d.ts +3 -0
- package/dist/routes/shares.d.ts.map +1 -1
- package/dist/routes/shares.js +28 -15
- package/dist/routes/shares.js.map +1 -1
- package/dist/routes/slos.d.ts +4 -0
- package/dist/routes/slos.d.ts.map +1 -0
- package/dist/routes/slos.js +76 -0
- package/dist/routes/slos.js.map +1 -0
- package/dist/routes/sourcemaps.d.ts +9 -0
- package/dist/routes/sourcemaps.d.ts.map +1 -0
- package/dist/routes/sourcemaps.js +54 -0
- package/dist/routes/sourcemaps.js.map +1 -0
- package/dist/routes/status.d.ts +4 -0
- package/dist/routes/status.d.ts.map +1 -0
- package/dist/routes/status.js +60 -0
- package/dist/routes/status.js.map +1 -0
- package/dist/routes/tags.d.ts +4 -0
- package/dist/routes/tags.d.ts.map +1 -0
- package/dist/routes/tags.js +81 -0
- package/dist/routes/tags.js.map +1 -0
- package/dist/routes/uptime.d.ts +4 -0
- package/dist/routes/uptime.d.ts.map +1 -0
- package/dist/routes/uptime.js +71 -0
- package/dist/routes/uptime.js.map +1 -0
- package/dist/scale-exec.d.ts +3 -2
- package/dist/scale-exec.d.ts.map +1 -1
- package/dist/scale-exec.js +5 -4
- package/dist/scale-exec.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +30 -7
- package/dist/server.js.map +1 -1
- package/dist/settle.d.ts +6 -3
- package/dist/settle.d.ts.map +1 -1
- package/dist/settle.js +11 -8
- package/dist/settle.js.map +1 -1
- package/dist/telemetry/ch/admin.d.ts +8 -4
- package/dist/telemetry/ch/admin.d.ts.map +1 -1
- package/dist/telemetry/ch/admin.js +33 -16
- package/dist/telemetry/ch/admin.js.map +1 -1
- package/dist/telemetry/ch/queue.d.ts +6 -4
- package/dist/telemetry/ch/queue.d.ts.map +1 -1
- package/dist/telemetry/ch/queue.js +13 -9
- package/dist/telemetry/ch/queue.js.map +1 -1
- package/dist/telemetry/ch/read.d.ts.map +1 -1
- package/dist/telemetry/ch/read.js +3 -1
- package/dist/telemetry/ch/read.js.map +1 -1
- package/dist/telemetry/ch/rebuild.d.ts +23 -0
- package/dist/telemetry/ch/rebuild.d.ts.map +1 -0
- package/dist/telemetry/ch/rebuild.js +65 -0
- package/dist/telemetry/ch/rebuild.js.map +1 -0
- package/dist/telemetry/ch/schema-facts.d.ts +1 -1
- package/dist/telemetry/ch/schema-facts.d.ts.map +1 -1
- package/dist/telemetry/ch/schema-facts.js +8 -2
- package/dist/telemetry/ch/schema-facts.js.map +1 -1
- package/dist/telemetry/ch/schema-raw.d.ts +2 -0
- package/dist/telemetry/ch/schema-raw.d.ts.map +1 -1
- package/dist/telemetry/ch/schema-raw.js +2 -0
- package/dist/telemetry/ch/schema-raw.js.map +1 -1
- package/dist/telemetry/ch/schema.d.ts.map +1 -1
- package/dist/telemetry/ch/schema.js +2 -2
- package/dist/telemetry/ch/schema.js.map +1 -1
- package/dist/telemetry/ch/settle-pool.d.ts +24 -0
- package/dist/telemetry/ch/settle-pool.d.ts.map +1 -0
- package/dist/telemetry/ch/settle-pool.js +58 -0
- package/dist/telemetry/ch/settle-pool.js.map +1 -0
- package/dist/telemetry/ch/settle-rows.d.ts +7 -4
- package/dist/telemetry/ch/settle-rows.d.ts.map +1 -1
- package/dist/telemetry/ch/settle-rows.js +15 -8
- package/dist/telemetry/ch/settle-rows.js.map +1 -1
- package/dist/telemetry/ch/settle-work.d.ts +21 -0
- package/dist/telemetry/ch/settle-work.d.ts.map +1 -0
- package/dist/telemetry/ch/settle-work.js +52 -0
- package/dist/telemetry/ch/settle-work.js.map +1 -0
- package/dist/telemetry/ch/settle-worker.d.ts +2 -0
- package/dist/telemetry/ch/settle-worker.d.ts.map +1 -0
- package/dist/telemetry/ch/settle-worker.js +10 -0
- package/dist/telemetry/ch/settle-worker.js.map +1 -0
- package/dist/telemetry/ch/settle.d.ts +17 -3
- package/dist/telemetry/ch/settle.d.ts.map +1 -1
- package/dist/telemetry/ch/settle.js +15 -56
- package/dist/telemetry/ch/settle.js.map +1 -1
- package/dist/telemetry/ch/store.d.ts +12 -1
- package/dist/telemetry/ch/store.d.ts.map +1 -1
- package/dist/telemetry/ch/store.js +37 -8
- package/dist/telemetry/ch/store.js.map +1 -1
- package/dist/telemetry/ch/util.d.ts +7 -0
- package/dist/telemetry/ch/util.d.ts.map +1 -1
- package/dist/telemetry/ch/util.js +4 -0
- package/dist/telemetry/ch/util.js.map +1 -1
- package/dist/telemetry/ch/write.d.ts +2 -1
- package/dist/telemetry/ch/write.d.ts.map +1 -1
- package/dist/telemetry/ch/write.js +10 -10
- package/dist/telemetry/ch/write.js.map +1 -1
- package/dist/telemetry/index.d.ts +4 -1
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/index.js +8 -3
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/pg-store.d.ts.map +1 -1
- package/dist/telemetry/pg-store.js +13 -8
- package/dist/telemetry/pg-store.js.map +1 -1
- package/dist/telemetry/store.d.ts +13 -2
- package/dist/telemetry/store.d.ts.map +1 -1
- package/dist/uptime/headers.d.ts +6 -0
- package/dist/uptime/headers.d.ts.map +1 -0
- package/dist/uptime/headers.js +25 -0
- package/dist/uptime/headers.js.map +1 -0
- package/dist/uptime/run.d.ts +9 -0
- package/dist/uptime/run.d.ts.map +1 -0
- package/dist/uptime/run.js +40 -0
- package/dist/uptime/run.js.map +1 -0
- package/package.json +9 -5
- package/dist/alerts/notify.d.ts +0 -28
- package/dist/alerts/notify.d.ts.map +0 -1
- package/dist/alerts/notify.js +0 -52
- package/dist/alerts/notify.js.map +0 -1
package/dist/server.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { createRequire } from "node:module";
|
|
2
2
|
import { createServer } from "node:http";
|
|
3
|
+
import { SOURCEMAPS_PATH } from "@wizeworks/lens-core";
|
|
3
4
|
import { otlpSignalOf } from "@wizeworks/lens-hub/kit";
|
|
4
5
|
import { resolveUiDir, serveUi } from "@wizeworks/lens-node/kit";
|
|
5
6
|
import { authHandler } from "./auth/bridge.js";
|
|
6
7
|
import { AUTH_BASE_PATH } from "./auth/options.js";
|
|
7
8
|
import { wireAuth } from "./auth/wire.js";
|
|
9
|
+
import { createBilling } from "./billing/service.js";
|
|
10
|
+
import { STRIPE_WEBHOOK_PATH, stripeWebhook } from "./billing/webhook.js";
|
|
8
11
|
import { Changes } from "./changes.js";
|
|
12
|
+
import { SettingsCache } from "./repo/settings.js";
|
|
9
13
|
import { resolveConfig } from "./config.js";
|
|
10
14
|
import { openDb } from "./db/db.js";
|
|
11
15
|
import { migrate } from "./db/migrate.js";
|
|
@@ -20,6 +24,9 @@ import { RESEND_WEBHOOK_PATH, resendWebhook } from "./mail/webhook.js";
|
|
|
20
24
|
import { openTelemetry } from "./telemetry/index.js";
|
|
21
25
|
import { allRoutes } from "./routes/index.js";
|
|
22
26
|
import { ingestBatch, ingestOtlp } from "./routes/ingest.js";
|
|
27
|
+
import { listProjectMaps, uploadSourceMap } from "./routes/sourcemaps.js";
|
|
28
|
+
import { cloudMapLoaders } from "./repo/sourcemaps.js";
|
|
29
|
+
import { serveOAuthMetadata } from "./routes/oauth-meta.js";
|
|
23
30
|
import { forgetModels } from "./routes/models.js";
|
|
24
31
|
const require = createRequire(import.meta.url);
|
|
25
32
|
export const CLOUD_VERSION = require("../package.json").version;
|
|
@@ -30,6 +37,11 @@ async function routeBase(p, ctx, sub) {
|
|
|
30
37
|
const { req, res } = ctx;
|
|
31
38
|
if (sub === "api/ingest" && req.method === "POST")
|
|
32
39
|
return ingestBatch(ctx, p.ingest);
|
|
40
|
+
// Build tools upload source maps with the project's ingest key.
|
|
41
|
+
if (sub === SOURCEMAPS_PATH && req.method === "POST")
|
|
42
|
+
return uploadSourceMap(ctx, p.ingest);
|
|
43
|
+
if (sub === SOURCEMAPS_PATH && req.method === "GET")
|
|
44
|
+
return listProjectMaps(ctx, p.ingest);
|
|
33
45
|
// Resend signs its webhook, so it needs no dashboard header.
|
|
34
46
|
if (sub === RESEND_WEBHOOK_PATH && req.method === "POST")
|
|
35
47
|
return resendWebhook(ctx);
|
|
@@ -55,8 +67,12 @@ async function route(p, req, res) {
|
|
|
55
67
|
return void res.writeHead(200, { "Content-Type": "text/plain" }).end("ok");
|
|
56
68
|
if (path === "/" || path === BASE)
|
|
57
69
|
return void res.writeHead(302, { Location: `${BASE}/${url.search}` }).end();
|
|
70
|
+
if (path === STRIPE_WEBHOOK_PATH && req.method === "POST")
|
|
71
|
+
return stripeWebhook(p.app, req, res);
|
|
58
72
|
if (path.startsWith(`${AUTH_BASE_PATH}/`))
|
|
59
73
|
return p.auth()(req, res);
|
|
74
|
+
if (path.startsWith("/.well-known/") && (await serveOAuthMetadata(p.app, req, res, path)))
|
|
75
|
+
return;
|
|
60
76
|
const signal = otlpSignalOf(path);
|
|
61
77
|
if (signal && req.method === "POST")
|
|
62
78
|
return ingestOtlp(ctx, signal, p.ingest);
|
|
@@ -68,7 +84,7 @@ function onError(err, res) {
|
|
|
68
84
|
if (res.headersSent)
|
|
69
85
|
return void res.end();
|
|
70
86
|
if (err instanceof HttpError)
|
|
71
|
-
return sendJson(res, err.status, { error: err.message });
|
|
87
|
+
return sendJson(res, err.status, { ...err.extra, error: err.message });
|
|
72
88
|
console.error("[wizelens-cloud]", err);
|
|
73
89
|
sendJson(res, 500, { error: "Something went wrong on the server." });
|
|
74
90
|
}
|
|
@@ -76,21 +92,26 @@ function onError(err, res) {
|
|
|
76
92
|
async function openStores(config) {
|
|
77
93
|
const db = await openDb(config.database);
|
|
78
94
|
await migrate(db);
|
|
79
|
-
const
|
|
95
|
+
const settings = new SettingsCache(db);
|
|
96
|
+
const telemetry = await openTelemetry(config, db, settings);
|
|
80
97
|
await telemetry.checkFactsVersion();
|
|
81
98
|
const changes = new Changes();
|
|
82
99
|
changes.onAny(forgetModels);
|
|
83
|
-
return { db, telemetry, changes };
|
|
100
|
+
return { db, telemetry, changes, maps: cloudMapLoaders(db), settings };
|
|
101
|
+
}
|
|
102
|
+
/** Mail, plans and usage (Stripe with billing on), and the auth wiring. */
|
|
103
|
+
async function openServices(config, db) {
|
|
104
|
+
const mailer = await createMailer(config, db);
|
|
105
|
+
const billing = await createBilling(config, db);
|
|
106
|
+
return { mailer, billing, wiring: await wireAuth(db, config, mailer, billing.stripe) };
|
|
84
107
|
}
|
|
85
108
|
/** Open the database, bring its schema up to date, and build the server. Call `listen()` to start. */
|
|
86
109
|
export async function createCloud(options = {}) {
|
|
87
110
|
const config = resolveConfig(options);
|
|
88
111
|
const stores = await openStores(config);
|
|
89
112
|
const { db, telemetry } = stores;
|
|
90
|
-
const mailer = await
|
|
91
|
-
|
|
92
|
-
let auth;
|
|
93
|
-
let handler;
|
|
113
|
+
const { mailer, billing, wiring } = await openServices(config, db);
|
|
114
|
+
let [auth, handler] = [undefined, undefined];
|
|
94
115
|
let listenUrl = config.publicUrl ?? `http://localhost:${config.port}`;
|
|
95
116
|
const app = {
|
|
96
117
|
...stores,
|
|
@@ -98,6 +119,7 @@ export async function createCloud(options = {}) {
|
|
|
98
119
|
version: CLOUD_VERSION,
|
|
99
120
|
startedMs: config.now(),
|
|
100
121
|
mailer,
|
|
122
|
+
billing,
|
|
101
123
|
secrets: wiring.secrets,
|
|
102
124
|
get auth() {
|
|
103
125
|
if (!auth)
|
|
@@ -129,6 +151,7 @@ export async function createCloud(options = {}) {
|
|
|
129
151
|
stopJobs();
|
|
130
152
|
server.closeAllConnections?.();
|
|
131
153
|
await new Promise((resolve) => server.close(() => resolve()));
|
|
154
|
+
await billing.usage.flush().catch((err) => console.error("[wizelens-cloud] usage flush failed:", err));
|
|
132
155
|
await mailer.close();
|
|
133
156
|
await telemetry.close();
|
|
134
157
|
await db.close();
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAA0D,MAAM,WAAW,CAAC;AAEjG,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAuC,aAAa,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAY,OAAO,CAAC,iBAAiB,CAAyB,CAAC,OAAO,CAAC;AACjG,MAAM,IAAI,GAAG,YAAY,CAAC;AAmB1B,0GAA0G;AAC1G,MAAM,iBAAiB,GAAG,CAAC,GAAoB,EAAE,GAAW,EAAE,EAAE,CAC9D,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,YAAY,CAAC;AAEhI,KAAK,UAAU,SAAS,CAAC,CAAQ,EAAE,GAAQ,EAAE,GAAW;IACtD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IACzB,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACrF,6DAA6D;IAC7D,IAAI,GAAG,KAAK,mBAAmB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;IACpF,qGAAqG;IACrG,IAAI,GAAG,KAAK,gBAAgB,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACvG,IAAI,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,WAAW;QAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC;IACvJ,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,EAAE,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,KAAK;QAAE,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAClH,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,KAAK,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACxF,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,CAAQ,EAAE,GAAoB,EAAE,GAAmB;IACtE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,oBAAoB,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC1B,MAAM,GAAG,GAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC3D,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,KAAK,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC/G,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,cAAc,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9E,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACvF,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,OAAO,CAAC,GAAY,EAAE,GAAmB;IAChD,IAAI,GAAG,CAAC,WAAW;QAAE,OAAO,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;IAC3C,IAAI,GAAG,YAAY,SAAS;QAAE,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/settle.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Statement, type TraceState } from "@wizeworks/lens-core";
|
|
1
|
+
import { type FactOptions, type Statement, type TraceState } from "@wizeworks/lens-core";
|
|
2
2
|
import type { Db, Queryable } from "./db/db.js";
|
|
3
3
|
import type { SettleOptions } from "./telemetry/store.js";
|
|
4
4
|
/** Fact, rollup, and hist tables: everything settling builds. */
|
|
@@ -10,13 +10,16 @@ export interface TraceStateRow {
|
|
|
10
10
|
updated_ms?: number;
|
|
11
11
|
contrib: string | null;
|
|
12
12
|
retention_days: number | null;
|
|
13
|
+
log_retention_days?: number | null;
|
|
14
|
+
/** The project's settings JSON, when the settle reads it. */
|
|
15
|
+
settings?: string | null;
|
|
13
16
|
}
|
|
14
17
|
/** Run statements one by one, in the caller's transaction. */
|
|
15
18
|
export declare function runStatements(q: Queryable, statements: readonly Statement[]): Promise<void>;
|
|
16
|
-
export declare const stateOf: (r: TraceStateRow, defaultDays: number) => TraceState;
|
|
19
|
+
export declare const stateOf: (r: TraceStateRow, defaultDays: number, defaultFacts?: Partial<FactOptions>) => TraceState;
|
|
17
20
|
/** Settle dirty traces in batches until none are left or the budget is spent. Returns how many settled. */
|
|
18
21
|
export declare function settleCloud(db: Db, now: number, o?: SettleOptions): Promise<number>;
|
|
19
|
-
/** Age out rollup buckets: 10 s and 5 min by their keep time, 1 h by each organization's retention. */
|
|
22
|
+
/** Age out rollup buckets: 10 s and 5 min by their keep time, 1 h by each organization's retention (log kinds by the log retention, in pruneLogsByRetention). */
|
|
20
23
|
export declare function pruneRollups(q: Queryable, now: number, empties?: boolean): Promise<void>;
|
|
21
24
|
/** True when the stats were built by another facts version (or never). */
|
|
22
25
|
export declare function factsStale(db: Db): Promise<boolean>;
|
package/dist/settle.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settle.d.ts","sourceRoot":"","sources":["../src/settle.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"settle.d.ts","sourceRoot":"","sources":["../src/settle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAsG,KAAK,SAAS,EAAuB,KAAK,UAAU,EAAc,MAAM,sBAAsB,CAAC;AAC9N,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAW1D,iEAAiE;AACjE,eAAO,MAAM,YAAY,UAAwF,CAAC;AAElH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,8DAA8D;AAC9D,wBAAsB,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjG;AAED,eAAO,MAAM,OAAO,MAAO,aAAa,eAAe,MAAM,iBAAgB,OAAO,CAAC,WAAW,CAAC,KAAQ,UASvG,CAAC;AA6BH,2GAA2G;AAC3G,wBAAsB,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAU7F;AAED,iKAAiK;AACjK,wBAAsB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5F;AAED,0EAA0E;AAC1E,wBAAsB,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzD;AAED,yIAAyI;AACzI,wBAAsB,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAetD;AAED,2GAA2G;AAC3G,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAIhE"}
|
package/dist/settle.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { FACT_TABLES, FACTS_VERSION, PG_DIALECT, settleStatements, tierPruneStatements } from "@wizeworks/lens-core";
|
|
1
|
+
import { FACT_TABLES, FACTS_VERSION, factOptionsOf, LOG_KINDS_SQL, PG_DIALECT, settingsOf, settleStatements, tierPruneStatements } from "@wizeworks/lens-core";
|
|
2
2
|
import { loadTraces } from "./repo/trace-read.js";
|
|
3
|
+
import { KEEP_DAYS } from "./repo/settings.js";
|
|
3
4
|
// Settling: traces quiet for a while get their facts and rollups rebuilt from the stored spans and logs (docs/CONTRACT.md).
|
|
4
5
|
const BATCH = 500;
|
|
5
6
|
const BUDGET_MS = 2_000;
|
|
@@ -15,13 +16,15 @@ export async function runStatements(q, statements) {
|
|
|
15
16
|
for (const s of statements)
|
|
16
17
|
await q.query(s.sql, s.params);
|
|
17
18
|
}
|
|
18
|
-
export const stateOf = (r, defaultDays) => ({
|
|
19
|
+
export const stateOf = (r, defaultDays, defaultFacts = {}) => ({
|
|
19
20
|
traceId: r.trace_id,
|
|
20
21
|
project: r.project_id,
|
|
21
22
|
env: r.env,
|
|
22
23
|
updatedMs: r.updated_ms ?? 0,
|
|
23
24
|
contrib: r.contrib,
|
|
24
25
|
retentionMs: (r.retention_days ?? defaultDays) * DAY_MS,
|
|
26
|
+
logRetentionMs: (r.log_retention_days ?? r.retention_days ?? defaultDays) * DAY_MS,
|
|
27
|
+
facts: { ...defaultFacts, ...factOptionsOf(settingsOf(r.settings)) },
|
|
25
28
|
});
|
|
26
29
|
async function loadAll(q, rows) {
|
|
27
30
|
const byProject = new Map();
|
|
@@ -34,18 +37,18 @@ async function loadAll(q, rows) {
|
|
|
34
37
|
return out;
|
|
35
38
|
}
|
|
36
39
|
/** Settle one batch in one transaction. -1 when another instance holds the lock. */
|
|
37
|
-
async function settleBatch(db, now, batch, defaultDays) {
|
|
40
|
+
async function settleBatch(db, now, batch, defaultDays, defaultFacts) {
|
|
38
41
|
return db.tx(async (q) => {
|
|
39
42
|
const [lock] = await q.query("SELECT pg_try_advisory_xact_lock($1) AS ok", [LOCK]);
|
|
40
43
|
if (!lock?.ok)
|
|
41
44
|
return { n: -1, projects: [] };
|
|
42
|
-
const rows = await q.query(`SELECT t.project_id, t.trace_id, t.env, t.updated_ms, t.contrib,
|
|
45
|
+
const rows = await q.query(`SELECT t.project_id, t.trace_id, t.env, t.updated_ms, t.contrib, ${KEEP_DAYS} AS retention_days, p.log_retention_days, p.settings FROM traces t
|
|
43
46
|
LEFT JOIN projects p ON p.id = t.project_id LEFT JOIN orgs o ON o.id = p.org_id
|
|
44
47
|
WHERE t.settled_ms < t.updated_ms AND (t.updated_ms <= $1 OR t.settled_ms <= $2) ORDER BY t.start_ms DESC LIMIT $3`, [now - QUIET_MS, now - BUSY_MS, batch]);
|
|
45
48
|
if (!rows.length)
|
|
46
49
|
return { n: 0, projects: [] };
|
|
47
50
|
const traces = await loadAll(q, rows);
|
|
48
|
-
const work = rows.map((r) => ({ state: stateOf(r, defaultDays), trace: traces.get(`${r.project_id} ${r.trace_id}`) }));
|
|
51
|
+
const work = rows.map((r) => ({ state: stateOf(r, defaultDays, defaultFacts), trace: traces.get(`${r.project_id} ${r.trace_id}`) }));
|
|
49
52
|
await runStatements(q, settleStatements(PG_DIALECT, work, now, true));
|
|
50
53
|
return { n: rows.length, projects: [...new Set(rows.map((r) => r.project_id))] };
|
|
51
54
|
});
|
|
@@ -56,7 +59,7 @@ export async function settleCloud(db, now, o = {}) {
|
|
|
56
59
|
const batch = o.batch ?? BATCH;
|
|
57
60
|
let total = 0;
|
|
58
61
|
for (;;) {
|
|
59
|
-
const { n, projects } = await settleBatch(db, now, batch, o.defaultRetentionDays ?? 30);
|
|
62
|
+
const { n, projects } = await settleBatch(db, now, batch, o.defaultRetentionDays ?? 30, o.defaultFacts);
|
|
60
63
|
if (n > 0)
|
|
61
64
|
total += n;
|
|
62
65
|
for (const p of projects)
|
|
@@ -65,11 +68,11 @@ export async function settleCloud(db, now, o = {}) {
|
|
|
65
68
|
return total;
|
|
66
69
|
}
|
|
67
70
|
}
|
|
68
|
-
/** Age out rollup buckets: 10 s and 5 min by their keep time, 1 h by each organization's retention. */
|
|
71
|
+
/** Age out rollup buckets: 10 s and 5 min by their keep time, 1 h by each organization's retention (log kinds by the log retention, in pruneLogsByRetention). */
|
|
69
72
|
export async function pruneRollups(q, now, empties = false) {
|
|
70
73
|
await runStatements(q, tierPruneStatements(now, empties));
|
|
71
74
|
for (const t of ["rollup_1h", "hist_1h"]) {
|
|
72
|
-
await q.query(`DELETE FROM ${t} r USING projects p, orgs o WHERE p.id = r.project_id AND o.id = p.org_id AND r.bucket_ms <= $1 -
|
|
75
|
+
await q.query(`DELETE FROM ${t} r USING projects p, orgs o WHERE p.id = r.project_id AND o.id = p.org_id AND r.bucket_ms <= $1 - ${KEEP_DAYS} * 86400000.0 AND r.kind NOT IN (${LOG_KINDS_SQL})`, [now - 3_600_000]);
|
|
73
76
|
}
|
|
74
77
|
}
|
|
75
78
|
/** True when the stats were built by another facts version (or never). */
|
package/dist/settle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settle.js","sourceRoot":"","sources":["../src/settle.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"settle.js","sourceRoot":"","sources":["../src/settle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import type { RetentionOf } from "../store.js";
|
|
2
2
|
import type { ChClient } from "./http.js";
|
|
3
3
|
import type { SettleQueue } from "./queue.js";
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import { type Rebuild } from "./rebuild.js";
|
|
5
|
+
/** When the facts version changed: empty the stats and settle every trace again, a page at a time. True when it did. */
|
|
6
|
+
export declare function checkFactsVersionCh(ch: ChClient, rebuild: Rebuild): Promise<boolean>;
|
|
6
7
|
/** Delete every row of a project, in every table. */
|
|
7
8
|
export declare function clearProjectCh(ch: ChClient, queue: SettleQueue, projectId: string): Promise<void>;
|
|
8
|
-
/** Retention runs out by TTL. Here: drop projects deleted in Postgres, and follow retention changes. */
|
|
9
|
-
export declare function syncProjects(ch: ChClient, queue: SettleQueue, retentionOf:
|
|
9
|
+
/** Retention runs out by TTL. Here: drop projects deleted in Postgres, and follow retention changes (traces and logs). */
|
|
10
|
+
export declare function syncProjects(ch: ChClient, queue: SettleQueue, retentionOf: {
|
|
11
|
+
days: RetentionOf;
|
|
12
|
+
logDays: RetentionOf;
|
|
13
|
+
}, now: number): Promise<void>;
|
|
10
14
|
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../src/telemetry/ch/admin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../src/telemetry/ch/admin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAkBxD,wHAAwH;AACxH,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ1F;AAED,qDAAqD;AACrD,wBAAsB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvG;AA8BD,0HAA0H;AAC1H,wBAAsB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAezJ"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// ClickHouse upkeep: the facts version, clearing projects, retention changes, and projects that no longer exist.
|
|
2
|
-
import { FACTS_VERSION, TIERS } from "@wizeworks/lens-core";
|
|
2
|
+
import { FACTS_VERSION, LOG_KINDS_SQL, LOOSE_TRACE_PREFIX, TIERS } from "@wizeworks/lens-core";
|
|
3
|
+
import { ensureMeta } from "./rebuild.js";
|
|
3
4
|
import { PROJECT_TABLES } from "./schema.js";
|
|
4
5
|
import { DAY_MS, nextVer } from "./util.js";
|
|
5
6
|
/** Tables built by settling: emptied when the facts version changes. */
|
|
@@ -14,15 +15,15 @@ const EXPIRE_FROM = {
|
|
|
14
15
|
fact_requests_t: "start_ms", fact_traces_t: "start_ms", fact_logs_t: "time_ms", fact_critical_t: "start_ms", fact_search_t: "time_ms", fact_attrs_t: "time_ms",
|
|
15
16
|
rollup_1h_t: "bucket_ms", hist_1h_t: "bucket_ms", metric_1h_t: "bucket_ms",
|
|
16
17
|
};
|
|
17
|
-
/** When the facts version changed: empty the stats and
|
|
18
|
-
export async function checkFactsVersionCh(ch,
|
|
19
|
-
await ch
|
|
18
|
+
/** When the facts version changed: empty the stats and settle every trace again, a page at a time. True when it did. */
|
|
19
|
+
export async function checkFactsVersionCh(ch, rebuild) {
|
|
20
|
+
await ensureMeta(ch);
|
|
20
21
|
const [row] = await ch.query("SELECT value FROM ch_meta FINAL WHERE key = 'facts'");
|
|
21
22
|
if (row?.value === String(FACTS_VERSION))
|
|
22
23
|
return false;
|
|
23
24
|
for (const t of STATS)
|
|
24
25
|
await ch.command(`TRUNCATE TABLE IF EXISTS ${t}`);
|
|
25
|
-
await
|
|
26
|
+
await rebuild.start();
|
|
26
27
|
await ch.insert("ch_meta", [{ key: "facts", value: String(FACTS_VERSION), ver: nextVer(Date.now()) }]);
|
|
27
28
|
return true;
|
|
28
29
|
}
|
|
@@ -32,33 +33,49 @@ export async function clearProjectCh(ch, queue, projectId) {
|
|
|
32
33
|
for (const t of PROJECT_TABLES)
|
|
33
34
|
await ch.command(`DELETE FROM ${t} WHERE project_id = {p1:String}`, [projectId], { lightweight_deletes_sync: "0" });
|
|
34
35
|
}
|
|
35
|
-
/** Projects with telemetry here, with the retention their rows were written with. */
|
|
36
|
+
/** Projects with telemetry here, with the retention (trace and log days) their rows were written with. */
|
|
36
37
|
async function knownProjects(ch) {
|
|
37
38
|
const ids = await ch.query("SELECT DISTINCT project_id FROM trace_heads UNION DISTINCT SELECT DISTINCT project_id FROM metric_series_t");
|
|
38
|
-
const kept = await ch.query("SELECT project_id, days FROM project_retention FINAL");
|
|
39
|
-
const days = new Map(kept.map((r) => [r.project_id, r.days]));
|
|
39
|
+
const kept = await ch.query("SELECT project_id, days, if(log_days = 0, days, log_days) AS log_days FROM project_retention FINAL");
|
|
40
|
+
const days = new Map(kept.map((r) => [r.project_id, { days: Number(r.days), logDays: Number(r.log_days) }]));
|
|
40
41
|
return new Map(ids.map((r) => [r.project_id, days.get(r.project_id) ?? null]));
|
|
41
42
|
}
|
|
43
|
+
const LOOSE = `startsWith(trace_id, '${LOOSE_TRACE_PREFIX}')`;
|
|
44
|
+
const LOG_ROW = { logs_raw: "1", fact_logs_t: "1", fact_search_t: "kind = 'logs'", fact_attrs_t: "src = 'l'" };
|
|
45
|
+
/** The days a table's row is kept, as SQL: log rows by the log days (never past their trace in a request), loose batches and log kinds by the log days. */
|
|
46
|
+
function daysSql(table) {
|
|
47
|
+
if (table in LOG_ROW)
|
|
48
|
+
return `if(${LOOSE}, {p3:Float64}, if(${LOG_ROW[table]}, least({p2:Float64}, {p3:Float64}), {p2:Float64}))`;
|
|
49
|
+
if (table === "trace_heads" || table === "settle_state" || table.startsWith("fact_"))
|
|
50
|
+
return `if(${LOOSE}, {p3:Float64}, {p2:Float64})`;
|
|
51
|
+
if (table === "rollup_1h_t" || table === "hist_1h_t")
|
|
52
|
+
return `if(kind IN (${LOG_KINDS_SQL}), {p3:Float64}, {p2:Float64})`;
|
|
53
|
+
return "{p2:Float64}";
|
|
54
|
+
}
|
|
42
55
|
/** A new retention for a project's existing rows: their expiry moves (a mutation, run in the background). */
|
|
43
|
-
async function moveExpiry(ch, projectId,
|
|
56
|
+
async function moveExpiry(ch, projectId, k) {
|
|
44
57
|
for (const [table, col] of Object.entries(EXPIRE_FROM)) {
|
|
45
|
-
await ch.command(`ALTER TABLE ${table} UPDATE expire_ms = ${col} + {
|
|
58
|
+
await ch.command(`ALTER TABLE ${table} UPDATE expire_ms = ${col} + ${daysSql(table)} WHERE project_id = {p1:String}`, [projectId, k.days * DAY_MS, k.logDays * DAY_MS]);
|
|
46
59
|
}
|
|
47
60
|
}
|
|
48
|
-
/** Retention runs out by TTL. Here: drop projects deleted in Postgres, and follow retention changes. */
|
|
61
|
+
/** Retention runs out by TTL. Here: drop projects deleted in Postgres, and follow retention changes (traces and logs). */
|
|
49
62
|
export async function syncProjects(ch, queue, retentionOf, now) {
|
|
50
63
|
const known = await knownProjects(ch);
|
|
51
64
|
if (!known.size)
|
|
52
65
|
return;
|
|
53
|
-
const current = await retentionOf([...known.keys()]);
|
|
66
|
+
const current = await retentionOf.days([...known.keys()]);
|
|
67
|
+
const currentLog = await retentionOf.logDays([...known.keys()]);
|
|
54
68
|
for (const [id, had] of known) {
|
|
55
69
|
const days = current.get(id);
|
|
56
70
|
if (days === undefined)
|
|
57
71
|
await clearProjectCh(ch, queue, id);
|
|
58
|
-
else
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
72
|
+
else {
|
|
73
|
+
const k = { days, logDays: currentLog.get(id) ?? days };
|
|
74
|
+
if (had && had.days === k.days && had.logDays === k.logDays)
|
|
75
|
+
continue;
|
|
76
|
+
if (had)
|
|
77
|
+
await moveExpiry(ch, id, k);
|
|
78
|
+
await ch.insert("project_retention", [{ project_id: id, days: k.days, log_days: k.logDays, ver: nextVer(now) }]);
|
|
62
79
|
}
|
|
63
80
|
}
|
|
64
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../src/telemetry/ch/admin.ts"],"names":[],"mappings":"AAAA,iHAAiH;AACjH,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../src/telemetry/ch/admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,13 +22,15 @@ export declare class SettleQueue {
|
|
|
22
22
|
release(items: readonly Dirty[]): void;
|
|
23
23
|
/** Settled as of `updatedMs`: done unless something newer came in since. */
|
|
24
24
|
settled(d: Dirty, updatedMs: number): void;
|
|
25
|
-
/** How many traces of a project (optionally one environment) still wait. */
|
|
26
|
-
count(project: string, env?: string): number;
|
|
25
|
+
/** How many traces of a project (optionally one environment, last written at or before `before`) still wait. */
|
|
26
|
+
count(project: string, env?: string, before?: number): number;
|
|
27
27
|
clear(project?: string): void;
|
|
28
28
|
get size(): number;
|
|
29
29
|
/** On start: traces written lately that never settled (or changed after), from the update log. */
|
|
30
30
|
recover(ch: ChClient, now: number): Promise<number>;
|
|
31
|
-
/**
|
|
32
|
-
|
|
31
|
+
/** A trace whose stats are rebuilt from scratch (see `Rebuild`). Returns its key. */
|
|
32
|
+
requeue(project: string, traceId: string, env: string, updatedMs: number): string;
|
|
33
|
+
/** The trace with this key still waits. */
|
|
34
|
+
has(key: string): boolean;
|
|
33
35
|
}
|
|
34
36
|
//# sourceMappingURL=queue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/telemetry/ch/queue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;IAClD,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAE1C,6BAA6B;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAKtE;IAED,iFAAiF;IACjF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,CAGvC;IAED,+HAA+H;IAC/H,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,CAIxC;IAED,wDAAwD;IACxD,OAAO,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,GAAG,IAAI,CAErC;IAED,4EAA4E;IAC5E,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAOzC;IAED,
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/telemetry/ch/queue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;IAClD,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAE1C,6BAA6B;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAKtE;IAED,iFAAiF;IACjF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,CAGvC;IAED,+HAA+H;IAC/H,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,CAIxC;IAED,wDAAwD;IACxD,OAAO,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,GAAG,IAAI,CAErC;IAED,4EAA4E;IAC5E,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAOzC;IAED,gHAAgH;IAChH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,SAAW,GAAG,MAAM,CAI9D;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAE5B;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,kGAAkG;IAC5F,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASxD;IAED,qFAAqF;IACrF,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKhF;IAED,2CAA2C;IAC3C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAExB;CACF"}
|
|
@@ -43,11 +43,11 @@ export class SettleQueue {
|
|
|
43
43
|
else
|
|
44
44
|
it.settledMs = updatedMs;
|
|
45
45
|
}
|
|
46
|
-
/** How many traces of a project (optionally one environment) still wait. */
|
|
47
|
-
count(project, env) {
|
|
46
|
+
/** How many traces of a project (optionally one environment, last written at or before `before`) still wait. */
|
|
47
|
+
count(project, env, before = Infinity) {
|
|
48
48
|
let n = 0;
|
|
49
49
|
for (const d of this.items.values())
|
|
50
|
-
if (d.project === project && (!env || d.env === env))
|
|
50
|
+
if (d.project === project && (!env || d.env === env) && d.updatedMs <= before)
|
|
51
51
|
n++;
|
|
52
52
|
return n;
|
|
53
53
|
}
|
|
@@ -68,12 +68,16 @@ export class SettleQueue {
|
|
|
68
68
|
this.items.set(`${r.project_id} ${r.trace_id}`, { project: r.project_id, traceId: r.trace_id, env: r.env, updatedMs: r.u, settledMs: r.s });
|
|
69
69
|
return rows.length;
|
|
70
70
|
}
|
|
71
|
-
/**
|
|
72
|
-
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return
|
|
71
|
+
/** A trace whose stats are rebuilt from scratch (see `Rebuild`). Returns its key. */
|
|
72
|
+
requeue(project, traceId, env, updatedMs) {
|
|
73
|
+
const k = `${project} ${traceId}`;
|
|
74
|
+
const it = this.items.get(k);
|
|
75
|
+
this.items.set(k, { project, traceId, env: it?.env || env, updatedMs: Math.max(it?.updatedMs ?? 0, updatedMs), settledMs: 0 });
|
|
76
|
+
return k;
|
|
77
|
+
}
|
|
78
|
+
/** The trace with this key still waits. */
|
|
79
|
+
has(key) {
|
|
80
|
+
return this.items.has(key);
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
83
|
//# sourceMappingURL=queue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/telemetry/ch/queue.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/telemetry/ch/queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/telemetry/ch/read.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/telemetry/ch/read.ts"],"names":[],"mappings":"AACA,OAAO,EAA6D,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAyB1C,8EAA8E;AAC9E,wBAAsB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAM9F;AAWD,0GAA0G;AAC1G,wBAAsB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CASpH;AAED,4DAA4D;AAC5D,wBAAsB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAGrH;AAED,mHAAmH;AACnH,wBAAsB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAIxI"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Trace reads on ClickHouse: lists from the bounds table, whole traces from the raw spans and logs.
|
|
2
|
-
import { buildTrace } from "@wizeworks/lens-core";
|
|
2
|
+
import { buildTrace, LOOSE_TRACE_PREFIX } from "@wizeworks/lens-core";
|
|
3
3
|
const CHUNK = 500;
|
|
4
4
|
/** Lists look back this far first, and further only when they find too few traces. */
|
|
5
5
|
const LOOKBACKS_MS = [3_600_000, 86_400_000, 7 * 86_400_000, Number.POSITIVE_INFINITY];
|
|
@@ -16,6 +16,8 @@ async function idsWithin(ch, t, now, backMs) {
|
|
|
16
16
|
rows.push(`start_ms < ${p(t.before, "Float64")}`);
|
|
17
17
|
if (t.session)
|
|
18
18
|
rows.push(`trace_id IN (SELECT trace_id FROM spans_raw WHERE project_id = {p1:String} AND session = ${p(t.session, "String")})`);
|
|
19
|
+
if (t.noLoose)
|
|
20
|
+
rows.push(`NOT startsWith(trace_id, ${p(LOOSE_TRACE_PREFIX, "String")})`);
|
|
19
21
|
const having = ["1"];
|
|
20
22
|
if (t.from !== undefined)
|
|
21
23
|
having.push(`s >= ${p(t.from, "Float64")}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/telemetry/ch/read.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/telemetry/ch/read.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ChClient } from "./http.js";
|
|
2
|
+
import type { SettleQueue } from "./queue.js";
|
|
3
|
+
export declare const ensureMeta: (ch: ChClient) => Promise<void>;
|
|
4
|
+
export declare class Rebuild {
|
|
5
|
+
private readonly ch;
|
|
6
|
+
private readonly queue;
|
|
7
|
+
private at;
|
|
8
|
+
private readonly size;
|
|
9
|
+
/** Keys of the page in the queue now; the next page loads when they are all settled. */
|
|
10
|
+
private page;
|
|
11
|
+
/** The current page is the last one. */
|
|
12
|
+
private ended;
|
|
13
|
+
private loading;
|
|
14
|
+
private constructor();
|
|
15
|
+
/** Picks up a rebuild a restart cut short, from its last settled page. */
|
|
16
|
+
static open(ch: ChClient, queue: SettleQueue, size?: number): Promise<Rebuild>;
|
|
17
|
+
/** Every trace settles again, from the first. */
|
|
18
|
+
start(): Promise<void>;
|
|
19
|
+
/** Before each settle run: when the current page is done, save the place and queue the next page. */
|
|
20
|
+
refill(): Promise<void>;
|
|
21
|
+
private next;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=rebuild.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rebuild.d.ts","sourceRoot":"","sources":["../../../src/telemetry/ch/rebuild.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAU9C,eAAO,MAAM,UAAU,OAAQ,QAAQ,kBACgG,CAAC;AAIxI,qBAAa,OAAO;IAQhB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ,CAAC,IAAI;IAVvB,wFAAwF;IACxF,OAAO,CAAC,IAAI,CAAgB;IAC5B,wCAAwC;IACxC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,eAKH;IAEJ,0EAA0E;IAC1E,OAAa,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAIjF;IAED,iDAAiD;IAC3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAK3B;IAED,qGAAqG;IAC/F,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAY5B;YAEa,IAAI;CAWnB"}
|