You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deployment tracking — Record deployments via POST /rails_pulse/deployments (with token auth) or rake rails_pulse:record_deployment[sha]. Deployments appear as vertical marker lines on performance charts so you can correlate releases with regressions
deployment_api_token config option — Secure the deployments endpoint for CI/CD pipelines (set in config/initializers/rails_pulse.rb)
Improvements
Native ECharts time axis — All multi-series charts now use [timestamp_ms, value] pairs instead of separate labels arrays, enabling deployment markers and smoother zoom/pan behaviour
Timezone-aware x-axis labels — Charts with ≤25 hour ranges show HH:MM format; longer ranges show full dates
actual_sql migration — Operations now store the full, unparameterized SQL string in a dedicated actual_sql column (backfilled from label for existing records), improving query normalization and N+1 detection accuracy
N+1 detection via query_id — N+1 detection now matches on query_id (normalized SQL) instead of fragile LIKE patterns on the first 3 words of the label
SQL analysis fallback chain — Analysis services now prefer actual_sql, then fall back to query.normalized_sql, then label
Label truncation — Operation labels are now truncated to 255 characters to prevent MySQL index-size errors
Error count accuracy — Summary service now counts 5xx statuses as errors (was 4xx), aligning with standard practice; 4xx client errors are now correctly tracked separately
Authentication config clarity — The authentication_enabled warning only fires when the user explicitly sets it to true without configuring a method, not when the production default kicks in
Bug Fixes
Missing migration fix — Fixed a deploy-time error where the install generator would fail on fresh setups (PR #144)
Breaking Changes
Summary service error counting — The error_count field now counts only 5xx responses (was ≥400). 4xx responses continue to be tracked in status_4xx. If your dashboards or alerts rely on error_count, verify the threshold doesn't need updating
Queries::Charts::AverageQueryTimes removed — Superseded by Queries::Charts::DatabaseLoad
Upgrade Notes
Run rails generate rails_pulse:upgrade after updating to apply migrations (adds rails_pulse_deployments table and actual_sql column to rails_pulse_operations)