@adonis-agora/telescope 0.26.1 → 0.26.2
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/CHANGELOG.md +10 -0
- package/dist/src/ai/factory.d.ts.map +1 -1
- package/dist/src/ai/factory.js +26 -3
- package/dist/src/ai/factory.js.map +1 -1
- package/dist/src/ai/index.d.ts +1 -1
- package/dist/src/ai/index.js +1 -1
- package/dist/src/alerts/index.d.ts +1 -1
- package/dist/src/alerts/index.js +1 -1
- package/dist/src/client_errors/ingestor.d.ts.map +1 -1
- package/dist/src/client_errors/ingestor.js +3 -2
- package/dist/src/client_errors/ingestor.js.map +1 -1
- package/dist/src/diagnostics_watcher.d.ts.map +1 -1
- package/dist/src/diagnostics_watcher.js +12 -4
- package/dist/src/diagnostics_watcher.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/mcp/index.d.ts +1 -1
- package/dist/src/mcp/index.js +1 -1
- package/dist/src/profiling/index.d.ts +1 -1
- package/dist/src/profiling/index.js +1 -1
- package/dist/src/report_failure.d.ts +31 -0
- package/dist/src/report_failure.d.ts.map +1 -0
- package/dist/src/report_failure.js +70 -0
- package/dist/src/report_failure.js.map +1 -0
- package/dist/src/stores/lucid.d.ts +13 -2
- package/dist/src/stores/lucid.d.ts.map +1 -1
- package/dist/src/stores/lucid.js +85 -12
- package/dist/src/stores/lucid.js.map +1 -1
- package/dist/src/telescope_middleware.d.ts.map +1 -1
- package/dist/src/telescope_middleware.js +3 -2
- package/dist/src/telescope_middleware.js.map +1 -1
- package/dist/src/ui/index.d.ts +1 -1
- package/dist/src/ui/index.js +1 -1
- package/dist/src/watchers/index.d.ts +1 -1
- package/dist/src/watchers/index.js +1 -1
- package/dist/src/watchers/record.d.ts.map +1 -1
- package/dist/src/watchers/record.js +4 -2
- package/dist/src/watchers/record.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @adonis-agora/telescope
|
|
2
2
|
|
|
3
|
+
## 0.26.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#230](https://github.com/DavideCarvalho/adonis-agora-telescope/pull/230) [`311b22c`](https://github.com/DavideCarvalho/adonis-agora-telescope/commit/311b22c19f0b4701881cdd0ba0e5f47ad0013132) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - Fix a permanently broken store after concurrent boots, fold repeated record failures into one line per minute, and stop importing `@anthropic-ai/sdk` at boot.
|
|
8
|
+
|
|
9
|
+
- `LucidTelescopeStore` (`autoCreateTable`): when several processes boot against a fresh Postgres at once, `CREATE TABLE IF NOT EXISTS "telescope_schema_meta"` can fail with `duplicate key value violates unique constraint "pg_type_typname_nsp_index"`. The rejected init was cached for the life of the process, so every later entry failed. Concurrent-DDL errors are now retried (they become the no-op `IF NOT EXISTS` meant), a concurrent marker insert is tolerated, and any failed init is retried after 5s instead of being cached forever.
|
|
10
|
+
- Record-failure logs (`RedisWatcher`/`LucidQueryWatcher`/… `failed to record telescope entry`, `TelescopeMiddleware`, `DiagnosticsWatcher`, client errors) print the first occurrence of each distinct failure at once, then one line per minute with how many identical failures it stood for, instead of one synchronous stderr line per entry (~145k lines per pod in a multi-pod load test).
|
|
11
|
+
- The AI diagnoser builds its Anthropic client lazily: the optional `@anthropic-ai/sdk` peer is imported on the first diagnosis, not when the provider boots.
|
|
12
|
+
|
|
3
13
|
## 0.26.1
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/ai/factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/ai/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAgC,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEjG;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,yBAAyB,EACjC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GAC3E,oBAAoB,GAAG,IAAI,CAsB7B"}
|
package/dist/src/ai/factory.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import Anthropic from '@anthropic-ai/sdk';
|
|
2
1
|
import { DiagnosisCache } from './diagnosis_cache.js';
|
|
3
2
|
import { TelescopeAiDiagnoser } from './telescope_ai_diagnoser.js';
|
|
4
3
|
/**
|
|
@@ -19,8 +18,7 @@ export function createDiagnoser(config, options = {}) {
|
|
|
19
18
|
if (client === null) {
|
|
20
19
|
if (config.apiKey === null)
|
|
21
20
|
return null;
|
|
22
|
-
|
|
23
|
-
client = new Anthropic({ apiKey: config.apiKey });
|
|
21
|
+
client = lazyAnthropicClient(config.apiKey);
|
|
24
22
|
}
|
|
25
23
|
const cache = options.cache ??
|
|
26
24
|
(config.cacheTtlMs !== null ? new DiagnosisCache({ ttlMs: config.cacheTtlMs }) : undefined);
|
|
@@ -33,4 +31,29 @@ export function createDiagnoser(config, options = {}) {
|
|
|
33
31
|
...(options.logger !== undefined ? { logger: options.logger } : {}),
|
|
34
32
|
});
|
|
35
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* An {@link AnthropicMessagesClient} that imports `@anthropic-ai/sdk` (an optional
|
|
36
|
+
* peer) on the first diagnosis instead of at boot. Diagnoses are rare and on demand;
|
|
37
|
+
* importing the SDK eagerly cost every process that loads telescope a few MB of heap
|
|
38
|
+
* and module-load time for a client most never call.
|
|
39
|
+
*/
|
|
40
|
+
function lazyAnthropicClient(apiKey) {
|
|
41
|
+
let client = null;
|
|
42
|
+
return {
|
|
43
|
+
messages: {
|
|
44
|
+
async create(body) {
|
|
45
|
+
if (client === null) {
|
|
46
|
+
client = import('@anthropic-ai/sdk').then(
|
|
47
|
+
// The SDK's `Anthropic` instance satisfies the structural client contract.
|
|
48
|
+
({ default: Anthropic }) => new Anthropic({ apiKey }));
|
|
49
|
+
// A failed import (peer missing) is retried on the next diagnosis.
|
|
50
|
+
client.catch(() => {
|
|
51
|
+
client = null;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return (await client).messages.create(body);
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
|
36
59
|
//# sourceMappingURL=factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/ai/factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/ai/factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAuB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAgC,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEjG;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAiC,EACjC,OAAO,GAAmE,EAAE;IAE5E,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAEjC,6EAA6E;IAC7E,IAAI,MAAM,GAAmC,MAAM,CAAC,MAAM,CAAC;IAC3D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,KAAK,GACT,OAAO,CAAC,KAAK;QACb,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE9F,OAAO,IAAI,oBAAoB,CAAC;QAC9B,MAAM;QACN,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,MAAc;IACzC,IAAI,MAAM,GAA4C,IAAI,CAAC;IAC3D,OAAO;QACL,QAAQ,EAAE;YACR,KAAK,CAAC,MAAM,CAAC,IAAI;gBACf,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI;oBACvC,2EAA2E;oBAC3E,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CACzB,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,CAAuC,CAClE,CAAC;oBACF,mEAAmE;oBACnE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;wBAChB,MAAM,GAAG,IAAI,CAAC;oBAChB,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/dist/src/ai/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export declare const VERSION = "0.26.
|
|
2
|
+
export declare const VERSION = "0.26.2";
|
|
3
3
|
export type { ResolvedTelescopeAiConfig, TelescopeAiConfig, } from './define_config.js';
|
|
4
4
|
export { DEFAULT_MAX_TOKENS, DEFAULT_MODEL, defineConfig, resolveConfig, } from './define_config.js';
|
|
5
5
|
export type { Diagnosis, DiagnosisConfidence, ExceptionEntryContent } from './diagnoser.js';
|
package/dist/src/ai/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export const VERSION = '0.26.
|
|
2
|
+
export const VERSION = '0.26.2';
|
|
3
3
|
// — config —
|
|
4
4
|
export { DEFAULT_MAX_TOKENS, DEFAULT_MODEL, defineConfig, resolveConfig, } from './define_config.js';
|
|
5
5
|
// — diagnosis model + parsing —
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export declare const VERSION = "0.26.
|
|
2
|
+
export declare const VERSION = "0.26.2";
|
|
3
3
|
export type { AlertChannel, ChannelFetch, ConsoleSink } from './alert_channel.js';
|
|
4
4
|
export { consoleChannel, customChannel, slackChannel, webhookChannel, } from './alert_channel.js';
|
|
5
5
|
export type { AlertDiagnosis, AlertGeoLocation, AlertMetric, AlertPayload, AlertRule, ExceptionAlertContext, GeoLookup, ResolvedAlerts, } from './alert_rule.js';
|
package/dist/src/alerts/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export const VERSION = '0.26.
|
|
2
|
+
export const VERSION = '0.26.2';
|
|
3
3
|
// — channels —
|
|
4
4
|
export { consoleChannel, customChannel, slackChannel, webhookChannel, } from './alert_channel.js';
|
|
5
5
|
// — alerter (exception source → tracker → channels) —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingestor.d.ts","sourceRoot":"","sources":["../../../src/client_errors/ingestor.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ingestor.d.ts","sourceRoot":"","sources":["../../../src/client_errors/ingestor.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EACL,KAAK,sBAAsB,EAG5B,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,IAAI,IAAI,OAAO,CAAC;IAChB,0EAA0E;IAC1E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,kFAAkF;IAClF,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAC;IAC1C,6DAA6D;IAC7D,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CAC9B;AAED,gFAAgF;AAChF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,+EAA+E;AAC/E,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,0BAA0B,CAAC;IACnC;;;;OAIG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAAC;IAC7D,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;IACzB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,GACpB,CAAC,KAAK,EAAE,WAAW,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAQtD;AAOD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAGjE;AAED;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuD;IAC9E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,6EAA6E;IAC7E,OAAO,CAAC,eAAe,CAAS;IAEhC,YAAY,IAAI,EAAE,uBAAuB,EAQxC;IAEK,MAAM,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4E1D;IAED;;;;OAIG;YACW,YAAY;IAmB1B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAQpB,2EAA2E;IAC3E,OAAO,CAAC,QAAQ;CAIjB"}
|
|
@@ -2,6 +2,7 @@ import { currentUserRef } from '../context_accessor.js';
|
|
|
2
2
|
import { EntryType } from '../entry.js';
|
|
3
3
|
import { exceptionFamilyHash } from '../exception_family_hash.js';
|
|
4
4
|
import { getTelescopeRuntime } from '../registry.js';
|
|
5
|
+
import { failureMessage, reportFailure } from '../report_failure.js';
|
|
5
6
|
import { ClientErrorRateLimiter } from './rate_limiter.js';
|
|
6
7
|
import { userIdentityTag, validateClientErrorBody, } from './validation.js';
|
|
7
8
|
/**
|
|
@@ -20,8 +21,8 @@ export function storeRecorder(store) {
|
|
|
20
21
|
};
|
|
21
22
|
}
|
|
22
23
|
function reportError(err) {
|
|
23
|
-
const
|
|
24
|
-
|
|
24
|
+
const line = `telescope client-errors: failed to record entry: ${failureMessage(err)}`;
|
|
25
|
+
reportFailure(line, line);
|
|
25
26
|
}
|
|
26
27
|
/**
|
|
27
28
|
* The user to attribute a browser-reported error to.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingestor.js","sourceRoot":"","sources":["../../../src/client_errors/ingestor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ingestor.js","sourceRoot":"","sources":["../../../src/client_errors/ingestor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics_watcher.d.ts","sourceRoot":"","sources":["../../src/diagnostics_watcher.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics_watcher.d.ts","sourceRoot":"","sources":["../../src/diagnostics_watcher.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,cAAuB,CAAC;AAE1D,2DAA2D;AAC3D,MAAM,WAAW,yBAAyB;IACxC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjB,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,kBAAkB;IAa3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAZxB,QAAQ,CAAC,IAAI,eAAyB;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,gFAAgF;IAChF,OAAO,CAAC,gBAAgB,CAAyC;IACjE,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6C;IAC3E,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,YACmB,KAAK,EAAE,cAAc,EACtC,OAAO,GAAE,yBAA8B,EAIxC;IAED;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAWZ;IAED,qEAAqE;IACrE,IAAI,IAAI,IAAI,CAUX;IAED,gFAAgF;IAChF,OAAO,CAAC,SAAS;IAQjB,+EAA+E;IAC/E,OAAO,CAAC,UAAU;CAmBnB;AAYD,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,WAAW,CAAC,sBAAsB,CAAC,CA0B9F"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import diagnostics_channel from 'node:diagnostics_channel';
|
|
2
2
|
import { getDiagnosticsRegistry, isDiagnosticClaimed, isDiagnosticEvent, } from './diagnostics_registry.js';
|
|
3
3
|
import { EntryType } from './entry.js';
|
|
4
|
+
import { failureMessage, reportFailure } from './report_failure.js';
|
|
4
5
|
/** Telescope entry `type` produced by this watcher. */
|
|
5
6
|
export const DIAGNOSTIC_ENTRY_TYPE = EntryType.Diagnostic;
|
|
6
7
|
/**
|
|
@@ -99,16 +100,23 @@ export class DiagnosticsWatcher {
|
|
|
99
100
|
// This runs inside a synchronous `node:diagnostics_channel` subscriber, so we
|
|
100
101
|
// CANNOT await the now-async store. Fire-and-forget and swallow rejections —
|
|
101
102
|
// telescope must never break (or block) an emitting code path.
|
|
102
|
-
void this.store.record(buildDiagnosticEntry(msg)).catch(
|
|
103
|
-
console.error('DiagnosticsWatcher: failed to record diagnostic event:', err);
|
|
104
|
-
});
|
|
103
|
+
void this.store.record(buildDiagnosticEntry(msg)).catch(reportDiagnosticFailure);
|
|
105
104
|
}
|
|
106
105
|
catch (err) {
|
|
107
106
|
// NOT rethrown — telescope must never break an emitting code path.
|
|
108
|
-
|
|
107
|
+
reportDiagnosticFailure(err);
|
|
109
108
|
}
|
|
110
109
|
}
|
|
111
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Report a failed diagnostic record. The first occurrence of a failure logs the full
|
|
113
|
+
* error (stack included) as before; identical repeats are folded into a periodic count
|
|
114
|
+
* so a broken store cannot flood the logs with one stack per event.
|
|
115
|
+
*/
|
|
116
|
+
function reportDiagnosticFailure(err) {
|
|
117
|
+
const line = `DiagnosticsWatcher: failed to record diagnostic event: ${failureMessage(err)}`;
|
|
118
|
+
reportFailure(line, line, console.error, err);
|
|
119
|
+
}
|
|
112
120
|
/** Map a {@link DiagnosticEvent} envelope to a Telescope {@link RecordInput}. */
|
|
113
121
|
export function buildDiagnosticEntry(msg) {
|
|
114
122
|
const traceId = msg.traceId ?? null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics_watcher.js","sourceRoot":"","sources":["../../src/diagnostics_watcher.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAqC,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAEL,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAoB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics_watcher.js","sourceRoot":"","sources":["../../src/diagnostics_watcher.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAqC,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAEL,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAoB,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpE,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC,UAAU,CAAC;AAmD1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,kBAAkB;IAaV,KAAK;IAZf,IAAI,GAAG,qBAAqB,CAAC;IAC9B,OAAO,GAAG,KAAK,CAAC;IACxB,gFAAgF;IACxE,gBAAgB,GAAoC,IAAI,CAAC;IACjE,+EAA+E;IAC9D,aAAa,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC3E,qEAAqE;IACpD,QAAQ,CAAsB;IAC/C,2DAA2D;IAC1C,aAAa,CAAU;IAExC,YACmB,KAAqB,EACtC,OAAO,GAA8B,EAAE;qBADtB,KAAK;QAGtB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ;YAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,qEAAqE;IACrE,IAAI;QACF,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,sBAAsB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAClE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACjD,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,gFAAgF;IACxE,SAAS,CAAC,IAAY;QAC5B,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QACzC,MAAM,OAAO,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,OAAO,GAAY,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,+EAA+E;IACvE,UAAU,CAAC,GAAY;QAC7B,IAAI,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;gBAAE,OAAO;YACpC,sEAAsE;YACtE,8EAA8E;YAC9E,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBAAE,OAAO;YACzD,2EAA2E;YAC3E,6EAA6E;YAC7E,4EAA4E;YAC5E,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YAC3E,8EAA8E;YAC9E,6EAA6E;YAC7E,+DAA+D;YAC/D,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACnF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mEAAmE;YACnE,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,GAAY;IAC3C,MAAM,IAAI,GAAG,0DAA0D,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;IAC7F,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,oBAAoB,CAAC,GAAoB;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC;IACpC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC;IAC1C,MAAM,OAAO,GAA2B;QACtC,mEAAmE;QACnE,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI;QAChB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,OAAO;QACP,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU;KACX,CAAC;IACF,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,0EAA0E;QAC1E,UAAU,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE;QACrC,IAAI,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxF,OAAO;QACP,6EAA6E;QAC7E,OAAO;QACP,4EAA4E;QAC5E,+EAA+E;QAC/E,yEAAyE;QACzE,UAAU;KACX,CAAC;AACJ,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export declare const VERSION = "0.26.
|
|
2
|
+
export declare const VERSION = "0.26.2";
|
|
3
3
|
export { configure } from '../configure.js';
|
|
4
4
|
export type { DiagnoserLike, DiagnosisCoordinatorOptions, DiagnosisSummary, } from './ai/diagnosis_coordinator.js';
|
|
5
5
|
export { DiagnosisCoordinator, formatDiagnosisMarkdown, } from './ai/diagnosis_coordinator.js';
|
package/dist/src/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export const VERSION = '0.26.
|
|
2
|
+
export const VERSION = '0.26.2';
|
|
3
3
|
// Re-export the configure hook from the package root so `node ace configure` finds it
|
|
4
4
|
export { configure } from '../configure.js';
|
|
5
5
|
// — AI diagnosis coordinator (wires the MCP tool + the alerter; SDK-free) —
|
package/dist/src/mcp/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export declare const VERSION = "0.26.
|
|
2
|
+
export declare const VERSION = "0.26.2";
|
|
3
3
|
export type { McpToolName, ResolvedTelescopeMcpConfig, TelescopeMcpConfig, } from './define_config.js';
|
|
4
4
|
export { defineConfig, MCP_TOOL_NAMES, resolveConfig } from './define_config.js';
|
|
5
5
|
export type { DiagnoseExceptionHook, JsonRpcRequest, McpToolSpec, TelescopeMcpServerOptions, } from './server.js';
|
package/dist/src/mcp/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export const VERSION = '0.26.
|
|
2
|
+
export const VERSION = '0.26.2';
|
|
3
3
|
// — config —
|
|
4
4
|
export { defineConfig, MCP_TOOL_NAMES, resolveConfig } from './define_config.js';
|
|
5
5
|
// — server (plain, testable JSON-RPC surface) —
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export declare const VERSION = "0.26.
|
|
2
|
+
export declare const VERSION = "0.26.2";
|
|
3
3
|
export { aggregateCpuProfile } from './aggregate-profile.js';
|
|
4
4
|
export type { CpuProfilerOptions, CpuProfilerResult, InspectorSessionLike, SessionFactory, } from './cpu-profiler.js';
|
|
5
5
|
export { CpuProfiler, defaultSessionFactory } from './cpu-profiler.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export const VERSION = '0.26.
|
|
2
|
+
export const VERSION = '0.26.2';
|
|
3
3
|
export { aggregateCpuProfile } from './aggregate-profile.js';
|
|
4
4
|
export { CpuProfiler, defaultSessionFactory } from './cpu-profiler.js';
|
|
5
5
|
export { defineConfig, resolveConfig } from './define_config.js';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rate-limited failure reporting for telescope's fire-and-forget record paths.
|
|
3
|
+
*
|
|
4
|
+
* Every watcher records on the host's hot path and reports a failed write instead of
|
|
5
|
+
* throwing. When the store is broken for a while (database down, schema not created
|
|
6
|
+
* yet, a permission error), that used to print one line PER ENTRY — hundreds of
|
|
7
|
+
* identical lines a minute from the Redis / query watchers alone, each a synchronous
|
|
8
|
+
* stderr write on the event loop that telescope is supposed to stay off of.
|
|
9
|
+
*
|
|
10
|
+
* Here the first occurrence of a given `source` + message is printed immediately and
|
|
11
|
+
* identical repeats inside the next {@link REPORT_WINDOW_MS} are only counted; when the
|
|
12
|
+
* window closes, one line reports how many repeats it folded (nothing at all when there
|
|
13
|
+
* were none). Same information — every distinct failure is still reported, with its
|
|
14
|
+
* count — in a bounded number of lines.
|
|
15
|
+
*/
|
|
16
|
+
/** Window during which identical failures are folded into one line. */
|
|
17
|
+
export declare const REPORT_WINDOW_MS = 60000;
|
|
18
|
+
type Log = (message: string, ...extra: unknown[]) => void;
|
|
19
|
+
/**
|
|
20
|
+
* Print `line` through `log` unless an identical `key` is already inside its
|
|
21
|
+
* {@link REPORT_WINDOW_MS} window; in that case only count it — the count is printed
|
|
22
|
+
* once when the window closes. `extra` is forwarded to `log` after the line (e.g. the
|
|
23
|
+
* original error object) on the first, immediate report.
|
|
24
|
+
*/
|
|
25
|
+
export declare function reportFailure(key: string, line: string, log?: Log, ...extra: unknown[]): void;
|
|
26
|
+
/** The message of an unknown thrown value. */
|
|
27
|
+
export declare function failureMessage(err: unknown): string;
|
|
28
|
+
/** Forget every tracked failure and cancel pending summaries (tests). */
|
|
29
|
+
export declare function resetFailureReports(): void;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=report_failure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report_failure.d.ts","sourceRoot":"","sources":["../../src/report_failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAKvC,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAkC1D;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,GAAmB,EACxB,GAAG,KAAK,EAAE,OAAO,EAAE,GAClB,IAAI,CAYN;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEnD;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rate-limited failure reporting for telescope's fire-and-forget record paths.
|
|
3
|
+
*
|
|
4
|
+
* Every watcher records on the host's hot path and reports a failed write instead of
|
|
5
|
+
* throwing. When the store is broken for a while (database down, schema not created
|
|
6
|
+
* yet, a permission error), that used to print one line PER ENTRY — hundreds of
|
|
7
|
+
* identical lines a minute from the Redis / query watchers alone, each a synchronous
|
|
8
|
+
* stderr write on the event loop that telescope is supposed to stay off of.
|
|
9
|
+
*
|
|
10
|
+
* Here the first occurrence of a given `source` + message is printed immediately and
|
|
11
|
+
* identical repeats inside the next {@link REPORT_WINDOW_MS} are only counted; when the
|
|
12
|
+
* window closes, one line reports how many repeats it folded (nothing at all when there
|
|
13
|
+
* were none). Same information — every distinct failure is still reported, with its
|
|
14
|
+
* count — in a bounded number of lines.
|
|
15
|
+
*/
|
|
16
|
+
/** Window during which identical failures are folded into one line. */
|
|
17
|
+
export const REPORT_WINDOW_MS = 60_000;
|
|
18
|
+
/** Distinct failure keys tracked at once; past this, new keys print unthrottled (bounds memory). */
|
|
19
|
+
const MAX_TRACKED = 500;
|
|
20
|
+
const reports = new Map();
|
|
21
|
+
function closeWindow(key) {
|
|
22
|
+
const state = reports.get(key);
|
|
23
|
+
if (state === undefined)
|
|
24
|
+
return;
|
|
25
|
+
if (state.suppressed === 0) {
|
|
26
|
+
reports.delete(key);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const n = state.suppressed;
|
|
30
|
+
state.suppressed = 0;
|
|
31
|
+
state.log(`${state.line} (repeated ${n} more time${n === 1 ? '' : 's'} in the last ${REPORT_WINDOW_MS / 1000}s)`);
|
|
32
|
+
// Keep folding while the failure persists: one summary line per window.
|
|
33
|
+
armWindow(key, state);
|
|
34
|
+
}
|
|
35
|
+
function armWindow(key, state) {
|
|
36
|
+
state.timer = setTimeout(() => closeWindow(key), REPORT_WINDOW_MS);
|
|
37
|
+
// Never keep the process alive just to print a summary.
|
|
38
|
+
state.timer.unref?.();
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Print `line` through `log` unless an identical `key` is already inside its
|
|
42
|
+
* {@link REPORT_WINDOW_MS} window; in that case only count it — the count is printed
|
|
43
|
+
* once when the window closes. `extra` is forwarded to `log` after the line (e.g. the
|
|
44
|
+
* original error object) on the first, immediate report.
|
|
45
|
+
*/
|
|
46
|
+
export function reportFailure(key, line, log = console.error, ...extra) {
|
|
47
|
+
const state = reports.get(key);
|
|
48
|
+
if (state !== undefined) {
|
|
49
|
+
state.suppressed += 1;
|
|
50
|
+
state.line = line;
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
log(line, ...extra);
|
|
54
|
+
if (reports.size >= MAX_TRACKED)
|
|
55
|
+
return;
|
|
56
|
+
const fresh = { suppressed: 0, line, log };
|
|
57
|
+
reports.set(key, fresh);
|
|
58
|
+
armWindow(key, fresh);
|
|
59
|
+
}
|
|
60
|
+
/** The message of an unknown thrown value. */
|
|
61
|
+
export function failureMessage(err) {
|
|
62
|
+
return err instanceof Error ? err.message : String(err);
|
|
63
|
+
}
|
|
64
|
+
/** Forget every tracked failure and cancel pending summaries (tests). */
|
|
65
|
+
export function resetFailureReports() {
|
|
66
|
+
for (const state of reports.values())
|
|
67
|
+
clearTimeout(state.timer);
|
|
68
|
+
reports.clear();
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=report_failure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report_failure.js","sourceRoot":"","sources":["../../src/report_failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC,oGAAoG;AACpG,MAAM,WAAW,GAAG,GAAG,CAAC;AAYxB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE/C,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC;IAC3B,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;IACrB,KAAK,CAAC,GAAG,CACP,GAAG,KAAK,CAAC,IAAI,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,gBAAgB,gBAAgB,GAAG,IAAI,IAAI,CACvG,CAAC;IACF,wEAAwE;IACxE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,KAAkB;IAChD,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACnE,wDAAwD;IACxD,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAW,EACX,IAAY,EACZ,GAAG,GAAQ,OAAO,CAAC,KAAK,EACxB,GAAG,KAAgB;IAEnB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO;IACT,CAAC;IACD,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;IACpB,IAAI,OAAO,CAAC,IAAI,IAAI,WAAW;QAAE,OAAO;IACxC,MAAM,KAAK,GAAgB,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxB,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,mBAAmB;IACjC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE;QAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChE,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC"}
|
|
@@ -48,6 +48,8 @@ export declare function createTableStatements(tableName?: string, dialect?: stri
|
|
|
48
48
|
* never invalidate the gate.
|
|
49
49
|
*/
|
|
50
50
|
export declare const SCHEMA_META_TABLE_NAME = "telescope_schema_meta";
|
|
51
|
+
/** How long a failed store init is shared by callers before the next call retries it. */
|
|
52
|
+
export declare const INIT_RETRY_DELAY_MS = 5000;
|
|
51
53
|
/**
|
|
52
54
|
* The slice of an AdonisJS Lucid `Database` (or `QueryClientContract`) this store
|
|
53
55
|
* uses. Typed structurally so `@adonisjs/lucid` stays an *optional peer* dependency
|
|
@@ -142,8 +144,10 @@ export declare class LucidTelescopeStore implements TelescopeStore {
|
|
|
142
144
|
private readonly tableName;
|
|
143
145
|
private readonly maxEntries;
|
|
144
146
|
private readonly autoCreateTable;
|
|
145
|
-
/** Lazily-resolved init (table creation + sequence seed), run
|
|
147
|
+
/** Lazily-resolved init (table creation + sequence seed), run once — re-run after a failure. */
|
|
146
148
|
private ready;
|
|
149
|
+
/** When the current {@link ready} attempt failed (epoch ms), or null while it has not. */
|
|
150
|
+
private initFailedAt;
|
|
147
151
|
private sequence;
|
|
148
152
|
private pending;
|
|
149
153
|
/** The running drain, while one is scheduled or writing. */
|
|
@@ -213,7 +217,14 @@ export declare class LucidTelescopeStore implements TelescopeStore {
|
|
|
213
217
|
* row the database rejects fails only its own `record()`.
|
|
214
218
|
*/
|
|
215
219
|
private writeBatch;
|
|
216
|
-
/**
|
|
220
|
+
/**
|
|
221
|
+
* Run table creation (optional) + sequence seeding once. A FAILED init is not cached
|
|
222
|
+
* forever: after {@link INIT_RETRY_DELAY_MS} the next call tries again, so a transient
|
|
223
|
+
* error at boot (database not reachable yet, a concurrent-DDL race with another
|
|
224
|
+
* process) no longer leaves this store failing every entry for the life of the
|
|
225
|
+
* process. Inside the delay, callers share the failed attempt instead of each
|
|
226
|
+
* re-issuing the DDL.
|
|
227
|
+
*/
|
|
217
228
|
private init;
|
|
218
229
|
private doInit;
|
|
219
230
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucid.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,KAAK,EAAiB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAG5F,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,EACZ,UAAU,EACX,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AAEtD;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,GAAE,MAA2B,EACtC,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,EAAE,CA2BV;
|
|
1
|
+
{"version":3,"file":"lucid.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
|
package/dist/src/stores/lucid.js
CHANGED
|
@@ -60,12 +60,54 @@ function isDuplicateIndex(error) {
|
|
|
60
60
|
const { code, errno } = (error ?? {});
|
|
61
61
|
return code === 'ER_DUP_KEYNAME' || errno === 1061;
|
|
62
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Whether `error` is a concurrent `CREATE ... IF NOT EXISTS` losing a race. `IF NOT
|
|
65
|
+
* EXISTS` is not atomic in Postgres: when two processes boot against a fresh database
|
|
66
|
+
* at once (several pods / a web + a worker), the slower CREATE fails with a unique
|
|
67
|
+
* violation on the catalog (`pg_type_typname_nsp_index` / `pg_class_relname_nsp_index`)
|
|
68
|
+
* or "relation already exists" instead of being a no-op. The winner's DDL is in
|
|
69
|
+
* flight, so re-issuing the statement a moment later is the no-op it was meant to be.
|
|
70
|
+
*/
|
|
71
|
+
function isConcurrentDdlRace(error) {
|
|
72
|
+
const { code, errno } = (error ?? {});
|
|
73
|
+
return (code === '23505' || // unique_violation on a pg catalog index
|
|
74
|
+
code === '42P07' || // duplicate_table
|
|
75
|
+
code === '42710' || // duplicate_object (index)
|
|
76
|
+
code === 'ER_TABLE_EXISTS_ERROR' ||
|
|
77
|
+
errno === 1050);
|
|
78
|
+
}
|
|
79
|
+
/** Whether `error` is a primary-key collision on insert (pg / mysql / sqlite). */
|
|
80
|
+
function isDuplicateKey(error) {
|
|
81
|
+
const { code, errno } = (error ?? {});
|
|
82
|
+
return (code === '23505' ||
|
|
83
|
+
code === 'ER_DUP_ENTRY' ||
|
|
84
|
+
errno === 1062 ||
|
|
85
|
+
code === 'SQLITE_CONSTRAINT_PRIMARYKEY' ||
|
|
86
|
+
code === 'SQLITE_CONSTRAINT_UNIQUE');
|
|
87
|
+
}
|
|
88
|
+
/** Attempts (including the first) for one idempotent DDL statement racing another process. */
|
|
89
|
+
const DDL_RACE_ATTEMPTS = 4;
|
|
90
|
+
/** Issue one idempotent (`IF NOT EXISTS`) DDL statement, retrying when it loses a concurrent race. */
|
|
91
|
+
async function runIdempotentDdl(db, stmt) {
|
|
92
|
+
for (let attempt = 1;; attempt++) {
|
|
93
|
+
try {
|
|
94
|
+
await db.rawQuery(stmt);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
if (attempt >= DDL_RACE_ATTEMPTS || !isConcurrentDdlRace(error))
|
|
99
|
+
throw error;
|
|
100
|
+
// Let the winning process commit its CREATE, then re-check.
|
|
101
|
+
await new Promise((resolve) => setTimeout(resolve, 25 * 2 ** attempt));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
63
105
|
/** Run the DDL for `tableName` on `db`, in its dialect. */
|
|
64
106
|
async function runTableStatements(db, tableName) {
|
|
65
107
|
const dialect = dialectOf(db);
|
|
66
108
|
for (const stmt of createTableStatements(tableName, dialect)) {
|
|
67
109
|
try {
|
|
68
|
-
await db
|
|
110
|
+
await runIdempotentDdl(db, stmt);
|
|
69
111
|
}
|
|
70
112
|
catch (error) {
|
|
71
113
|
if (!(isMysql(dialect) && isDuplicateIndex(error)))
|
|
@@ -98,6 +140,8 @@ const SCHEMA_REVISION = 1;
|
|
|
98
140
|
* never invalidate the gate.
|
|
99
141
|
*/
|
|
100
142
|
export const SCHEMA_META_TABLE_NAME = 'telescope_schema_meta';
|
|
143
|
+
/** How long a failed store init is shared by callers before the next call retries it. */
|
|
144
|
+
export const INIT_RETRY_DELAY_MS = 5_000;
|
|
101
145
|
/**
|
|
102
146
|
* `CREATE TABLE IF NOT EXISTS` DDL for the fingerprint marker table. Idempotent
|
|
103
147
|
* and introspection-free, portable across sqlite / Postgres / MySQL (quoted
|
|
@@ -178,8 +222,10 @@ export class LucidTelescopeStore {
|
|
|
178
222
|
tableName;
|
|
179
223
|
maxEntries;
|
|
180
224
|
autoCreateTable;
|
|
181
|
-
/** Lazily-resolved init (table creation + sequence seed), run
|
|
225
|
+
/** Lazily-resolved init (table creation + sequence seed), run once — re-run after a failure. */
|
|
182
226
|
ready = null;
|
|
227
|
+
/** When the current {@link ready} attempt failed (epoch ms), or null while it has not. */
|
|
228
|
+
initFailedAt = null;
|
|
183
229
|
sequence = 0;
|
|
184
230
|
pending = [];
|
|
185
231
|
/** The running drain, while one is scheduled or writing. */
|
|
@@ -616,10 +662,29 @@ export class LucidTelescopeStore {
|
|
|
616
662
|
}
|
|
617
663
|
}
|
|
618
664
|
}
|
|
619
|
-
/**
|
|
665
|
+
/**
|
|
666
|
+
* Run table creation (optional) + sequence seeding once. A FAILED init is not cached
|
|
667
|
+
* forever: after {@link INIT_RETRY_DELAY_MS} the next call tries again, so a transient
|
|
668
|
+
* error at boot (database not reachable yet, a concurrent-DDL race with another
|
|
669
|
+
* process) no longer leaves this store failing every entry for the life of the
|
|
670
|
+
* process. Inside the delay, callers share the failed attempt instead of each
|
|
671
|
+
* re-issuing the DDL.
|
|
672
|
+
*/
|
|
620
673
|
init() {
|
|
621
|
-
if (
|
|
622
|
-
this.
|
|
674
|
+
if (this.ready !== null &&
|
|
675
|
+
this.initFailedAt !== null &&
|
|
676
|
+
Date.now() - this.initFailedAt >= INIT_RETRY_DELAY_MS) {
|
|
677
|
+
this.ready = null;
|
|
678
|
+
}
|
|
679
|
+
if (!this.ready) {
|
|
680
|
+
this.initFailedAt = null;
|
|
681
|
+
const attempt = runAsTelescopeWork(() => this.doInit());
|
|
682
|
+
this.ready = attempt;
|
|
683
|
+
attempt.catch(() => {
|
|
684
|
+
if (this.ready === attempt)
|
|
685
|
+
this.initFailedAt = Date.now();
|
|
686
|
+
});
|
|
687
|
+
}
|
|
623
688
|
return this.ready;
|
|
624
689
|
}
|
|
625
690
|
async doInit() {
|
|
@@ -644,8 +709,8 @@ export class LucidTelescopeStore {
|
|
|
644
709
|
* change, or a {@link SCHEMA_REVISION} bump) runs the DDL, then re-caches.
|
|
645
710
|
*/
|
|
646
711
|
async reconcileSchema() {
|
|
647
|
-
// (1) Idempotent, introspection-free marker table.
|
|
648
|
-
await this.db
|
|
712
|
+
// (1) Idempotent, introspection-free marker table (race-safe across processes).
|
|
713
|
+
await runIdempotentDdl(this.db, createSchemaMetaTableStatement(dialectOf(this.db)));
|
|
649
714
|
// (2) Read the stored fingerprint + (3) compute the expected one in memory.
|
|
650
715
|
const stored = await this.readStoredFingerprint();
|
|
651
716
|
const expected = computeSchemaFingerprint(this.tableName);
|
|
@@ -664,11 +729,19 @@ export class LucidTelescopeStore {
|
|
|
664
729
|
/** Upserts this table's marker row (delete + insert, portable across dialects). */
|
|
665
730
|
async writeStoredFingerprint(fingerprint) {
|
|
666
731
|
await this.db.from(SCHEMA_META_TABLE_NAME).where('id', this.tableName).delete();
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
732
|
+
try {
|
|
733
|
+
await this.db.table(SCHEMA_META_TABLE_NAME).insert({
|
|
734
|
+
id: this.tableName,
|
|
735
|
+
fingerprint,
|
|
736
|
+
applied_at: Date.now(),
|
|
737
|
+
});
|
|
738
|
+
}
|
|
739
|
+
catch (error) {
|
|
740
|
+
// Another process reconciled the same table concurrently and wrote its marker
|
|
741
|
+
// between our delete and insert — the schema is in place either way.
|
|
742
|
+
if (!isDuplicateKey(error))
|
|
743
|
+
throw error;
|
|
744
|
+
}
|
|
672
745
|
}
|
|
673
746
|
}
|
|
674
747
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucid.js","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucid.js","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telescope_middleware.d.ts","sourceRoot":"","sources":["../../src/telescope_middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"telescope_middleware.d.ts","sourceRoot":"","sources":["../../src/telescope_middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAmCxD;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAK5D;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAChC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,gBAwE1C;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { recordExceptionInStore } from './exception_watcher.js';
|
|
2
2
|
import { getTelescopeRuntime } from './registry.js';
|
|
3
|
+
import { failureMessage, reportFailure } from './report_failure.js';
|
|
3
4
|
import { recordRequest } from './request_watcher.js';
|
|
4
5
|
/** `"GET /users/:id"` when the router matched a route, else `"GET <raw url>"`. Mirrors the NestJS
|
|
5
6
|
* sibling's `normalizeRoute` label closely enough for `ProfilerService`'s manual-arm `label` match
|
|
@@ -15,8 +16,8 @@ function recordInBackground(recording) {
|
|
|
15
16
|
recording.catch(reportRecordFailure);
|
|
16
17
|
}
|
|
17
18
|
function reportRecordFailure(error) {
|
|
18
|
-
const
|
|
19
|
-
|
|
19
|
+
const line = `TelescopeMiddleware: failed to record telescope entry: ${failureMessage(error)}`;
|
|
20
|
+
reportFailure(line, line);
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
23
|
* Whether `url` is the dashboard prefix itself or something under it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telescope_middleware.js","sourceRoot":"","sources":["../../src/telescope_middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAwB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAU3E;;;8FAG8F;AAC9F,SAAS,YAAY,CAAC,GAAoB;IACxC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACpC,MAAM,OAAO,GAAI,GAAsC,CAAC,KAAK,EAAE,OAAO,CAAC;IACvE,OAAO,GAAG,MAAM,IAAI,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AACrD,CAAC;AAED,8EAA8E;AAC9E,SAAS,kBAAkB,CAAC,SAA2B;IACrD,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,
|
|
1
|
+
{"version":3,"file":"telescope_middleware.js","sourceRoot":"","sources":["../../src/telescope_middleware.ts"],"names":[],"mappings":"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"}
|
package/dist/src/ui/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export declare const VERSION = "0.26.
|
|
2
|
+
export declare const VERSION = "0.26.2";
|
|
3
3
|
export type { AccessDeniedInfo, AccessDeniedPageOptions, AccessDeniedReason, } from './access_denied_page.js';
|
|
4
4
|
export { CONSOLE as ACCESS_DENIED_CONSOLE, escapeHtml, renderAccessDeniedPage, resolveAccessDeniedPage, } from './access_denied_page.js';
|
|
5
5
|
export type { EntrySummary, RetentionInfo, RetentionOptions, RetentionPruneOptions, RetentionSamplingRate, } from './api.js';
|
package/dist/src/ui/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export const VERSION = '0.26.
|
|
2
|
+
export const VERSION = '0.26.2';
|
|
3
3
|
// — the built-in "access denied" page (what a browser sees on a refused page navigation) —
|
|
4
4
|
export { CONSOLE as ACCESS_DENIED_CONSOLE, escapeHtml, renderAccessDeniedPage, resolveAccessDeniedPage, } from './access_denied_page.js';
|
|
5
5
|
// — JSON API —
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export declare const VERSION = "0.26.
|
|
2
|
+
export declare const VERSION = "0.26.2";
|
|
3
3
|
export type { CacheEntryContent, CacheEventLike, CacheOperation } from './cache_watcher.js';
|
|
4
4
|
export { buildCacheEntry, CACHE_EVENTS, CacheWatcher } from './cache_watcher.js';
|
|
5
5
|
export { nextCronRunMs } from './cron_next_run.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export const VERSION = '0.26.
|
|
2
|
+
export const VERSION = '0.26.2';
|
|
3
3
|
// — cache watcher —
|
|
4
4
|
export { buildCacheEntry, CACHE_EVENTS, CacheWatcher } from './cache_watcher.js';
|
|
5
5
|
export { nextCronRunMs } from './cron_next_run.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/watchers/record.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/watchers/record.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,cAAc,GAAG,IAAI,CAEpD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,CAAC,MAAM,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA8BzF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { currentTraceId } from '../context_accessor.js';
|
|
2
2
|
import { isHeartbeat } from '../origin_scope.js';
|
|
3
3
|
import { getTelescopeRuntime } from '../registry.js';
|
|
4
|
+
import { failureMessage, reportFailure } from '../report_failure.js';
|
|
4
5
|
import { isTelescopeWork } from '../self_scope.js';
|
|
5
6
|
/**
|
|
6
7
|
* Resolve the active telescope store WITHOUT dependency injection. `@adonis-agora/telescope`'s
|
|
@@ -62,7 +63,8 @@ export function safeRecord(input, source) {
|
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
65
|
function reportError(source, err) {
|
|
65
|
-
const
|
|
66
|
-
|
|
66
|
+
const line = `${source}: failed to record telescope entry: ${failureMessage(err)}`;
|
|
67
|
+
// Rate-limited: a broken store fails every entry, and one line per entry floods the logs.
|
|
68
|
+
reportFailure(line, line);
|
|
67
69
|
}
|
|
68
70
|
//# sourceMappingURL=record.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/watchers/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,mBAAmB,EAAE,CAAC,KAAK,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,KAAwC,EAAE,MAAc;IACjF,IAAI,KAA4B,CAAC;IACjC,IAAI,CAAC;QACH,KAAK,GAAG,YAAY,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,6EAA6E;IAC7E,wEAAwE;IACxE,IAAI,mBAAmB,EAAE,CAAC,MAAM;QAAE,OAAO;IACzC,kFAAkF;IAClF,oFAAoF;IACpF,sFAAsF;IACtF,6EAA6E;IAC7E,IAAI,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,eAAe;QAAE,OAAO;IACpE,0EAA0E;IAC1E,IAAI,eAAe,EAAE;QAAE,OAAO;IAE9B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5D,MAAM,QAAQ,GACZ,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAChF,0EAA0E;QAC1E,sEAAsE;QACtE,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACxF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,GAAY;IAC/C,MAAM,
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/watchers/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,mBAAmB,EAAE,CAAC,KAAK,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,KAAwC,EAAE,MAAc;IACjF,IAAI,KAA4B,CAAC;IACjC,IAAI,CAAC;QACH,KAAK,GAAG,YAAY,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,6EAA6E;IAC7E,wEAAwE;IACxE,IAAI,mBAAmB,EAAE,CAAC,MAAM;QAAE,OAAO;IACzC,kFAAkF;IAClF,oFAAoF;IACpF,sFAAsF;IACtF,6EAA6E;IAC7E,IAAI,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,eAAe;QAAE,OAAO;IACpE,0EAA0E;IAC1E,IAAI,eAAe,EAAE;QAAE,OAAO;IAE9B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5D,MAAM,QAAQ,GACZ,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAChF,0EAA0E;QAC1E,sEAAsE;QACtE,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACxF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,GAAY;IAC/C,MAAM,IAAI,GAAG,GAAG,MAAM,uCAAuC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;IACnF,0FAA0F;IAC1F,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adonis-agora/telescope",
|
|
3
|
-
"version": "0.26.
|
|
3
|
+
"version": "0.26.2",
|
|
4
4
|
"description": "Laravel Telescope-style headless observability for AdonisJS — records HTTP requests and every Agora diagnostics event as queryable entries, plus opt-in subpaths for per-technology watchers, a web dashboard, AI exception diagnosis, and alerting.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|