mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-04-19 05:21:55 +03:00
format changes with ruff
This commit is contained in:
parent
76373cbbe6
commit
6176b2dff2
@ -132,8 +132,12 @@ def metrics(request: Request):
|
|||||||
# Retrieve the latest statistics and update the Prometheus metrics
|
# Retrieve the latest statistics and update the Prometheus metrics
|
||||||
stats = request.app.stats_emitter.get_latest_stats()
|
stats = request.app.stats_emitter.get_latest_stats()
|
||||||
# query DB for count of events by camera, label
|
# 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)
|
update_metrics(stats=stats, event_counts=event_counts)
|
||||||
content, content_type = get_metrics()
|
content, content_type = get_metrics()
|
||||||
return Response(content=content, media_type=content_type)
|
return Response(content=content, media_type=content_type)
|
||||||
|
|||||||
@ -459,8 +459,10 @@ class CustomCollector(object):
|
|||||||
|
|
||||||
if len(self.all_events) > 0:
|
if len(self.all_events) > 0:
|
||||||
for event_count in self.all_events:
|
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
|
yield camera_events
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -304,29 +304,99 @@ class TestHttpApp(BaseTestHttp):
|
|||||||
with TestClient(self.app) as client:
|
with TestClient(self.app) as client:
|
||||||
ts_start = datetime.now().timestamp()
|
ts_start = datetime.now().timestamp()
|
||||||
ts_end = ts_start + 30
|
ts_end = ts_start + 30
|
||||||
_insert_mock_event(id="abcde.random", start=ts_start, end=ts_end, retain=True)
|
_insert_mock_event(
|
||||||
_insert_mock_event(id="01234.random", start=ts_start, end=ts_end, retain=True)
|
id="abcde.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(
|
||||||
_insert_mock_event(id="131415.random", label="outside", start=ts_start, end=ts_end, retain=True)
|
id="01234.random", 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(
|
||||||
_insert_mock_event(id="222324.random", camera="porch", label="inside", start=ts_start, end=ts_end, retain=True)
|
id="56789.random", 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(
|
||||||
_insert_mock_event(id="313233.random", label="inside", start=ts_start, end=ts_end, retain=True)
|
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 = Mock(spec=StatsEmitter)
|
||||||
stats_emitter.get_latest_stats.return_value = self.test_stats
|
stats_emitter.get_latest_stats.return_value = self.test_stats
|
||||||
self.app.stats_emitter = stats_emitter
|
self.app.stats_emitter = stats_emitter
|
||||||
event = client.get(f"/metrics")
|
event = client.get(f"/metrics")
|
||||||
|
|
||||||
assert "# TYPE frigate_detection_total_fps gauge" in event.text
|
assert "# TYPE frigate_detection_total_fps gauge" in event.text
|
||||||
assert "frigate_detection_total_fps 13.7" 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 (
|
||||||
assert "# TYPE frigate_camera_events_total counter" in event.text
|
"# HELP frigate_camera_events_total Count of camera events since exporter started"
|
||||||
assert 'frigate_camera_events_total{camera="front_door",label="Mock"} 3.0' in event.text
|
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 "# TYPE frigate_camera_events_total counter" in event.text
|
||||||
assert 'frigate_camera_events_total{camera="porch",label="Mock"} 2.0' in event.text
|
assert (
|
||||||
assert 'frigate_camera_events_total{camera="porch",label="inside"} 2.0'
|
'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'
|
||||||
|
|||||||
@ -261,8 +261,14 @@ class TestHttp(unittest.TestCase):
|
|||||||
assert Recordings.get(Recordings.id == rec_k3_id)
|
assert Recordings.get(Recordings.id == rec_k3_id)
|
||||||
|
|
||||||
|
|
||||||
def _insert_mock_event(id: str, start: int, end: int, retain: bool, camera: str = "front_door",
|
def _insert_mock_event(
|
||||||
label: str = "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."""
|
"""Inserts a basic event model with a given id."""
|
||||||
return Event.insert(
|
return Event.insert(
|
||||||
id=id,
|
id=id,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user