@blokjs/runner 0.6.20 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Blok.d.ts +2 -0
- package/dist/Blok.js +42 -110
- package/dist/Blok.js.map +1 -1
- package/dist/DefaultLogger.d.ts +13 -0
- package/dist/DefaultLogger.js +25 -0
- package/dist/DefaultLogger.js.map +1 -1
- package/dist/RunnerSteps.d.ts +23 -0
- package/dist/RunnerSteps.js +128 -87
- package/dist/RunnerSteps.js.map +1 -1
- package/dist/SubworkflowNode.js +19 -0
- package/dist/SubworkflowNode.js.map +1 -1
- package/dist/TriggerBase.d.ts +12 -0
- package/dist/TriggerBase.js +216 -181
- package/dist/TriggerBase.js.map +1 -1
- package/dist/adapters/grpc/GrpcRuntimeAdapter.d.ts +9 -0
- package/dist/adapters/grpc/GrpcRuntimeAdapter.js +76 -6
- package/dist/adapters/grpc/GrpcRuntimeAdapter.js.map +1 -1
- package/dist/index.d.ts +4 -39
- package/dist/index.js +7 -32
- package/dist/index.js.map +1 -1
- package/dist/monitoring/JanitorMetrics.d.ts +3 -0
- package/dist/monitoring/JanitorMetrics.js +11 -0
- package/dist/monitoring/JanitorMetrics.js.map +1 -1
- package/dist/monitoring/ProcessErrorMetrics.d.ts +32 -0
- package/dist/monitoring/ProcessErrorMetrics.js +43 -0
- package/dist/monitoring/ProcessErrorMetrics.js.map +1 -0
- package/dist/monitoring/PrometheusMetricsBridge.d.ts +7 -0
- package/dist/monitoring/PrometheusMetricsBridge.js +8 -2
- package/dist/monitoring/PrometheusMetricsBridge.js.map +1 -1
- package/dist/monitoring/SubworkflowMetrics.d.ts +25 -0
- package/dist/monitoring/SubworkflowMetrics.js +38 -0
- package/dist/monitoring/SubworkflowMetrics.js.map +1 -0
- package/dist/observability/ErrorSink.d.ts +23 -0
- package/dist/observability/ErrorSink.js +32 -0
- package/dist/observability/ErrorSink.js.map +1 -0
- package/dist/observability/SentryIntegration.d.ts +9 -0
- package/dist/observability/SentryIntegration.js +31 -0
- package/dist/observability/SentryIntegration.js.map +1 -0
- package/dist/scheduling/DebounceCoordinator.d.ts +7 -53
- package/dist/scheduling/DebounceCoordinator.js +8 -207
- package/dist/scheduling/DebounceCoordinator.js.map +1 -1
- package/dist/tracing/InMemoryRunStore.d.ts +5 -1
- package/dist/tracing/InMemoryRunStore.js +14 -0
- package/dist/tracing/InMemoryRunStore.js.map +1 -1
- package/dist/tracing/Janitor.js +3 -0
- package/dist/tracing/Janitor.js.map +1 -1
- package/dist/tracing/PostgresRunStore.d.ts +4 -1
- package/dist/tracing/PostgresRunStore.js +73 -3
- package/dist/tracing/PostgresRunStore.js.map +1 -1
- package/dist/tracing/RunStore.d.ts +17 -1
- package/dist/tracing/RunTracker.d.ts +13 -34
- package/dist/tracing/RunTracker.js +62 -32
- package/dist/tracing/RunTracker.js.map +1 -1
- package/dist/tracing/SqliteRunStore.d.ts +4 -1
- package/dist/tracing/SqliteRunStore.js +60 -0
- package/dist/tracing/SqliteRunStore.js.map +1 -1
- package/dist/tracing/TraceRouter.d.ts +13 -0
- package/dist/tracing/TraceRouter.js +43 -11
- package/dist/tracing/TraceRouter.js.map +1 -1
- package/dist/tracing/TracingLogger.js +22 -0
- package/dist/tracing/TracingLogger.js.map +1 -1
- package/dist/tracing/createStore.js +51 -22
- package/dist/tracing/createStore.js.map +1 -1
- package/dist/tracing/types.d.ts +22 -0
- package/dist/types/GlobalOptions.d.ts +5 -7
- package/dist/workflow/WorkflowNormalizer.js +63 -0
- package/dist/workflow/WorkflowNormalizer.js.map +1 -1
- package/package.json +7 -4
- package/dist/cache/NodeResultCache.d.ts +0 -286
- package/dist/cache/NodeResultCache.js +0 -506
- package/dist/cache/NodeResultCache.js.map +0 -1
- package/dist/cache/index.d.ts +0 -1
- package/dist/cache/index.js +0 -2
- package/dist/cache/index.js.map +0 -1
- package/dist/concurrency/ConcurrencyBackend.d.ts +0 -61
- package/dist/concurrency/ConcurrencyBackend.js +0 -20
- package/dist/concurrency/ConcurrencyBackend.js.map +0 -1
- package/dist/concurrency/NatsKvConcurrencyBackend.d.ts +0 -64
- package/dist/concurrency/NatsKvConcurrencyBackend.js +0 -310
- package/dist/concurrency/NatsKvConcurrencyBackend.js.map +0 -1
- package/dist/concurrency/RedisConcurrencyBackend.d.ts +0 -64
- package/dist/concurrency/RedisConcurrencyBackend.js +0 -374
- package/dist/concurrency/RedisConcurrencyBackend.js.map +0 -1
- package/dist/concurrency/createConcurrencyBackend.d.ts +0 -24
- package/dist/concurrency/createConcurrencyBackend.js +0 -38
- package/dist/concurrency/createConcurrencyBackend.js.map +0 -1
- package/dist/graphql/GraphQLSchemaGenerator.d.ts +0 -129
- package/dist/graphql/GraphQLSchemaGenerator.js +0 -425
- package/dist/graphql/GraphQLSchemaGenerator.js.map +0 -1
- package/dist/integrations/APMIntegration.d.ts +0 -141
- package/dist/integrations/APMIntegration.js +0 -212
- package/dist/integrations/APMIntegration.js.map +0 -1
- package/dist/integrations/AzureMonitorIntegration.d.ts +0 -118
- package/dist/integrations/AzureMonitorIntegration.js +0 -254
- package/dist/integrations/AzureMonitorIntegration.js.map +0 -1
- package/dist/integrations/CloudWatchIntegration.d.ts +0 -135
- package/dist/integrations/CloudWatchIntegration.js +0 -293
- package/dist/integrations/CloudWatchIntegration.js.map +0 -1
- package/dist/integrations/SentryIntegration.d.ts +0 -153
- package/dist/integrations/SentryIntegration.js +0 -200
- package/dist/integrations/SentryIntegration.js.map +0 -1
- package/dist/integrations/index.d.ts +0 -19
- package/dist/integrations/index.js +0 -16
- package/dist/integrations/index.js.map +0 -1
- package/dist/marketplace/RuntimeAutoScaler.d.ts +0 -148
- package/dist/marketplace/RuntimeAutoScaler.js +0 -366
- package/dist/marketplace/RuntimeAutoScaler.js.map +0 -1
- package/dist/marketplace/RuntimeCatalog.d.ts +0 -180
- package/dist/marketplace/RuntimeCatalog.js +0 -339
- package/dist/marketplace/RuntimeCatalog.js.map +0 -1
- package/dist/marketplace/RuntimeDiscovery.d.ts +0 -86
- package/dist/marketplace/RuntimeDiscovery.js +0 -231
- package/dist/marketplace/RuntimeDiscovery.js.map +0 -1
- package/dist/marketplace/RuntimeHealthMonitor.d.ts +0 -100
- package/dist/marketplace/RuntimeHealthMonitor.js +0 -241
- package/dist/marketplace/RuntimeHealthMonitor.js.map +0 -1
- package/dist/marketplace/RuntimeMetricsDashboard.d.ts +0 -113
- package/dist/marketplace/RuntimeMetricsDashboard.js +0 -293
- package/dist/marketplace/RuntimeMetricsDashboard.js.map +0 -1
- package/dist/openapi/OpenAPIGenerator.d.ts +0 -192
- package/dist/openapi/OpenAPIGenerator.js +0 -378
- package/dist/openapi/OpenAPIGenerator.js.map +0 -1
- package/dist/openapi/index.d.ts +0 -20
- package/dist/openapi/index.js +0 -20
- package/dist/openapi/index.js.map +0 -1
- package/dist/scheduling/DebounceBackend.d.ts +0 -108
- package/dist/scheduling/DebounceBackend.js +0 -23
- package/dist/scheduling/DebounceBackend.js.map +0 -1
- package/dist/scheduling/NatsKvDebounceBackend.d.ts +0 -53
- package/dist/scheduling/NatsKvDebounceBackend.js +0 -334
- package/dist/scheduling/NatsKvDebounceBackend.js.map +0 -1
- package/dist/scheduling/RedisDebounceBackend.d.ts +0 -49
- package/dist/scheduling/RedisDebounceBackend.js +0 -356
- package/dist/scheduling/RedisDebounceBackend.js.map +0 -1
- package/dist/scheduling/createDebounceBackend.d.ts +0 -25
- package/dist/scheduling/createDebounceBackend.js +0 -39
- package/dist/scheduling/createDebounceBackend.js.map +0 -1
- package/dist/security/ABAC.d.ts +0 -224
- package/dist/security/ABAC.js +0 -380
- package/dist/security/ABAC.js.map +0 -1
- package/dist/security/AuditLogger.d.ts +0 -242
- package/dist/security/AuditLogger.js +0 -317
- package/dist/security/AuditLogger.js.map +0 -1
- package/dist/security/AuthMiddleware.d.ts +0 -162
- package/dist/security/AuthMiddleware.js +0 -289
- package/dist/security/AuthMiddleware.js.map +0 -1
- package/dist/security/EncryptionAtRest.d.ts +0 -206
- package/dist/security/EncryptionAtRest.js +0 -236
- package/dist/security/EncryptionAtRest.js.map +0 -1
- package/dist/security/OAuthProvider.d.ts +0 -334
- package/dist/security/OAuthProvider.js +0 -719
- package/dist/security/OAuthProvider.js.map +0 -1
- package/dist/security/PIIDetector.d.ts +0 -233
- package/dist/security/PIIDetector.js +0 -354
- package/dist/security/PIIDetector.js.map +0 -1
- package/dist/security/RBAC.d.ts +0 -143
- package/dist/security/RBAC.js +0 -285
- package/dist/security/RBAC.js.map +0 -1
- package/dist/security/SecretManager.d.ts +0 -652
- package/dist/security/SecretManager.js +0 -1147
- package/dist/security/SecretManager.js.map +0 -1
- package/dist/security/TLSConfig.d.ts +0 -305
- package/dist/security/TLSConfig.js +0 -550
- package/dist/security/TLSConfig.js.map +0 -1
- package/dist/security/index.d.ts +0 -81
- package/dist/security/index.js +0 -82
- package/dist/security/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeDiscovery.js","sourceRoot":"","sources":["../../src/marketplace/RuntimeDiscovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RuntimeHealthMonitor - Health Monitoring for Blok Runtime Adapters
|
|
3
|
-
*
|
|
4
|
-
* Tracks the health of all registered runtime adapters with periodic
|
|
5
|
-
* health checks, status transitions, uptime tracking, and event-driven
|
|
6
|
-
* notifications following the same patterns as TriggerMetricsCollector.
|
|
7
|
-
*/
|
|
8
|
-
import type { RuntimeRegistry } from "../RuntimeRegistry";
|
|
9
|
-
import type { RuntimeKind } from "../adapters/RuntimeAdapter";
|
|
10
|
-
export interface RuntimeHealthStatus {
|
|
11
|
-
runtime: RuntimeKind;
|
|
12
|
-
status: "healthy" | "degraded" | "unhealthy" | "unknown";
|
|
13
|
-
lastCheck: number;
|
|
14
|
-
lastSuccess: number;
|
|
15
|
-
consecutiveFailures: number;
|
|
16
|
-
uptime: number;
|
|
17
|
-
latencyMs: number;
|
|
18
|
-
details: Record<string, unknown>;
|
|
19
|
-
}
|
|
20
|
-
export interface HealthMonitorConfig {
|
|
21
|
-
checkIntervalMs: number;
|
|
22
|
-
unhealthyThreshold: number;
|
|
23
|
-
degradedThreshold: number;
|
|
24
|
-
timeoutMs: number;
|
|
25
|
-
historySize: number;
|
|
26
|
-
}
|
|
27
|
-
export interface HealthCheckRecord {
|
|
28
|
-
runtime: RuntimeKind;
|
|
29
|
-
timestamp: number;
|
|
30
|
-
status: "healthy" | "degraded" | "unhealthy" | "unknown";
|
|
31
|
-
latencyMs: number;
|
|
32
|
-
error?: string;
|
|
33
|
-
}
|
|
34
|
-
export type HealthChangeListener = (runtime: RuntimeKind, oldStatus: string, newStatus: string) => void;
|
|
35
|
-
export declare class RuntimeHealthMonitor {
|
|
36
|
-
private registry;
|
|
37
|
-
private config;
|
|
38
|
-
private healthStatuses;
|
|
39
|
-
private history;
|
|
40
|
-
private listeners;
|
|
41
|
-
private interval;
|
|
42
|
-
constructor(registry: RuntimeRegistry, config?: Partial<HealthMonitorConfig>);
|
|
43
|
-
/**
|
|
44
|
-
* Begin periodic health checks using setInterval.
|
|
45
|
-
*/
|
|
46
|
-
start(): void;
|
|
47
|
-
/**
|
|
48
|
-
* Stop periodic health checks.
|
|
49
|
-
*/
|
|
50
|
-
stop(): void;
|
|
51
|
-
/**
|
|
52
|
-
* Check all registered runtimes and return their health statuses.
|
|
53
|
-
*/
|
|
54
|
-
checkAll(): Promise<Map<RuntimeKind, RuntimeHealthStatus>>;
|
|
55
|
-
/**
|
|
56
|
-
* Check a specific runtime by verifying adapter availability and responsiveness.
|
|
57
|
-
*/
|
|
58
|
-
checkRuntime(runtime: RuntimeKind): Promise<RuntimeHealthStatus>;
|
|
59
|
-
/**
|
|
60
|
-
* Get current status for a specific runtime.
|
|
61
|
-
*/
|
|
62
|
-
getStatus(runtime: RuntimeKind): RuntimeHealthStatus | undefined;
|
|
63
|
-
/**
|
|
64
|
-
* Get all current health statuses.
|
|
65
|
-
*/
|
|
66
|
-
getAllStatuses(): RuntimeHealthStatus[];
|
|
67
|
-
/**
|
|
68
|
-
* Get check history, optionally filtered by runtime and limited in count.
|
|
69
|
-
*/
|
|
70
|
-
getHistory(runtime?: RuntimeKind, limit?: number): HealthCheckRecord[];
|
|
71
|
-
/**
|
|
72
|
-
* Subscribe to status change events. Returns an unsubscribe function.
|
|
73
|
-
*/
|
|
74
|
-
onHealthChange(listener: HealthChangeListener): () => void;
|
|
75
|
-
/**
|
|
76
|
-
* Quick check if a runtime is currently healthy.
|
|
77
|
-
*/
|
|
78
|
-
isHealthy(runtime: RuntimeKind): boolean;
|
|
79
|
-
/**
|
|
80
|
-
* Calculate uptime percentage from history for a given runtime.
|
|
81
|
-
*/
|
|
82
|
-
getUptimePercentage(runtime: RuntimeKind): number;
|
|
83
|
-
/**
|
|
84
|
-
* Clear all status data and history.
|
|
85
|
-
*/
|
|
86
|
-
reset(): void;
|
|
87
|
-
/**
|
|
88
|
-
* Calculate uptime percentage from recorded history for a specific runtime.
|
|
89
|
-
* Uptime is the ratio of healthy checks to total checks, expressed as 0-100.
|
|
90
|
-
*/
|
|
91
|
-
private calculateUptimeFromHistory;
|
|
92
|
-
/**
|
|
93
|
-
* Notify all listeners of a health status change.
|
|
94
|
-
*/
|
|
95
|
-
private emitHealthChange;
|
|
96
|
-
/**
|
|
97
|
-
* Execute an async function with a timeout.
|
|
98
|
-
*/
|
|
99
|
-
private withTimeout;
|
|
100
|
-
}
|
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RuntimeHealthMonitor - Health Monitoring for Blok Runtime Adapters
|
|
3
|
-
*
|
|
4
|
-
* Tracks the health of all registered runtime adapters with periodic
|
|
5
|
-
* health checks, status transitions, uptime tracking, and event-driven
|
|
6
|
-
* notifications following the same patterns as TriggerMetricsCollector.
|
|
7
|
-
*/
|
|
8
|
-
const DEFAULT_CONFIG = {
|
|
9
|
-
checkIntervalMs: 30_000,
|
|
10
|
-
unhealthyThreshold: 3,
|
|
11
|
-
degradedThreshold: 1,
|
|
12
|
-
timeoutMs: 5_000,
|
|
13
|
-
historySize: 100,
|
|
14
|
-
};
|
|
15
|
-
export class RuntimeHealthMonitor {
|
|
16
|
-
registry;
|
|
17
|
-
config;
|
|
18
|
-
healthStatuses = new Map();
|
|
19
|
-
history = [];
|
|
20
|
-
listeners = [];
|
|
21
|
-
interval;
|
|
22
|
-
constructor(registry, config) {
|
|
23
|
-
this.registry = registry;
|
|
24
|
-
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Begin periodic health checks using setInterval.
|
|
28
|
-
*/
|
|
29
|
-
start() {
|
|
30
|
-
if (this.interval) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
// Perform an initial check immediately
|
|
34
|
-
this.checkAll();
|
|
35
|
-
this.interval = setInterval(() => {
|
|
36
|
-
this.checkAll();
|
|
37
|
-
}, this.config.checkIntervalMs);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Stop periodic health checks.
|
|
41
|
-
*/
|
|
42
|
-
stop() {
|
|
43
|
-
if (this.interval) {
|
|
44
|
-
clearInterval(this.interval);
|
|
45
|
-
this.interval = undefined;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Check all registered runtimes and return their health statuses.
|
|
50
|
-
*/
|
|
51
|
-
async checkAll() {
|
|
52
|
-
const kinds = this.registry.getRegisteredKinds();
|
|
53
|
-
const results = new Map();
|
|
54
|
-
for (const kind of kinds) {
|
|
55
|
-
const status = await this.checkRuntime(kind);
|
|
56
|
-
results.set(kind, status);
|
|
57
|
-
}
|
|
58
|
-
return results;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Check a specific runtime by verifying adapter availability and responsiveness.
|
|
62
|
-
*/
|
|
63
|
-
async checkRuntime(runtime) {
|
|
64
|
-
const startTime = Date.now();
|
|
65
|
-
const previousStatus = this.healthStatuses.get(runtime);
|
|
66
|
-
const oldStatusLabel = previousStatus?.status ?? "unknown";
|
|
67
|
-
let newStatus;
|
|
68
|
-
try {
|
|
69
|
-
// Verify the adapter is registered and functional by attempting to retrieve it.
|
|
70
|
-
// Wrap in a timeout to detect hung adapters.
|
|
71
|
-
await this.withTimeout(async () => {
|
|
72
|
-
const adapter = this.registry.get(runtime);
|
|
73
|
-
// Verify the adapter object is present and has the expected kind
|
|
74
|
-
if (adapter.kind !== runtime) {
|
|
75
|
-
throw new Error(`Adapter kind mismatch: expected ${runtime}, got ${adapter.kind}`);
|
|
76
|
-
}
|
|
77
|
-
}, this.config.timeoutMs);
|
|
78
|
-
const latencyMs = Date.now() - startTime;
|
|
79
|
-
const consecutiveFailures = 0;
|
|
80
|
-
const status = "healthy";
|
|
81
|
-
newStatus = {
|
|
82
|
-
runtime,
|
|
83
|
-
status,
|
|
84
|
-
lastCheck: Date.now(),
|
|
85
|
-
lastSuccess: Date.now(),
|
|
86
|
-
consecutiveFailures,
|
|
87
|
-
uptime: 0,
|
|
88
|
-
latencyMs,
|
|
89
|
-
details: {},
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
catch (err) {
|
|
93
|
-
const latencyMs = Date.now() - startTime;
|
|
94
|
-
const consecutiveFailures = (previousStatus?.consecutiveFailures ?? 0) + 1;
|
|
95
|
-
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
96
|
-
let status;
|
|
97
|
-
if (consecutiveFailures >= this.config.unhealthyThreshold) {
|
|
98
|
-
status = "unhealthy";
|
|
99
|
-
}
|
|
100
|
-
else if (consecutiveFailures >= this.config.degradedThreshold) {
|
|
101
|
-
status = "degraded";
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
status = "degraded";
|
|
105
|
-
}
|
|
106
|
-
newStatus = {
|
|
107
|
-
runtime,
|
|
108
|
-
status,
|
|
109
|
-
lastCheck: Date.now(),
|
|
110
|
-
lastSuccess: previousStatus?.lastSuccess ?? 0,
|
|
111
|
-
consecutiveFailures,
|
|
112
|
-
uptime: 0,
|
|
113
|
-
latencyMs,
|
|
114
|
-
details: { error: errorMessage },
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
// Record check in history
|
|
118
|
-
const record = {
|
|
119
|
-
runtime,
|
|
120
|
-
timestamp: newStatus.lastCheck,
|
|
121
|
-
status: newStatus.status,
|
|
122
|
-
latencyMs: newStatus.latencyMs,
|
|
123
|
-
...(newStatus.details.error ? { error: newStatus.details.error } : {}),
|
|
124
|
-
};
|
|
125
|
-
this.history.push(record);
|
|
126
|
-
if (this.history.length > this.config.historySize) {
|
|
127
|
-
this.history = this.history.slice(-this.config.historySize);
|
|
128
|
-
}
|
|
129
|
-
// Calculate uptime from history
|
|
130
|
-
newStatus.uptime = this.calculateUptimeFromHistory(runtime);
|
|
131
|
-
// Store updated status
|
|
132
|
-
this.healthStatuses.set(runtime, newStatus);
|
|
133
|
-
// Emit health change events when status transitions
|
|
134
|
-
if (oldStatusLabel !== newStatus.status) {
|
|
135
|
-
this.emitHealthChange(runtime, oldStatusLabel, newStatus.status);
|
|
136
|
-
}
|
|
137
|
-
return newStatus;
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Get current status for a specific runtime.
|
|
141
|
-
*/
|
|
142
|
-
getStatus(runtime) {
|
|
143
|
-
return this.healthStatuses.get(runtime);
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Get all current health statuses.
|
|
147
|
-
*/
|
|
148
|
-
getAllStatuses() {
|
|
149
|
-
return Array.from(this.healthStatuses.values());
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Get check history, optionally filtered by runtime and limited in count.
|
|
153
|
-
*/
|
|
154
|
-
getHistory(runtime, limit) {
|
|
155
|
-
let records = [...this.history];
|
|
156
|
-
if (runtime) {
|
|
157
|
-
records = records.filter((r) => r.runtime === runtime);
|
|
158
|
-
}
|
|
159
|
-
if (limit !== undefined && limit > 0) {
|
|
160
|
-
records = records.slice(-limit);
|
|
161
|
-
}
|
|
162
|
-
return records;
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Subscribe to status change events. Returns an unsubscribe function.
|
|
166
|
-
*/
|
|
167
|
-
onHealthChange(listener) {
|
|
168
|
-
this.listeners.push(listener);
|
|
169
|
-
return () => {
|
|
170
|
-
const index = this.listeners.indexOf(listener);
|
|
171
|
-
if (index !== -1) {
|
|
172
|
-
this.listeners.splice(index, 1);
|
|
173
|
-
}
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Quick check if a runtime is currently healthy.
|
|
178
|
-
*/
|
|
179
|
-
isHealthy(runtime) {
|
|
180
|
-
const status = this.healthStatuses.get(runtime);
|
|
181
|
-
return status?.status === "healthy";
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Calculate uptime percentage from history for a given runtime.
|
|
185
|
-
*/
|
|
186
|
-
getUptimePercentage(runtime) {
|
|
187
|
-
return this.calculateUptimeFromHistory(runtime);
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Clear all status data and history.
|
|
191
|
-
*/
|
|
192
|
-
reset() {
|
|
193
|
-
this.healthStatuses.clear();
|
|
194
|
-
this.history = [];
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Calculate uptime percentage from recorded history for a specific runtime.
|
|
198
|
-
* Uptime is the ratio of healthy checks to total checks, expressed as 0-100.
|
|
199
|
-
*/
|
|
200
|
-
calculateUptimeFromHistory(runtime) {
|
|
201
|
-
const runtimeHistory = this.history.filter((r) => r.runtime === runtime);
|
|
202
|
-
if (runtimeHistory.length === 0) {
|
|
203
|
-
return 100;
|
|
204
|
-
}
|
|
205
|
-
const healthyChecks = runtimeHistory.filter((r) => r.status === "healthy").length;
|
|
206
|
-
return (healthyChecks / runtimeHistory.length) * 100;
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Notify all listeners of a health status change.
|
|
210
|
-
*/
|
|
211
|
-
emitHealthChange(runtime, oldStatus, newStatus) {
|
|
212
|
-
for (const listener of this.listeners) {
|
|
213
|
-
try {
|
|
214
|
-
listener(runtime, oldStatus, newStatus);
|
|
215
|
-
}
|
|
216
|
-
catch {
|
|
217
|
-
// Swallow listener errors to avoid breaking the monitor loop
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Execute an async function with a timeout.
|
|
223
|
-
*/
|
|
224
|
-
withTimeout(fn, timeoutMs) {
|
|
225
|
-
return new Promise((resolve, reject) => {
|
|
226
|
-
const timer = setTimeout(() => {
|
|
227
|
-
reject(new Error(`Health check timed out after ${timeoutMs}ms`));
|
|
228
|
-
}, timeoutMs);
|
|
229
|
-
fn()
|
|
230
|
-
.then((result) => {
|
|
231
|
-
clearTimeout(timer);
|
|
232
|
-
resolve(result);
|
|
233
|
-
})
|
|
234
|
-
.catch((err) => {
|
|
235
|
-
clearTimeout(timer);
|
|
236
|
-
reject(err);
|
|
237
|
-
});
|
|
238
|
-
});
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
//# sourceMappingURL=RuntimeHealthMonitor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeHealthMonitor.js","sourceRoot":"","sources":["../../src/marketplace/RuntimeHealthMonitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RuntimeMetricsDashboard - Aggregated Execution Metrics for Blok Runtimes
|
|
3
|
-
*
|
|
4
|
-
* Collects and aggregates execution metrics across all runtimes with
|
|
5
|
-
* latency percentiles, throughput tracking, and resource monitoring
|
|
6
|
-
* following the same patterns as TriggerMetricsCollector.
|
|
7
|
-
*/
|
|
8
|
-
import type { ExecutionResult, RuntimeKind } from "../adapters/RuntimeAdapter";
|
|
9
|
-
export interface LatencyPercentiles {
|
|
10
|
-
count: number;
|
|
11
|
-
min: number;
|
|
12
|
-
max: number;
|
|
13
|
-
avg: number;
|
|
14
|
-
p50: number;
|
|
15
|
-
p95: number;
|
|
16
|
-
p99: number;
|
|
17
|
-
}
|
|
18
|
-
export interface ThroughputMetrics {
|
|
19
|
-
requestsPerSecond: number;
|
|
20
|
-
peakRps: number;
|
|
21
|
-
windowSizeMs: number;
|
|
22
|
-
}
|
|
23
|
-
export interface ResourceMetrics {
|
|
24
|
-
avgCpuMs: number;
|
|
25
|
-
avgMemoryBytes: number;
|
|
26
|
-
peakMemoryBytes: number;
|
|
27
|
-
}
|
|
28
|
-
export interface RuntimeExecutionMetrics {
|
|
29
|
-
runtime: RuntimeKind;
|
|
30
|
-
totalExecutions: number;
|
|
31
|
-
successfulExecutions: number;
|
|
32
|
-
failedExecutions: number;
|
|
33
|
-
successRate: number;
|
|
34
|
-
latency: LatencyPercentiles;
|
|
35
|
-
throughput: ThroughputMetrics;
|
|
36
|
-
resourceUsage: ResourceMetrics;
|
|
37
|
-
lastExecution: number;
|
|
38
|
-
}
|
|
39
|
-
export interface AggregateMetrics {
|
|
40
|
-
totalExecutions: number;
|
|
41
|
-
totalSuccess: number;
|
|
42
|
-
totalFailures: number;
|
|
43
|
-
overallSuccessRate: number;
|
|
44
|
-
avgLatencyMs: number;
|
|
45
|
-
activeRuntimes: number;
|
|
46
|
-
busiestRuntime: RuntimeKind | null;
|
|
47
|
-
slowestRuntime: RuntimeKind | null;
|
|
48
|
-
}
|
|
49
|
-
export interface DashboardSnapshot {
|
|
50
|
-
timestamp: number;
|
|
51
|
-
runtimes: RuntimeExecutionMetrics[];
|
|
52
|
-
aggregate: AggregateMetrics;
|
|
53
|
-
}
|
|
54
|
-
export declare class RuntimeMetricsDashboard {
|
|
55
|
-
private metrics;
|
|
56
|
-
/**
|
|
57
|
-
* Record an execution result for a runtime.
|
|
58
|
-
*/
|
|
59
|
-
recordExecution(runtime: RuntimeKind, result: ExecutionResult): void;
|
|
60
|
-
/**
|
|
61
|
-
* Get computed metrics for a specific runtime.
|
|
62
|
-
*/
|
|
63
|
-
getMetrics(runtime: RuntimeKind): RuntimeExecutionMetrics | undefined;
|
|
64
|
-
/**
|
|
65
|
-
* Get computed metrics for all tracked runtimes.
|
|
66
|
-
*/
|
|
67
|
-
getAllMetrics(): RuntimeExecutionMetrics[];
|
|
68
|
-
/**
|
|
69
|
-
* Get a full dashboard snapshot with per-runtime and aggregate metrics.
|
|
70
|
-
*/
|
|
71
|
-
getSnapshot(): DashboardSnapshot;
|
|
72
|
-
/**
|
|
73
|
-
* Get top runtimes ranked by a specific metric.
|
|
74
|
-
*/
|
|
75
|
-
getTopRuntimes(by: "executions" | "successRate" | "latency", limit?: number): RuntimeExecutionMetrics[];
|
|
76
|
-
/**
|
|
77
|
-
* Get execution count trend over time windows for a specific runtime.
|
|
78
|
-
*
|
|
79
|
-
* @param runtime - The runtime to get trends for
|
|
80
|
-
* @param intervalMs - Size of each time window in ms (default: 60000 = 1 min)
|
|
81
|
-
* @param windowCount - Number of time windows to return (default: 10)
|
|
82
|
-
* @returns Array of execution counts, one per time window (oldest first)
|
|
83
|
-
*/
|
|
84
|
-
getExecutionTrend(runtime: RuntimeKind, intervalMs?: number, windowCount?: number): number[];
|
|
85
|
-
/**
|
|
86
|
-
* Clear all metrics for all runtimes.
|
|
87
|
-
*/
|
|
88
|
-
reset(): void;
|
|
89
|
-
/**
|
|
90
|
-
* Clear metrics for a specific runtime.
|
|
91
|
-
*/
|
|
92
|
-
resetRuntime(runtime: RuntimeKind): void;
|
|
93
|
-
/**
|
|
94
|
-
* Compute RuntimeExecutionMetrics from raw data for a single runtime.
|
|
95
|
-
*/
|
|
96
|
-
private computeMetrics;
|
|
97
|
-
/**
|
|
98
|
-
* Compute latency percentiles from a samples array.
|
|
99
|
-
*/
|
|
100
|
-
private computeLatencyPercentiles;
|
|
101
|
-
/**
|
|
102
|
-
* Compute the p-th percentile from a pre-sorted array.
|
|
103
|
-
*/
|
|
104
|
-
private percentile;
|
|
105
|
-
/**
|
|
106
|
-
* Compute resource usage metrics from raw data.
|
|
107
|
-
*/
|
|
108
|
-
private computeResourceMetrics;
|
|
109
|
-
/**
|
|
110
|
-
* Compute aggregate metrics across all runtimes.
|
|
111
|
-
*/
|
|
112
|
-
private computeAggregate;
|
|
113
|
-
}
|