Pulse
Pulse is an Application Performance Monitoring (APM) service that helps you understand and optimize your Rails application’s performance.Features
Request Tracing
Trace requests across your entire stack with distributed tracing
Performance Metrics
Track response times, throughput, and error rates
Database Insights
Identify slow queries and N+1 problems
Auto-Instrumentation
13 libraries automatically instrumented
Quick Start
Add the gem and configure:Gemfile
config/initializers/brainzlab.rb
Automatic Instrumentation
Pulse automatically tracks these libraries:| Library | What’s Tracked |
|---|---|
| Rails/Rack | Requests, responses, timing breakdown |
| Active Record | SQL queries with duration |
| Net::HTTP | Outbound HTTP calls |
| Faraday | HTTP client requests |
| HTTParty | HTTP client requests |
| Redis | Commands and duration |
| Sidekiq | Jobs, queue wait time, distributed tracing |
| Delayed::Job | Job execution |
| GraphQL | Query and field resolution |
| Grape | API endpoints |
| MongoDB | Database operations |
| Elasticsearch | Search operations |
| ActionMailer | Email delivery time |
Instrumentation Details
See detailed documentation for each instrumented library
Performance Insights
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)
Throughput
Monitor requests per minute over time to:- Spot traffic patterns
- Identify peak hours
- Plan capacity
Error Rate
Track error percentage across:- All endpoints
- Individual routes
- Background jobs
Distributed Tracing
Pulse supports distributed tracing across services:- W3C Trace Context (
traceparentheader) - B3 (
X-B3-TraceId,X-B3-SpanIdheaders)
Custom Spans
Add custom spans for business logic:Dashboard
View your performance data in the Pulse dashboard:- Overview - Apdex score, latency, throughput, errors
- Endpoints - Performance by route
- Traces - Individual request waterfalls
- Database - Slow queries, N+1 detection
View Dashboard
Open the Pulse dashboard