-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path__init__.py
40 lines (28 loc) · 934 Bytes
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
from pydantic_settings import BaseSettings, SettingsConfigDict
from . import metric, misc
from .metric import MetricSettings
class Settings(BaseSettings):
model_config = SettingsConfigDict(
env_prefix="METRICS__",
env_nested_delimiter="__",
)
# time between gathering reports
interval: float = 600
# reporting to stdout
log: misc.LogSettings = misc.LogSettings()
# separates metrics and values in reports
separator: str = ", "
# maximum threads for concurrent metric execution
threads: int | None = None
# metrics settings
cpu: metric.CpuMS = metric.CpuMS()
memory: metric.MemoryMS = metric.MemoryMS()
disk: metric.DiskMS = metric.DiskMS()
external: metric.ExternalMS = metric.ExternalMS()
# pinging webhooks
webhook: misc.WebhookSettings = misc.WebhookSettings()
SETTINGS = Settings()
__all__ = [
"MetricSettings",
"SETTINGS",
]