Best Practices for Monitoring ARI API Performance (Latency, Throughput, Tracing)

Hello Team,

We are running Asterisk with ARI (Asterisk REST Interface) in production for call control and would like guidance on implementing proper API performance monitoring.

Requirement

We want to monitor ARI APIs from a performance and observability standpoint, specifically:

  1. Latency Metrics

    • API response time (avg, p95, p99)

    • Stasis event processing delay

    • Call setup time (INVITE → StasisStart → Answer)

  2. Throughput Metrics

    • ARI requests per second

    • Events processed per second

    • Concurrent active channels

  3. Error Metrics

    • Failed ARI requests

    • WebSocket disconnects

    • Channel creation failures

  4. Tracing / Call Flow Visibility

    • End-to-end call lifecycle tracing

Questions

  1. Does Asterisk expose native metrics for ARI performance?

  2. Is there a recommended Prometheus exporter for ARI-level metrics?

  3. What is the recommended way to measure:

    • ARI event processing latency?

    • Stasis application delay?

  4. Any known configuration tuning for higher CPS environments?

  5. Is there a supported way to instrument tracing (OpenTelemetry / similar)?

We are currently using Prometheus + Grafana and are exploring the best approach for production-grade monitoring.

Any recommendations or best practices would be greatly appreciated.

Thank you.

1 Like