Files

92 lines
2.8 KiB
Markdown

---
type: Entity
layer: wiki
tags: [stack, dashdescomplicar, telemetria, observabilidade, metricas]
title: "Metrics"
---
# Metrics
Sistema de telemetria e observabilidade do DashDescomplicar. Recolhe métricas de performance, disponibilidade e negócio em todas as camadas (frontend, API, infraestrutura).
## Responsabilidades
- **API Performance**: Tempo de resposta por endpoint, latência, taxa de erro
- **Frontend**: Tempo de renderização, tamanho de bundle, LCP, FID, CLS
- **Infraestrutura**: CPU, RAM, Disk dos servidores monitorados (via SSH + Hetzner + Beszel)
- **Disponibilidade**: Uptime dos sistemas integrados (MCP Gateway, n8n, Paperclip)
- **Negócio**: Vendas, despesas, lucro, tickets, leads (via Desk CRM)
- **Observabilidade**: Sessões Claude Code, tool calls, skills, padrões de uso
## Dimensões Recolhidas
### API
- Latência por endpoint (ms)
- Taxa de erro (4xx/5xx)
- Rate limit hits
### Frontend
- Tempo de renderização inicial (mount → data)
- Tamanho de bundle (Vite build)
- Core Web Vitals (LCP, FID, CLS)
### Infraestrutura
- CPU% por servidor (Hetzner, Beszel, SSH)
- RAM% por servidor
- Disk% por servidor
- Load average
- Containers Docker activos
### Disponibilidade
- MCP Gateway (32 MCPs — online/offline)
- n8n workflows (activos/falhas)
- Paperclip agentes (activos/idle/erro)
- Sites WordPress (ok/warning/critical)
### Negócio
- Vendas mês/ano (EUR)
- Despesas mês/ano (EUR)
- Tickets abertos/prioridade
- Leads em pipeline
### Observabilidade (Sessões)
- Sessões Claude Code / dia
- Tool calls / sessão
- Skills invocadas
- Projectos activos
- Padrões de erro
- Duração média de sessão
## Stack
- **Colectores**: Scripts Python (Gemini), Node.js (sessions-indexer), MySQL queries
- **Armazenamento**: SQLite (`sessions.db`), MySQL (`tbl_eal_monitoring`, `tbl_eal_hetzner_metrics`)
- **Exposição**: Endpoints REST (não Prometheus — planeado)
- **Logs**: `logs/performance-metrics.json` (180B — inicial)
## Localizações
- **Logs**: `logs/performance-metrics.json`
- **Sessions DB**: `~/.claude-work/sessions.db`
- **Monitoring DB**: `tbl_eal_monitoring` (MySQL)
- **Hetzner Metrics**: `tbl_eal_hetzner_metrics` (MySQL)
- **Gemini Logs**: `~/.claude-work/tool-invocations.jsonl`
## Consome de
- **Dashboard-Engine**: Eventos de renderização
- **Express-API**: Latência, erros (middleware)
- **Painéis**: Eventos de interacção, fetch timing
- **Systemd-Timers**: Indexação de sessões
- **Monitorizacao-Gemini**: Telemetria Gemini
- **Integracao-Hetzner**: Métricas de servidores
- **Integracao-SSH-Metrics**: Métricas SSH
- **Integracao-Beszel**: Fleet metrics
## Fornece a
- **Painel-Monitor**: Métricas de infra agregadas
- **Painel-Financeiro**: Métricas de negócio
- **Painel-Sessoes**: Dados de observabilidade
- **Sistema IA**: Padrões de uso, anomalias