[Feature] Add Support for Human-Readable Data Units in NVMe Attributes #756
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR adds support for displaying transformed values with appropriate units for NVMe drive attributes. This enhancement improves the readability of large data values by converting them to appropriate units (MB, GB, TB, PB) based on their size.
Changes
Backend Changes
TransformDataUnits
utility function insmart_utils.go
that converts raw data values (in 512-byte units) to appropriate human-readable unitsSmartNvmeAttribute
struct to include a newValueUnit
field to store the unit type (MB, GB, TB, PB)transformed_with_unit
for attributes that should use this transformationdata_units_read
anddata_units_written
Frontend Changes
Screenshots
Old Implementation
New Implementation
Related Issues
Notes
Unfortunately, the data is returned as int64 instead of float64, preventing me from displaying decimals. This is due to the existing
TransformedValue
field, which is of type int64.