Skip to content

fix: Block I/O and Network I/O monitoring charts not populating - #4998

Merged
Siumauricio merged 1 commit into
canaryfrom
fix/monitoring-io-charts-nan
Aug 6, 2026
Merged

fix: Block I/O and Network I/O monitoring charts not populating#4998
Siumauricio merged 1 commit into
canaryfrom
fix/monitoring-io-charts-nan

Conversation

@Siumauricio

@Siumauricio Siumauricio commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Fixes #4578

recordAdvancedStats stored the raw docker stats strings with units ("610kB", "938169.55MB") in readMb/writeMb/inputMb/outputMb, and the recharts area charts received them as numeric dataKeys → NaN → empty charts. CPU/Memory worked because their charts already strip % / parse units.

  • New monitoring/units.ts with toMb/parseIoToMb/formatMb (pure module, shared by server and client like hostname-validation)
  • recordAdvancedStats now stores numeric MB for block/network, fixing both container-level and server-level (getHostSystemStats) monitoring
  • Charts and headers parse legacy string data points already recorded on disk, so existing installs render immediately after upgrading
  • Headers now format units properly (In: 938.65 GB instead of In MB: 938169.55MB)

No migrations.

Greptile Summary

This PR normalizes Docker block and network I/O statistics to numeric megabytes before persistence while retaining compatibility with legacy string values.

  • Adds shared parsing and display-formatting utilities for decimal and binary I/O units.
  • Converts newly recorded container and host I/O metrics to numeric MB values.
  • Updates free-monitoring charts and headers to parse legacy data and display appropriate units.

Confidence Score: 5/5

The PR appears safe to merge with no concrete blocking or independently actionable non-blocking issues identified.

The new conversion helpers cover the units emitted by the repository's container and host monitoring paths, numeric values remain unchanged when rendered, and legacy persisted strings are parsed by both the charts and headers.

Reviews (1): Last reviewed commit: "fix: parse Block I/O and Network I/O sta..." | Re-trigger Greptile

Context used:

@Siumauricio Siumauricio added the hotfix Cherry-pick this fix to main for next patch release label Aug 6, 2026
@dosubot dosubot Bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Aug 6, 2026
@Siumauricio
Siumauricio merged commit 9f69f6c into canary Aug 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hotfix Cherry-pick this fix to main for next patch release size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Monitoring's Network I/O and Block I/O information and graphs not populating

1 participant