> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Example Dashboards on Grafana for Apinizer Gateway

> Provides example dashboard panels that can be used on Grafana to visualize Apinizer Gateway metrics. Includes ready PromQL queries and visualization recommendations that visualize metrics such as API traffic volume, APIs with highest traffic volume, API processing times, request/response sizes, and pod CPU usage.

<Info>
  For Grafana Setup and Prometheus Integration as a Data Source, you can refer to [our related documentation](/en/operations/administrator-guides/grafana-prometheus-data-source).
</Info>

## Panel 1: Total API Request Volume by Request Type

<Accordion title="PromQL Queries">
  * **A (Total Requests):** `sum(rate(apinizer_api_traffic_total_count_total[5m]))`
  * **B (Successful Requests):** `sum(rate(apinizer_api_traffic_success_count_total[5m]))`
  * **C (Failed Requests):** `sum(rate(apinizer_api_traffic_error_count_total[5m]))`

  **Visualization:** Timeseries
</Accordion>

<img src="https://mintcdn.com/apinizer/LoT_QidIA2t_0Oih/images/operations/dahsboard1.png?fit=max&auto=format&n=LoT_QidIA2t_0Oih&q=85&s=dd179605b502abfdb93adc562b97c7d3" alt="Panel 1: Total API Request Volume by Request Type" width="1000" height="600" data-path="images/operations/dahsboard1.png" />

## Panel 2: APIs with Highest Traffic Volume

<Accordion title="PromQL Queries">
  * **A (Top 5 APIs):** `topk(5, sum by (api_name) (increase(apinizer_api_traffic_total_count_tagged_total[100m])))`

  **Visualization:** Bar gauge or Bar chart
</Accordion>

<img src="https://mintcdn.com/apinizer/LoT_QidIA2t_0Oih/images/operations/dashboard2.png?fit=max&auto=format&n=LoT_QidIA2t_0Oih&q=85&s=447a450ee9e159dba93ef78b5b75f739" alt="Panel 2: APIs with Highest Traffic Volume" width="1000" height="600" data-path="images/operations/dashboard2.png" />

## Panel 3: API Processing Times Detail

<Accordion title="PromQL Queries">
  * **A (Request Pipeline Duration):** `sum(rate(apinizer_api_traffic_request_pipeline_time_seconds_sum[5m])) / sum(rate(apinizer_api_traffic_request_pipeline_time_seconds_count[5m])) * 1000`
  * **B (Routing Duration):** `sum(rate(apinizer_api_traffic_routing_time_seconds_sum[5m])) / sum(rate(apinizer_api_traffic_routing_time_seconds_count[5m])) * 1000`
  * **C (Response Pipeline Duration):** `sum(rate(apinizer_api_traffic_response_pipeline_time_seconds_sum[5m])) / sum(rate(apinizer_api_traffic_response_pipeline_time_seconds_count[5m])) * 1000`

  **Visualization:** Timeseries
</Accordion>

<img src="https://mintcdn.com/apinizer/LoT_QidIA2t_0Oih/images/operations/dashboard3.png?fit=max&auto=format&n=LoT_QidIA2t_0Oih&q=85&s=78505319b0581b48ab876ff3ad846764" alt="Panel 3: API Processing Times Detail" width="1000" height="600" data-path="images/operations/dashboard3.png" />

## Panel 4: Average Request / Response Size

<Accordion title="PromQL Queries">
  * **A (Average Request Size):** `sum(rate(apinizer_api_traffic_request_size_bytes_sum[5m])) / sum(rate(apinizer_api_traffic_request_size_bytes_count[5m]))`
  * **B (Average Response Size):** `sum(rate(apinizer_api_traffic_response_size_bytes_sum[5m])) / sum(rate(apinizer_api_traffic_response_size_bytes_count[5m]))`

  **Visualization:** Timeseries
</Accordion>

<img src="https://mintcdn.com/apinizer/LoT_QidIA2t_0Oih/images/operations/dashboard4.png?fit=max&auto=format&n=LoT_QidIA2t_0Oih&q=85&s=a3b5d7758bfb0e74b3d778c83f3c6b50" alt="Panel 4: Average Request / Response Size" width="1000" height="600" data-path="images/operations/dashboard4.png" />

## Panel 5: Pod CPU Usage

<Accordion title="PromQL Queries">
  * **A (Pod CPU Usage):** `sum(system_cpu_usage{pod=~".*"}) by (pod) * 100`

  **Visualization:** Gauge
</Accordion>

<img src="https://mintcdn.com/apinizer/LoT_QidIA2t_0Oih/images/operations/dahsboard5.png?fit=max&auto=format&n=LoT_QidIA2t_0Oih&q=85&s=34c112aae8f52c0e29ef9780b4f01066" alt="Panel 5: Pod CPU Usage" width="1000" height="600" data-path="images/operations/dahsboard5.png" />
