Every request logged with 30+ fields: latency breakdown, geolocation, device detection, threat scores, and cache analytics. All stored in ClickHouse for instant SQL queries.
Fire & Forget
Response sent before logging. Zero latency impact.
Binary WAL
ClickHouse RowBinary format. Zero JSON serialization on hot path.
ClickHouse
Columnar OLAP engine. Billions of rows, sub-second queries.
Load Shedding: Under extreme load (>5000 buffered), 2xx success logs are dropped to protect system stability. Error logs are never dropped.
Inspired by the best: AWS API Gateway latency breakdown, Cloudflare geo/device/security signals, and Kong service metadata.
AWS API Gateway-style
latency_msTotal end-to-end latencyintegration_latency_msTime spent at your backendgateway_latency_msNolxy processing overheadCloudflare-style
country_codeISO 3166-1 alpha-2 country codecityCity name from GeoIP lookupasnAutonomous System NumberCloudflare-style
device_typedesktop, mobile, tablet, botbrowserBrowser name and versionosOperating systemis_botBot detection flagCloudflare WAF-style
threat_scoreComputed threat level (0-100)waf_actionallow, block, challengebot_scoreBot probability scorerate_limitedWhether request was rate limitedquota_exceededWhether quota was exceededCloudflare-style
cache_hitWhether response was served from cachecache_ttlCache TTL in secondscache_tierL1 memory, L2 Redis, or nonecache_key_hashFNV-1a hash of the cache keyKong-style
service_nameUpstream service identifierroute_nameMatched route nameconsumer_idAPI consumer identifierconsumer_nameHuman-readable consumer nameNo Grafana, no Datadog, no external tools needed. Query your logs directly from the dashboard.
Full-text search on paths with cursor and offset pagination. Filter by status code, HTTP method, date range.
Pre-aggregated stats: request count, latency, bandwidth, errors, cache hits — grouped by hour or day.
P50, P95, P99 latency percentiles computed natively by ClickHouse. Histogram bucketing for distribution analysis.
Identify hottest routes and most active IPs. Error rates and average latency per route.
Request volume, errors, and latency broken down by country. Powered by GeoIP enrichment worker.
Hit rate, average cache vs backend latency, total time saved. Quantify the ROI of response caching.
Logs are enriched asynchronously by dedicated workers — never on the hot path.
Resolves IP addresses to country, city, and ASN using MaxMind GeoLite2. Runs in a separate process.
Reads binary WAL files from disk and batch-inserts into ClickHouse. Runs on the primary process only.
BullMQ-backed worker for email and webhook notifications. Durable delivery with exponential backoff retry.
Analytics are included in every plan. Free plans get 12-hour retention. Business plans get 90 days. Enterprise gets 365 days.