Initial commit: stats-gateway gRPC service + dashboard + CLI

This commit is contained in:
2026-05-05 21:04:32 +05:00
commit 4059e94759
44 changed files with 2513 additions and 0 deletions
+59
View File
@@ -0,0 +1,59 @@
# psp-stats-cli
CLI для запросов к PSP Speedtest Stats (https://stats.projectshitpost.fun/).
## Установка
```
go install github.com/bergabruh/psp-stats-cli@latest
```
или собрать из исходников:
```
git clone <repo>
cd psp-stats-cli && make build
./bin/psp-stats-cli help
```
## Команды
### recent
```
psp-stats-cli recent --node fl --limit 10
psp-stats-cli recent --since 2026-05-01T00:00:00Z
```
Показывает последние N samples в текстовом формате `timestamp node http=X.Xms tls=...`.
Флаги:
- `--node fl|pl1` — фильтр по узлу (пусто = оба)
- `--limit N` — максимум N записей (по умолчанию 20, макс 1000)
- `--since RFC3339` — нижняя граница по времени
- `--server host:port` — gRPC-эндпоинт (по умолчанию `stats.projectshitpost.fun:443`)
- `--timeout duration` — таймаут запроса (по умолчанию 10s)
### aggregate
```
psp-stats-cli aggregate --node pl1 --since 2026-05-01T00:00:00Z
```
Показывает гистограмму HTTP-latency по бакетам {25, 50, 100, 250, 500, 1000, 5000} ms.
Флаги:
- `--node fl|pl1` — фильтр по узлу (пусто = оба)
- `--since RFC3339` — нижняя граница (по умолчанию 24 часа назад)
- `--until RFC3339` — верхняя граница (по умолчанию сейчас)
- `--server host:port` — gRPC-эндпоинт
- `--timeout duration` — таймаут запроса (по умолчанию 10s)
## Сервер
По умолчанию `stats.projectshitpost.fun:443`. Override через `--server host:port`.
Используется TLS 1.3 + HTTP/2 + gRPC. Public методы аутентификации не требуют.
## API
См. [`stats-gateway` proto](https://gitea.projectshitpost.fun/bergabruh/stats-gateway).