@dotdo/postgres 0.1.0 → 0.1.1
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/backup/backup-manager.d.ts +244 -0
- package/dist/backup/backup-manager.d.ts.map +1 -0
- package/dist/backup/backup-manager.js +726 -0
- package/dist/backup/backup-manager.js.map +1 -0
- package/dist/observability/production-metrics.d.ts +318 -0
- package/dist/observability/production-metrics.d.ts.map +1 -0
- package/dist/observability/production-metrics.js +747 -0
- package/dist/observability/production-metrics.js.map +1 -0
- package/dist/pitr/pitr-manager.d.ts +240 -0
- package/dist/pitr/pitr-manager.d.ts.map +1 -0
- package/dist/pitr/pitr-manager.js +837 -0
- package/dist/pitr/pitr-manager.js.map +1 -0
- package/dist/streaming/cdc-iceberg-connector.d.ts +1 -1
- package/dist/streaming/cdc-iceberg-connector.js +1 -1
- package/dist/streaming/live-cdc-stream.d.ts +1 -1
- package/dist/streaming/live-cdc-stream.js +1 -1
- package/package.json +4 -4
- package/src/__tests__/backup.test.ts +944 -0
- package/src/__tests__/observability.test.ts +1089 -0
- package/src/__tests__/pitr.test.ts +1240 -0
- package/src/backup/backup-manager.ts +1006 -0
- package/src/observability/production-metrics.ts +1054 -0
- package/src/pitr/pitr-manager.ts +1136 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup-manager.js","sourceRoot":"","sources":["../../src/backup/backup-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Production Observability Metrics for PostgreSQL Durable Objects
|
|
3
|
+
*
|
|
4
|
+
* Provides query metrics, connection stats, storage tier monitoring,
|
|
5
|
+
* health checks, Prometheus export, and alerting capabilities.
|
|
6
|
+
*/
|
|
7
|
+
/** Default health check timeout (milliseconds) */
|
|
8
|
+
export declare const DEFAULT_HEALTH_CHECK_TIMEOUT_MS = 5000;
|
|
9
|
+
/** Configuration for the ProductionMetrics collector */
|
|
10
|
+
export interface ProductionMetricsConfig {
|
|
11
|
+
/** Service name used in metric labels and exports */
|
|
12
|
+
serviceName: string;
|
|
13
|
+
/** Service version for dashboard display */
|
|
14
|
+
serviceVersion?: string;
|
|
15
|
+
/** Durable Object identifier */
|
|
16
|
+
doId: string;
|
|
17
|
+
/** Deployment environment (e.g., 'production', 'staging') */
|
|
18
|
+
environment?: string;
|
|
19
|
+
/** Collection interval for periodic metrics gathering (milliseconds) */
|
|
20
|
+
collectIntervalMs?: number;
|
|
21
|
+
/** Custom histogram bucket boundaries for query duration (seconds) */
|
|
22
|
+
histogramBoundaries?: number[];
|
|
23
|
+
/** Threshold for classifying queries as slow (milliseconds) */
|
|
24
|
+
slowQueryThresholdMs?: number;
|
|
25
|
+
/** Maximum number of unique query digest patterns to track */
|
|
26
|
+
maxQueryDigests?: number;
|
|
27
|
+
/** Whether to collect detailed per-tier storage metrics */
|
|
28
|
+
enableDetailedStorageMetrics?: boolean;
|
|
29
|
+
/** Alert threshold configuration */
|
|
30
|
+
alertThresholds?: AlertThresholdConfig;
|
|
31
|
+
}
|
|
32
|
+
interface AlertThresholdConfig {
|
|
33
|
+
errorRatePercent?: number;
|
|
34
|
+
p99LatencyMs?: number;
|
|
35
|
+
memoryUsagePercent?: number;
|
|
36
|
+
storageErrorRate?: number;
|
|
37
|
+
}
|
|
38
|
+
export interface QueryRecord {
|
|
39
|
+
sql: string;
|
|
40
|
+
durationMs: number;
|
|
41
|
+
rowsReturned: number;
|
|
42
|
+
success: boolean;
|
|
43
|
+
error?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface QueryMetricsSnapshot {
|
|
46
|
+
totalQueries: number;
|
|
47
|
+
avgDurationMs: number;
|
|
48
|
+
p50DurationMs: number;
|
|
49
|
+
p95DurationMs: number;
|
|
50
|
+
p99DurationMs: number;
|
|
51
|
+
queriesPerSecond: number;
|
|
52
|
+
errorRate: number;
|
|
53
|
+
totalErrors: number;
|
|
54
|
+
totalRowsReturned: number;
|
|
55
|
+
byOperation: Record<string, {
|
|
56
|
+
count: number;
|
|
57
|
+
avgDurationMs: number;
|
|
58
|
+
}>;
|
|
59
|
+
windows: {
|
|
60
|
+
oneMinute: WindowMetrics;
|
|
61
|
+
fiveMinutes: WindowMetrics;
|
|
62
|
+
fifteenMinutes: WindowMetrics;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
interface WindowMetrics {
|
|
66
|
+
totalQueries: number;
|
|
67
|
+
avgDurationMs: number;
|
|
68
|
+
errorRate: number;
|
|
69
|
+
}
|
|
70
|
+
export interface ConnectionStats {
|
|
71
|
+
activeConnections: number;
|
|
72
|
+
totalConnectionsOpened: number;
|
|
73
|
+
peakConnections: number;
|
|
74
|
+
connectionErrors: number;
|
|
75
|
+
avgConnectionDurationMs: number;
|
|
76
|
+
idleConnections: number;
|
|
77
|
+
poolUtilization: number;
|
|
78
|
+
websocketConnections: number;
|
|
79
|
+
httpConnections: number;
|
|
80
|
+
avgWaitTimeMs: number;
|
|
81
|
+
uptimeMs: number;
|
|
82
|
+
}
|
|
83
|
+
export interface StorageTierSnapshot {
|
|
84
|
+
hot: TierStats;
|
|
85
|
+
warm: TierStats;
|
|
86
|
+
cold: TierStats;
|
|
87
|
+
promotions: {
|
|
88
|
+
coldToWarm: number;
|
|
89
|
+
warmToHot: number;
|
|
90
|
+
};
|
|
91
|
+
demotions: {
|
|
92
|
+
hotToWarm: number;
|
|
93
|
+
warmToCold: number;
|
|
94
|
+
};
|
|
95
|
+
estimatedCosts: {
|
|
96
|
+
hot: number;
|
|
97
|
+
warm: number;
|
|
98
|
+
cold: number;
|
|
99
|
+
total: number;
|
|
100
|
+
};
|
|
101
|
+
tieringEfficiency: number;
|
|
102
|
+
}
|
|
103
|
+
interface TierStats {
|
|
104
|
+
hitRate: number;
|
|
105
|
+
bytesRead: number;
|
|
106
|
+
bytesWritten: number;
|
|
107
|
+
totalOperations: number;
|
|
108
|
+
avgLatencyMs: number;
|
|
109
|
+
errors: number;
|
|
110
|
+
usageBytes: number;
|
|
111
|
+
healthStatus: 'healthy' | 'degraded' | 'unhealthy';
|
|
112
|
+
}
|
|
113
|
+
export interface HealthCheckResult {
|
|
114
|
+
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
115
|
+
service?: string;
|
|
116
|
+
uptimeMs?: number;
|
|
117
|
+
checks: Record<string, ComponentHealth>;
|
|
118
|
+
responseTimeMs?: number;
|
|
119
|
+
}
|
|
120
|
+
interface ComponentHealth {
|
|
121
|
+
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
122
|
+
error?: string;
|
|
123
|
+
details?: any;
|
|
124
|
+
}
|
|
125
|
+
export interface MetricsDashboard {
|
|
126
|
+
queries: QueryMetricsSnapshot;
|
|
127
|
+
connections: ConnectionStats;
|
|
128
|
+
storage: StorageTierSnapshot;
|
|
129
|
+
health: HealthCheckResult;
|
|
130
|
+
service: {
|
|
131
|
+
name: string;
|
|
132
|
+
doId: string;
|
|
133
|
+
uptimeMs: number;
|
|
134
|
+
version?: string;
|
|
135
|
+
};
|
|
136
|
+
memory: {
|
|
137
|
+
heapUsedBytes: number;
|
|
138
|
+
heapTotalBytes: number;
|
|
139
|
+
};
|
|
140
|
+
alerts: Alert[];
|
|
141
|
+
timestamp: number;
|
|
142
|
+
}
|
|
143
|
+
export interface AlertThreshold {
|
|
144
|
+
name: string;
|
|
145
|
+
type: string;
|
|
146
|
+
threshold: number;
|
|
147
|
+
windowMs?: number;
|
|
148
|
+
severity: 'warning' | 'critical';
|
|
149
|
+
}
|
|
150
|
+
interface Alert {
|
|
151
|
+
name?: string;
|
|
152
|
+
type: string;
|
|
153
|
+
severity: 'warning' | 'critical';
|
|
154
|
+
message: string;
|
|
155
|
+
triggeredAt: number;
|
|
156
|
+
value?: number;
|
|
157
|
+
}
|
|
158
|
+
export type MetricsExportFormat = 'prometheus' | 'json';
|
|
159
|
+
export interface PrometheusMetric {
|
|
160
|
+
name: string;
|
|
161
|
+
help: string;
|
|
162
|
+
type: 'counter' | 'gauge' | 'histogram';
|
|
163
|
+
value?: number;
|
|
164
|
+
labels?: Record<string, string>;
|
|
165
|
+
}
|
|
166
|
+
export interface QueryDigest {
|
|
167
|
+
pattern: string;
|
|
168
|
+
count: number;
|
|
169
|
+
avgDurationMs: number;
|
|
170
|
+
totalDurationMs: number;
|
|
171
|
+
lastSeen: number;
|
|
172
|
+
}
|
|
173
|
+
export interface SlowQueryLog {
|
|
174
|
+
sql: string;
|
|
175
|
+
durationMs: number;
|
|
176
|
+
rowsReturned: number;
|
|
177
|
+
timestamp: number;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Collects and exposes production metrics for PostgreSQL Durable Objects.
|
|
181
|
+
* Tracks query performance, connection statistics, storage tier operations,
|
|
182
|
+
* and provides health checks, Prometheus export, and alerting.
|
|
183
|
+
*/
|
|
184
|
+
export declare class ProductionMetrics {
|
|
185
|
+
private config;
|
|
186
|
+
private startTime;
|
|
187
|
+
private queries;
|
|
188
|
+
private slowQueries;
|
|
189
|
+
private digestMap;
|
|
190
|
+
private totalErrors;
|
|
191
|
+
private totalRowsReturned;
|
|
192
|
+
private connections;
|
|
193
|
+
private totalConnectionsOpened;
|
|
194
|
+
private peakConnections;
|
|
195
|
+
private connectionErrors;
|
|
196
|
+
private connectionDurations;
|
|
197
|
+
private waitTimes;
|
|
198
|
+
private idleConnections;
|
|
199
|
+
private storageOps;
|
|
200
|
+
private tierPromotions;
|
|
201
|
+
private tierDemotions;
|
|
202
|
+
private tierErrors;
|
|
203
|
+
private tierUsage;
|
|
204
|
+
private tierHealth;
|
|
205
|
+
private pgliteInstance;
|
|
206
|
+
private storageOrchestrator;
|
|
207
|
+
private activeAlerts;
|
|
208
|
+
private customThresholds;
|
|
209
|
+
constructor(config: ProductionMetricsConfig);
|
|
210
|
+
/** Records a completed query, updating metrics, digests, slow query log, and alerts */
|
|
211
|
+
recordQuery(record: QueryRecord): void;
|
|
212
|
+
/** Adds a query to the slow query log if it exceeds the configured threshold */
|
|
213
|
+
private trackSlowQuery;
|
|
214
|
+
/** Updates the query digest map with a new query record */
|
|
215
|
+
private updateQueryDigest;
|
|
216
|
+
/** Returns a comprehensive snapshot of query performance metrics */
|
|
217
|
+
getQueryMetrics(): QueryMetricsSnapshot;
|
|
218
|
+
/** Returns sorted duration samples, using reservoir sampling for large datasets */
|
|
219
|
+
private getSortedDurationsSample;
|
|
220
|
+
/** Computes per-operation count and average duration breakdown */
|
|
221
|
+
private computeOperationBreakdown;
|
|
222
|
+
/** Returns a copy of the slow query log */
|
|
223
|
+
getSlowQueryLog(): SlowQueryLog[];
|
|
224
|
+
/** Returns all tracked query digest patterns */
|
|
225
|
+
getQueryDigests(): QueryDigest[];
|
|
226
|
+
/** Resets all query-related metrics, including digests and slow query log */
|
|
227
|
+
resetQueryMetrics(): void;
|
|
228
|
+
/** Records a new connection being opened */
|
|
229
|
+
recordConnectionOpen(options?: {
|
|
230
|
+
type?: 'websocket' | 'http';
|
|
231
|
+
}): void;
|
|
232
|
+
/** Records a connection being closed, optionally with its total duration */
|
|
233
|
+
recordConnectionClose(options?: {
|
|
234
|
+
durationMs?: number;
|
|
235
|
+
}): void;
|
|
236
|
+
/** Records a connection error */
|
|
237
|
+
recordConnectionError(_message: string): void;
|
|
238
|
+
/** Records a connection transitioning to idle state */
|
|
239
|
+
recordConnectionIdle(): void;
|
|
240
|
+
/** Records a connection being acquired from the pool, with wait time */
|
|
241
|
+
recordConnectionAcquired(options: {
|
|
242
|
+
waitTimeMs: number;
|
|
243
|
+
}): void;
|
|
244
|
+
/** Returns a snapshot of connection statistics */
|
|
245
|
+
getConnectionStats(): ConnectionStats;
|
|
246
|
+
/** Records a storage tier operation (read/write) with optional hit/miss and timing */
|
|
247
|
+
recordStorageOperation(tier: 'hot' | 'warm' | 'cold', operation: 'read' | 'write', options: {
|
|
248
|
+
hit?: boolean;
|
|
249
|
+
bytes: number;
|
|
250
|
+
durationMs?: number;
|
|
251
|
+
}): void;
|
|
252
|
+
/** Records a data promotion between storage tiers */
|
|
253
|
+
recordTierPromotion(from: string, to: string, _details: {
|
|
254
|
+
key: string;
|
|
255
|
+
bytes: number;
|
|
256
|
+
}): void;
|
|
257
|
+
/** Records a data demotion between storage tiers */
|
|
258
|
+
recordTierDemotion(from: string, to: string, _details: {
|
|
259
|
+
key: string;
|
|
260
|
+
bytes: number;
|
|
261
|
+
}): void;
|
|
262
|
+
/** Records a storage error and triggers alert if threshold is exceeded */
|
|
263
|
+
recordStorageError(tier: string, _message: string): void;
|
|
264
|
+
/** Records the current storage usage for a tier */
|
|
265
|
+
recordStorageUsage(tier: 'hot' | 'warm' | 'cold', bytes: number): void;
|
|
266
|
+
/** Records a change in tier health status */
|
|
267
|
+
recordTierHealthChange(tier: string, status: 'healthy' | 'degraded' | 'unhealthy'): void;
|
|
268
|
+
/** Returns a comprehensive snapshot of storage tier statistics including costs */
|
|
269
|
+
getStorageTierStats(): StorageTierSnapshot;
|
|
270
|
+
/** Sets the PGLite instance for health check queries */
|
|
271
|
+
setPGLiteInstance(pglite: any): void;
|
|
272
|
+
/** Sets the storage orchestrator for health check tier status */
|
|
273
|
+
setStorageOrchestrator(orchestrator: any): void;
|
|
274
|
+
/** Returns a simple liveness probe result (always healthy if the service is running) */
|
|
275
|
+
liveness(): {
|
|
276
|
+
status: 'healthy';
|
|
277
|
+
service: string;
|
|
278
|
+
uptimeMs: number;
|
|
279
|
+
};
|
|
280
|
+
/** Performs a readiness check including PGLite, storage, and memory health */
|
|
281
|
+
readiness(_options?: {
|
|
282
|
+
timeoutMs?: number;
|
|
283
|
+
}): Promise<HealthCheckResult>;
|
|
284
|
+
/** Checks PGLite health with a microtask-based timeout */
|
|
285
|
+
private checkPGLiteHealth;
|
|
286
|
+
/** Checks storage orchestrator health */
|
|
287
|
+
private checkStorageHealth;
|
|
288
|
+
/** Determines the worst overall status from all component checks */
|
|
289
|
+
private determineOverallStatus;
|
|
290
|
+
/** Performs a deep health check including WAL status */
|
|
291
|
+
deepCheck(): Promise<HealthCheckResult>;
|
|
292
|
+
/** Exports all metrics in Prometheus text exposition format */
|
|
293
|
+
exportPrometheus(): string;
|
|
294
|
+
/** Exports all metrics as a structured JSON object */
|
|
295
|
+
exportJSON(): {
|
|
296
|
+
metrics: any;
|
|
297
|
+
timestamp: number;
|
|
298
|
+
service: string;
|
|
299
|
+
};
|
|
300
|
+
/** Creates an HTTP request handler that serves metrics in Prometheus or JSON format */
|
|
301
|
+
createMetricsHandler(): (request: Request) => Promise<Response>;
|
|
302
|
+
/** Returns a complete metrics dashboard snapshot for display */
|
|
303
|
+
getDashboard(): MetricsDashboard;
|
|
304
|
+
/** Evaluates all alert conditions against current metrics, adding/removing alerts as needed */
|
|
305
|
+
evaluateAlerts(): void;
|
|
306
|
+
/** Returns a copy of all currently active alerts */
|
|
307
|
+
getActiveAlerts(): Alert[];
|
|
308
|
+
/** Registers a custom alert threshold for evaluation */
|
|
309
|
+
registerAlertThreshold(threshold: AlertThreshold): void;
|
|
310
|
+
/** Resets all metrics state (queries, connections, storage, alerts) */
|
|
311
|
+
resetAll(): void;
|
|
312
|
+
private getWindowMetrics;
|
|
313
|
+
private addAlert;
|
|
314
|
+
}
|
|
315
|
+
/** Creates a ProductionMetrics instance, validating required configuration */
|
|
316
|
+
export declare function createProductionMetrics(config: ProductionMetricsConfig): ProductionMetrics;
|
|
317
|
+
export {};
|
|
318
|
+
//# sourceMappingURL=production-metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"production-metrics.d.ts","sourceRoot":"","sources":["../../src/observability/production-metrics.ts"],"names":[],"mappings":"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"}
|