Add go2rtc & remote detectors network bandwidth usage to System table (#6526)

* Add network bandwidth usage to System table display in System.jsx and update get_bandwidth_stats function in util.py to include go2rtc processes

* black...

* Add network bandwidth usage to system table in web UI and improve regex in get_bandwidth_stats function to include frigate detector processes

* black...

* Update bandwidth calculation to include both incoming and outgoing traffic

* black:(
This commit is contained in:
Sergey Krashevich 2023-05-18 14:40:24 +03:00 committed by GitHub
parent 17e8a46c7d
commit 6d0c2ec5c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 3 deletions

View File

@ -864,10 +864,12 @@ def get_bandwidth_stats() -> dict[str, dict]:
for line in lines: for line in lines:
stats = list(filter(lambda a: a != "", line.strip().split("\t"))) stats = list(filter(lambda a: a != "", line.strip().split("\t")))
try: try:
if re.search("^ffmpeg/([0-9]+)/", stats[0]): if re.search(
"(^ffmpeg|\/go2rtc|frigate\.detector\.[a-z]+)/([0-9]+)/", stats[0]
):
process = stats[0].split("/") process = stats[0].split("/")
usages[process[1]] = { usages[process[len(process) - 2]] = {
"bandwidth": round(float(stats[2]), 1), "bandwidth": round(float(stats[1]) + float(stats[2]), 1),
} }
except: except:
continue continue

View File

@ -239,6 +239,7 @@ export default function System() {
<Th>Inference Speed</Th> <Th>Inference Speed</Th>
<Th>CPU %</Th> <Th>CPU %</Th>
<Th>Memory %</Th> <Th>Memory %</Th>
<Th>Network Bandwidth</Th>
</Tr> </Tr>
</Thead> </Thead>
<Tbody> <Tbody>
@ -247,6 +248,7 @@ export default function System() {
<Td>{detectors[detector]['inference_speed']} ms</Td> <Td>{detectors[detector]['inference_speed']} ms</Td>
<Td>{cpu_usages[detectors[detector]['pid']]?.['cpu'] || '- '}%</Td> <Td>{cpu_usages[detectors[detector]['pid']]?.['cpu'] || '- '}%</Td>
<Td>{cpu_usages[detectors[detector]['pid']]?.['mem'] || '- '}%</Td> <Td>{cpu_usages[detectors[detector]['pid']]?.['mem'] || '- '}%</Td>
<Td>{bandwidth_usages[detectors[detector]['pid']]?.['bandwidth'] || '- '}KB/s</Td>
</Tr> </Tr>
</Tbody> </Tbody>
</Table> </Table>
@ -428,6 +430,7 @@ export default function System() {
<Th>CPU %</Th> <Th>CPU %</Th>
<Th>Avg CPU %</Th> <Th>Avg CPU %</Th>
<Th>Memory %</Th> <Th>Memory %</Th>
<Th>Network Bandwidth</Th>
</Tr> </Tr>
</Thead> </Thead>
<Tbody> <Tbody>
@ -436,6 +439,7 @@ export default function System() {
<Td>{cpu_usages[processes[process]['pid']]?.['cpu'] || '- '}%</Td> <Td>{cpu_usages[processes[process]['pid']]?.['cpu'] || '- '}%</Td>
<Td>{cpu_usages[processes[process]['pid']]?.['cpu_average'] || '- '}%</Td> <Td>{cpu_usages[processes[process]['pid']]?.['cpu_average'] || '- '}%</Td>
<Td>{cpu_usages[processes[process]['pid']]?.['mem'] || '- '}%</Td> <Td>{cpu_usages[processes[process]['pid']]?.['mem'] || '- '}%</Td>
<Td>{bandwidth_usages[processes[process]['pid']]?.['bandwidth'] || '- '}KB/s</Td>
</Tr> </Tr>
</Tbody> </Tbody>
</Table> </Table>