GraphQL Monitoring
Proxy

High-performance GraphQL gateway with monitoring, caching, circuit breaker, rate limiting, and security. Tested at 30k req/s using 10MB RAM.

Version License Go Report
terminal
# Run with Docker
$ docker pull ghcr.io/lukaszraczylo/graphql-monitoring-proxy:latest

# Configure and run
$ docker run -p 8080:8080 -p 9393:9393 \
    -e GMP_HOST_GRAPHQL=http://your-graphql:4000/ \
    ghcr.io/lukaszraczylo/graphql-monitoring-proxy:latest

Features

Enterprise-grade GraphQL gateway at zero cost

Prometheus Metrics

Full observability with query timing, user tracking, and operation metrics

Smart Caching

Memory-aware caching with LRU eviction, compression, and Redis support

Circuit Breaker

Automatic failure detection with graceful degradation and cached fallbacks

Rate Limiting

Role-based rate limiting with JWT extraction and burst control

Request Coalescing

Deduplicate concurrent identical queries, reducing backend load 50-80%

WebSocket Support

Native GraphQL subscriptions with bidirectional proxying

Introspection Blocking

Block schema introspection with configurable allowlists

OpenTelemetry Tracing

Distributed tracing with configurable OTLP collector endpoint

Admin Dashboard

Real-time web UI for monitoring health, metrics, and controls

Installation

Deploy in seconds

Docker

docker pull ghcr.io/lukaszraczylo/graphql-monitoring-proxy:latest

Binary Download

Download from the releases page.

Supported: Darwin ARM64/AMD64, Linux ARM64/AMD64, Windows AMD64

Kubernetes

Example manifests available in the repository:

Endpoints

Available HTTP endpoints

:8080/* GraphQL passthrough endpoint
:8080/admin Admin dashboard UI
:9393/metrics Prometheus metrics endpoint
:8080/healthz Health check endpoint
:8080/livez Liveness probe endpoint
:9090/api/* Management API (ban/unban, cache, circuit breaker)

Configuration

Environment variables (prefix with GMP_ recommended)

Core Settings

Variable Description Default
HOST_GRAPHQL GraphQL backend URL http://localhost/
PORT_GRAPHQL Proxy listen port 8080
MONITORING_PORT Metrics endpoint port 9393
LOG_LEVEL Logging level info

Caching

Variable Description Default
ENABLE_GLOBAL_CACHE Enable memory cache false
CACHE_TTL Cache TTL in seconds 60
CACHE_MAX_MEMORY_SIZE Max memory in MB 100
ENABLE_REDIS_CACHE Enable Redis cache false

Circuit Breaker

Variable Description Default
ENABLE_CIRCUIT_BREAKER Enable circuit breaker false
CIRCUIT_MAX_FAILURES Failures before trip 10
CIRCUIT_TIMEOUT_SECONDS Recovery timeout 60

Performance

Battle-tested at scale

100k+

Requests/second

10MB

RAM usage

0.1%

CPU usage