format changes with ruff

This commit is contained in:
iesad 2025-09-18 00:31:22 -06:00
parent 76373cbbe6
commit 6176b2dff2
4 changed files with 109 additions and 27 deletions

View File

@ -132,8 +132,12 @@ def metrics(request: Request):
# Retrieve the latest statistics and update the Prometheus metrics
stats = request.app.stats_emitter.get_latest_stats()
# query DB for count of events by camera, label
event_counts: List[Dict[str, Any]] = Event.select(Event.camera, Event.label, fn.Count()).group_by(Event.camera, Event.label).dicts()
event_counts: List[Dict[str, Any]] = (
Event.select(Event.camera, Event.label, fn.Count())
.group_by(Event.camera, Event.label)
.dicts()
)
update_metrics(stats=stats, event_counts=event_counts)
content, content_type = get_metrics()
return Response(content=content, media_type=content_type)

View File

@ -459,8 +459,10 @@ class CustomCollector(object):
if len(self.all_events) > 0:
for event_count in self.all_events:
camera_events.add_metric([event_count['camera'], event_count['label']], event_count['Count'])
camera_events.add_metric(
[event_count["camera"], event_count["label"]], event_count["Count"]
)
yield camera_events

View File

@ -304,29 +304,99 @@ class TestHttpApp(BaseTestHttp):
with TestClient(self.app) as client:
ts_start = datetime.now().timestamp()
ts_end = ts_start + 30
_insert_mock_event(id="abcde.random", start=ts_start, end=ts_end, retain=True)
_insert_mock_event(id="01234.random", start=ts_start, end=ts_end, retain=True)
_insert_mock_event(id="56789.random", start=ts_start, end=ts_end, retain=True)
_insert_mock_event(id="101112.random", label="outside", start=ts_start, end=ts_end, retain=True)
_insert_mock_event(id="131415.random", label="outside", start=ts_start, end=ts_end, retain=True)
_insert_mock_event(id="161718.random", camera="porch", start=ts_start, end=ts_end, retain=True)
_insert_mock_event(id="192021.random", camera="porch", start=ts_start, end=ts_end, retain=True)
_insert_mock_event(id="222324.random", camera="porch", label="inside", start=ts_start, end=ts_end, retain=True)
_insert_mock_event(id="252627.random", camera="porch", label="inside", start=ts_start, end=ts_end, retain=True)
_insert_mock_event(id="282930.random", label="inside", start=ts_start, end=ts_end, retain=True)
_insert_mock_event(id="313233.random", label="inside", start=ts_start, end=ts_end, retain=True)
_insert_mock_event(
id="abcde.random", start=ts_start, end=ts_end, retain=True
)
_insert_mock_event(
id="01234.random", start=ts_start, end=ts_end, retain=True
)
_insert_mock_event(
id="56789.random", start=ts_start, end=ts_end, retain=True
)
_insert_mock_event(
id="101112.random",
label="outside",
start=ts_start,
end=ts_end,
retain=True,
)
_insert_mock_event(
id="131415.random",
label="outside",
start=ts_start,
end=ts_end,
retain=True,
)
_insert_mock_event(
id="161718.random",
camera="porch",
start=ts_start,
end=ts_end,
retain=True,
)
_insert_mock_event(
id="192021.random",
camera="porch",
start=ts_start,
end=ts_end,
retain=True,
)
_insert_mock_event(
id="222324.random",
camera="porch",
label="inside",
start=ts_start,
end=ts_end,
retain=True,
)
_insert_mock_event(
id="252627.random",
camera="porch",
label="inside",
start=ts_start,
end=ts_end,
retain=True,
)
_insert_mock_event(
id="282930.random",
label="inside",
start=ts_start,
end=ts_end,
retain=True,
)
_insert_mock_event(
id="313233.random",
label="inside",
start=ts_start,
end=ts_end,
retain=True,
)
stats_emitter = Mock(spec=StatsEmitter)
stats_emitter.get_latest_stats.return_value = self.test_stats
self.app.stats_emitter = stats_emitter
event = client.get(f"/metrics")
assert "# TYPE frigate_detection_total_fps gauge" in event.text
assert "frigate_detection_total_fps 13.7" in event.text
assert "# HELP frigate_camera_events_total Count of camera events since exporter started" in event.text
assert "# TYPE frigate_camera_events_total counter" in event.text
assert 'frigate_camera_events_total{camera="front_door",label="Mock"} 3.0' in event.text
assert 'frigate_camera_events_total{camera="front_door",label="inside"} 2.0' in event.text
assert 'frigate_camera_events_total{camera="front_door",label="outside"} 2.0' in event.text
assert 'frigate_camera_events_total{camera="porch",label="Mock"} 2.0' in event.text
assert 'frigate_camera_events_total{camera="porch",label="inside"} 2.0'
assert "frigate_detection_total_fps 13.7" in event.text
assert (
"# HELP frigate_camera_events_total Count of camera events since exporter started"
in event.text
)
assert "# TYPE frigate_camera_events_total counter" in event.text
assert (
'frigate_camera_events_total{camera="front_door",label="Mock"} 3.0'
in event.text
)
assert (
'frigate_camera_events_total{camera="front_door",label="inside"} 2.0'
in event.text
)
assert (
'frigate_camera_events_total{camera="front_door",label="outside"} 2.0'
in event.text
)
assert (
'frigate_camera_events_total{camera="porch",label="Mock"} 2.0' in event.text
)
assert 'frigate_camera_events_total{camera="porch",label="inside"} 2.0'

View File

@ -261,8 +261,14 @@ class TestHttp(unittest.TestCase):
assert Recordings.get(Recordings.id == rec_k3_id)
def _insert_mock_event(id: str, start: int, end: int, retain: bool, camera: str = "front_door",
label: str = "Mock") -> Event:
def _insert_mock_event(
id: str,
start: int,
end: int,
retain: bool,
camera: str = "front_door",
label: str = "Mock",
) -> Event:
"""Inserts a basic event model with a given id."""
return Event.insert(
id=id,