@henrychong-ai/mcp-neo4j-knowledge-graph 1.1.7 → 1.4.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/README.md +69 -0
- package/dist/embeddings/EmbeddingJobManager.d.ts +15 -0
- package/dist/embeddings/EmbeddingJobManager.js +72 -0
- package/dist/embeddings/EmbeddingJobManager.js.map +1 -1
- package/dist/index.js +51 -16
- package/dist/index.js.map +1 -1
- package/dist/metrics/PrometheusMetrics.d.ts +71 -0
- package/dist/metrics/PrometheusMetrics.js +159 -0
- package/dist/metrics/PrometheusMetrics.js.map +1 -0
- package/dist/retrieval/HybridRetriever.d.ts +53 -0
- package/dist/retrieval/HybridRetriever.js +161 -0
- package/dist/retrieval/HybridRetriever.js.map +1 -0
- package/dist/retrieval/index.d.ts +11 -0
- package/dist/retrieval/index.js +10 -0
- package/dist/retrieval/index.js.map +1 -0
- package/dist/retrieval/scorers/ConnectionStrengthScorer.d.ts +37 -0
- package/dist/retrieval/scorers/ConnectionStrengthScorer.js +117 -0
- package/dist/retrieval/scorers/ConnectionStrengthScorer.js.map +1 -0
- package/dist/retrieval/scorers/GraphTraversalScorer.d.ts +32 -0
- package/dist/retrieval/scorers/GraphTraversalScorer.js +106 -0
- package/dist/retrieval/scorers/GraphTraversalScorer.js.map +1 -0
- package/dist/retrieval/scorers/TemporalFreshnessScorer.d.ts +40 -0
- package/dist/retrieval/scorers/TemporalFreshnessScorer.js +105 -0
- package/dist/retrieval/scorers/TemporalFreshnessScorer.js.map +1 -0
- package/dist/retrieval/scorers/VectorSimilarityScorer.d.ts +20 -0
- package/dist/retrieval/scorers/VectorSimilarityScorer.js +69 -0
- package/dist/retrieval/scorers/VectorSimilarityScorer.js.map +1 -0
- package/dist/retrieval/types.d.ts +161 -0
- package/dist/retrieval/types.js +16 -0
- package/dist/retrieval/types.js.map +1 -0
- package/dist/server/handlers/callToolHandler.js +15 -0
- package/dist/server/handlers/callToolHandler.js.map +1 -1
- package/dist/storage/neo4j/Neo4jStorageProvider.d.ts +19 -0
- package/dist/storage/neo4j/Neo4jStorageProvider.js +192 -8
- package/dist/storage/neo4j/Neo4jStorageProvider.js.map +1 -1
- package/package.json +7 -4
package/README.md
CHANGED
|
@@ -466,8 +466,77 @@ OPENAI_EMBEDDING_MODEL=text-embedding-3-small
|
|
|
466
466
|
|
|
467
467
|
# Debug Settings
|
|
468
468
|
DEBUG=true
|
|
469
|
+
|
|
470
|
+
# Prometheus Metrics (Optional - Production Monitoring)
|
|
471
|
+
ENABLE_PROMETHEUS_METRICS=true # Enable metrics collection and HTTP endpoint
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
### Prometheus Metrics
|
|
475
|
+
|
|
476
|
+
The MCP server includes built-in Prometheus metrics for production observability. Metrics are **disabled by default** to minimize local machine overhead and only enabled when explicitly configured.
|
|
477
|
+
|
|
478
|
+
#### Enabling Metrics
|
|
479
|
+
|
|
480
|
+
Set the environment variable to enable metrics collection:
|
|
481
|
+
|
|
482
|
+
```bash
|
|
483
|
+
export ENABLE_PROMETHEUS_METRICS=true
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
When enabled, the metrics server starts on **port 9091** and exposes a `/metrics` endpoint in Prometheus exposition format.
|
|
487
|
+
|
|
488
|
+
#### Available Metrics
|
|
489
|
+
|
|
490
|
+
**Query Performance:**
|
|
491
|
+
- `mcp_query_duration_seconds` - Histogram tracking query execution time
|
|
492
|
+
- Labels: `operation` (loadGraph, searchNodes, openNodes, semanticSearch), `cache_status` (hit, miss, disabled)
|
|
493
|
+
- Buckets: 1ms, 5ms, 10ms, 50ms, 100ms, 500ms, 1s, 5s
|
|
494
|
+
|
|
495
|
+
**Cache Performance (ready for future cache integration):**
|
|
496
|
+
- `mcp_cache_hits_total` - Counter for cache hits
|
|
497
|
+
- `mcp_cache_misses_total` - Counter for cache misses
|
|
498
|
+
- `mcp_cache_invalidations_total` - Counter for cache invalidations
|
|
499
|
+
- `mcp_cache_size_current` - Gauge for current cache size
|
|
500
|
+
|
|
501
|
+
**Process Metrics:**
|
|
502
|
+
- Default Node.js process metrics (CPU, memory, event loop, garbage collection)
|
|
503
|
+
|
|
504
|
+
#### Accessing Metrics
|
|
505
|
+
|
|
506
|
+
Once enabled, metrics are available at:
|
|
507
|
+
|
|
508
|
+
```bash
|
|
509
|
+
curl http://localhost:9091/metrics
|
|
469
510
|
```
|
|
470
511
|
|
|
512
|
+
#### Production Deployment
|
|
513
|
+
|
|
514
|
+
For production deployments (e.g., vps-2), configure Prometheus to scrape the metrics endpoint:
|
|
515
|
+
|
|
516
|
+
```yaml
|
|
517
|
+
scrape_configs:
|
|
518
|
+
- job_name: "mcp-kg-server"
|
|
519
|
+
scrape_interval: 30s
|
|
520
|
+
static_configs:
|
|
521
|
+
- targets: ["localhost:9091"]
|
|
522
|
+
labels:
|
|
523
|
+
instance: "mcp-neo4j-knowledge-graph"
|
|
524
|
+
environment: "production"
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
Metrics can then be visualized in Grafana with custom dashboards showing:
|
|
528
|
+
- Query performance trends
|
|
529
|
+
- Cache hit/miss ratios
|
|
530
|
+
- System resource utilization
|
|
531
|
+
- Operation latency distributions
|
|
532
|
+
|
|
533
|
+
#### Port Selection
|
|
534
|
+
|
|
535
|
+
Port 9091 is chosen to avoid conflicts with common Prometheus exporters:
|
|
536
|
+
- 9090: Prometheus server
|
|
537
|
+
- 9099: neo4j-exporter
|
|
538
|
+
- 9100: node-exporter
|
|
539
|
+
|
|
471
540
|
### Command Line Options
|
|
472
541
|
|
|
473
542
|
The Neo4j CLI tools support the following options:
|
|
@@ -208,5 +208,20 @@ export declare class EmbeddingJobManager {
|
|
|
208
208
|
* @returns Cached embedding or undefined
|
|
209
209
|
*/
|
|
210
210
|
getCacheEntry(key: string): CachedEmbedding | undefined;
|
|
211
|
+
/**
|
|
212
|
+
* Schedule incremental regeneration for entities without embeddings
|
|
213
|
+
* This method queries all entities and schedules embedding jobs only for those missing embeddings
|
|
214
|
+
*
|
|
215
|
+
* @returns Number of entities scheduled for embedding generation
|
|
216
|
+
*/
|
|
217
|
+
scheduleIncrementalRegeneration(): Promise<number>;
|
|
218
|
+
/**
|
|
219
|
+
* Get all entities from storage provider
|
|
220
|
+
* This is a helper method to retrieve all entities for incremental regeneration
|
|
221
|
+
*
|
|
222
|
+
* @private
|
|
223
|
+
* @returns Array of all entities
|
|
224
|
+
*/
|
|
225
|
+
private _getAllEntitiesFromStorage;
|
|
211
226
|
}
|
|
212
227
|
export {};
|
|
@@ -541,5 +541,77 @@ export class EmbeddingJobManager {
|
|
|
541
541
|
getCacheEntry(key) {
|
|
542
542
|
return this.cache.get(key);
|
|
543
543
|
}
|
|
544
|
+
/**
|
|
545
|
+
* Schedule incremental regeneration for entities without embeddings
|
|
546
|
+
* This method queries all entities and schedules embedding jobs only for those missing embeddings
|
|
547
|
+
*
|
|
548
|
+
* @returns Number of entities scheduled for embedding generation
|
|
549
|
+
*/
|
|
550
|
+
async scheduleIncrementalRegeneration() {
|
|
551
|
+
this.logger.info('Starting incremental embedding regeneration check');
|
|
552
|
+
try {
|
|
553
|
+
// Get all entities from storage
|
|
554
|
+
const allEntities = await this._getAllEntitiesFromStorage();
|
|
555
|
+
this.logger.debug('Retrieved entities for embedding check', {
|
|
556
|
+
totalCount: allEntities.length
|
|
557
|
+
});
|
|
558
|
+
// Filter for entities without embeddings
|
|
559
|
+
const entitiesWithoutEmbeddings = allEntities.filter(entity => !entity.embedding);
|
|
560
|
+
this.logger.info('Found entities without embeddings', {
|
|
561
|
+
count: entitiesWithoutEmbeddings.length,
|
|
562
|
+
totalEntities: allEntities.length,
|
|
563
|
+
coverage: `${Math.round((allEntities.length - entitiesWithoutEmbeddings.length) / allEntities.length * 100)}%`
|
|
564
|
+
});
|
|
565
|
+
// Schedule embedding jobs for entities without embeddings
|
|
566
|
+
let scheduledCount = 0;
|
|
567
|
+
for (const entity of entitiesWithoutEmbeddings) {
|
|
568
|
+
try {
|
|
569
|
+
await this.scheduleEntityEmbedding(entity.name, 1);
|
|
570
|
+
scheduledCount++;
|
|
571
|
+
}
|
|
572
|
+
catch (error) {
|
|
573
|
+
this.logger.warn('Failed to schedule embedding for entity', {
|
|
574
|
+
entityName: entity.name,
|
|
575
|
+
error: error instanceof Error ? error.message : String(error)
|
|
576
|
+
});
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
this.logger.info('Incremental regeneration scheduling complete', {
|
|
580
|
+
scheduled: scheduledCount,
|
|
581
|
+
missing: entitiesWithoutEmbeddings.length
|
|
582
|
+
});
|
|
583
|
+
return scheduledCount;
|
|
584
|
+
}
|
|
585
|
+
catch (error) {
|
|
586
|
+
this.logger.error('Failed during incremental regeneration', {
|
|
587
|
+
error: error instanceof Error ? error.message : String(error),
|
|
588
|
+
stack: error instanceof Error ? error.stack : undefined
|
|
589
|
+
});
|
|
590
|
+
throw error;
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
/**
|
|
594
|
+
* Get all entities from storage provider
|
|
595
|
+
* This is a helper method to retrieve all entities for incremental regeneration
|
|
596
|
+
*
|
|
597
|
+
* @private
|
|
598
|
+
* @returns Array of all entities
|
|
599
|
+
*/
|
|
600
|
+
async _getAllEntitiesFromStorage() {
|
|
601
|
+
// Use the storage provider's loadGraph method to get all entities
|
|
602
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
603
|
+
const storageProviderAny = this.storageProvider;
|
|
604
|
+
if (typeof storageProviderAny.loadGraph === 'function') {
|
|
605
|
+
const graph = await storageProviderAny.loadGraph();
|
|
606
|
+
return graph.entities || [];
|
|
607
|
+
}
|
|
608
|
+
else if (typeof storageProviderAny.getAllEntities === 'function') {
|
|
609
|
+
return await storageProviderAny.getAllEntities();
|
|
610
|
+
}
|
|
611
|
+
else {
|
|
612
|
+
this.logger.error('Storage provider does not support entity retrieval');
|
|
613
|
+
throw new Error('Storage provider does not support getAllEntities or loadGraph');
|
|
614
|
+
}
|
|
615
|
+
}
|
|
544
616
|
}
|
|
545
617
|
//# sourceMappingURL=EmbeddingJobManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddingJobManager.js","sourceRoot":"","sources":["../../src/embeddings/EmbeddingJobManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmbeddingJobManager.js","sourceRoot":"","sources":["../../src/embeddings/EmbeddingJobManager.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,13 +5,18 @@ import { initializeStorageProvider } from './config/storage.js';
|
|
|
5
5
|
import { setupServer } from './server/setup.js';
|
|
6
6
|
import { EmbeddingJobManager } from './embeddings/EmbeddingJobManager.js';
|
|
7
7
|
import { EmbeddingServiceFactory } from './embeddings/EmbeddingServiceFactory.js';
|
|
8
|
+
import { PrometheusMetrics } from './metrics/PrometheusMetrics.js';
|
|
8
9
|
import { logger } from './utils/logger.js';
|
|
10
|
+
import cron from 'node-cron';
|
|
9
11
|
// Re-export the types and classes for use in other modules
|
|
10
12
|
export * from './KnowledgeGraphManager.js';
|
|
11
13
|
// Export the Relation type
|
|
12
14
|
export { Relation } from './types/relation.js';
|
|
13
15
|
// Initialize storage and create KnowledgeGraphManager
|
|
14
16
|
const storageProvider = initializeStorageProvider();
|
|
17
|
+
// Initialize Prometheus metrics (environment-gated)
|
|
18
|
+
const prometheusMetrics = PrometheusMetrics.getInstance();
|
|
19
|
+
prometheusMetrics.startServer(9091);
|
|
15
20
|
// Initialize embedding job manager only if storage provider supports it
|
|
16
21
|
let embeddingJobManager = undefined;
|
|
17
22
|
try {
|
|
@@ -106,21 +111,7 @@ try {
|
|
|
106
111
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
107
112
|
adaptedStorageProvider, embeddingService, rateLimiterOptions, null, // Use default cache options
|
|
108
113
|
logger);
|
|
109
|
-
|
|
110
|
-
const EMBEDDING_PROCESS_INTERVAL = 10000; // 10 seconds - more frequent processing
|
|
111
|
-
setInterval(async () => {
|
|
112
|
-
try {
|
|
113
|
-
// Process pending embedding jobs
|
|
114
|
-
await embeddingJobManager?.processJobs(10);
|
|
115
|
-
}
|
|
116
|
-
catch (error) {
|
|
117
|
-
// Log error but don't crash
|
|
118
|
-
logger.error('Error in scheduled job processing', {
|
|
119
|
-
error: error instanceof Error ? error.message : String(error),
|
|
120
|
-
stack: error instanceof Error ? error.stack : undefined,
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
}, EMBEDDING_PROCESS_INTERVAL);
|
|
114
|
+
logger.info('EmbeddingJobManager initialized (background jobs will start only in production)');
|
|
124
115
|
}
|
|
125
116
|
catch (error) {
|
|
126
117
|
// Fail gracefully if embedding job manager initialization fails
|
|
@@ -209,8 +200,52 @@ export async function main() {
|
|
|
209
200
|
const transport = new StdioServerTransport();
|
|
210
201
|
await server.connect(transport);
|
|
211
202
|
}
|
|
212
|
-
// Only run main if not in a test environment
|
|
203
|
+
// Only run main and background jobs if not in a test environment
|
|
213
204
|
if (!process.env.VITEST && !process.env.NODE_ENV?.includes('test')) {
|
|
205
|
+
// Schedule periodic processing for embedding jobs (production only)
|
|
206
|
+
if (embeddingJobManager) {
|
|
207
|
+
const EMBEDDING_PROCESS_INTERVAL = 10000; // 10 seconds - more frequent processing
|
|
208
|
+
setInterval(async () => {
|
|
209
|
+
try {
|
|
210
|
+
// Process pending embedding jobs
|
|
211
|
+
await embeddingJobManager?.processJobs(10);
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
// Log error but don't crash
|
|
215
|
+
logger.error('Error in scheduled job processing', {
|
|
216
|
+
error: error instanceof Error ? error.message : String(error),
|
|
217
|
+
stack: error instanceof Error ? error.stack : undefined,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
}, EMBEDDING_PROCESS_INTERVAL);
|
|
221
|
+
// Schedule daily incremental embedding regeneration
|
|
222
|
+
// Runs at 3 AM Singapore time (19:00 UTC = 3 AM UTC+8)
|
|
223
|
+
cron.schedule('0 19 * * *', async () => {
|
|
224
|
+
logger.info('Starting daily incremental embedding regeneration (3 AM SGT)');
|
|
225
|
+
try {
|
|
226
|
+
const scheduledCount = await embeddingJobManager?.scheduleIncrementalRegeneration();
|
|
227
|
+
logger.info('Daily regeneration completed', {
|
|
228
|
+
entitiesScheduled: scheduledCount,
|
|
229
|
+
time: new Date().toISOString(),
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
logger.error('Daily regeneration failed', {
|
|
234
|
+
error: error instanceof Error ? error.message : String(error),
|
|
235
|
+
stack: error instanceof Error ? error.stack : undefined,
|
|
236
|
+
time: new Date().toISOString(),
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
}, {
|
|
240
|
+
timezone: 'UTC',
|
|
241
|
+
});
|
|
242
|
+
logger.info('Embedding automation configured', {
|
|
243
|
+
periodicProcessing: `Every ${EMBEDDING_PROCESS_INTERVAL}ms`,
|
|
244
|
+
dailyRegeneration: '3 AM Singapore time (19:00 UTC)',
|
|
245
|
+
timezone: 'UTC',
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
// Start MCP server
|
|
214
249
|
main().catch((error) => {
|
|
215
250
|
// Log error but don't use console.error
|
|
216
251
|
logger.error(`Main process terminated: ${error}`);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import promClient from 'prom-client';
|
|
2
|
+
/**
|
|
3
|
+
* PrometheusMetrics - Manages Prometheus metrics collection for the MCP Knowledge Graph server
|
|
4
|
+
*
|
|
5
|
+
* Provides metrics for:
|
|
6
|
+
* - Query result cache performance (hits, misses, invalidations)
|
|
7
|
+
* - Cache size monitoring
|
|
8
|
+
* - Query execution duration with cache status tracking
|
|
9
|
+
*
|
|
10
|
+
* Metrics are exposed on /metrics endpoint on port 9091 when enabled via environment variable.
|
|
11
|
+
*/
|
|
12
|
+
export declare class PrometheusMetrics {
|
|
13
|
+
private static instance;
|
|
14
|
+
private register;
|
|
15
|
+
private server;
|
|
16
|
+
readonly cacheHits: promClient.Counter;
|
|
17
|
+
readonly cacheMisses: promClient.Counter;
|
|
18
|
+
readonly cacheInvalidations: promClient.Counter;
|
|
19
|
+
readonly cacheSize: promClient.Gauge;
|
|
20
|
+
readonly queryDuration: promClient.Histogram;
|
|
21
|
+
private constructor();
|
|
22
|
+
/**
|
|
23
|
+
* Get singleton instance of PrometheusMetrics
|
|
24
|
+
*/
|
|
25
|
+
static getInstance(): PrometheusMetrics;
|
|
26
|
+
/**
|
|
27
|
+
* Start the metrics HTTP server on specified port
|
|
28
|
+
* Only starts if ENABLE_PROMETHEUS_METRICS=true in environment
|
|
29
|
+
*/
|
|
30
|
+
startServer(port?: number): void;
|
|
31
|
+
/**
|
|
32
|
+
* Stop the metrics HTTP server
|
|
33
|
+
*/
|
|
34
|
+
stopServer(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Record a cache hit
|
|
37
|
+
*/
|
|
38
|
+
recordCacheHit(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Record a cache miss
|
|
41
|
+
*/
|
|
42
|
+
recordCacheMiss(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Record a cache invalidation
|
|
45
|
+
*/
|
|
46
|
+
recordCacheInvalidation(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Update current cache size
|
|
49
|
+
*/
|
|
50
|
+
updateCacheSize(size: number): void;
|
|
51
|
+
/**
|
|
52
|
+
* Record query execution duration
|
|
53
|
+
* @param durationSeconds - Duration in seconds
|
|
54
|
+
* @param cacheStatus - 'hit' | 'miss' | 'disabled'
|
|
55
|
+
* @param operation - Operation name (e.g., 'readGraph', 'searchNodes')
|
|
56
|
+
*/
|
|
57
|
+
recordQueryDuration(durationSeconds: number, cacheStatus: 'hit' | 'miss' | 'disabled', operation: string): void;
|
|
58
|
+
/**
|
|
59
|
+
* Create a timer for measuring query duration
|
|
60
|
+
* Returns a function that stops the timer and records the metric
|
|
61
|
+
*/
|
|
62
|
+
startQueryTimer(operation: string): (cacheStatus: 'hit' | 'miss' | 'disabled') => void;
|
|
63
|
+
/**
|
|
64
|
+
* Get metrics in Prometheus exposition format
|
|
65
|
+
*/
|
|
66
|
+
getMetrics(): Promise<string>;
|
|
67
|
+
/**
|
|
68
|
+
* Reset all metrics (useful for testing)
|
|
69
|
+
*/
|
|
70
|
+
reset(): void;
|
|
71
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import promClient from 'prom-client';
|
|
2
|
+
import http from 'http';
|
|
3
|
+
/**
|
|
4
|
+
* PrometheusMetrics - Manages Prometheus metrics collection for the MCP Knowledge Graph server
|
|
5
|
+
*
|
|
6
|
+
* Provides metrics for:
|
|
7
|
+
* - Query result cache performance (hits, misses, invalidations)
|
|
8
|
+
* - Cache size monitoring
|
|
9
|
+
* - Query execution duration with cache status tracking
|
|
10
|
+
*
|
|
11
|
+
* Metrics are exposed on /metrics endpoint on port 9091 when enabled via environment variable.
|
|
12
|
+
*/
|
|
13
|
+
export class PrometheusMetrics {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.server = null;
|
|
16
|
+
this.register = new promClient.Registry();
|
|
17
|
+
// Add default metrics (process CPU, memory, etc.)
|
|
18
|
+
promClient.collectDefaultMetrics({ register: this.register });
|
|
19
|
+
// Initialize cache hit counter
|
|
20
|
+
this.cacheHits = new promClient.Counter({
|
|
21
|
+
name: 'mcp_cache_hits_total',
|
|
22
|
+
help: 'Total number of cache hits',
|
|
23
|
+
registers: [this.register],
|
|
24
|
+
});
|
|
25
|
+
// Initialize cache miss counter
|
|
26
|
+
this.cacheMisses = new promClient.Counter({
|
|
27
|
+
name: 'mcp_cache_misses_total',
|
|
28
|
+
help: 'Total number of cache misses',
|
|
29
|
+
registers: [this.register],
|
|
30
|
+
});
|
|
31
|
+
// Initialize cache invalidation counter
|
|
32
|
+
this.cacheInvalidations = new promClient.Counter({
|
|
33
|
+
name: 'mcp_cache_invalidations_total',
|
|
34
|
+
help: 'Total number of cache invalidations',
|
|
35
|
+
registers: [this.register],
|
|
36
|
+
});
|
|
37
|
+
// Initialize cache size gauge
|
|
38
|
+
this.cacheSize = new promClient.Gauge({
|
|
39
|
+
name: 'mcp_cache_size_current',
|
|
40
|
+
help: 'Current number of items in the cache',
|
|
41
|
+
registers: [this.register],
|
|
42
|
+
});
|
|
43
|
+
// Initialize query duration histogram
|
|
44
|
+
this.queryDuration = new promClient.Histogram({
|
|
45
|
+
name: 'mcp_query_duration_seconds',
|
|
46
|
+
help: 'Query execution duration in seconds',
|
|
47
|
+
labelNames: ['cache_status', 'operation'],
|
|
48
|
+
buckets: [0.001, 0.005, 0.01, 0.05, 0.1, 0.5, 1, 5], // 1ms to 5s
|
|
49
|
+
registers: [this.register],
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get singleton instance of PrometheusMetrics
|
|
54
|
+
*/
|
|
55
|
+
static getInstance() {
|
|
56
|
+
if (!PrometheusMetrics.instance) {
|
|
57
|
+
PrometheusMetrics.instance = new PrometheusMetrics();
|
|
58
|
+
}
|
|
59
|
+
return PrometheusMetrics.instance;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Start the metrics HTTP server on specified port
|
|
63
|
+
* Only starts if ENABLE_PROMETHEUS_METRICS=true in environment
|
|
64
|
+
*/
|
|
65
|
+
startServer(port = 9091) {
|
|
66
|
+
const enabled = process.env.ENABLE_PROMETHEUS_METRICS === 'true';
|
|
67
|
+
if (!enabled) {
|
|
68
|
+
console.log('[PrometheusMetrics] Metrics collection disabled (ENABLE_PROMETHEUS_METRICS != true)');
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (this.server) {
|
|
72
|
+
console.log(`[PrometheusMetrics] Server already running on port ${port}`);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
this.server = http.createServer(async (req, res) => {
|
|
76
|
+
if (req.url === '/metrics') {
|
|
77
|
+
res.setHeader('Content-Type', this.register.contentType);
|
|
78
|
+
const metrics = await this.register.metrics();
|
|
79
|
+
res.end(metrics);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
res.statusCode = 404;
|
|
83
|
+
res.end('Not Found');
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
this.server.listen(port, () => {
|
|
87
|
+
console.log(`[PrometheusMetrics] Metrics server listening on http://localhost:${port}/metrics`);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Stop the metrics HTTP server
|
|
92
|
+
*/
|
|
93
|
+
stopServer() {
|
|
94
|
+
if (this.server) {
|
|
95
|
+
this.server.close(() => {
|
|
96
|
+
console.log('[PrometheusMetrics] Metrics server stopped');
|
|
97
|
+
});
|
|
98
|
+
this.server = null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Record a cache hit
|
|
103
|
+
*/
|
|
104
|
+
recordCacheHit() {
|
|
105
|
+
this.cacheHits.inc();
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Record a cache miss
|
|
109
|
+
*/
|
|
110
|
+
recordCacheMiss() {
|
|
111
|
+
this.cacheMisses.inc();
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Record a cache invalidation
|
|
115
|
+
*/
|
|
116
|
+
recordCacheInvalidation() {
|
|
117
|
+
this.cacheInvalidations.inc();
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Update current cache size
|
|
121
|
+
*/
|
|
122
|
+
updateCacheSize(size) {
|
|
123
|
+
this.cacheSize.set(size);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Record query execution duration
|
|
127
|
+
* @param durationSeconds - Duration in seconds
|
|
128
|
+
* @param cacheStatus - 'hit' | 'miss' | 'disabled'
|
|
129
|
+
* @param operation - Operation name (e.g., 'readGraph', 'searchNodes')
|
|
130
|
+
*/
|
|
131
|
+
recordQueryDuration(durationSeconds, cacheStatus, operation) {
|
|
132
|
+
this.queryDuration.observe({ cache_status: cacheStatus, operation }, durationSeconds);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Create a timer for measuring query duration
|
|
136
|
+
* Returns a function that stops the timer and records the metric
|
|
137
|
+
*/
|
|
138
|
+
startQueryTimer(operation) {
|
|
139
|
+
const start = Date.now();
|
|
140
|
+
return (cacheStatus) => {
|
|
141
|
+
const durationSeconds = (Date.now() - start) / 1000;
|
|
142
|
+
this.recordQueryDuration(durationSeconds, cacheStatus, operation);
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Get metrics in Prometheus exposition format
|
|
147
|
+
*/
|
|
148
|
+
async getMetrics() {
|
|
149
|
+
return await this.register.metrics();
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Reset all metrics (useful for testing)
|
|
153
|
+
*/
|
|
154
|
+
reset() {
|
|
155
|
+
this.register.resetMetrics();
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
PrometheusMetrics.instance = null;
|
|
159
|
+
//# sourceMappingURL=PrometheusMetrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrometheusMetrics.js","sourceRoot":"","sources":["../../src/metrics/PrometheusMetrics.ts"],"names":[],"mappings":"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"}
|