Skip to main content
Below are example PromQL queries you can use to analyze Apinizer Gateway metrics. These queries can be used in Grafana dashboards or Prometheus Query UI.

API Traffic Analyses

Total Request Count

Calculates total API request count for a specific time range

Requests Per API

Shows request count separately for each API

Success Rate

Calculates the ratio of successful requests to total requests

Error Analysis

Detects APIs with highest error rates

1. Total API Request Count (for 1 hour)

sum(increase(apinizer_api_traffic_total_count_total[1h]))

2. Request Count Per API (for 5 minutes)

sum by (api_name) (increase(apinizer_api_traffic_total_count_tagged_total[5m]))

3. API Success Rate (%) (for 10 minutes)

(sum(increase(apinizer_api_traffic_success_count_total[10m])) / sum(increase(apinizer_api_traffic_total_count_total[10m]))) * 100

4. APIs with Highest Error Rate (for 5 minutes)

topk(5, sum by (api_name) (increase(apinizer_api_traffic_error_count_tagged_total[15m])) / sum by (api_name) (increase(apinizer_api_traffic_total_count_tagged_total[15m])))

5. Average Response Time Per API (for 5 minutes)

sum by (api_name) (rate(apinizer_api_traffic_total_time_tagged_seconds_sum[5m])) / sum by (api_name) (rate(apinizer_api_traffic_total_time_tagged_seconds_count[5m]))

External Connection Analyses

These queries are used to analyze the performance of external service calls made through Apinizer Gateway.

1. Error Rate Per Target URL

sum by (url) (increase(apinizer_external_requests_total_count_tagged_total[5m])) / sum by (url) (increase(apinizer_external_requests_total_count_tagged_total[5m]))

2. Slowest Services (Average Response Time)

topk(5, sum by (url) (rate(apinizer_external_response_time_seconds_sum[5m])) / sum by (url) (rate(apinizer_external_response_time_seconds_count[5m])))

Cache Analyses

These queries are used to analyze cache performance and cache hit rates.

1. Cache Hit Rate (%)

(sum(increase(apinizer_api_traffic_cache_hits_count_total[5m])) / sum(increase(apinizer_api_traffic_total_count_total[5m]))) * 100

2. Cache Hit Rate Per API (%)

sum by (api_name) (increase(apinizer_api_traffic_cache_hits_count_tagged_total[5m])) / sum by (api_name) (increase(apinizer_api_traffic_total_count_tagged_total[5m])) * 100

JVM Analyses

These queries are used to monitor JVM performance and resource usage in the worker (gateway) pod.

1. Memory Usage Percentage

sum(jvm_memory_used_bytes) / sum(jvm_memory_max_bytes) * 100

2. Garbage Collection Duration

sum(rate(jvm_gc_pause_seconds_sum[5m]))

3. Thread Count

sum(jvm_threads_live_threads)