@adonis-agora/telescope 0.23.0 → 0.24.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.
Files changed (101) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/src/ai/index.d.ts +1 -1
  3. package/dist/src/ai/index.js +1 -1
  4. package/dist/src/alerts/index.d.ts +1 -1
  5. package/dist/src/alerts/index.js +1 -1
  6. package/dist/src/index.d.ts +1 -1
  7. package/dist/src/index.js +1 -1
  8. package/dist/src/mcp/index.d.ts +1 -1
  9. package/dist/src/mcp/index.js +1 -1
  10. package/dist/src/metrics/metrics_service.d.ts +5 -0
  11. package/dist/src/metrics/metrics_service.d.ts.map +1 -1
  12. package/dist/src/metrics/metrics_service.js +32 -4
  13. package/dist/src/metrics/metrics_service.js.map +1 -1
  14. package/dist/src/metrics/pulse.d.ts +8 -0
  15. package/dist/src/metrics/pulse.d.ts.map +1 -1
  16. package/dist/src/metrics/pulse.js +125 -37
  17. package/dist/src/metrics/pulse.js.map +1 -1
  18. package/dist/src/metrics/stats.d.ts +2 -0
  19. package/dist/src/metrics/stats.d.ts.map +1 -1
  20. package/dist/src/metrics/stats.js +8 -3
  21. package/dist/src/metrics/stats.js.map +1 -1
  22. package/dist/src/otel/otel_exporting_store.d.ts +1 -1
  23. package/dist/src/otel/otel_exporting_store.d.ts.map +1 -1
  24. package/dist/src/otel/otel_exporting_store.js +2 -0
  25. package/dist/src/otel/otel_exporting_store.js.map +1 -1
  26. package/dist/src/profiling/index.d.ts +1 -1
  27. package/dist/src/profiling/index.js +1 -1
  28. package/dist/src/redaction/redact.d.ts.map +1 -1
  29. package/dist/src/redaction/redact.js +28 -4
  30. package/dist/src/redaction/redact.js.map +1 -1
  31. package/dist/src/redaction/redacting_store.d.ts +1 -1
  32. package/dist/src/redaction/redacting_store.d.ts.map +1 -1
  33. package/dist/src/redaction/redacting_store.js +2 -0
  34. package/dist/src/redaction/redacting_store.js.map +1 -1
  35. package/dist/src/sampling/sampling_store.d.ts +1 -1
  36. package/dist/src/sampling/sampling_store.d.ts.map +1 -1
  37. package/dist/src/sampling/sampling_store.js +6 -1
  38. package/dist/src/sampling/sampling_store.js.map +1 -1
  39. package/dist/src/self_scope.d.ts +5 -0
  40. package/dist/src/self_scope.d.ts.map +1 -0
  41. package/dist/src/self_scope.js +28 -0
  42. package/dist/src/self_scope.js.map +1 -0
  43. package/dist/src/service.d.ts.map +1 -1
  44. package/dist/src/service.js +9 -2
  45. package/dist/src/service.js.map +1 -1
  46. package/dist/src/store.d.ts +46 -0
  47. package/dist/src/store.d.ts.map +1 -1
  48. package/dist/src/store.js +16 -1
  49. package/dist/src/store.js.map +1 -1
  50. package/dist/src/stores/lucid.d.ts +73 -28
  51. package/dist/src/stores/lucid.d.ts.map +1 -1
  52. package/dist/src/stores/lucid.js +487 -183
  53. package/dist/src/stores/lucid.js.map +1 -1
  54. package/dist/src/stores/memory.d.ts +3 -1
  55. package/dist/src/stores/memory.d.ts.map +1 -1
  56. package/dist/src/stores/memory.js +29 -0
  57. package/dist/src/stores/memory.js.map +1 -1
  58. package/dist/src/stores/tiered.d.ts +9 -4
  59. package/dist/src/stores/tiered.d.ts.map +1 -1
  60. package/dist/src/stores/tiered.js +34 -11
  61. package/dist/src/stores/tiered.js.map +1 -1
  62. package/dist/src/stream/streaming_store.d.ts +1 -1
  63. package/dist/src/stream/streaming_store.d.ts.map +1 -1
  64. package/dist/src/stream/streaming_store.js +2 -0
  65. package/dist/src/stream/streaming_store.js.map +1 -1
  66. package/dist/src/telescope_middleware.d.ts.map +1 -1
  67. package/dist/src/telescope_middleware.js +20 -11
  68. package/dist/src/telescope_middleware.js.map +1 -1
  69. package/dist/src/ui/index.d.ts +1 -1
  70. package/dist/src/ui/index.js +1 -1
  71. package/dist/src/watchers/cache_watcher.js +1 -1
  72. package/dist/src/watchers/cache_watcher.js.map +1 -1
  73. package/dist/src/watchers/events_watcher.js +1 -1
  74. package/dist/src/watchers/events_watcher.js.map +1 -1
  75. package/dist/src/watchers/http_client_watcher.js +1 -1
  76. package/dist/src/watchers/http_client_watcher.js.map +1 -1
  77. package/dist/src/watchers/index.d.ts +1 -1
  78. package/dist/src/watchers/index.js +1 -1
  79. package/dist/src/watchers/logs_watcher.js +1 -1
  80. package/dist/src/watchers/logs_watcher.js.map +1 -1
  81. package/dist/src/watchers/lucid_query_watcher.d.ts.map +1 -1
  82. package/dist/src/watchers/lucid_query_watcher.js +8 -2
  83. package/dist/src/watchers/lucid_query_watcher.js.map +1 -1
  84. package/dist/src/watchers/mail_watcher.js +1 -1
  85. package/dist/src/watchers/mail_watcher.js.map +1 -1
  86. package/dist/src/watchers/profiling_watcher.js +1 -1
  87. package/dist/src/watchers/profiling_watcher.js.map +1 -1
  88. package/dist/src/watchers/queue_watcher.js +1 -1
  89. package/dist/src/watchers/queue_watcher.js.map +1 -1
  90. package/dist/src/watchers/record.d.ts +5 -1
  91. package/dist/src/watchers/record.d.ts.map +1 -1
  92. package/dist/src/watchers/record.js +10 -1
  93. package/dist/src/watchers/record.js.map +1 -1
  94. package/dist/src/watchers/redis_watcher.js +1 -1
  95. package/dist/src/watchers/redis_watcher.js.map +1 -1
  96. package/dist/src/watchers/schedule_watcher.js +1 -1
  97. package/dist/src/watchers/schedule_watcher.js.map +1 -1
  98. package/dist/stubs/database/migrations/create_telescope_entries_table.stub +2 -2
  99. package/package.json +10 -9
  100. package/skills/telescope-storage-retention/SKILL.md +6 -3
  101. package/skills/telescope-watchers/SKILL.md +7 -5
