SENSBLUE ATLAS/Datasheet: Difference between revisions
Appearance
No edit summary |
|||
| Line 904: | Line 904: | ||
The System Health Actor '''does not receive commands'''. It is fully autonomous and publishes its metrics every '''1 second'''. | The System Health Actor '''does not receive commands'''. It is fully autonomous and publishes its metrics every '''1 second'''. | ||
===== 24.3.2 Runtime Data ===== | ===== 24.3.2 Peripherals version ===== | ||
'''Topic: systemHealth/runtime/out''' | The Atlas peripherals version is on topic <code>systemHealth/versions</code><syntaxhighlight lang="json"> | ||
{ | |||
"id": <TIMESTAMP>, | |||
"origin": "system-health", | |||
"version": "1.0.0" | |||
} | |||
</syntaxhighlight> | |||
===== 24.3.3 Runtime Data ===== | |||
'''Topic: <code>systemHealth/runtime/out</code>''' | |||
Publish rate: '''1 Hz''' (one message per second, clock-jump safe) | Publish rate: '''1 Hz''' (one message per second, clock-jump safe) | ||
| Line 916: | Line 925: | ||
|- | |- | ||
|cpu_percent | |cpu_percent | ||
|Current | |Current CPU load | ||
|% | |% | ||
|- | |- | ||
|cpu_tempC | |cpu_tempC | ||
|CPU | |CPU temperature read from Linux thermal zones | ||
|ºC | |ºC | ||
|- | |- | ||
|cpu0_freq | |cpu0_freq | ||
|CPU Core | |CPU Core 0 current frequency | ||
|Hz | |Hz | ||
|- | |- | ||
| | |cpu1_freq | ||
|CPU | |CPU Core 1 current frequency | ||
|Hz | |Hz | ||
|- | |- | ||
| Line 936: | Line 945: | ||
|- | |- | ||
|cpu3_freq | |cpu3_freq | ||
|CPU | |CPU Core 3 current frequency | ||
|Hz | |Hz | ||
|- | |- | ||
|cpu0_throttle | |cpu0_throttle | ||
|System | |System throttle status register | ||
|Hex | |Hex | ||
|- | |- | ||
|ram_percent | |ram_percent | ||
|RAM | |RAM usage | ||
|% | |% | ||
|- | |- | ||
|disk_percent | |disk_percent | ||
|Disk | |Disk usage for filesystem root <code>/</code> | ||
|% | |% | ||
|- | |- | ||
|uptime_sec | |uptime_sec | ||
|Time | |Time since last reboot | ||
|seconds | |seconds | ||
|- | |||
|emmc_rul | |||
|eMMC Remaining Useful Life object calculated from EmmcActor wear history | |||
|object | |||
|} | |} | ||
Example Payload (systemHealth/runtime/out) <syntaxhighlight lang="json" line="1"> | Example Payload (systemHealth/runtime/out) <syntaxhighlight lang="json" line="1"> | ||
{ | { | ||
"id": <TIMESTAMP>, | |||
"origin": "system-health", | |||
"task": { | |||
"taskResult": { | |||
"cpu_percent": 7.1, | |||
"cpu_tempC": 47.3, | |||
"cpu0_freq": 1500000000, | |||
"cpu1_freq": 1500000000, | |||
"cpu2_freq": 1500000000, | |||
"cpu3_freq": 1500000000, | |||
"cpu0_throttle": "0x0", | |||
"ram_percent": 32.9, | |||
"disk_percent": 41.2, | |||
"uptime_sec": 5321, | |||
} | |||
} | } | ||
} | } | ||
</syntaxhighlight> | |||
</ | ===== 24.3.4 eMMC RUL - Remaining Useful Life ===== | ||
The <code>SystemHealthActor</code> also exposes the estimated eMMC Remaining Useful Life (RUL) inside the normal <code>systemHealth/runtime/out</code> payload. | |||
The RUL data is calculated from the wear-level history maintained by the <code>EmmcActor</code>. | |||
====== 24.3.4.1 eMMC RUL Data Flow ====== | |||
[placeholder] | |||
===== 24.3. | ===== 24.3.6 Peripherals health ===== | ||
In order get the peripherals health we had to implement a SystemHealth actor in each bus manager (busi2cO, busi2c-1, etc. ... ). | In order get the peripherals health we had to implement a SystemHealth actor in each bus manager (busi2cO, busi2c-1, etc. ... ). | ||