Skip to content

Commit dbcd6e2

Browse files
committed
feat(types): add metrics types
1 parent 87f6e13 commit dbcd6e2

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

src/typesense/types/metrics.py

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
"""
2+
Typed dictionaries for Typesense metrics responses.
3+
"""
4+
5+
import sys
6+
7+
if sys.version_info >= (3, 11):
8+
import typing
9+
else:
10+
import typing_extensions as typing
11+
12+
13+
class MetricsResponseBase(typing.TypedDict):
14+
"""
15+
Response schema for metrics retrieval.
16+
17+
This TypedDict includes system metrics like CPU, memory, disk, and network usage,
18+
as well as Typesense-specific memory metrics.
19+
"""
20+
21+
system_cpu_active_percentage: str
22+
system_disk_total_bytes: str
23+
system_disk_used_bytes: str
24+
system_memory_total_bytes: str
25+
system_memory_used_bytes: str
26+
system_network_received_bytes: str
27+
system_network_sent_bytes: str
28+
typesense_memory_active_bytes: str
29+
typesense_memory_allocated_bytes: str
30+
typesense_memory_fragmentation_ratio: str
31+
typesense_memory_mapped_bytes: str
32+
typesense_memory_metadata_bytes: str
33+
typesense_memory_resident_bytes: str
34+
typesense_memory_retained_bytes: str
35+
36+
37+
class MetricsResponse(MetricsResponseBase):
38+
"""Extended MetricsResponse with optional per-CPU core metrics."""
39+
40+
system_memory_total_swap_bytes: str
41+
system_memory_used_swap_bytes: str
42+
system_cpu1_active_percentage: typing.Optional[str]
43+
system_cpu2_active_percentage: typing.Optional[str]
44+
system_cpu3_active_percentage: typing.Optional[str]
45+
system_cpu4_active_percentage: typing.Optional[str]
46+
system_cpu5_active_percentage: typing.Optional[str]
47+
system_cpu6_active_percentage: typing.Optional[str]
48+
system_cpu7_active_percentage: typing.Optional[str]
49+
system_cpu8_active_percentage: typing.Optional[str]
50+
system_cpu9_active_percentage: typing.Optional[str]
51+
system_cpu10_active_percentage: typing.Optional[str]
52+
system_cpu11_active_percentage: typing.Optional[str]
53+
system_cpu12_active_percentage: typing.Optional[str]
54+
system_cpu13_active_percentage: typing.Optional[str]
55+
system_cpu14_active_percentage: typing.Optional[str]
56+
system_cpu15_active_percentage: typing.Optional[str]
57+
system_cpu16_active_percentage: typing.Optional[str]
58+
system_cpu17_active_percentage: typing.Optional[str]
59+
system_cpu18_active_percentage: typing.Optional[str]
60+
system_cpu19_active_percentage: typing.Optional[str]
61+
system_cpu20_active_percentage: typing.Optional[str]
62+
system_cpu21_active_percentage: typing.Optional[str]
63+
system_cpu22_active_percentage: typing.Optional[str]
64+
system_cpu23_active_percentage: typing.Optional[str]
65+
system_cpu24_active_percentage: typing.Optional[str]

0 commit comments

Comments
 (0)