v2.1.1
NOTICE
Important: If you are running Dispatcharr in Docker, add PYTHONDONTWRITEBYTECODE=1 to your container's environment variables to prevent root-owned cache files from blocking plugin updates. This is a workaround for a Dispatcharr startup behavior that runs migrations as root.
Added
- (v2.1.1 HOTFIX) New stream metric:
dispatcharr_stream_current_bitrate_bps— Current bitrate in bits per second (sum of all connected client transfer rates). Matches the "current bitrate" shown in Dispatcharr UI.
- Minimum Dispatcharr version check:
- Plugin now verifies that Dispatcharr meets the minimum required version (
v0.14.0) at startup. - Skips version check for dev builds (with timestamp suffix).
- Logs warning if version cannot be determined and proceeds anyway.
- Plugin now verifies that Dispatcharr meets the minimum required version (
- Profile expiry metric:
- New
dispatcharr_profile_days_to_expirygauge showing days remaining until XC profile expiry. - Value is 0 if expired, -1 if no expiry is set.
- Calculated from
custom_properties['user_info']['exp_date']Unix timestamp.
- New
- Root-owned
__pycache__detection:- Plugin detects root-owned
__pycache__directories at startup (caused by Dispatcharr running migrations as root). - Logs a warning with remediation instructions (add
PYTHONDONTWRITEBYTECODE=1or manually delete).
- Plugin detects root-owned
Changed
- (v2.1.1 HOTFIX) Client transfer rate unit auto-detection:
- Client metrics now auto-detect whether Redis fields contain bytes/s or KB/s (field names suggest KB/s but currently contain bytes/s in some Dispatcharr versions).
- Auto-detection logic: if value > 50000, assume bytes/s; otherwise assume KB/s.
- Applied to both
avg_rate_KBpsandcurrent_rate_KBpsfields.
- Bitrate metrics now use bits per second (bps) instead of kilobits per second (kbps):
- Stream metrics:
dispatcharr_stream_video_bitrate_bps,dispatcharr_stream_transcode_bitrate_bps,dispatcharr_stream_avg_bitrate_bps(previously*_kbps). - Client metrics:
dispatcharr_client_avg_transfer_rate_bps,dispatcharr_client_current_transfer_rate_bps(previously*_kbps). - All bitrate values are now in bits per second for consistency with Prometheus/Grafana best practices.
- Use Grafana's "bits/sec" unit for automatic formatting (auto-converts to Kbps, Mbps, Gbps).
- Legacy metrics also updated to use
*_bpsnaming and values.
- Stream metrics:
- Profile connection counting improved:
- Profile connection metrics now calculate actual active connections by scanning active streams.
- More accurate than Redis counters which don't update during stream fallback/failover.
- METRICS.md documentation updated:
- All bitrate metric names and examples updated to reflect bps units.
- Added PromQL examples for converting bps to Mbps for display.
Fixed
- (v2.1.1 HOTFIX) Client transfer rates now correctly handle Dispatcharr versions that store bytes/s instead of KB/s in Redis fields (previously multiplied by 8000 unconditionally, causing 1000x inflation).
- Profile connection metrics now reflect reality during stream fallback (previously used stale Redis counters).
Installing: https://github.com/sethwv/dispatcharr-exporter?tab=readme-ov-file#installation
Upgrading: https://github.com/sethwv/dispatcharr-exporter?tab=readme-ov-file#updating-the-plugin
Hotfix Changelog: v2.1.0...v2.1.1
Full Changelog: v2.0.0...v2.1.1