@@ -1,5 +1,5 @@
1
1
  import { type Entry, type RecordInput } from '../entry.js';
2
- import type { BucketCountQuery, BucketCountRow, EntryQuery, TelescopeStore, TraceIdQuery, TraceIdRow } from '../store.js';
2
+ import type { BucketCountQuery, BucketCountRow, EntryQuery, FamilyCountQuery, KeyCountRow, TagCountQuery, TelescopeStore, TraceIdQuery, TraceIdRow } from '../store.js';
3
3
  /**
4
4
  * The table {@link LucidTelescopeStore} reads and writes. Override via
5
5
  * {@link LucidStoreOptions.tableName} when `telescope_entries` collides with an
@@ -33,12 +33,13 @@ export interface TelescopeColumns {
33
33
  * indexes `list` / `prune` / `topFamilies` lean on, as one statement per array
34
34
  * element so each can be issued through Lucid's `rawQuery`.
35
35
  *
36
- * Portable across sqlite / Postgres / MySQL (quoted identifiers, no dialect-only
37
- * column types). A real deployment should still prefer the bundled migration stub
36
+ * Identifiers are double-quoted (sqlite / Postgres) unless `dialect` is a Lucid
37
+ * MySQL dialect name (`mysql` / `mysql2`), which gets backticks and plain
38
+ * `CREATE INDEX`; the column types are portable. A real deployment should still prefer the bundled migration stub
38
39
  * so the schema is versioned, but this lets a store stand itself up in tests and
39
40
  * scripts without a migration runner.
40
41
  */
