:::mermaid
flowchart TD
A["🔵 Bắt đầu: get_top_queries"] --> B["Phân tích tham số:<br/>sort_by, limit"]
B --> C["Kiểm tra pg_stat_statements Extension"]
C --> D{"Extension khả dụng?"}
D -->|"Không"| E["Trả về lỗi:<br/>pg_stat_statements chưa bật"]
D -->|"Có"| F{"sort_by?"}
F -->|"total_time"| G["Query ORDER BY total_exec_time DESC"]
F -->|"mean_time"| H["Query ORDER BY mean_exec_time DESC"]
F -->|"resources"| I["Query với Resource Score:<br/>CPU + I/O + Memory"]
G --> J["Thực thi Query"]
H --> J
I --> J
J --> K{"Query thành công?"}
K -->|"Không"| L["Trả về lỗi"]
K -->|"Có"| M["Xử lý kết quả"]
M --> N["Với mỗi Query:"]
N --> N1["- Query Text<br/>- Số lần gọi<br/>- Tổng thời gian<br/>- Thời gian trung bình<br/>- Rows trả về<br/>- Shared Blocks Hit/Read"]
N1 --> O["Tính toán thống kê:<br/>- Cache Hit Ratio<br/>- Avg Rows mỗi lần gọi"]
O --> P["Định dạng bảng kết quả"]
P --> Q["Trả về kết quả"]
Q --> R["🔴 Kết thúc"]
E --> R
L --> R
style A fill:#4CAF50,color:white
style R fill:#f44336,color:white
style D fill:#FF9800,color:white
style F fill:#2196F3,color:white
style K fill:#FF9800,color:white