GodsDevProject commited on
Commit
4554748
·
verified ·
1 Parent(s): bd6ac57

Create ingest/latency.py

Browse files
Files changed (1) hide show
  1. ingest/latency.py +46 -0
ingest/latency.py ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import time
2
+
3
+ def measure_latency(adapter, query="test"):
4
+ """
5
+ Non-invasive latency probe.
6
+ One request max, no retries.
7
+ """
8
+ start = time.time()
9
+ try:
10
+ adapter.search(query)
11
+ elapsed = time.time() - start
12
+ return round(elapsed, 2)
13
+ except Exception:
14
+ return None
15
+
16
+
17
+ def latency_badges(adapters):
18
+ rows = []
19
+
20
+ for a in adapters:
21
+ if not a.is_live:
22
+ rows.append({
23
+ "Agency": a.name,
24
+ "Latency (s)": "—",
25
+ "Badge": "🔒 Stub"
26
+ })
27
+ continue
28
+
29
+ latency = measure_latency(a)
30
+
31
+ if latency is None:
32
+ badge = "⚠️ Error"
33
+ elif latency < 1.5:
34
+ badge = "🟢 Fast"
35
+ elif latency < 4:
36
+ badge = "🟡 Moderate"
37
+ else:
38
+ badge = "🔴 Slow"
39
+
40
+ rows.append({
41
+ "Agency": a.name,
42
+ "Latency (s)": latency,
43
+ "Badge": badge
44
+ })
45
+
46
+ return rows