flowchart TD
A["📋 STAGE 1: BASELINE\nMeasure Initial Performance\np50, p95, p99 latency\nDocument Query Patterns"] --> B
B["📊 STAGE 2: MONITORING SETUP\nDeploy Prometheus + Grafana\nConfigure Alert Thresholds\np95 > 100ms = WARNING\np95 > 500ms = CRITICAL\nEnable Slow Query Logging"] --> C
C["👁️ STAGE 3: CONTINUOUS MONITORING\nCollect Metrics Every 10-60s\nTrack Daily/Weekly Trends\nMonitor Graph Size Growth"] --> D
D{{"Performance\nAcceptable?"}}
D -- "✅ Yes" --> C
D -- "❌ No" --> E
E["🔍 STAGE 4: INVESTIGATION\nAnalyze Slow Query Logs\nCheck CPU / Memory / Disk I/O\nReview Graph Density & Degree\nIdentify Bottleneck Type"] --> F
F{{"Root Cause\nIdentified?"}}
F -- "❌ No" --> G["⚠️ Escalate to\nExpert Review"]
G --> E
F -- "✅ Yes" --> H
H{{"Bottleneck\nType?"}}
H -- "Query Design" --> I1["✏️ Query Optimization\nRewrite inefficient queries\nAdd missing node indexes\nLimit traversal depth"]
H -- "Data Model" --> I2["🗄️ Model Optimization\nRefactor high-degree nodes\nAdd reverse relationships\nSplit dense subgraphs"]
H -- "Capacity" --> I3["⚡ Capacity Scaling\nVertical: more CPU/RAM\nHorizontal: add cluster nodes\nSSD upgrade for I/O bound"]
I1 --> J
I2 --> J
I3 --> J
J["🚀 Implement Changes\nTest in non-production first\nRollback plan required\nDeploy with monitoring"] --> K
K["✅ STAGE 6: VALIDATION\nRe-run baseline query suite\nCompare p95 latency to baseline\nVerify SLA requirements met"] --> L
L{{"Improvement\nSufficient?"}}
L -- "❌ No" --> E
L -- "✅ Yes" --> M
M["📝 Update Baseline & Document\nRecord new performance baseline\nDocument what worked\nAdd to optimization playbook"] --> C
style A fill:#1565C0,color:#fff
style B fill:#2E7D32,color:#fff
style C fill:#F57F17,color:#fff
style D fill:#EF6C00,color:#fff
style E fill:#BF360C,color:#fff
style F fill:#BF360C,color:#fff
style G fill:#B71C1C,color:#fff
style H fill:#4A148C,color:#fff
style I1 fill:#880E4F,color:#fff
style I2 fill:#880E4F,color:#fff
style I3 fill:#880E4F,color:#fff
style J fill:#880E4F,color:#fff
style K fill:#1B5E20,color:#fff
style L fill:#1B5E20,color:#fff
style M fill:#1A237E,color:#fff