Handle case where hwaccel is not setup

This commit is contained in:
Nick Mowen 2022-09-25 07:45:25 -06:00
parent baeb3ddc75
commit 3be336afa8
2 changed files with 36 additions and 25 deletions

View File

@ -86,10 +86,13 @@ def get_temperatures() -> dict[str, float]:
def get_gpu_stats(config: FrigateConfig) -> dict[str, dict]: def get_gpu_stats(config: FrigateConfig) -> dict[str, dict]:
"""Parse GPUs from hwaccel args and use for stats.""" """Parse GPUs from hwaccel args and use for stats."""
hwaccel_args = set( hwaccel_args = set(
map(lambda camera: camera.ffmpeg.hwaccel_args, config.cameras.values()) map(lambda camera: camera.ffmpeg.hwaccel_args if camera.ffmpeg.hwaccel_args else None, config.cameras.values())
) ).remove(None)
stats: dict[str, dict] = {} stats: dict[str, dict] = {}
if not hwaccel_args:
return None
for args in hwaccel_args: for args in hwaccel_args:
if "cuvid" in args: if "cuvid" in args:
# nvidia GPU # nvidia GPU

View File

@ -134,29 +134,37 @@ export default function System() {
</div> </div>
<Heading size="lg">GPUs</Heading> <Heading size="lg">GPUs</Heading>
<div data-testid="gpus" className="grid grid-cols-1 3xl:grid-cols-3 md:grid-cols-2 gap-4 p-2 px-4"> {!gpu_usages ? (
{gpuNames.map((gpu) => ( <div className="p-4">
<div <Link href={'https://docs.frigate.video/configuration/hardware_acceleration'}>
key={gpu} Hardware acceleration has not been setup, see the docs to setup hardware acceleration.
className="dark:bg-gray-800 shadow-md hover:shadow-lg rounded-lg transition-shadow p-4 m-2" </Link>
> </div>
<Table className="w-full"> ) : (
<Thead> <div data-testid="gpus" className="grid grid-cols-1 3xl:grid-cols-3 md:grid-cols-2 gap-4 p-2 px-4">
<Tr> {gpuNames.map((gpu) => (
<Th>Gpu %</Th> <div
<Th>Memory %</Th> key={gpu}
</Tr> className="dark:bg-gray-800 shadow-md hover:shadow-lg rounded-lg transition-shadow p-4 m-2"
</Thead> >
<Tbody> <Table className="w-full">
<Tr> <Thead>
<Td>{gpu_usages[gpu]['gpu']}</Td> <Tr>
<Td>{gpu_usages[gpu]['memory']}</Td> <Th>Gpu %</Th>
</Tr> <Th>Memory %</Th>
</Tbody> </Tr>
</Table> </Thead>
</div> <Tbody>
))} <Tr>
</div> <Td>{gpu_usages[gpu]['gpu']}</Td>
<Td>{gpu_usages[gpu]['memory']}</Td>
</Tr>
</Tbody>
</Table>
</div>
))}
</div>
)}
<Heading size="lg">Cameras</Heading> <Heading size="lg">Cameras</Heading>
<div data-testid="cameras" className="grid grid-cols-1 3xl:grid-cols-3 md:grid-cols-2 gap-4"> <div data-testid="cameras" className="grid grid-cols-1 3xl:grid-cols-3 md:grid-cols-2 gap-4">