2025-07-14 15:11:25 +03:00
|
|
|
from typing import Optional
|
|
|
|
|
|
2024-09-28 22:21:42 +03:00
|
|
|
from pydantic import Field
|
|
|
|
|
|
|
|
|
|
from .base import FrigateBaseModel
|
|
|
|
|
|
|
|
|
|
__all__ = ["TelemetryConfig", "StatsConfig"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class StatsConfig(FrigateBaseModel):
|
2026-02-27 18:55:36 +03:00
|
|
|
amd_gpu_stats: bool = Field(
|
|
|
|
|
default=True,
|
|
|
|
|
title="AMD GPU stats",
|
|
|
|
|
description="Enable collection of AMD GPU statistics if an AMD GPU is present.",
|
|
|
|
|
)
|
|
|
|
|
intel_gpu_stats: bool = Field(
|
|
|
|
|
default=True,
|
|
|
|
|
title="Intel GPU stats",
|
|
|
|
|
description="Enable collection of Intel GPU statistics if an Intel GPU is present.",
|
|
|
|
|
)
|
2024-09-28 22:21:42 +03:00
|
|
|
network_bandwidth: bool = Field(
|
2026-02-27 18:55:36 +03:00
|
|
|
default=False,
|
|
|
|
|
title="Network bandwidth",
|
|
|
|
|
description="Enable per-process network bandwidth monitoring for camera ffmpeg processes and detectors (requires capabilities).",
|
2024-09-28 22:21:42 +03:00
|
|
|
)
|
2025-07-14 15:11:25 +03:00
|
|
|
intel_gpu_device: Optional[str] = Field(
|
2026-02-27 18:55:36 +03:00
|
|
|
default=None,
|
2026-05-04 18:36:32 +03:00
|
|
|
title="Intel GPU device",
|
|
|
|
|
description="PCI bus address or DRM device path (e.g. /dev/dri/card1) used to pin Intel GPU stats to a specific device when multiple are present.",
|
2025-01-03 18:43:44 +03:00
|
|
|
)
|
2024-09-28 22:21:42 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class TelemetryConfig(FrigateBaseModel):
|
|
|
|
|
network_interfaces: list[str] = Field(
|
|
|
|
|
default=[],
|
2026-02-27 18:55:36 +03:00
|
|
|
title="Network interfaces",
|
|
|
|
|
description="List of network interface name prefixes to monitor for bandwidth statistics.",
|
2024-09-28 22:21:42 +03:00
|
|
|
)
|
|
|
|
|
stats: StatsConfig = Field(
|
2026-02-27 18:55:36 +03:00
|
|
|
default_factory=StatsConfig,
|
|
|
|
|
title="System stats",
|
|
|
|
|
description="Options to enable/disable collection of various system and GPU statistics.",
|
|
|
|
|
)
|
|
|
|
|
version_check: bool = Field(
|
|
|
|
|
default=True,
|
|
|
|
|
title="Version check",
|
|
|
|
|
description="Enable an outbound check to detect if a newer Frigate version is available.",
|
2024-09-28 22:21:42 +03:00
|
|
|
)
|