proagents 1.6.17 → 1.6.18
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/.claude/settings.local.json +169 -0
- package/COMMANDS.md +595 -0
- package/README.md +13 -23
- package/package.json +2 -7
- package/.proagents/ai-models/README.md +0 -141
- package/.proagents/ai-models/cost-management.md +0 -362
- package/.proagents/ai-models/fallbacks.md +0 -342
- package/.proagents/ai-models/model-config.md +0 -318
- package/.proagents/ai-models/task-routing.md +0 -503
- package/.proagents/ai-training/README.md +0 -155
- package/.proagents/ai-training/continuous-learning.md +0 -413
- package/.proagents/ai-training/domain-knowledge.md +0 -378
- package/.proagents/ai-training/pattern-learning.md +0 -455
- package/.proagents/ai-training/training-data.md +0 -337
- package/.proagents/ai-training/user-preferences.md +0 -346
- package/.proagents/approval-workflows/README.md +0 -146
- package/.proagents/approval-workflows/approval-config.md +0 -332
- package/.proagents/approval-workflows/approval-stages.md +0 -503
- package/.proagents/approval-workflows/emergency-bypass.md +0 -351
- package/.proagents/approval-workflows/examples.md +0 -859
- package/.proagents/approval-workflows/notifications.md +0 -320
- package/.proagents/compliance/README.md +0 -206
- package/.proagents/compliance/access-control.md +0 -310
- package/.proagents/compliance/audit-logging.md +0 -444
- package/.proagents/compliance/compliance-frameworks.md +0 -429
- package/.proagents/compliance/reports.md +0 -491
- package/.proagents/compliance/retention-policies.md +0 -454
- package/.proagents/config-versioning/README.md +0 -120
- package/.proagents/config-versioning/changelog.md +0 -300
- package/.proagents/config-versioning/rollback.md +0 -283
- package/.proagents/config-versioning/versioning.md +0 -330
- package/.proagents/contract-testing/README.md +0 -223
- package/.proagents/contract-testing/contract-testing.md +0 -614
- package/.proagents/contract-testing/pact-integration.md +0 -507
- package/.proagents/contract-testing/schema-validation.md +0 -565
- package/.proagents/dependency-management/README.md +0 -140
- package/.proagents/dependency-management/automation.md +0 -363
- package/.proagents/dependency-management/compatibility.md +0 -319
- package/.proagents/dependency-management/security-scanning.md +0 -413
- package/.proagents/dependency-management/update-policies.md +0 -374
- package/.proagents/disaster-recovery/README.md +0 -247
- package/.proagents/disaster-recovery/automation.md +0 -366
- package/.proagents/disaster-recovery/backup-recovery.md +0 -571
- package/.proagents/disaster-recovery/incident-response.md +0 -565
- package/.proagents/disaster-recovery/rollback-procedures.md +0 -499
- package/.proagents/disaster-recovery/runbooks.md +0 -603
- package/.proagents/disaster-recovery/scenarios.md +0 -892
- package/.proagents/disaster-recovery/testing.md +0 -438
- package/.proagents/environments/README.md +0 -244
- package/.proagents/environments/configuration.md +0 -437
- package/.proagents/environments/promotion.md +0 -434
- package/.proagents/environments/setup.md +0 -420
- package/.proagents/examples/README.md +0 -55
- package/.proagents/examples/backend-nodejs/README.md +0 -188
- package/.proagents/examples/backend-nodejs/complete-conversation.md +0 -601
- package/.proagents/examples/backend-nodejs/proagents.config.yaml +0 -415
- package/.proagents/examples/backend-nodejs/workflow-example.md +0 -909
- package/.proagents/examples/fullstack-nextjs/README.md +0 -155
- package/.proagents/examples/fullstack-nextjs/complete-conversation.md +0 -604
- package/.proagents/examples/fullstack-nextjs/proagents.config.yaml +0 -287
- package/.proagents/examples/fullstack-nextjs/workflow-example.md +0 -553
- package/.proagents/examples/mobile-react-native/README.md +0 -171
- package/.proagents/examples/mobile-react-native/complete-conversation.md +0 -825
- package/.proagents/examples/mobile-react-native/proagents.config.yaml +0 -330
- package/.proagents/examples/mobile-react-native/workflow-example.md +0 -723
- package/.proagents/examples/web-frontend-react/README.md +0 -125
- package/.proagents/examples/web-frontend-react/complete-conversation.md +0 -556
- package/.proagents/examples/web-frontend-react/proagents.config.yaml +0 -183
- package/.proagents/examples/web-frontend-react/workflow-example.md +0 -603
- package/.proagents/existing-projects/README.md +0 -65
- package/.proagents/existing-projects/challenges.md +0 -861
- package/.proagents/existing-projects/coexistence-mode.md +0 -483
- package/.proagents/existing-projects/compatibility-assessment.md +0 -541
- package/.proagents/existing-projects/gradual-adoption.md +0 -515
- package/.proagents/existing-projects/migration-strategies.md +0 -788
- package/.proagents/existing-projects/pattern-reconciliation.md +0 -489
- package/.proagents/existing-projects/team-onboarding.md +0 -617
- package/.proagents/existing-projects/technical-debt-handling.md +0 -644
- package/.proagents/feature-flags/README.md +0 -263
- package/.proagents/feature-flags/ab-testing.md +0 -413
- package/.proagents/feature-flags/configuration.md +0 -420
- package/.proagents/feature-flags/kill-switches.md +0 -444
- package/.proagents/feature-flags/rollout-strategies.md +0 -392
- package/.proagents/history.log +0 -12
- package/.proagents/i18n/README.md +0 -133
- package/.proagents/i18n/extraction.md +0 -433
- package/.proagents/i18n/tms-integration.md +0 -332
- package/.proagents/i18n/translation-workflow.md +0 -413
- package/.proagents/i18n/validation.md +0 -355
- package/.proagents/logging/README.md +0 -276
- package/.proagents/logging/aggregation.md +0 -475
- package/.proagents/logging/log-levels.md +0 -376
- package/.proagents/logging/sensitive-data.md +0 -423
- package/.proagents/logging/structured-logging.md +0 -406
- package/.proagents/metrics/README.md +0 -69
- package/.proagents/metrics/code-quality-kpis.md +0 -461
- package/.proagents/metrics/deployment-metrics.md +0 -517
- package/.proagents/metrics/developer-productivity.md +0 -368
- package/.proagents/metrics/learning-effectiveness.md +0 -478
- package/.proagents/migrations/README.md +0 -77
- package/.proagents/migrations/from-claude-projects.md +0 -313
- package/.proagents/migrations/from-cursor-rules.md +0 -345
- package/.proagents/migrations/from-custom-workflows.md +0 -410
- package/.proagents/monitoring/README.md +0 -308
- package/.proagents/monitoring/alerting.md +0 -449
- package/.proagents/monitoring/dashboards.md +0 -454
- package/.proagents/monitoring/health-checks.md +0 -436
- package/.proagents/monitoring/metrics.md +0 -434
- package/.proagents/multi-project/README.md +0 -170
- package/.proagents/multi-project/coordinated-deploy.md +0 -510
- package/.proagents/multi-project/cross-project-deps.md +0 -395
- package/.proagents/multi-project/unified-changelog.md +0 -477
- package/.proagents/multi-project/walkthroughs/monorepo-setup.md +0 -787
- package/.proagents/multi-project/workspace-config.md +0 -408
- package/.proagents/notifications/README.md +0 -151
- package/.proagents/notifications/channels.md +0 -457
- package/.proagents/notifications/preferences.md +0 -415
- package/.proagents/notifications/routing.md +0 -449
- package/.proagents/notifications/scheduling.md +0 -425
- package/.proagents/notifications/templates.md +0 -446
- package/.proagents/offline-mode/README.md +0 -145
- package/.proagents/offline-mode/caching.md +0 -344
- package/.proagents/offline-mode/offline-operations.md +0 -312
- package/.proagents/offline-mode/queue-specifications.md +0 -679
- package/.proagents/offline-mode/sync.md +0 -475
- package/.proagents/parallel-features/README.md +0 -85
- package/.proagents/parallel-features/conflict-detection.md +0 -226
- package/.proagents/parallel-features/dependency-management.md +0 -392
- package/.proagents/parallel-features/merge-coordination.md +0 -506
- package/.proagents/parallel-features/tracking-system.md +0 -416
- package/.proagents/performance/README.md +0 -59
- package/.proagents/performance/bundle-analysis.md +0 -375
- package/.proagents/performance/load-testing.md +0 -563
- package/.proagents/performance/runtime-metrics.md +0 -489
- package/.proagents/performance/web-vitals.md +0 -425
- package/.proagents/plugins/README.md +0 -139
- package/.proagents/plugins/creating-plugins.md +0 -504
- package/.proagents/plugins/plugin-api.md +0 -467
- package/.proagents/plugins/plugin-registry.md +0 -276
- package/.proagents/reporting/README.md +0 -158
- package/.proagents/reporting/dashboards.md +0 -366
- package/.proagents/reporting/exports.md +0 -524
- package/.proagents/reporting/quality-metrics.md +0 -385
- package/.proagents/reporting/templates/README.md +0 -56
- package/.proagents/reporting/templates/dashboard-config.json +0 -187
- package/.proagents/reporting/templates/metrics-queries.md +0 -427
- package/.proagents/reporting/templates/react-dashboard.tsx +0 -544
- package/.proagents/reporting/templates/widgets.md +0 -451
- package/.proagents/reporting/velocity-metrics.md +0 -340
- package/.proagents/reverse-engineering/README.md +0 -151
- package/.proagents/reverse-engineering/architecture-extraction.md +0 -325
- package/.proagents/reverse-engineering/code-analysis.md +0 -377
- package/.proagents/reverse-engineering/dependency-mapping.md +0 -567
- package/.proagents/reverse-engineering/diagram-generation.md +0 -586
- package/.proagents/reverse-engineering/documentation-generation.md +0 -468
- package/.proagents/reverse-engineering/pattern-detection.md +0 -569
- package/.proagents/reverse-engineering/quality-assessment.md +0 -733
- package/.proagents/secrets/README.md +0 -278
- package/.proagents/secrets/access-control.md +0 -443
- package/.proagents/secrets/rotation.md +0 -403
- package/.proagents/secrets/scanning.md +0 -487
- package/.proagents/secrets/storage.md +0 -394
- package/.proagents/webhooks/README.md +0 -126
- package/.proagents/webhooks/endpoints.md +0 -298
- package/.proagents/webhooks/events.md +0 -316
- package/.proagents/webhooks/payloads.md +0 -325
- package/.proagents/webhooks/reliability.md +0 -363
- package/.proagents/webhooks/security.md +0 -380
|
@@ -1,434 +0,0 @@
|
|
|
1
|
-
# Metrics Collection
|
|
2
|
-
|
|
3
|
-
Application and infrastructure metrics for observability.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Metric Types
|
|
8
|
-
|
|
9
|
-
| Type | Description | Example |
|
|
10
|
-
|------|-------------|---------|
|
|
11
|
-
| **Counter** | Cumulative value (only increases) | Total requests |
|
|
12
|
-
| **Gauge** | Current value (can go up/down) | Active connections |
|
|
13
|
-
| **Histogram** | Distribution of values | Request latency |
|
|
14
|
-
| **Summary** | Similar to histogram with percentiles | Response times |
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Configuration
|
|
19
|
-
|
|
20
|
-
### Basic Setup
|
|
21
|
-
|
|
22
|
-
```yaml
|
|
23
|
-
# proagents.config.yaml
|
|
24
|
-
monitoring:
|
|
25
|
-
metrics:
|
|
26
|
-
enabled: true
|
|
27
|
-
|
|
28
|
-
# Metrics endpoint
|
|
29
|
-
endpoint:
|
|
30
|
-
path: "/metrics"
|
|
31
|
-
port: 9090
|
|
32
|
-
format: "prometheus"
|
|
33
|
-
|
|
34
|
-
# Collection interval
|
|
35
|
-
interval: "15s"
|
|
36
|
-
|
|
37
|
-
# Labels applied to all metrics
|
|
38
|
-
global_labels:
|
|
39
|
-
service: "${SERVICE_NAME}"
|
|
40
|
-
environment: "${NODE_ENV}"
|
|
41
|
-
version: "${VERSION}"
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### Metric Definitions
|
|
45
|
-
|
|
46
|
-
```yaml
|
|
47
|
-
monitoring:
|
|
48
|
-
metrics:
|
|
49
|
-
definitions:
|
|
50
|
-
# HTTP metrics
|
|
51
|
-
http:
|
|
52
|
-
requests_total:
|
|
53
|
-
type: "counter"
|
|
54
|
-
description: "Total HTTP requests"
|
|
55
|
-
labels: ["method", "path", "status"]
|
|
56
|
-
|
|
57
|
-
request_duration_seconds:
|
|
58
|
-
type: "histogram"
|
|
59
|
-
description: "HTTP request duration"
|
|
60
|
-
labels: ["method", "path"]
|
|
61
|
-
buckets: [0.01, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10]
|
|
62
|
-
|
|
63
|
-
requests_in_flight:
|
|
64
|
-
type: "gauge"
|
|
65
|
-
description: "Current in-flight requests"
|
|
66
|
-
|
|
67
|
-
# Business metrics
|
|
68
|
-
business:
|
|
69
|
-
orders_total:
|
|
70
|
-
type: "counter"
|
|
71
|
-
description: "Total orders placed"
|
|
72
|
-
labels: ["status", "payment_method"]
|
|
73
|
-
|
|
74
|
-
order_value:
|
|
75
|
-
type: "histogram"
|
|
76
|
-
description: "Order value distribution"
|
|
77
|
-
buckets: [10, 25, 50, 100, 250, 500, 1000]
|
|
78
|
-
|
|
79
|
-
active_users:
|
|
80
|
-
type: "gauge"
|
|
81
|
-
description: "Currently active users"
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## Standard Metrics
|
|
87
|
-
|
|
88
|
-
### RED Metrics (Request, Error, Duration)
|
|
89
|
-
|
|
90
|
-
```yaml
|
|
91
|
-
monitoring:
|
|
92
|
-
metrics:
|
|
93
|
-
red:
|
|
94
|
-
enabled: true
|
|
95
|
-
|
|
96
|
-
request:
|
|
97
|
-
name: "http_requests_total"
|
|
98
|
-
labels: ["method", "endpoint", "status"]
|
|
99
|
-
|
|
100
|
-
error:
|
|
101
|
-
name: "http_errors_total"
|
|
102
|
-
labels: ["method", "endpoint", "error_type"]
|
|
103
|
-
|
|
104
|
-
duration:
|
|
105
|
-
name: "http_request_duration_seconds"
|
|
106
|
-
labels: ["method", "endpoint"]
|
|
107
|
-
percentiles: [0.5, 0.9, 0.95, 0.99]
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### USE Metrics (Utilization, Saturation, Errors)
|
|
111
|
-
|
|
112
|
-
```yaml
|
|
113
|
-
monitoring:
|
|
114
|
-
metrics:
|
|
115
|
-
use:
|
|
116
|
-
enabled: true
|
|
117
|
-
|
|
118
|
-
# CPU
|
|
119
|
-
cpu:
|
|
120
|
-
utilization: "process_cpu_seconds_total"
|
|
121
|
-
saturation: "process_runnable_tasks"
|
|
122
|
-
|
|
123
|
-
# Memory
|
|
124
|
-
memory:
|
|
125
|
-
utilization: "process_resident_memory_bytes"
|
|
126
|
-
saturation: "process_heap_bytes"
|
|
127
|
-
|
|
128
|
-
# Connections
|
|
129
|
-
connections:
|
|
130
|
-
utilization: "db_connections_active"
|
|
131
|
-
saturation: "db_connections_waiting"
|
|
132
|
-
errors: "db_connection_errors_total"
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### Four Golden Signals
|
|
136
|
-
|
|
137
|
-
```yaml
|
|
138
|
-
monitoring:
|
|
139
|
-
metrics:
|
|
140
|
-
golden_signals:
|
|
141
|
-
latency:
|
|
142
|
-
metric: "http_request_duration_seconds"
|
|
143
|
-
targets:
|
|
144
|
-
p50: 0.1
|
|
145
|
-
p95: 0.5
|
|
146
|
-
p99: 1.0
|
|
147
|
-
|
|
148
|
-
traffic:
|
|
149
|
-
metric: "http_requests_total"
|
|
150
|
-
rate_window: "1m"
|
|
151
|
-
|
|
152
|
-
errors:
|
|
153
|
-
metric: "http_errors_total"
|
|
154
|
-
ratio: "http_errors_total / http_requests_total"
|
|
155
|
-
target: "< 0.01"
|
|
156
|
-
|
|
157
|
-
saturation:
|
|
158
|
-
metrics:
|
|
159
|
-
- "cpu_utilization"
|
|
160
|
-
- "memory_utilization"
|
|
161
|
-
- "connection_pool_utilization"
|
|
162
|
-
target: "< 0.8"
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## Code Integration
|
|
168
|
-
|
|
169
|
-
### JavaScript/TypeScript
|
|
170
|
-
|
|
171
|
-
```typescript
|
|
172
|
-
import { Metrics } from '@proagents/monitoring';
|
|
173
|
-
|
|
174
|
-
const metrics = new Metrics({
|
|
175
|
-
prefix: 'myapp',
|
|
176
|
-
defaultLabels: {
|
|
177
|
-
service: 'api',
|
|
178
|
-
environment: process.env.NODE_ENV,
|
|
179
|
-
},
|
|
180
|
-
});
|
|
181
|
-
|
|
182
|
-
// Counter
|
|
183
|
-
const requestCounter = metrics.counter({
|
|
184
|
-
name: 'http_requests_total',
|
|
185
|
-
help: 'Total HTTP requests',
|
|
186
|
-
labels: ['method', 'path', 'status'],
|
|
187
|
-
});
|
|
188
|
-
|
|
189
|
-
// Histogram
|
|
190
|
-
const requestDuration = metrics.histogram({
|
|
191
|
-
name: 'http_request_duration_seconds',
|
|
192
|
-
help: 'Request duration in seconds',
|
|
193
|
-
labels: ['method', 'path'],
|
|
194
|
-
buckets: [0.01, 0.05, 0.1, 0.5, 1, 5],
|
|
195
|
-
});
|
|
196
|
-
|
|
197
|
-
// Gauge
|
|
198
|
-
const activeConnections = metrics.gauge({
|
|
199
|
-
name: 'active_connections',
|
|
200
|
-
help: 'Current active connections',
|
|
201
|
-
});
|
|
202
|
-
|
|
203
|
-
// Usage
|
|
204
|
-
app.use((req, res, next) => {
|
|
205
|
-
const timer = requestDuration.startTimer({ method: req.method, path: req.path });
|
|
206
|
-
|
|
207
|
-
res.on('finish', () => {
|
|
208
|
-
timer();
|
|
209
|
-
requestCounter.inc({ method: req.method, path: req.path, status: res.statusCode });
|
|
210
|
-
});
|
|
211
|
-
|
|
212
|
-
next();
|
|
213
|
-
});
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
### Express Middleware
|
|
217
|
-
|
|
218
|
-
```typescript
|
|
219
|
-
import { metricsMiddleware, metricsEndpoint } from '@proagents/monitoring/express';
|
|
220
|
-
|
|
221
|
-
// Auto-instrument all routes
|
|
222
|
-
app.use(metricsMiddleware({
|
|
223
|
-
// Normalize paths
|
|
224
|
-
normalizePath: (path) => path.replace(/\/\d+/g, '/:id'),
|
|
225
|
-
|
|
226
|
-
// Skip certain paths
|
|
227
|
-
skip: ['/health', '/metrics'],
|
|
228
|
-
|
|
229
|
-
// Custom labels
|
|
230
|
-
customLabels: (req, res) => ({
|
|
231
|
-
user_type: req.user?.type || 'anonymous',
|
|
232
|
-
}),
|
|
233
|
-
}));
|
|
234
|
-
|
|
235
|
-
// Expose metrics endpoint
|
|
236
|
-
app.get('/metrics', metricsEndpoint());
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
---
|
|
240
|
-
|
|
241
|
-
## Custom Metrics
|
|
242
|
-
|
|
243
|
-
### Business Metrics
|
|
244
|
-
|
|
245
|
-
```yaml
|
|
246
|
-
monitoring:
|
|
247
|
-
metrics:
|
|
248
|
-
custom:
|
|
249
|
-
# Revenue tracking
|
|
250
|
-
revenue_total:
|
|
251
|
-
type: "counter"
|
|
252
|
-
description: "Total revenue in cents"
|
|
253
|
-
labels: ["currency", "product_category"]
|
|
254
|
-
|
|
255
|
-
# User engagement
|
|
256
|
-
feature_usage:
|
|
257
|
-
type: "counter"
|
|
258
|
-
description: "Feature usage count"
|
|
259
|
-
labels: ["feature", "user_tier"]
|
|
260
|
-
|
|
261
|
-
# SLA metrics
|
|
262
|
-
sla_compliance:
|
|
263
|
-
type: "gauge"
|
|
264
|
-
description: "SLA compliance percentage"
|
|
265
|
-
labels: ["service", "metric"]
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
### Application-Specific Metrics
|
|
269
|
-
|
|
270
|
-
```typescript
|
|
271
|
-
// Order processing metrics
|
|
272
|
-
const orderMetrics = {
|
|
273
|
-
ordersCreated: metrics.counter({
|
|
274
|
-
name: 'orders_created_total',
|
|
275
|
-
labels: ['payment_method', 'shipping_type'],
|
|
276
|
-
}),
|
|
277
|
-
|
|
278
|
-
orderValue: metrics.histogram({
|
|
279
|
-
name: 'order_value_dollars',
|
|
280
|
-
buckets: [10, 50, 100, 500, 1000, 5000],
|
|
281
|
-
}),
|
|
282
|
-
|
|
283
|
-
orderProcessingTime: metrics.histogram({
|
|
284
|
-
name: 'order_processing_seconds',
|
|
285
|
-
buckets: [1, 5, 10, 30, 60, 120],
|
|
286
|
-
}),
|
|
287
|
-
|
|
288
|
-
pendingOrders: metrics.gauge({
|
|
289
|
-
name: 'pending_orders',
|
|
290
|
-
}),
|
|
291
|
-
};
|
|
292
|
-
|
|
293
|
-
// Usage
|
|
294
|
-
async function processOrder(order) {
|
|
295
|
-
const timer = orderMetrics.orderProcessingTime.startTimer();
|
|
296
|
-
|
|
297
|
-
try {
|
|
298
|
-
await fulfillOrder(order);
|
|
299
|
-
orderMetrics.ordersCreated.inc({
|
|
300
|
-
payment_method: order.paymentMethod,
|
|
301
|
-
shipping_type: order.shippingType,
|
|
302
|
-
});
|
|
303
|
-
orderMetrics.orderValue.observe(order.total);
|
|
304
|
-
} finally {
|
|
305
|
-
timer();
|
|
306
|
-
orderMetrics.pendingOrders.dec();
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
---
|
|
312
|
-
|
|
313
|
-
## Metric Backends
|
|
314
|
-
|
|
315
|
-
### Prometheus
|
|
316
|
-
|
|
317
|
-
```yaml
|
|
318
|
-
monitoring:
|
|
319
|
-
metrics:
|
|
320
|
-
backend: "prometheus"
|
|
321
|
-
|
|
322
|
-
prometheus:
|
|
323
|
-
# Push gateway (optional)
|
|
324
|
-
push_gateway:
|
|
325
|
-
url: "http://pushgateway:9091"
|
|
326
|
-
job: "myapp"
|
|
327
|
-
push_interval: "15s"
|
|
328
|
-
|
|
329
|
-
# Scrape config (for reference)
|
|
330
|
-
scrape_config:
|
|
331
|
-
scrape_interval: "15s"
|
|
332
|
-
scrape_timeout: "10s"
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
### Datadog
|
|
336
|
-
|
|
337
|
-
```yaml
|
|
338
|
-
monitoring:
|
|
339
|
-
metrics:
|
|
340
|
-
backend: "datadog"
|
|
341
|
-
|
|
342
|
-
datadog:
|
|
343
|
-
api_key_env: "DD_API_KEY"
|
|
344
|
-
app_key_env: "DD_APP_KEY"
|
|
345
|
-
|
|
346
|
-
# Default tags
|
|
347
|
-
tags:
|
|
348
|
-
- "env:production"
|
|
349
|
-
- "service:api"
|
|
350
|
-
|
|
351
|
-
# Histogram aggregations
|
|
352
|
-
histogram:
|
|
353
|
-
aggregates: ["avg", "count", "max", "min", "sum"]
|
|
354
|
-
percentiles: [0.5, 0.75, 0.95, 0.99]
|
|
355
|
-
```
|
|
356
|
-
|
|
357
|
-
### CloudWatch
|
|
358
|
-
|
|
359
|
-
```yaml
|
|
360
|
-
monitoring:
|
|
361
|
-
metrics:
|
|
362
|
-
backend: "cloudwatch"
|
|
363
|
-
|
|
364
|
-
cloudwatch:
|
|
365
|
-
region: "us-east-1"
|
|
366
|
-
namespace: "MyApp"
|
|
367
|
-
|
|
368
|
-
# Dimensions
|
|
369
|
-
dimensions:
|
|
370
|
-
Environment: "production"
|
|
371
|
-
Service: "api"
|
|
372
|
-
|
|
373
|
-
# Resolution
|
|
374
|
-
storage_resolution: 60 # 1 minute
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
---
|
|
378
|
-
|
|
379
|
-
## Aggregation & Queries
|
|
380
|
-
|
|
381
|
-
### Common Queries
|
|
382
|
-
|
|
383
|
-
```yaml
|
|
384
|
-
monitoring:
|
|
385
|
-
metrics:
|
|
386
|
-
queries:
|
|
387
|
-
# Request rate
|
|
388
|
-
request_rate: |
|
|
389
|
-
rate(http_requests_total[5m])
|
|
390
|
-
|
|
391
|
-
# Error rate
|
|
392
|
-
error_rate: |
|
|
393
|
-
rate(http_errors_total[5m]) / rate(http_requests_total[5m])
|
|
394
|
-
|
|
395
|
-
# P99 latency
|
|
396
|
-
p99_latency: |
|
|
397
|
-
histogram_quantile(0.99, rate(http_request_duration_seconds_bucket[5m]))
|
|
398
|
-
|
|
399
|
-
# Active users (cardinality)
|
|
400
|
-
active_users: |
|
|
401
|
-
count(count by (user_id) (http_requests_total[1h]))
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
---
|
|
405
|
-
|
|
406
|
-
## Commands
|
|
407
|
-
|
|
408
|
-
```bash
|
|
409
|
-
# View current metrics
|
|
410
|
-
proagents metrics list
|
|
411
|
-
|
|
412
|
-
# Query specific metric
|
|
413
|
-
proagents metrics query http_requests_total
|
|
414
|
-
|
|
415
|
-
# Export metrics
|
|
416
|
-
proagents metrics export --format prometheus > metrics.txt
|
|
417
|
-
|
|
418
|
-
# Test metrics endpoint
|
|
419
|
-
proagents metrics test
|
|
420
|
-
|
|
421
|
-
# Generate metric documentation
|
|
422
|
-
proagents metrics docs
|
|
423
|
-
```
|
|
424
|
-
|
|
425
|
-
---
|
|
426
|
-
|
|
427
|
-
## Best Practices
|
|
428
|
-
|
|
429
|
-
1. **Use Standard Names**: Follow naming conventions (e.g., Prometheus)
|
|
430
|
-
2. **Label Carefully**: High cardinality labels are expensive
|
|
431
|
-
3. **Histogram Over Summary**: Histograms are more flexible
|
|
432
|
-
4. **Include Units**: Add units to metric names (e.g., `_seconds`, `_bytes`)
|
|
433
|
-
5. **Document Metrics**: Add descriptions and usage examples
|
|
434
|
-
6. **Alert on Symptoms**: Alert on user-facing metrics first
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
# Multi-Project & Monorepo Support
|
|
2
|
-
|
|
3
|
-
Manage multiple related projects and monorepos with unified workflows.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Overview
|
|
8
|
-
|
|
9
|
-
ProAgents supports managing multiple projects together, whether in a monorepo or as separate related projects.
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
13
|
-
│ Multi-Project Architecture │
|
|
14
|
-
├─────────────────────────────────────────────────────────────┤
|
|
15
|
-
│ │
|
|
16
|
-
│ Workspace │
|
|
17
|
-
│ ├── Shared Config ────────────────────────────────────── │
|
|
18
|
-
│ │ └── Common standards, rules, and templates │
|
|
19
|
-
│ │ │
|
|
20
|
-
│ ├── Projects ─────────────────────────────────────────── │
|
|
21
|
-
│ │ ├── frontend/ (React web app) │
|
|
22
|
-
│ │ ├── backend/ (Node.js API) │
|
|
23
|
-
│ │ ├── mobile/ (React Native) │
|
|
24
|
-
│ │ └── shared/ (Common libraries) │
|
|
25
|
-
│ │ │
|
|
26
|
-
│ └── Cross-Project Features ───────────────────────────── │
|
|
27
|
-
│ ├── Dependency tracking │
|
|
28
|
-
│ ├── Unified changelog │
|
|
29
|
-
│ └── Coordinated deployments │
|
|
30
|
-
│ │
|
|
31
|
-
└─────────────────────────────────────────────────────────────┘
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
## Quick Start
|
|
37
|
-
|
|
38
|
-
### Initialize Workspace
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
# Create workspace configuration
|
|
42
|
-
proagents workspace init
|
|
43
|
-
|
|
44
|
-
# Add existing projects
|
|
45
|
-
proagents workspace add ./frontend --type web-frontend
|
|
46
|
-
proagents workspace add ./backend --type nodejs
|
|
47
|
-
proagents workspace add ./mobile --type react-native
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Configure Workspace
|
|
51
|
-
|
|
52
|
-
```yaml
|
|
53
|
-
# proagents.workspace.yaml
|
|
54
|
-
|
|
55
|
-
workspace:
|
|
56
|
-
name: "My Platform"
|
|
57
|
-
|
|
58
|
-
projects:
|
|
59
|
-
- name: frontend
|
|
60
|
-
path: ./frontend
|
|
61
|
-
type: web-frontend
|
|
62
|
-
|
|
63
|
-
- name: backend
|
|
64
|
-
path: ./backend
|
|
65
|
-
type: nodejs
|
|
66
|
-
|
|
67
|
-
- name: mobile
|
|
68
|
-
path: ./mobile
|
|
69
|
-
type: react-native
|
|
70
|
-
|
|
71
|
-
shared:
|
|
72
|
-
standards: ./shared/.proagents/standards/
|
|
73
|
-
rules: ./shared/.proagents/rules/
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## Use Cases
|
|
79
|
-
|
|
80
|
-
| Scenario | Solution |
|
|
81
|
-
|----------|----------|
|
|
82
|
-
| Monorepo with multiple apps | Single workspace, multiple projects |
|
|
83
|
-
| Microservices architecture | Linked workspaces with dependencies |
|
|
84
|
-
| Frontend + Backend | Two projects with API contract sync |
|
|
85
|
-
| Multi-platform app | Web, mobile, desktop as linked projects |
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Features
|
|
90
|
-
|
|
91
|
-
| Feature | Description |
|
|
92
|
-
|---------|-------------|
|
|
93
|
-
| **Unified Config** | Share standards and rules across projects |
|
|
94
|
-
| **Cross-Project Dependencies** | Track dependencies between projects |
|
|
95
|
-
| **Coordinated Deployments** | Deploy in correct order |
|
|
96
|
-
| **Unified Changelog** | Single changelog for all projects |
|
|
97
|
-
| **Shared Analysis** | Reuse codebase analysis |
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
## Documentation Files
|
|
102
|
-
|
|
103
|
-
| File | Description |
|
|
104
|
-
|------|-------------|
|
|
105
|
-
| [workspace-config.md](./workspace-config.md) | Workspace configuration |
|
|
106
|
-
| [cross-project-deps.md](./cross-project-deps.md) | Cross-project dependencies |
|
|
107
|
-
| [unified-changelog.md](./unified-changelog.md) | Unified changelog management |
|
|
108
|
-
| [coordinated-deploy.md](./coordinated-deploy.md) | Coordinated deployments |
|
|
109
|
-
|
|
110
|
-
## Walkthroughs
|
|
111
|
-
|
|
112
|
-
| Walkthrough | Description |
|
|
113
|
-
|-------------|-------------|
|
|
114
|
-
| [Monorepo Setup](./walkthroughs/monorepo-setup.md) | Complete step-by-step monorepo setup guide |
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
## Workspace Structure
|
|
119
|
-
|
|
120
|
-
### Monorepo Layout
|
|
121
|
-
|
|
122
|
-
```
|
|
123
|
-
/workspace/
|
|
124
|
-
├── proagents.workspace.yaml # Workspace configuration
|
|
125
|
-
├── shared/
|
|
126
|
-
│ ├── .proagents/ # Shared ProAgents config
|
|
127
|
-
│ │ ├── standards/
|
|
128
|
-
│ │ ├── rules/
|
|
129
|
-
│ │ └── templates/
|
|
130
|
-
│ └── packages/ # Shared code packages
|
|
131
|
-
│ ├── ui-components/
|
|
132
|
-
│ └── utils/
|
|
133
|
-
├── apps/
|
|
134
|
-
│ ├── web/
|
|
135
|
-
│ │ └── .proagents/ # Project-specific config
|
|
136
|
-
│ ├── api/
|
|
137
|
-
│ │ └── .proagents/
|
|
138
|
-
│ └── mobile/
|
|
139
|
-
│ └── .proagents/
|
|
140
|
-
└── .proagents/ # Workspace-level data
|
|
141
|
-
├── cross-project-deps.json
|
|
142
|
-
├── unified-changelog/
|
|
143
|
-
└── workspace-state.json
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Separate Repos Layout
|
|
147
|
-
|
|
148
|
-
```
|
|
149
|
-
/company-projects/
|
|
150
|
-
├── proagents.workspace.yaml # Links all repos
|
|
151
|
-
├── frontend-repo/ # Separate git repo
|
|
152
|
-
│ └── .proagents/
|
|
153
|
-
├── backend-repo/ # Separate git repo
|
|
154
|
-
│ └── .proagents/
|
|
155
|
-
└── mobile-repo/ # Separate git repo
|
|
156
|
-
└── .proagents/
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
## Commands
|
|
162
|
-
|
|
163
|
-
| Command | Description |
|
|
164
|
-
|---------|-------------|
|
|
165
|
-
| `proagents workspace init` | Initialize workspace |
|
|
166
|
-
| `proagents workspace add` | Add project to workspace |
|
|
167
|
-
| `proagents workspace status` | Show workspace status |
|
|
168
|
-
| `proagents workspace deps` | Show dependencies |
|
|
169
|
-
| `proagents workspace sync` | Sync shared config |
|
|
170
|
-
| `proagents workspace deploy` | Coordinated deploy |
|