* add agent smart support
* refactor(system): update JSON tags in SmartData struct
* refactor(agent): use serial number as the key of SmartDataMap
Updated the SmartManager's methods to use the device's serial number as the key in the SmartDataMap instead of the device name.
* refactor: use raw values in smart attributes for nvme devices
* feat: add S.M.A.R.T. data display in web ui
Introduced a new Disks tab in the SystemDetail component to display disk information and S.M.A.R.T. data. The tab includes a table for visualizing disk attributes and their statuses.
Also added SmartData and SmartAttribute interfaces to support the new functionality.
- Restrict to specific key exchanges / MACs / ciphers.
- Refactored GetSSHKey method to return an ssh.Signer instead of byte array.
- Added common package.
Co-authored-by: nhas <jordanatararimu@gmail.com>
- Add isWindows flag to dockerManager
- `CalculateCpuPercentWindows` and `CalculateCpuPercentLinux` methods added to container.ApiStats
- Remove prevNetStats.Time in favor of Stats.PrevRead
- Replace regex Windows check with strings.Contains, and check the `/containers/json` response
The Docker daemon's API returns different values on Windows and non-Windows systems. This impacts
the calculation of `cpuPct` and `usedMemory` for each container. The systems are disciminate on the
`Server` header send by the server. Uses the unix stats calculation in case the header is not set.
`docker stats` implementation for reference:
https://github.com/docker/cli/blob/master/cli/command/container/stats_helpers.go#L100
Co-authored-by: Benoit VIRY <benoit.viry@cgx-group.com>
- Introduce `Os` enum to represent supported operating systems.
- Update `SystemInfo` interface to include OS type.
- Refactor `ContainerChart` component to use `ChartType` enum for better clarity.
- Switched to dynamic units in container memory chart.