41
- export declare function createTableStatements(tableName?: string): string[];
42
+ export declare function createTableStatements(tableName?: string, dialect?: string): string[];
42
43
  /**
43
44
  * The marker table backing the fingerprint gate. One row PER owned entries table
44
45
  * (keyed by that table's name, so two telescope tables in one database never
@@ -60,6 +61,16 @@ export interface LucidDatabaseLike {
60
61
  table(table: string): LucidInsertBuilderLike;
61
62
  /** Run a raw SQL statement (DDL, `MAX(sequence)` seed). */
62
63
  rawQuery(sql: string, bindings?: unknown[]): Promise<unknown>;
64
+ /** The dialect, when this is a single connection client. Picks the DDL's identifier quoting. */
65
+ dialect?: {
66
+ name: string;
67
+ };
68
+ /** The default connection, when this is the `Database` facade. */
69
+ connection?(): {
70
+ dialect?: {
71
+ name: string;
72
+ };
73
+ };
63
74
  }
64
75
  /** The structural query-builder surface the store leans on (Knex-shaped). */
65
76
  export interface LucidQueryBuilderLike {
@@ -70,6 +81,8 @@ export interface LucidQueryBuilderLike {
70
81
  whereNotNull(column: string): this;
71
82
  orderBy(column: string, direction: 'asc' | 'desc'): this;
72
83
  groupBy(...columns: string[]): this;
84
+ /** Group by an expression. Optional: without it, `countByBucket` buckets rows in JS. */
85
+ groupByRaw?(sql: string, bindings?: unknown[]): this;
73
86
  limit(value: number): this;
74
87
  offset(value: number): this;
75
88
  /** Aggregate MAX with an alias, e.g. `max('created_at as last_at')`. Chainable so it
@@ -81,7 +94,8 @@ export interface LucidQueryBuilderLike {
81
94
  first(): Promise<Record<string, unknown> | null>;
82
95
  }
83
96
  export interface LucidInsertBuilderLike {
84
- insert(row: Record<string, unknown>): Promise<unknown>;
97
+ /** Insert one row, or several in one statement. */
98
+ insert(row: Record<string, unknown> | Record<string, unknown>[]): Promise<unknown>;
85
99
  }
86
100
  /** Options for {@link LucidTelescopeStore} (and the `storage.lucid` factory). */
87
101
  export interface LucidStoreOptions {
@@ -110,6 +124,15 @@ export interface LucidStoreOptions {
110
124
  * `sequence` is seeded from `MAX(sequence)` on first use so it keeps climbing
111
125
  * across process restarts.
112
126
  *
127
+ * Writes are buffered: every entry recorded during one tick of the event loop goes
128
+ * out in one multi-row INSERT (split to stay under each dialect's bind limit), one
129
+ * statement at a time, so the store never holds more than one pooled connection
130
+ * for writing and a burst of watcher events costs a handful of round trips instead
131
+ * of one each. `record()` still resolves once its entry is persisted.
132
+ *
133
+ * Every query the store runs is marked as telescope's own work (see
134
+ * `self_scope.ts`), so the query watcher never records them.
135
+ *
113
136
  * Usually you don't construct this directly: `config/telescope.ts` selects it via
114
137
  * `storage.lucid({ ... })` and the provider builds it for you, lazily importing
115
138
  * `@adonisjs/lucid` only when the `lucid` driver is the active one.
@@ -122,16 +145,17 @@ export declare class LucidTelescopeStore implements TelescopeStore {
122
145
  /** Lazily-resolved init (table creation + sequence seed), run at most once. */
123
146
  private ready;
124
147
  private sequence;
125
- /**
126
- * Single-flight write chain: every `record()` insert is queued behind the previous one so the
127
- * store holds at most ONE pooled connection at a time. A burst of watcher events can therefore
128
- * never exhaust the host app's connection pool (which telescope may share). Reads
129
- * (`get`/`list`/`prune`) are user-initiated and low-frequency, so they are intentionally NOT
130
- * serialized.
131
- */
132
- private writeTail;
148
+ private pending;
149
+ /** The running drain, while one is scheduled or writing. */
150
+ private draining;
151
+ private dropped;
152
+ private warnedDrop;
133
153
  constructor(db: LucidDatabaseLike, options?: LucidStoreOptions);
134
154
  record<TContent>(input: RecordInput<TContent>): Promise<Entry<TContent>>;
155
+ /** Entries dropped because the write buffer was full. */
156
+ get droppedCount(): number;
157
+ /** Resolves once every entry recorded so far has been written (or has failed). */
158
+ flush(): Promise<void>;
135
159
  get(id: string): Promise<Entry | null>;
136
160
  list(query?: EntryQuery): Promise<Entry[]>;
137
161
  /**
@@ -145,29 +169,50 @@ export declare class LucidTelescopeStore implements TelescopeStore {
145
169
  */
146
170
  listTraceIds(query: TraceIdQuery): Promise<TraceIdRow[]>;
147
171
  /**
148
- * Per-bucket, per-type counts for the throughput chart.
172
+ * Per-bucket, per-type counts for the throughput chart, grouped in SQL so one row
173
+ * per `(bucket, type)` leaves the database instead of one per entry.
149
174
  *
150
- * The win here is the PROJECTION, not the grouping: the chart needs `created_at`
151
- * and `type` and nothing else, but the only way to get them was `list()`, which
152
- * does `select('*')` — shipping every row's `content` JSON blob out of the database
153
- * and running it through `hydrate()`, to then discard all of it except a timestamp
154
- * and a string. Two scalar columns instead of a blob is orders of magnitude less
155
- * bytes on the wire and no per-row JSON parse.
156
- *
157
- * The bucketing itself stays in JS, deliberately. Doing it in SQL needs a raw
158
- * select expression (`(created_at - ?) / ?`), and Lucid exposes `groupByRaw` but no
159
- * `selectRaw` — the alternative is `rawQuery`, whose result shape differs per driver
160
- * (`{ rows }` on Postgres, an array on SQLite). Trading a portability bug for the
161
- * second-order win is a bad deal; the row count is what would justify it, and after
162
- * the redis-watcher filter that count drops by roughly an order of magnitude. If
163
- * this is still hot with a clean table, THAT is when it earns the raw query.
175
+ * The bucket is `(created_at - start) - ((created_at - start) % bucketMs)`: integer
176
+ * arithmetic every dialect evaluates the same way, where `/` would be integer
177
+ * division on some and decimal on MySQL. Each group reports its newest
178
+ * `created_at`, and the bucket index is computed from that in JS. A builder
179
+ * without `groupByRaw` gets the per-row projection, bucketed here.
164
180
  */
165
181
  countByBucket(query: BucketCountQuery): Promise<BucketCountRow[]>;
182
+ /**
183
+ * The busiest families, counted by `GROUP BY family_hash` — see
184
+ * {@link TelescopeStore.countFamilies}.
185
+ */
186
+ countFamilies(query: FamilyCountQuery): Promise<KeyCountRow[]>;
187
+ /**
188
+ * The most common tags — see {@link TelescopeStore.countTags}. Tags are JSON text,
189
+ * so they are counted here, reading only the `tags` column a page at a time in
190
+ * primary-key order.
191
+ */
192
+ countTags(query: TagCountQuery): Promise<KeyCountRow[]>;
166
193
  count(): Promise<number>;
194
+ /**
195
+ * Deletes oldest-first, {@link PRUNE_BATCH_ROWS} rows per statement, each batch
196
+ * addressed by its newest row's position rather than by id: a backlog of any size
197
+ * is pruned in bounded statements that never approach a bind limit.
198
+ */
167
199
  prune(olderThan: Date, keepLast?: number): Promise<number>;
168
200
  clear(): Promise<void>;
169
201
  /** Cap enforcement helper for callers running a scheduled trim. */
170
202
  get capacity(): number | null;
203
+ /** The first row of an ordered query, as a position. */
204
+ private position;
205
+ /** Start a drain on the next tick unless one is already running. */
206
+ private scheduleDrain;
207
+ /** Write the buffer out, batch by batch, until it is empty. */
208
+ private drain;
209
+ /** The oldest pending writes that fit one INSERT. */
210
+ private takeBatch;
211
+ /**
212
+ * One multi-row INSERT. When it fails, its rows are retried one at a time, so a
213
+ * row the database rejects fails only its own `record()`.
214
+ */
215
+ private writeBatch;
171
216
  /** Run table creation (optional) + sequence seeding exactly once. */
172
217
  private init;
173
218
  private doInit;
@@ -1 +1 @@
1
- {"version":3,"file":"lucid.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucid.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}