# SystemInformation

System information message is created by the
[SystemLogger](https://docs.luxonis.com/software-v3/depthai/depthai-components/nodes/system_logger.md) node. It provides usage and
temperature information of the different part of the system.

 * chipTemperature - temperature (average) of the chip and temperatures of its parts
 * cmxMemory - usage of SRAM memory
 * ddrMemory - usage of DDR memory
 * leonCss - temperature and usage of Leon CCS Core
 * leonMss - temperature and usage of Leon MSS Core

You can find more information about [hardware blocks and accelerators](https://docs.luxonis.com/hardware/platform/rvc/rvc2.md)
here.

## Examples of functionality

 * [System information](https://docs.luxonis.com/software-v3/depthai/examples/rvc2/system_logger/system_information.md)

## Example

```python
import depthai as dai

def printSystemInformation(info: dai.SystemInformation):
    m = 1024 * 1024  # MiB
    print(f"Ddr used / total - {info.ddrMemoryUsage.used / m:.2f} / {info.ddrMemoryUsage.total / m:.2f} MiB")
    print(f"Cmx used / total - {info.cmxMemoryUsage.used / m:.2f} / {info.cmxMemoryUsage.total / m:.2f} MiB")
    print(f"LeonCss heap used / total - {info.leonCssMemoryUsage.used / m:.2f} / {info.leonCssMemoryUsage.total / m:.2f} MiB")
    print(f"LeonMss heap used / total - {info.leonMssMemoryUsage.used / m:.2f} / {info.leonMssMemoryUsage.total / m:.2f} MiB")
    t = info.chipTemperature
    print(f"Chip temperature - average: {t.average:.2f}, css: {t.css:.2f}, mss: {t.mss:.2f}, upa: {t.upa:.2f}, dss: {t.dss:.2f}")
    print(f"Cpu usage - Leon CSS: {info.leonCssCpuUsage.average * 100:.2f}%, Leon MSS: {info.leonMssCpuUsage.average * 100:.2f} %")
    print("----------------------------------------")

pipeline = dai.Pipeline()
sysLog = pipeline.create(dai.node.SystemLogger)
sysLog.setRate(1)
sysLogQueue = sysLog.out.createOutputQueue(maxSize=4, blocking=False)

pipeline.start()
while pipeline.isRunning():
    sysInfo = sysLogQueue.get()
    printSystemInformation(sysInfo)
```

## Reference

### dai::SystemInformation

Kind: class

SystemInformation message. Carries memory usage, cpu usage and chip temperatures.

#### MemoryInfo ddrMemoryUsage

Kind: variable

#### MemoryInfo cmxMemoryUsage

Kind: variable

#### MemoryInfo leonCssMemoryUsage

Kind: variable

#### MemoryInfo leonMssMemoryUsage

Kind: variable

#### CpuUsage leonCssCpuUsage

Kind: variable

#### CpuUsage leonMssCpuUsage

Kind: variable

#### ChipTemperature chipTemperature

Kind: variable

#### SystemInformation()

Kind: function

Construct SystemInformation message.

#### ~SystemInformation()

Kind: function

#### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

#### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

#### DEPTHAI_SERIALIZE(SystemInformation, ddrMemoryUsage, cmxMemoryUsage, leonCssMemoryUsage, leonMssMemoryUsage, leonCssCpuUsage,
leonMssCpuUsage, chipTemperature)

Kind: function

### Need assistance?

Head over to [Discussion Forum](https://discuss.luxonis.com/) for technical support or any other questions you might have.
