mcp-wordpress 1.1.7 → 1.2.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/README.md +388 -66
- package/dist/cache/CacheInvalidation.d.ts +118 -0
- package/dist/cache/CacheInvalidation.d.ts.map +1 -0
- package/dist/cache/CacheInvalidation.js +349 -0
- package/dist/cache/CacheInvalidation.js.map +1 -0
- package/dist/cache/CacheManager.d.ts +143 -0
- package/dist/cache/CacheManager.d.ts.map +1 -0
- package/dist/cache/CacheManager.js +308 -0
- package/dist/cache/CacheManager.js.map +1 -0
- package/dist/cache/HttpCacheWrapper.d.ts +121 -0
- package/dist/cache/HttpCacheWrapper.d.ts.map +1 -0
- package/dist/cache/HttpCacheWrapper.js +280 -0
- package/dist/cache/HttpCacheWrapper.js.map +1 -0
- package/dist/cache/__tests__/CacheInvalidation.test.d.ts +5 -0
- package/dist/cache/__tests__/CacheInvalidation.test.d.ts.map +1 -0
- package/dist/cache/__tests__/CacheInvalidation.test.js +236 -0
- package/dist/cache/__tests__/CacheInvalidation.test.js.map +1 -0
- package/dist/cache/__tests__/CacheManager.test.d.ts +5 -0
- package/dist/cache/__tests__/CacheManager.test.d.ts.map +1 -0
- package/dist/cache/__tests__/CacheManager.test.js +233 -0
- package/dist/cache/__tests__/CacheManager.test.js.map +1 -0
- package/dist/cache/__tests__/CachedWordPressClient.test.d.ts +5 -0
- package/dist/cache/__tests__/CachedWordPressClient.test.d.ts.map +1 -0
- package/dist/cache/__tests__/CachedWordPressClient.test.js +228 -0
- package/dist/cache/__tests__/CachedWordPressClient.test.js.map +1 -0
- package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts +5 -0
- package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts.map +1 -0
- package/dist/cache/__tests__/HttpCacheWrapper.test.js +296 -0
- package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +1 -0
- package/dist/cache/index.d.ts +12 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +9 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/client/CachedWordPressClient.d.ts +160 -0
- package/dist/client/CachedWordPressClient.d.ts.map +1 -0
- package/dist/client/CachedWordPressClient.js +338 -0
- package/dist/client/CachedWordPressClient.js.map +1 -0
- package/dist/client/WordPressClient.d.ts +81 -0
- package/dist/client/WordPressClient.d.ts.map +1 -0
- package/dist/client/WordPressClient.js +354 -0
- package/dist/client/WordPressClient.js.map +1 -0
- package/dist/config/ConfigurationSchema.d.ts +281 -0
- package/dist/config/ConfigurationSchema.d.ts.map +1 -0
- package/dist/config/ConfigurationSchema.js +205 -0
- package/dist/config/ConfigurationSchema.js.map +1 -0
- package/dist/config/ServerConfiguration.d.ts +38 -0
- package/dist/config/ServerConfiguration.d.ts.map +1 -0
- package/dist/config/ServerConfiguration.js +158 -0
- package/dist/config/ServerConfiguration.js.map +1 -0
- package/dist/docs/DocumentationGenerator.d.ts +184 -0
- package/dist/docs/DocumentationGenerator.d.ts.map +1 -0
- package/dist/docs/DocumentationGenerator.js +735 -0
- package/dist/docs/DocumentationGenerator.js.map +1 -0
- package/dist/docs/MarkdownFormatter.d.ts +84 -0
- package/dist/docs/MarkdownFormatter.d.ts.map +1 -0
- package/dist/docs/MarkdownFormatter.js +448 -0
- package/dist/docs/MarkdownFormatter.js.map +1 -0
- package/dist/docs/index.d.ts +8 -0
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +7 -0
- package/dist/docs/index.js.map +1 -0
- package/dist/index.d.ts +1 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -212
- package/dist/index.js.map +1 -1
- package/dist/performance/AnomalyDetector.d.ts +63 -0
- package/dist/performance/AnomalyDetector.d.ts.map +1 -0
- package/dist/performance/AnomalyDetector.js +222 -0
- package/dist/performance/AnomalyDetector.js.map +1 -0
- package/dist/performance/BenchmarkAnalyzer.d.ts +67 -0
- package/dist/performance/BenchmarkAnalyzer.d.ts.map +1 -0
- package/dist/performance/BenchmarkAnalyzer.js +301 -0
- package/dist/performance/BenchmarkAnalyzer.js.map +1 -0
- package/dist/performance/MetricsCollector.d.ts +139 -0
- package/dist/performance/MetricsCollector.d.ts.map +1 -0
- package/dist/performance/MetricsCollector.js +320 -0
- package/dist/performance/MetricsCollector.js.map +1 -0
- package/dist/performance/PerformanceAnalytics.d.ts +162 -0
- package/dist/performance/PerformanceAnalytics.d.ts.map +1 -0
- package/dist/performance/PerformanceAnalytics.js +554 -0
- package/dist/performance/PerformanceAnalytics.js.map +1 -0
- package/dist/performance/PerformanceMonitor.d.ts +202 -0
- package/dist/performance/PerformanceMonitor.d.ts.map +1 -0
- package/dist/performance/PerformanceMonitor.js +478 -0
- package/dist/performance/PerformanceMonitor.js.map +1 -0
- package/dist/performance/TrendAnalyzer.d.ts +69 -0
- package/dist/performance/TrendAnalyzer.d.ts.map +1 -0
- package/dist/performance/TrendAnalyzer.js +203 -0
- package/dist/performance/TrendAnalyzer.js.map +1 -0
- package/dist/performance/index.d.ts +11 -0
- package/dist/performance/index.d.ts.map +1 -0
- package/dist/performance/index.js +8 -0
- package/dist/performance/index.js.map +1 -0
- package/dist/security/InputValidator.d.ts +215 -0
- package/dist/security/InputValidator.d.ts.map +1 -0
- package/dist/security/InputValidator.js +278 -0
- package/dist/security/InputValidator.js.map +1 -0
- package/dist/security/SecurityConfig.d.ts +129 -0
- package/dist/security/SecurityConfig.d.ts.map +1 -0
- package/dist/security/SecurityConfig.js +262 -0
- package/dist/security/SecurityConfig.js.map +1 -0
- package/dist/server/ConnectionTester.d.ts +24 -0
- package/dist/server/ConnectionTester.d.ts.map +1 -0
- package/dist/server/ConnectionTester.js +61 -0
- package/dist/server/ConnectionTester.js.map +1 -0
- package/dist/server/ToolRegistry.d.ts +46 -0
- package/dist/server/ToolRegistry.d.ts.map +1 -0
- package/dist/server/ToolRegistry.js +148 -0
- package/dist/server/ToolRegistry.js.map +1 -0
- package/dist/tools/BaseToolClass.d.ts +76 -0
- package/dist/tools/BaseToolClass.d.ts.map +1 -0
- package/dist/tools/BaseToolClass.js +104 -0
- package/dist/tools/BaseToolClass.js.map +1 -0
- package/dist/tools/BaseToolManager.d.ts +26 -0
- package/dist/tools/BaseToolManager.d.ts.map +1 -0
- package/dist/tools/BaseToolManager.js +56 -0
- package/dist/tools/BaseToolManager.js.map +1 -0
- package/dist/tools/base.d.ts +37 -0
- package/dist/tools/base.d.ts.map +1 -0
- package/dist/tools/base.js +60 -0
- package/dist/tools/base.js.map +1 -0
- package/dist/tools/cache.d.ts +260 -0
- package/dist/tools/cache.d.ts.map +1 -0
- package/dist/tools/cache.js +237 -0
- package/dist/tools/cache.js.map +1 -0
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/performance.d.ts +63 -0
- package/dist/tools/performance.d.ts.map +1 -0
- package/dist/tools/performance.js +865 -0
- package/dist/tools/performance.js.map +1 -0
- package/dist/types/client.d.ts +1 -0
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/client.js.map +1 -1
- package/dist/utils/toolWrapper.d.ts +4 -0
- package/dist/utils/toolWrapper.d.ts.map +1 -1
- package/dist/utils/toolWrapper.js +11 -0
- package/dist/utils/toolWrapper.js.map +1 -1
- package/dist/utils/validation.d.ts +68 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +185 -0
- package/dist/utils/validation.js.map +1 -0
- package/docs/CACHING.md +340 -0
- package/docs/DOCKER.md +451 -0
- package/docs/PERFORMANCE_MONITORING.md +471 -0
- package/docs/SECURITY_TESTING.md +393 -0
- package/docs/api/README.md +200 -0
- package/docs/api/categories/auth.md +40 -0
- package/docs/api/categories/cache.md +41 -0
- package/docs/api/categories/comment.md +44 -0
- package/docs/api/categories/media.md +43 -0
- package/docs/api/categories/page.md +43 -0
- package/docs/api/categories/performance.md +44 -0
- package/docs/api/categories/post.md +43 -0
- package/docs/api/categories/site.md +43 -0
- package/docs/api/categories/taxonomy.md +47 -0
- package/docs/api/categories/user.md +43 -0
- package/docs/api/openapi.json +3305 -0
- package/docs/api/summary.json +12 -0
- package/docs/api/tools/wp_approve_comment.md +98 -0
- package/docs/api/tools/wp_cache_clear.md +120 -0
- package/docs/api/tools/wp_cache_info.md +119 -0
- package/docs/api/tools/wp_cache_stats.md +119 -0
- package/docs/api/tools/wp_cache_warm.md +119 -0
- package/docs/api/tools/wp_create_application_password.md +102 -0
- package/docs/api/tools/wp_create_category.md +102 -0
- package/docs/api/tools/wp_create_comment.md +128 -0
- package/docs/api/tools/wp_create_page.md +135 -0
- package/docs/api/tools/wp_create_post.md +147 -0
- package/docs/api/tools/wp_create_tag.md +101 -0
- package/docs/api/tools/wp_create_user.md +135 -0
- package/docs/api/tools/wp_delete_application_password.md +101 -0
- package/docs/api/tools/wp_delete_category.md +100 -0
- package/docs/api/tools/wp_delete_comment.md +101 -0
- package/docs/api/tools/wp_delete_media.md +108 -0
- package/docs/api/tools/wp_delete_page.md +108 -0
- package/docs/api/tools/wp_delete_post.md +117 -0
- package/docs/api/tools/wp_delete_tag.md +100 -0
- package/docs/api/tools/wp_delete_user.md +108 -0
- package/docs/api/tools/wp_get_application_passwords.md +103 -0
- package/docs/api/tools/wp_get_auth_status.md +101 -0
- package/docs/api/tools/wp_get_category.md +103 -0
- package/docs/api/tools/wp_get_comment.md +103 -0
- package/docs/api/tools/wp_get_current_user.md +101 -0
- package/docs/api/tools/wp_get_media.md +103 -0
- package/docs/api/tools/wp_get_page.md +103 -0
- package/docs/api/tools/wp_get_page_revisions.md +103 -0
- package/docs/api/tools/wp_get_post.md +112 -0
- package/docs/api/tools/wp_get_post_revisions.md +103 -0
- package/docs/api/tools/wp_get_site_settings.md +108 -0
- package/docs/api/tools/wp_get_tag.md +103 -0
- package/docs/api/tools/wp_get_user.md +103 -0
- package/docs/api/tools/wp_list_categories.md +111 -0
- package/docs/api/tools/wp_list_comments.md +111 -0
- package/docs/api/tools/wp_list_media.md +145 -0
- package/docs/api/tools/wp_list_pages.md +145 -0
- package/docs/api/tools/wp_list_posts.md +156 -0
- package/docs/api/tools/wp_list_tags.md +110 -0
- package/docs/api/tools/wp_list_users.md +111 -0
- package/docs/api/tools/wp_performance_alerts.md +162 -0
- package/docs/api/tools/wp_performance_benchmark.md +160 -0
- package/docs/api/tools/wp_performance_export.md +162 -0
- package/docs/api/tools/wp_performance_history.md +161 -0
- package/docs/api/tools/wp_performance_optimize.md +162 -0
- package/docs/api/tools/wp_performance_stats.md +160 -0
- package/docs/api/tools/wp_search_site.md +99 -0
- package/docs/api/tools/wp_spam_comment.md +98 -0
- package/docs/api/tools/wp_switch_auth_method.md +122 -0
- package/docs/api/tools/wp_test_auth.md +96 -0
- package/docs/api/tools/wp_update_category.md +102 -0
- package/docs/api/tools/wp_update_comment.md +127 -0
- package/docs/api/tools/wp_update_media.md +129 -0
- package/docs/api/tools/wp_update_page.md +135 -0
- package/docs/api/tools/wp_update_post.md +144 -0
- package/docs/api/tools/wp_update_site_settings.md +127 -0
- package/docs/api/tools/wp_update_tag.md +102 -0
- package/docs/api/tools/wp_update_user.md +134 -0
- package/docs/api/tools/wp_upload_media.md +131 -0
- package/docs/api/types/WordPressPost.md +39 -0
- package/docs/contract-testing.md +183 -0
- package/docs/developer/NPM_AUTH_SETUP.md +3 -3
- package/docs/wordpress-rest-api-authentication-troubleshooting.md +218 -0
- package/package.json +84 -64
- package/src/cache/CacheInvalidation.ts +421 -0
- package/src/cache/CacheManager.ts +391 -0
- package/src/cache/HttpCacheWrapper.ts +372 -0
- package/src/cache/__tests__/CacheInvalidation.test.ts +299 -0
- package/src/cache/__tests__/CacheManager.test.ts +300 -0
- package/src/cache/__tests__/CachedWordPressClient.test.ts +304 -0
- package/src/cache/__tests__/HttpCacheWrapper.test.ts +359 -0
- package/src/cache/index.ts +26 -0
- package/src/client/CachedWordPressClient.ts +442 -0
- package/src/config/ConfigurationSchema.ts +246 -0
- package/src/config/ServerConfiguration.ts +215 -0
- package/src/docs/DocumentationGenerator.ts +952 -0
- package/src/docs/MarkdownFormatter.ts +494 -0
- package/src/docs/index.ts +21 -0
- package/src/index.ts +14 -274
- package/src/performance/MetricsCollector.ts +447 -0
- package/src/performance/PerformanceAnalytics.ts +762 -0
- package/src/performance/PerformanceMonitor.ts +649 -0
- package/src/performance/index.ts +28 -0
- package/src/security/InputValidator.ts +319 -0
- package/src/security/SecurityConfig.ts +301 -0
- package/src/server/ConnectionTester.ts +74 -0
- package/src/server/ToolRegistry.ts +194 -0
- package/src/tools/BaseToolManager.ts +66 -0
- package/src/tools/cache.ts +259 -0
- package/src/tools/index.ts +2 -0
- package/src/tools/performance.ts +948 -0
- package/src/types/client.ts +1 -0
- package/src/utils/toolWrapper.ts +11 -0
- package/src/utils/validation.ts +259 -0
|
@@ -0,0 +1,471 @@
|
|
|
1
|
+
# Performance Monitoring System
|
|
2
|
+
|
|
3
|
+
The MCP WordPress Server includes a comprehensive performance monitoring system that provides real-time insights, historical analysis, and optimization recommendations for your WordPress API operations.
|
|
4
|
+
|
|
5
|
+
## 🎯 Overview
|
|
6
|
+
|
|
7
|
+
The performance monitoring system consists of three main components:
|
|
8
|
+
|
|
9
|
+
- **PerformanceMonitor**: Core metrics collection and alerting
|
|
10
|
+
- **MetricsCollector**: Real-time data gathering and client integration
|
|
11
|
+
- **PerformanceAnalytics**: Advanced analysis, trends, and predictions
|
|
12
|
+
|
|
13
|
+
## 🚀 Key Features
|
|
14
|
+
|
|
15
|
+
### Real-Time Monitoring
|
|
16
|
+
- **Response Time Tracking**: Monitor API response times with percentile analysis (P50, P95, P99)
|
|
17
|
+
- **Error Rate Monitoring**: Track success/failure rates across all operations
|
|
18
|
+
- **Cache Performance**: Monitor cache hit rates, memory usage, and efficiency
|
|
19
|
+
- **System Resources**: Track memory usage, CPU utilization, and uptime
|
|
20
|
+
- **Tool Usage Analytics**: Monitor which MCP tools are used most frequently
|
|
21
|
+
|
|
22
|
+
### Historical Analysis
|
|
23
|
+
- **Performance Trends**: Analyze performance changes over time
|
|
24
|
+
- **Predictive Analytics**: Forecast future performance based on historical data
|
|
25
|
+
- **Anomaly Detection**: Automatically detect unusual performance patterns
|
|
26
|
+
- **Benchmark Comparisons**: Compare against industry standards
|
|
27
|
+
|
|
28
|
+
### Intelligent Insights
|
|
29
|
+
- **Optimization Recommendations**: Get actionable suggestions for performance improvements
|
|
30
|
+
- **ROI Estimates**: Understand the impact of potential optimizations
|
|
31
|
+
- **Alert System**: Receive notifications for performance issues
|
|
32
|
+
- **Automated Reporting**: Generate comprehensive performance reports
|
|
33
|
+
|
|
34
|
+
## 🛠️ MCP Tools
|
|
35
|
+
|
|
36
|
+
The system provides 6 new MCP tools for performance management:
|
|
37
|
+
|
|
38
|
+
### 1. `wp_performance_stats`
|
|
39
|
+
Get real-time performance statistics and metrics.
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Get overview of current performance
|
|
43
|
+
wp_performance_stats
|
|
44
|
+
|
|
45
|
+
# Get detailed cache metrics
|
|
46
|
+
wp_performance_stats --category=cache --format=detailed
|
|
47
|
+
|
|
48
|
+
# Get site-specific metrics (multi-site)
|
|
49
|
+
wp_performance_stats --site=site1 --category=all
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Parameters:**
|
|
53
|
+
- `site` (optional): Specific site ID for multi-site setups
|
|
54
|
+
- `category`: `overview`, `requests`, `cache`, `system`, `tools`, `all` (default: `overview`)
|
|
55
|
+
- `format`: `summary`, `detailed`, `raw` (default: `summary`)
|
|
56
|
+
|
|
57
|
+
**Example Output:**
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"success": true,
|
|
61
|
+
"data": {
|
|
62
|
+
"overview": {
|
|
63
|
+
"overallHealth": "Good",
|
|
64
|
+
"performanceScore": 78,
|
|
65
|
+
"totalRequests": 1250,
|
|
66
|
+
"averageResponseTime": "245ms",
|
|
67
|
+
"cacheHitRate": "85.2%",
|
|
68
|
+
"errorRate": "2.1%",
|
|
69
|
+
"uptime": "2d 14h 30m"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 2. `wp_performance_history`
|
|
76
|
+
Get historical performance data and trend analysis.
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# Get 24-hour performance history
|
|
80
|
+
wp_performance_history
|
|
81
|
+
|
|
82
|
+
# Get specific metrics for the last week
|
|
83
|
+
wp_performance_history --timeframe=7d --metrics=responseTime,cacheHitRate
|
|
84
|
+
|
|
85
|
+
# Get history with trend analysis
|
|
86
|
+
wp_performance_history --timeframe=6h --includeTrends=true
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Parameters:**
|
|
90
|
+
- `site` (optional): Specific site ID
|
|
91
|
+
- `timeframe`: `1h`, `6h`, `12h`, `24h`, `7d` (default: `24h`)
|
|
92
|
+
- `metrics`: Array of specific metrics to include
|
|
93
|
+
- `includeTrends`: Include trend analysis (default: `true`)
|
|
94
|
+
|
|
95
|
+
### 3. `wp_performance_benchmark`
|
|
96
|
+
Compare current performance against industry benchmarks.
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Compare all metrics against benchmarks
|
|
100
|
+
wp_performance_benchmark
|
|
101
|
+
|
|
102
|
+
# Compare specific category with recommendations
|
|
103
|
+
wp_performance_benchmark --category=response_time --includeRecommendations=true
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Parameters:**
|
|
107
|
+
- `site` (optional): Specific site ID
|
|
108
|
+
- `category`: `response_time`, `cache_performance`, `error_rate`, `system_resources`, `all`
|
|
109
|
+
- `includeRecommendations`: Include improvement suggestions (default: `true`)
|
|
110
|
+
|
|
111
|
+
**Example Output:**
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"benchmarks": [
|
|
115
|
+
{
|
|
116
|
+
"category": "Response Time",
|
|
117
|
+
"currentValue": 245,
|
|
118
|
+
"status": "🟡 Good",
|
|
119
|
+
"percentile": 75,
|
|
120
|
+
"improvement": {
|
|
121
|
+
"needed": 45,
|
|
122
|
+
"description": "Reduce by 45ms"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"overallRanking": {
|
|
127
|
+
"percentile": 78,
|
|
128
|
+
"status": "Above Average"
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### 4. `wp_performance_alerts`
|
|
134
|
+
Get performance alerts and anomaly detection results.
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Get all recent alerts
|
|
138
|
+
wp_performance_alerts
|
|
139
|
+
|
|
140
|
+
# Get critical alerts only
|
|
141
|
+
wp_performance_alerts --severity=critical --limit=10
|
|
142
|
+
|
|
143
|
+
# Get cache-related alerts with anomalies
|
|
144
|
+
wp_performance_alerts --category=cache --includeAnomalies=true
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**Parameters:**
|
|
148
|
+
- `site` (optional): Specific site ID
|
|
149
|
+
- `severity`: `info`, `warning`, `error`, `critical`
|
|
150
|
+
- `category`: `performance`, `cache`, `system`, `wordpress`
|
|
151
|
+
- `limit`: Maximum alerts to return (default: `20`)
|
|
152
|
+
- `includeAnomalies`: Include detected anomalies (default: `true`)
|
|
153
|
+
|
|
154
|
+
### 5. `wp_performance_optimize`
|
|
155
|
+
Get optimization recommendations and insights.
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Get speed optimization recommendations
|
|
159
|
+
wp_performance_optimize --focus=speed
|
|
160
|
+
|
|
161
|
+
# Get quick wins with ROI estimates
|
|
162
|
+
wp_performance_optimize --priority=quick_wins --includeROI=true
|
|
163
|
+
|
|
164
|
+
# Get all recommendations with predictions
|
|
165
|
+
wp_performance_optimize --priority=all --includePredictions=true
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Parameters:**
|
|
169
|
+
- `site` (optional): Specific site ID
|
|
170
|
+
- `focus`: `speed`, `reliability`, `efficiency`, `scaling` (default: `speed`)
|
|
171
|
+
- `priority`: `quick_wins`, `medium_term`, `long_term`, `all` (default: `all`)
|
|
172
|
+
- `includeROI`: Include ROI estimates (default: `true`)
|
|
173
|
+
- `includePredictions`: Include performance predictions (default: `true`)
|
|
174
|
+
|
|
175
|
+
**Example Output:**
|
|
176
|
+
```json
|
|
177
|
+
{
|
|
178
|
+
"recommendations": [
|
|
179
|
+
{
|
|
180
|
+
"title": "Improve Cache Hit Rate",
|
|
181
|
+
"priority": "🟠 High",
|
|
182
|
+
"description": "Current cache hit rate is 75.2%, below optimal performance.",
|
|
183
|
+
"recommendation": "Implement cache warming strategies and optimize TTL values.",
|
|
184
|
+
"estimatedImprovement": "20-40% reduction in response times",
|
|
185
|
+
"implementationEffort": "⚖️ Medium Effort",
|
|
186
|
+
"timeline": "quick_wins"
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"roi": {
|
|
190
|
+
"performanceGain": 35,
|
|
191
|
+
"implementationCost": "medium",
|
|
192
|
+
"timeToValue": 7
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### 6. `wp_performance_export`
|
|
198
|
+
Export comprehensive performance report.
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
# Export JSON report with all data
|
|
202
|
+
wp_performance_export
|
|
203
|
+
|
|
204
|
+
# Export CSV summary for spreadsheet analysis
|
|
205
|
+
wp_performance_export --format=csv --timeRange=7d
|
|
206
|
+
|
|
207
|
+
# Export summary report
|
|
208
|
+
wp_performance_export --format=summary --includeAnalytics=true
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**Parameters:**
|
|
212
|
+
- `site` (optional): Specific site ID
|
|
213
|
+
- `format`: `json`, `csv`, `summary` (default: `json`)
|
|
214
|
+
- `includeHistorical`: Include historical data (default: `true`)
|
|
215
|
+
- `includeAnalytics`: Include analytics and insights (default: `true`)
|
|
216
|
+
- `timeRange`: `1h`, `6h`, `24h`, `7d`, `30d` (default: `24h`)
|
|
217
|
+
|
|
218
|
+
## 📊 Performance Metrics
|
|
219
|
+
|
|
220
|
+
### Response Time Metrics
|
|
221
|
+
- **Average Response Time**: Mean response time across all requests
|
|
222
|
+
- **Percentiles**: P50 (median), P95, P99 response times
|
|
223
|
+
- **Min/Max**: Fastest and slowest response times
|
|
224
|
+
- **Requests Per Second**: Request throughput rate
|
|
225
|
+
|
|
226
|
+
### Cache Performance Metrics
|
|
227
|
+
- **Hit Rate**: Percentage of requests served from cache
|
|
228
|
+
- **Cache Size**: Number of cached entries
|
|
229
|
+
- **Memory Usage**: Estimated memory consumption
|
|
230
|
+
- **Evictions**: Number of cache entries removed due to space limits
|
|
231
|
+
- **Cache Efficiency**: Overall cache performance rating
|
|
232
|
+
|
|
233
|
+
### System Metrics
|
|
234
|
+
- **Memory Usage**: Current memory consumption percentage
|
|
235
|
+
- **CPU Usage**: Estimated CPU utilization
|
|
236
|
+
- **Uptime**: System operational time
|
|
237
|
+
- **Active Connections**: Number of concurrent connections
|
|
238
|
+
|
|
239
|
+
### Tool Usage Metrics
|
|
240
|
+
- **Most Used Tool**: Tool with highest usage count
|
|
241
|
+
- **Tool Performance**: Response times and success rates per tool
|
|
242
|
+
- **Usage Distribution**: Frequency of tool usage
|
|
243
|
+
|
|
244
|
+
## 🔍 Performance Analysis
|
|
245
|
+
|
|
246
|
+
### Trend Analysis
|
|
247
|
+
The system automatically analyzes performance trends using linear regression:
|
|
248
|
+
|
|
249
|
+
- **Direction**: `improving`, `declining`, or `stable`
|
|
250
|
+
- **Change Rate**: Percentage change over time
|
|
251
|
+
- **Confidence**: Statistical confidence in the trend (0-1)
|
|
252
|
+
- **Predictions**: Forecasted future values
|
|
253
|
+
|
|
254
|
+
### Anomaly Detection
|
|
255
|
+
Automatic detection of unusual performance patterns:
|
|
256
|
+
|
|
257
|
+
- **Z-Score Analysis**: Statistical deviation from normal patterns
|
|
258
|
+
- **Configurable Sensitivity**: `low`, `medium`, `high` detection levels
|
|
259
|
+
- **Severity Classification**: `minor`, `moderate`, `major`, `critical`
|
|
260
|
+
- **Possible Causes**: AI-generated suggestions for anomaly causes
|
|
261
|
+
|
|
262
|
+
### Benchmark Comparisons
|
|
263
|
+
Compare against industry standards:
|
|
264
|
+
|
|
265
|
+
- **Response Time**: `<200ms` (excellent), `200-500ms` (good), `500ms-1s` (average)
|
|
266
|
+
- **Cache Hit Rate**: `>95%` (excellent), `85-95%` (good), `70-85%` (average)
|
|
267
|
+
- **Error Rate**: `<0.1%` (excellent), `0.1-1%` (good), `1-2%` (average)
|
|
268
|
+
- **Memory Usage**: `<50%` (excellent), `50-70%` (good), `70-80%` (average)
|
|
269
|
+
|
|
270
|
+
## ⚡ Integration with Caching System
|
|
271
|
+
|
|
272
|
+
The performance monitoring system is deeply integrated with the intelligent caching system:
|
|
273
|
+
|
|
274
|
+
### Automatic Cache Metrics
|
|
275
|
+
- **Real-time cache statistics** from all registered cache managers
|
|
276
|
+
- **Site-specific cache isolation** for multi-site installations
|
|
277
|
+
- **Cache efficiency calculations** with performance impact analysis
|
|
278
|
+
|
|
279
|
+
### Cache Performance Insights
|
|
280
|
+
- **Cache warming recommendations** based on usage patterns
|
|
281
|
+
- **TTL optimization suggestions** for different data types
|
|
282
|
+
- **Memory optimization** recommendations
|
|
283
|
+
|
|
284
|
+
### Cache Management Integration
|
|
285
|
+
- Performance monitoring **automatically registers** with cache managers
|
|
286
|
+
- **Request interception** for transparent performance tracking
|
|
287
|
+
- **Cache invalidation tracking** for data consistency monitoring
|
|
288
|
+
|
|
289
|
+
## 🚨 Alert System
|
|
290
|
+
|
|
291
|
+
### Alert Types
|
|
292
|
+
- **Performance Degradation**: Response times exceeding thresholds
|
|
293
|
+
- **Error Rate Spikes**: Increased failure rates
|
|
294
|
+
- **Cache Performance Issues**: Low hit rates or high memory usage
|
|
295
|
+
- **System Resource Warnings**: High memory or CPU usage
|
|
296
|
+
|
|
297
|
+
### Alert Configuration
|
|
298
|
+
Configure alert thresholds in your monitoring setup:
|
|
299
|
+
|
|
300
|
+
```javascript
|
|
301
|
+
const monitor = new PerformanceMonitor({
|
|
302
|
+
alertThresholds: {
|
|
303
|
+
responseTime: 2000, // 2 seconds
|
|
304
|
+
errorRate: 0.05, // 5%
|
|
305
|
+
cacheHitRate: 0.8, // 80%
|
|
306
|
+
memoryUsage: 80, // 80%
|
|
307
|
+
cpuUsage: 80 // 80%
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### Alert Severity Levels
|
|
313
|
+
- **🔴 Critical**: Immediate attention required
|
|
314
|
+
- **🟠 Error**: Significant performance impact
|
|
315
|
+
- **🟡 Warning**: Performance degradation detected
|
|
316
|
+
- **🔵 Info**: Informational notices
|
|
317
|
+
|
|
318
|
+
## 📈 Optimization Workflow
|
|
319
|
+
|
|
320
|
+
### 1. Monitor Current Performance
|
|
321
|
+
```bash
|
|
322
|
+
wp_performance_stats --format=detailed
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### 2. Analyze Historical Trends
|
|
326
|
+
```bash
|
|
327
|
+
wp_performance_history --timeframe=7d --includeTrends=true
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### 3. Compare Against Benchmarks
|
|
331
|
+
```bash
|
|
332
|
+
wp_performance_benchmark --includeRecommendations=true
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### 4. Check for Alerts and Anomalies
|
|
336
|
+
```bash
|
|
337
|
+
wp_performance_alerts --includeAnomalies=true
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### 5. Get Optimization Recommendations
|
|
341
|
+
```bash
|
|
342
|
+
wp_performance_optimize --focus=speed --includeROI=true
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
### 6. Export Comprehensive Report
|
|
346
|
+
```bash
|
|
347
|
+
wp_performance_export --format=json --includeAnalytics=true
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
## 🔧 Configuration
|
|
351
|
+
|
|
352
|
+
### Performance Monitor Configuration
|
|
353
|
+
```javascript
|
|
354
|
+
const config = {
|
|
355
|
+
collectInterval: 30000, // 30 seconds
|
|
356
|
+
retentionPeriod: 24 * 60 * 60 * 1000, // 24 hours
|
|
357
|
+
enableRealTimeMonitoring: true,
|
|
358
|
+
enableHistoricalData: true,
|
|
359
|
+
enableAlerts: true,
|
|
360
|
+
alertThresholds: {
|
|
361
|
+
responseTime: 2000,
|
|
362
|
+
errorRate: 0.05,
|
|
363
|
+
cacheHitRate: 0.8,
|
|
364
|
+
memoryUsage: 80,
|
|
365
|
+
cpuUsage: 80
|
|
366
|
+
}
|
|
367
|
+
};
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
### Metrics Collector Configuration
|
|
371
|
+
```javascript
|
|
372
|
+
const config = {
|
|
373
|
+
enableRealTime: true,
|
|
374
|
+
collectInterval: 30000,
|
|
375
|
+
enableToolTracking: true,
|
|
376
|
+
enableRequestInterception: true,
|
|
377
|
+
enableCacheIntegration: true,
|
|
378
|
+
enableSystemMetrics: true
|
|
379
|
+
};
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
### Analytics Configuration
|
|
383
|
+
```javascript
|
|
384
|
+
const config = {
|
|
385
|
+
enablePredictiveAnalysis: true,
|
|
386
|
+
enableAnomalyDetection: true,
|
|
387
|
+
enableTrendAnalysis: true,
|
|
388
|
+
lookbackPeriod: 24 * 60 * 60 * 1000, // 24 hours
|
|
389
|
+
sensitivityLevel: 'medium' // low, medium, high
|
|
390
|
+
};
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
## 🎯 Best Practices
|
|
394
|
+
|
|
395
|
+
### 1. Regular Monitoring
|
|
396
|
+
- Check performance stats daily with `wp_performance_stats`
|
|
397
|
+
- Review weekly trends with `wp_performance_history --timeframe=7d`
|
|
398
|
+
- Monitor alerts regularly with `wp_performance_alerts`
|
|
399
|
+
|
|
400
|
+
### 2. Proactive Optimization
|
|
401
|
+
- Implement quick wins from `wp_performance_optimize --priority=quick_wins`
|
|
402
|
+
- Address critical alerts immediately
|
|
403
|
+
- Follow benchmark recommendations
|
|
404
|
+
|
|
405
|
+
### 3. Data-Driven Decisions
|
|
406
|
+
- Use historical data to identify patterns
|
|
407
|
+
- Compare before/after optimization results
|
|
408
|
+
- Export reports for stakeholder communication
|
|
409
|
+
|
|
410
|
+
### 4. Multi-Site Management
|
|
411
|
+
- Monitor each site individually
|
|
412
|
+
- Compare performance across sites
|
|
413
|
+
- Implement site-specific optimizations
|
|
414
|
+
|
|
415
|
+
## 🔍 Troubleshooting
|
|
416
|
+
|
|
417
|
+
### Common Issues
|
|
418
|
+
|
|
419
|
+
**1. High Response Times**
|
|
420
|
+
```bash
|
|
421
|
+
# Check current performance
|
|
422
|
+
wp_performance_stats --category=requests
|
|
423
|
+
|
|
424
|
+
# Get optimization recommendations
|
|
425
|
+
wp_performance_optimize --focus=speed
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
**2. Low Cache Hit Rates**
|
|
429
|
+
```bash
|
|
430
|
+
# Check cache performance
|
|
431
|
+
wp_performance_stats --category=cache
|
|
432
|
+
|
|
433
|
+
# Get cache-specific recommendations
|
|
434
|
+
wp_performance_optimize --focus=efficiency
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
**3. System Resource Issues**
|
|
438
|
+
```bash
|
|
439
|
+
# Check system metrics
|
|
440
|
+
wp_performance_stats --category=system
|
|
441
|
+
|
|
442
|
+
# Get scaling recommendations
|
|
443
|
+
wp_performance_optimize --focus=scaling
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
### Performance Debugging
|
|
447
|
+
1. **Enable detailed logging** in development environments
|
|
448
|
+
2. **Use benchmark comparisons** to identify problem areas
|
|
449
|
+
3. **Monitor trends** to catch performance degradation early
|
|
450
|
+
4. **Review optimization recommendations** regularly
|
|
451
|
+
|
|
452
|
+
## 📚 Related Documentation
|
|
453
|
+
|
|
454
|
+
- [Intelligent Caching System](./CACHING.md)
|
|
455
|
+
- [Security Configuration](../src/security/SecurityConfig.ts)
|
|
456
|
+
- [MCP Tools Overview](../README.md#available-tools)
|
|
457
|
+
- [Multi-Site Configuration](../CLAUDE.md#multi-site-configuration)
|
|
458
|
+
|
|
459
|
+
## 🤝 Contributing
|
|
460
|
+
|
|
461
|
+
To contribute to the performance monitoring system:
|
|
462
|
+
|
|
463
|
+
1. **Add new metrics** in `PerformanceMonitor.ts`
|
|
464
|
+
2. **Enhance analytics** in `PerformanceAnalytics.ts`
|
|
465
|
+
3. **Create new tools** in `tools/performance.ts`
|
|
466
|
+
4. **Add tests** in `scripts/test-performance-monitoring.js`
|
|
467
|
+
5. **Update documentation** in this file
|
|
468
|
+
|
|
469
|
+
---
|
|
470
|
+
|
|
471
|
+
**🚀 The performance monitoring system helps you maintain optimal WordPress MCP server performance with real-time insights, intelligent analysis, and actionable recommendations.**
|