24 Commits
Author SHA1 Message Date
ask ec3643dec9 fix(chdb): return error on log_scores row scan failure
ci/woodpecker/push/woodpecker Pipeline was successful
Previously a per-row scan error was logged and skipped with continue, so a
decode failure (e.g. the UInt64->int64 regression) produced a 200 response
with partial or empty data and no signal to the client. Fail the request
instead so the HTTP handlers return 500. Also check rows.Err() after iteration.
2026-05-24 10:48:23 -07:00
ask 6ee1146173 fix(chdb): scan ClickHouse log_scores into signed model fields
ci/woodpecker/push/woodpecker Pipeline was successful
The PostgreSQL model migration regenerated LogScore.ID, MonitorID and
ServerID as signed/pgtype fields, but the ClickHouse log_scores columns
are unsigned (id UInt64, monitor_id/server_id UInt32). clickhouse-go
refuses to scan UInt64 into *int64, so every score row failed to parse
and the scores endpoints returned empty.

Scan each row into locals matching the ClickHouse column types, then
convert into the model, mirroring the existing leap handling. Factor the
shared scan into scanLogScore used by both Logscores and
LogscoresTimeRange.
2026-05-23 23:52:09 -07:00
ask ab2c853fd7 feat(db): migrate from MySQL to PostgreSQL
ci/woodpecker/push/woodpecker Pipeline was successful
Replace MySQL driver with pgx/v5 and pgxpool:
- Update sqlc to use postgresql engine
- Convert query.sql to PostgreSQL syntax ($1 params, CASE WHEN,
  ANY() arrays)
- Replace sql.DB with pgxpool.Pool throughout
- Change nullable types from sql.Null* to pgtype.*
- Update ID types from uint32 to int64 for PostgreSQL compatibility
- Delete MySQL-specific dynamic_connect.go
- Add opentelemetry.gowrap template for tracing
2026-05-24 01:51:42 -07:00
ask 2a3429b594 fix(chdb): add connection name to ClickHouse error messages
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
Wrap logs/scores connection errors with their name so it's
clear which connection failed on startup.
2026-03-07 22:10:05 -08:00
ask e4f6d8cafb fix(chdb): rename geodns references to dns
continuous-integration/drone/push Build is passing
ClickHouse DNS tables moved from geodns/geodns3 to
a single dns database.
2026-03-07 16:07:20 -08:00
ask 2dfc355f7c style: format Go code with gofumpt
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
Apply consistent formatting to Go source files using gofumpt
as required by pre-commit guidelines.
2025-08-03 16:06:59 -07:00
ask 8262b1442f feat(api): add Grafana time range endpoint for scores
- Add /api/v2/server/scores/{server}/{mode} endpoint
- Support time range queries with from/to parameters
- Return data in Grafana table format for visualization
- Fix routing pattern to handle IP addresses correctly
- Add comprehensive parameter validation and error handling
2025-07-27 02:18:32 -07:00
ask e6f39f201c dns queries: set cache-control header 2025-02-23 09:48:56 -08:00
ask 962839ed89 add dns query count endpoint 2025-02-23 09:28:30 -08:00
ask f8662fbda5 Support DSN config and auth for clickhouse connection
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2025-02-22 22:41:06 -08:00
ask e316aeee99 db: less logging when opening a database connection
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2025-01-06 19:33:45 +01:00
ask 3a9879b793 ch: add healtcheck for logs database
continuous-integration/drone/push Build is passing
2025-01-06 19:21:17 +01:00
ask 904f4b1df5 remove slightly less debugging 2024-11-03 07:15:25 +00:00
ask 675e993353 scorer: fix parsing leap column
continuous-integration/drone/push Build is passing
2024-01-20 23:43:22 -07:00
ask e1398e7472 scores: full_history option for internal clients
continuous-integration/drone/push Build is passing
(somewhat inefficient, but for now rarely used ...)
2024-01-20 23:21:21 -07:00
ask 6df51fc19f scores: clickhouse support
continuous-integration/drone/push Build is passing
2024-01-20 19:41:02 -07:00
ask e824274998 Add png graph handler
continuous-integration/drone/push Build is passing
2023-12-09 13:54:13 -08:00
ask 86ad4a76b7 Use logger instance instead of default log/slog
continuous-integration/drone/push Build is passing
2023-10-22 16:33:54 -07:00
ask ceddc2564d Update tracing API
continuous-integration/drone/push Build is passing
2023-10-22 12:01:43 -07:00
ask f9b521664d Add tracing 2023-10-14 04:01:43 -07:00
ask ca2cdaf458 Go 1.21.1, log/slog, dependencies
continuous-integration/drone/push Build is passing
2023-09-17 23:12:33 -07:00
ask 27c8bc4776 Calculate netspeed points, too
continuous-integration/drone/push Build is passing
2023-07-16 02:40:50 -07:00
ask a89579f072 API for ratios of DNS answers oer server 2023-07-08 21:59:06 -07:00
ask 18185090d1 wip 2023-05-07 00:01:00 -07:00