Metrics
Pulse collects and visualizes key performance metrics for your Rails application, giving you insights into request latency, database performance, and background job health.Built-in Metrics
Request Metrics
| Metric | Description |
|---|---|
request.duration | Total request time |
request.db_time | Time spent in database |
request.view_time | Time spent rendering |
request.queue_time | Time waiting in queue |
Latency Percentiles
Track P50, P95, and P99 latencies to understand your performance distribution:- P50 - Median response time (50% of requests faster)
- P95 - 95th percentile (only 5% slower)
- P99 - 99th percentile (catches outliers)
Database Metrics
| Metric | Description |
|---|---|
db.query_count | Queries per request |
db.query_duration | Query execution time |
db.pool_size | Connection pool usage |
db.pool_waiting | Threads waiting for connection |
Background Job Metrics
| Metric | Description |
|---|---|
job.duration | Job execution time |
job.queue_time | Time in queue |
job.retry_count | Number of retries |
job.failure_rate | Percentage of failed jobs |
Custom Metrics
Track your own application-specific metrics:Counter
Increment a counter for events:Gauge
Set a point-in-time value:Histogram
Track value distributions:Timing
Measure duration of operations:Metric Aggregations
Pulse automatically aggregates metrics:| Aggregation | Description |
|---|---|
avg | Average value |
min | Minimum value |
max | Maximum value |
sum | Total sum |
count | Number of data points |
p50, p95, p99 | Percentiles |
Alerting
Set up alerts based on metric thresholds:- Slack
- PagerDuty
- Webhooks
Viewing Metrics
Access metrics in the Pulse dashboard:- Overview - High-level health metrics
- Endpoints - Per-route performance
- Database - Query metrics and slow query analysis
- Jobs - Background job performance