@pinepaper.studio/mcp-server 1.2.2 → 1.3.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 +109 -2
- package/dist/assets/asset-manager.d.ts +75 -0
- package/dist/assets/asset-manager.d.ts.map +1 -0
- package/dist/assets/asset-manager.js +156 -0
- package/dist/assets/asset-manager.js.map +1 -0
- package/dist/assets/index.d.ts +12 -0
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/assets/index.js +12 -0
- package/dist/assets/index.js.map +1 -0
- package/dist/assets/repositories/fontawesome.d.ts +43 -0
- package/dist/assets/repositories/fontawesome.d.ts.map +1 -0
- package/dist/assets/repositories/fontawesome.js +163 -0
- package/dist/assets/repositories/fontawesome.js.map +1 -0
- package/dist/assets/repositories/iconify.d.ts +44 -0
- package/dist/assets/repositories/iconify.d.ts.map +1 -0
- package/dist/assets/repositories/iconify.js +208 -0
- package/dist/assets/repositories/iconify.js.map +1 -0
- package/dist/assets/repositories/openclipart.d.ts +41 -0
- package/dist/assets/repositories/openclipart.d.ts.map +1 -0
- package/dist/assets/repositories/openclipart.js +138 -0
- package/dist/assets/repositories/openclipart.js.map +1 -0
- package/dist/assets/repositories/svgrepo.d.ts +61 -0
- package/dist/assets/repositories/svgrepo.d.ts.map +1 -0
- package/dist/assets/repositories/svgrepo.js +276 -0
- package/dist/assets/repositories/svgrepo.js.map +1 -0
- package/dist/assets/types.d.ts +85 -0
- package/dist/assets/types.d.ts.map +1 -0
- package/dist/assets/types.js +7 -0
- package/dist/assets/types.js.map +1 -0
- package/dist/execution/canvas-state.d.ts +65 -0
- package/dist/execution/canvas-state.d.ts.map +1 -0
- package/dist/execution/canvas-state.js +165 -0
- package/dist/execution/canvas-state.js.map +1 -0
- package/dist/execution/index.d.ts +8 -0
- package/dist/execution/index.d.ts.map +1 -0
- package/dist/execution/index.js +8 -0
- package/dist/execution/index.js.map +1 -0
- package/dist/metrics/index.d.ts +8 -0
- package/dist/metrics/index.d.ts.map +1 -0
- package/dist/metrics/index.js +8 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/metrics/performance-tracker.d.ts +96 -0
- package/dist/metrics/performance-tracker.d.ts.map +1 -0
- package/dist/metrics/performance-tracker.js +270 -0
- package/dist/metrics/performance-tracker.js.map +1 -0
- package/dist/metrics/types.d.ts +86 -0
- package/dist/metrics/types.d.ts.map +1 -0
- package/dist/metrics/types.js +7 -0
- package/dist/metrics/types.js.map +1 -0
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +360 -0
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +292 -37
- package/dist/tools/handlers.js.map +1 -1
- package/dist/types/schemas.d.ts +69 -0
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +28 -0
- package/dist/types/schemas.js.map +1 -1
- package/manifest.json +14 -2
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Tracker
|
|
3
|
+
*
|
|
4
|
+
* Tracks execution timing metrics for MCP tool operations.
|
|
5
|
+
* Provides aggregate statistics and export functionality.
|
|
6
|
+
*/
|
|
7
|
+
import { TimingMetric, AggregateStats, MetricsFilter, MetricsExportFormat, MetricsSummary } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Configuration options for PerformanceTracker
|
|
10
|
+
*/
|
|
11
|
+
export interface PerformanceTrackerConfig {
|
|
12
|
+
/** Maximum number of metrics to retain in memory (default: 1000) */
|
|
13
|
+
maxRetention?: number;
|
|
14
|
+
/** Whether tracking is enabled (default: true) */
|
|
15
|
+
enabled?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Performance tracking and metrics collection
|
|
19
|
+
*/
|
|
20
|
+
export declare class PerformanceTracker {
|
|
21
|
+
private metrics;
|
|
22
|
+
private activeTimers;
|
|
23
|
+
private maxRetention;
|
|
24
|
+
private enabled;
|
|
25
|
+
constructor(config?: PerformanceTrackerConfig);
|
|
26
|
+
/**
|
|
27
|
+
* Start a timer with a unique ID
|
|
28
|
+
*/
|
|
29
|
+
startTimer(id: string): void;
|
|
30
|
+
/**
|
|
31
|
+
* End a timer and return elapsed time in milliseconds
|
|
32
|
+
*/
|
|
33
|
+
endTimer(id: string): number;
|
|
34
|
+
/**
|
|
35
|
+
* Record a timing metric
|
|
36
|
+
*/
|
|
37
|
+
recordMetric(metric: TimingMetric): void;
|
|
38
|
+
/**
|
|
39
|
+
* Get metrics matching filter criteria
|
|
40
|
+
*/
|
|
41
|
+
getMetrics(filter?: MetricsFilter): TimingMetric[];
|
|
42
|
+
/**
|
|
43
|
+
* Calculate aggregate statistics for metrics
|
|
44
|
+
*/
|
|
45
|
+
getAggregateStats(metrics: TimingMetric[]): AggregateStats;
|
|
46
|
+
/**
|
|
47
|
+
* Calculate percentile value
|
|
48
|
+
*/
|
|
49
|
+
private percentile;
|
|
50
|
+
/**
|
|
51
|
+
* Get summary metrics for a tool or phase
|
|
52
|
+
*/
|
|
53
|
+
getSummary(filter?: MetricsFilter): MetricsSummary[];
|
|
54
|
+
/**
|
|
55
|
+
* Export metrics in specified format
|
|
56
|
+
*/
|
|
57
|
+
exportMetrics(format: MetricsExportFormat, filter?: MetricsFilter): string;
|
|
58
|
+
/**
|
|
59
|
+
* Export metrics as CSV
|
|
60
|
+
*/
|
|
61
|
+
private exportCSV;
|
|
62
|
+
/**
|
|
63
|
+
* Export summary statistics
|
|
64
|
+
*/
|
|
65
|
+
private exportSummary;
|
|
66
|
+
/**
|
|
67
|
+
* Clear all metrics
|
|
68
|
+
*/
|
|
69
|
+
clear(): void;
|
|
70
|
+
/**
|
|
71
|
+
* Get tracker statistics
|
|
72
|
+
*/
|
|
73
|
+
getStats(): {
|
|
74
|
+
totalMetrics: number;
|
|
75
|
+
activeTimers: number;
|
|
76
|
+
retention: number;
|
|
77
|
+
enabled: boolean;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Enable tracking
|
|
81
|
+
*/
|
|
82
|
+
enable(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Disable tracking
|
|
85
|
+
*/
|
|
86
|
+
disable(): void;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get or create the global performance tracker instance
|
|
90
|
+
*/
|
|
91
|
+
export declare function getPerformanceTracker(config?: PerformanceTrackerConfig): PerformanceTracker;
|
|
92
|
+
/**
|
|
93
|
+
* Reset the global performance tracker (mainly for testing)
|
|
94
|
+
*/
|
|
95
|
+
export declare function resetPerformanceTracker(): void;
|
|
96
|
+
//# sourceMappingURL=performance-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance-tracker.d.ts","sourceRoot":"","sources":["../../src/metrics/performance-tracker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,YAAY,EAEZ,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAU;gBAEb,MAAM,GAAE,wBAA6B;IAKjD;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK5B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAc5B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAWxC;;OAEG;IACH,UAAU,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,YAAY,EAAE;IAkClD;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,cAAc;IAgC1D;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;OAEG;IACH,UAAU,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,cAAc,EAAE;IAqCpD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM;IAkB1E;;OAEG;IACH,OAAO,CAAC,SAAS;IAmBjB;;OAEG;IACH,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,QAAQ,IAAI;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;KAClB;IASD;;OAEG;IACH,MAAM,IAAI,IAAI;IAId;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB;AAKD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,kBAAkB,CAc3F;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Tracker
|
|
3
|
+
*
|
|
4
|
+
* Tracks execution timing metrics for MCP tool operations.
|
|
5
|
+
* Provides aggregate statistics and export functionality.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Performance tracking and metrics collection
|
|
9
|
+
*/
|
|
10
|
+
export class PerformanceTracker {
|
|
11
|
+
metrics = [];
|
|
12
|
+
activeTimers = new Map();
|
|
13
|
+
maxRetention;
|
|
14
|
+
enabled;
|
|
15
|
+
constructor(config = {}) {
|
|
16
|
+
this.maxRetention = config.maxRetention ?? 1000;
|
|
17
|
+
this.enabled = config.enabled ?? true;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Start a timer with a unique ID
|
|
21
|
+
*/
|
|
22
|
+
startTimer(id) {
|
|
23
|
+
if (!this.enabled)
|
|
24
|
+
return;
|
|
25
|
+
this.activeTimers.set(id, Date.now());
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* End a timer and return elapsed time in milliseconds
|
|
29
|
+
*/
|
|
30
|
+
endTimer(id) {
|
|
31
|
+
if (!this.enabled)
|
|
32
|
+
return 0;
|
|
33
|
+
const startTime = this.activeTimers.get(id);
|
|
34
|
+
if (!startTime) {
|
|
35
|
+
console.error(`[PerformanceTracker] Timer '${id}' not found`);
|
|
36
|
+
return 0;
|
|
37
|
+
}
|
|
38
|
+
const duration = Date.now() - startTime;
|
|
39
|
+
this.activeTimers.delete(id);
|
|
40
|
+
return duration;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Record a timing metric
|
|
44
|
+
*/
|
|
45
|
+
recordMetric(metric) {
|
|
46
|
+
if (!this.enabled)
|
|
47
|
+
return;
|
|
48
|
+
this.metrics.push(metric);
|
|
49
|
+
// Enforce retention limit (LRU eviction)
|
|
50
|
+
if (this.metrics.length > this.maxRetention) {
|
|
51
|
+
this.metrics.shift(); // Remove oldest
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get metrics matching filter criteria
|
|
56
|
+
*/
|
|
57
|
+
getMetrics(filter) {
|
|
58
|
+
let results = [...this.metrics];
|
|
59
|
+
if (!filter)
|
|
60
|
+
return results;
|
|
61
|
+
// Apply filters
|
|
62
|
+
if (filter.toolName) {
|
|
63
|
+
results = results.filter((m) => m.toolName === filter.toolName);
|
|
64
|
+
}
|
|
65
|
+
if (filter.phase) {
|
|
66
|
+
results = results.filter((m) => m.phase === filter.phase);
|
|
67
|
+
}
|
|
68
|
+
if (filter.success !== undefined) {
|
|
69
|
+
results = results.filter((m) => m.success === filter.success);
|
|
70
|
+
}
|
|
71
|
+
if (filter.since) {
|
|
72
|
+
results = results.filter((m) => m.timestamp >= filter.since);
|
|
73
|
+
}
|
|
74
|
+
if (filter.until) {
|
|
75
|
+
results = results.filter((m) => m.timestamp <= filter.until);
|
|
76
|
+
}
|
|
77
|
+
// Apply limit
|
|
78
|
+
if (filter.limit && filter.limit > 0) {
|
|
79
|
+
results = results.slice(-filter.limit); // Most recent N
|
|
80
|
+
}
|
|
81
|
+
return results;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Calculate aggregate statistics for metrics
|
|
85
|
+
*/
|
|
86
|
+
getAggregateStats(metrics) {
|
|
87
|
+
if (metrics.length === 0) {
|
|
88
|
+
return {
|
|
89
|
+
count: 0,
|
|
90
|
+
avgDuration: 0,
|
|
91
|
+
minDuration: 0,
|
|
92
|
+
maxDuration: 0,
|
|
93
|
+
p50: 0,
|
|
94
|
+
p95: 0,
|
|
95
|
+
p99: 0,
|
|
96
|
+
successRate: 0,
|
|
97
|
+
totalDuration: 0,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
const durations = metrics.map((m) => m.duration).sort((a, b) => a - b);
|
|
101
|
+
const successCount = metrics.filter((m) => m.success).length;
|
|
102
|
+
const totalDuration = durations.reduce((sum, d) => sum + d, 0);
|
|
103
|
+
return {
|
|
104
|
+
count: metrics.length,
|
|
105
|
+
avgDuration: totalDuration / metrics.length,
|
|
106
|
+
minDuration: durations[0],
|
|
107
|
+
maxDuration: durations[durations.length - 1],
|
|
108
|
+
p50: this.percentile(durations, 0.5),
|
|
109
|
+
p95: this.percentile(durations, 0.95),
|
|
110
|
+
p99: this.percentile(durations, 0.99),
|
|
111
|
+
successRate: successCount / metrics.length,
|
|
112
|
+
totalDuration,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Calculate percentile value
|
|
117
|
+
*/
|
|
118
|
+
percentile(sortedValues, p) {
|
|
119
|
+
if (sortedValues.length === 0)
|
|
120
|
+
return 0;
|
|
121
|
+
const index = Math.ceil(sortedValues.length * p) - 1;
|
|
122
|
+
return sortedValues[Math.max(0, index)];
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Get summary metrics for a tool or phase
|
|
126
|
+
*/
|
|
127
|
+
getSummary(filter) {
|
|
128
|
+
const metrics = this.getMetrics(filter);
|
|
129
|
+
if (metrics.length === 0) {
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
132
|
+
// Group by tool name and phase
|
|
133
|
+
const grouped = new Map();
|
|
134
|
+
for (const metric of metrics) {
|
|
135
|
+
const key = `${metric.toolName}:${metric.phase}`;
|
|
136
|
+
if (!grouped.has(key)) {
|
|
137
|
+
grouped.set(key, []);
|
|
138
|
+
}
|
|
139
|
+
grouped.get(key).push(metric);
|
|
140
|
+
}
|
|
141
|
+
// Generate summaries
|
|
142
|
+
const summaries = [];
|
|
143
|
+
for (const [key, metricGroup] of grouped.entries()) {
|
|
144
|
+
const [toolName, phase] = key.split(':');
|
|
145
|
+
summaries.push({
|
|
146
|
+
toolName,
|
|
147
|
+
phase: phase,
|
|
148
|
+
stats: this.getAggregateStats(metricGroup),
|
|
149
|
+
recentMetrics: metricGroup.slice(-5), // Last 5 measurements
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
// Sort by average duration (slowest first)
|
|
153
|
+
summaries.sort((a, b) => b.stats.avgDuration - a.stats.avgDuration);
|
|
154
|
+
return summaries;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Export metrics in specified format
|
|
158
|
+
*/
|
|
159
|
+
exportMetrics(format, filter) {
|
|
160
|
+
const metrics = this.getMetrics(filter);
|
|
161
|
+
switch (format) {
|
|
162
|
+
case 'json':
|
|
163
|
+
return JSON.stringify(metrics, null, 2);
|
|
164
|
+
case 'csv':
|
|
165
|
+
return this.exportCSV(metrics);
|
|
166
|
+
case 'summary':
|
|
167
|
+
return this.exportSummary(filter);
|
|
168
|
+
default:
|
|
169
|
+
throw new Error(`Unknown export format: ${format}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Export metrics as CSV
|
|
174
|
+
*/
|
|
175
|
+
exportCSV(metrics) {
|
|
176
|
+
const headers = ['timestamp', 'toolName', 'phase', 'duration', 'success', 'error'];
|
|
177
|
+
const rows = metrics.map((m) => [
|
|
178
|
+
m.timestamp,
|
|
179
|
+
m.toolName,
|
|
180
|
+
m.phase,
|
|
181
|
+
m.duration,
|
|
182
|
+
m.success,
|
|
183
|
+
m.error || '',
|
|
184
|
+
]);
|
|
185
|
+
const csv = [
|
|
186
|
+
headers.join(','),
|
|
187
|
+
...rows.map((row) => row.map((cell) => `"${cell}"`).join(',')),
|
|
188
|
+
].join('\n');
|
|
189
|
+
return csv;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Export summary statistics
|
|
193
|
+
*/
|
|
194
|
+
exportSummary(filter) {
|
|
195
|
+
const summaries = this.getSummary(filter);
|
|
196
|
+
if (summaries.length === 0) {
|
|
197
|
+
return 'No metrics available';
|
|
198
|
+
}
|
|
199
|
+
const lines = ['Performance Metrics Summary', '='.repeat(50), ''];
|
|
200
|
+
for (const summary of summaries) {
|
|
201
|
+
const stats = summary.stats;
|
|
202
|
+
lines.push(`Tool: ${summary.toolName} | Phase: ${summary.phase}`);
|
|
203
|
+
lines.push(` Count: ${stats.count}`);
|
|
204
|
+
lines.push(` Avg: ${stats.avgDuration.toFixed(2)}ms`);
|
|
205
|
+
lines.push(` Min: ${stats.minDuration.toFixed(2)}ms`);
|
|
206
|
+
lines.push(` Max: ${stats.maxDuration.toFixed(2)}ms`);
|
|
207
|
+
lines.push(` P50: ${stats.p50.toFixed(2)}ms`);
|
|
208
|
+
lines.push(` P95: ${stats.p95.toFixed(2)}ms`);
|
|
209
|
+
lines.push(` P99: ${stats.p99.toFixed(2)}ms`);
|
|
210
|
+
lines.push(` Success Rate: ${(stats.successRate * 100).toFixed(1)}%`);
|
|
211
|
+
lines.push('');
|
|
212
|
+
}
|
|
213
|
+
return lines.join('\n');
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Clear all metrics
|
|
217
|
+
*/
|
|
218
|
+
clear() {
|
|
219
|
+
this.metrics = [];
|
|
220
|
+
this.activeTimers.clear();
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Get tracker statistics
|
|
224
|
+
*/
|
|
225
|
+
getStats() {
|
|
226
|
+
return {
|
|
227
|
+
totalMetrics: this.metrics.length,
|
|
228
|
+
activeTimers: this.activeTimers.size,
|
|
229
|
+
retention: this.maxRetention,
|
|
230
|
+
enabled: this.enabled,
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Enable tracking
|
|
235
|
+
*/
|
|
236
|
+
enable() {
|
|
237
|
+
this.enabled = true;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Disable tracking
|
|
241
|
+
*/
|
|
242
|
+
disable() {
|
|
243
|
+
this.enabled = false;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
// Global singleton instance
|
|
247
|
+
let globalTracker = null;
|
|
248
|
+
/**
|
|
249
|
+
* Get or create the global performance tracker instance
|
|
250
|
+
*/
|
|
251
|
+
export function getPerformanceTracker(config) {
|
|
252
|
+
if (!globalTracker) {
|
|
253
|
+
// Check environment variables for configuration
|
|
254
|
+
const envConfig = {
|
|
255
|
+
enabled: process.env.PINEPAPER_METRICS_ENABLED !== 'false',
|
|
256
|
+
maxRetention: process.env.PINEPAPER_METRICS_RETENTION
|
|
257
|
+
? parseInt(process.env.PINEPAPER_METRICS_RETENTION, 10)
|
|
258
|
+
: 1000,
|
|
259
|
+
};
|
|
260
|
+
globalTracker = new PerformanceTracker({ ...envConfig, ...config });
|
|
261
|
+
}
|
|
262
|
+
return globalTracker;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Reset the global performance tracker (mainly for testing)
|
|
266
|
+
*/
|
|
267
|
+
export function resetPerformanceTracker() {
|
|
268
|
+
globalTracker = null;
|
|
269
|
+
}
|
|
270
|
+
//# sourceMappingURL=performance-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance-tracker.js","sourceRoot":"","sources":["../../src/metrics/performance-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Metrics Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for performance tracking and metrics collection.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Phase of tool execution being measured
|
|
8
|
+
*/
|
|
9
|
+
export type MetricPhase = 'validation' | 'code_generation' | 'browser_execution' | 'screenshot' | 'total';
|
|
10
|
+
/**
|
|
11
|
+
* A single timing metric for a tool execution phase
|
|
12
|
+
*/
|
|
13
|
+
export interface TimingMetric {
|
|
14
|
+
/** Tool name (e.g., 'pinepaper_create_item') */
|
|
15
|
+
toolName: string;
|
|
16
|
+
/** Execution phase being measured */
|
|
17
|
+
phase: MetricPhase;
|
|
18
|
+
/** Duration in milliseconds */
|
|
19
|
+
duration: number;
|
|
20
|
+
/** Unix timestamp when metric was recorded */
|
|
21
|
+
timestamp: number;
|
|
22
|
+
/** Whether the operation succeeded */
|
|
23
|
+
success: boolean;
|
|
24
|
+
/** Error message if operation failed */
|
|
25
|
+
error?: string;
|
|
26
|
+
/** Additional metadata about the operation */
|
|
27
|
+
metadata?: Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Aggregate statistics for a set of metrics
|
|
31
|
+
*/
|
|
32
|
+
export interface AggregateStats {
|
|
33
|
+
/** Total number of measurements */
|
|
34
|
+
count: number;
|
|
35
|
+
/** Average duration in milliseconds */
|
|
36
|
+
avgDuration: number;
|
|
37
|
+
/** Minimum duration in milliseconds */
|
|
38
|
+
minDuration: number;
|
|
39
|
+
/** Maximum duration in milliseconds */
|
|
40
|
+
maxDuration: number;
|
|
41
|
+
/** Median duration (50th percentile) in milliseconds */
|
|
42
|
+
p50: number;
|
|
43
|
+
/** 95th percentile duration in milliseconds */
|
|
44
|
+
p95: number;
|
|
45
|
+
/** 99th percentile duration in milliseconds */
|
|
46
|
+
p99: number;
|
|
47
|
+
/** Success rate (0-1) */
|
|
48
|
+
successRate: number;
|
|
49
|
+
/** Total duration of all operations in milliseconds */
|
|
50
|
+
totalDuration: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Filter options for querying metrics
|
|
54
|
+
*/
|
|
55
|
+
export interface MetricsFilter {
|
|
56
|
+
/** Filter by tool name */
|
|
57
|
+
toolName?: string;
|
|
58
|
+
/** Filter by execution phase */
|
|
59
|
+
phase?: MetricPhase;
|
|
60
|
+
/** Filter by success status */
|
|
61
|
+
success?: boolean;
|
|
62
|
+
/** Filter metrics since this timestamp (Unix timestamp) */
|
|
63
|
+
since?: number;
|
|
64
|
+
/** Filter metrics until this timestamp (Unix timestamp) */
|
|
65
|
+
until?: number;
|
|
66
|
+
/** Maximum number of results to return */
|
|
67
|
+
limit?: number;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Export format for metrics
|
|
71
|
+
*/
|
|
72
|
+
export type MetricsExportFormat = 'json' | 'csv' | 'summary';
|
|
73
|
+
/**
|
|
74
|
+
* Metrics summary for tool or phase
|
|
75
|
+
*/
|
|
76
|
+
export interface MetricsSummary {
|
|
77
|
+
/** Tool name or 'all' for aggregate */
|
|
78
|
+
toolName: string;
|
|
79
|
+
/** Phase or 'all' for aggregate */
|
|
80
|
+
phase: MetricPhase | 'all';
|
|
81
|
+
/** Aggregate statistics */
|
|
82
|
+
stats: AggregateStats;
|
|
83
|
+
/** Recent measurements (last N) */
|
|
84
|
+
recentMetrics?: TimingMetric[];
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/metrics/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,iBAAiB,GACjB,mBAAmB,GACnB,YAAY,GACZ,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IAEjB,qCAAqC;IACrC,KAAK,EAAE,WAAW,CAAC;IAEnB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IAEjB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAElB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IAEjB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IAEd,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IAEpB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IAEpB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IAEpB,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IAEZ,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IAEZ,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IAEZ,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IAEpB,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,gCAAgC;IAChC,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IAEjB,mCAAmC;IACnC,KAAK,EAAE,WAAW,GAAG,KAAK,CAAC;IAE3B,2BAA2B;IAC3B,KAAK,EAAE,cAAc,CAAC;IAEtB,mCAAmC;IACnC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/metrics/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA4I/C,eAAO,MAAM,eAAe,EAAE,IAAI,EA65CjC,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAE5D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,CAO3D"}
|