2024-07-07 16:33:15 +04:00
|
|
|
import strawberry
|
2024-07-10 12:43:00 +03:00
|
|
|
from typing import Optional
|
2024-07-15 17:16:24 +03:00
|
|
|
from datetime import datetime
|
2024-07-08 19:02:34 +03:00
|
|
|
from selfprivacy_api.utils.prometheus import PrometheusQueries, PrometheusQueryResult
|
2024-06-10 04:57:41 +03:00
|
|
|
|
|
|
|
|
|
|
|
@strawberry.type
|
|
|
|
class Monitoring:
|
2024-06-10 05:27:37 +03:00
|
|
|
@strawberry.field
|
2024-07-10 15:53:56 +03:00
|
|
|
def disk_usage(
|
2024-07-15 17:00:36 +03:00
|
|
|
self,
|
2024-07-15 17:16:24 +03:00
|
|
|
start: Optional[datetime] = None,
|
|
|
|
end: Optional[datetime] = None,
|
2024-07-15 17:00:36 +03:00
|
|
|
step: int = 60,
|
2024-07-10 15:53:56 +03:00
|
|
|
) -> PrometheusQueryResult:
|
2024-07-10 12:43:00 +03:00
|
|
|
return PrometheusQueries.disk_usage(start, end, step)
|
2024-07-08 18:18:07 +03:00
|
|
|
|
|
|
|
@strawberry.field
|
2024-07-10 15:53:56 +03:00
|
|
|
def memory_usage(
|
2024-07-15 17:00:36 +03:00
|
|
|
self,
|
2024-07-15 17:16:24 +03:00
|
|
|
start: Optional[datetime] = None,
|
|
|
|
end: Optional[datetime] = None,
|
2024-07-15 17:00:36 +03:00
|
|
|
step: int = 60,
|
2024-07-10 15:53:56 +03:00
|
|
|
) -> PrometheusQueryResult:
|
2024-07-10 12:43:00 +03:00
|
|
|
return PrometheusQueries.memory_usage(start, end, step)
|
2024-06-10 05:27:37 +03:00
|
|
|
|
2024-06-10 04:57:41 +03:00
|
|
|
@strawberry.field
|
2024-07-10 15:53:56 +03:00
|
|
|
def cpu_usage(
|
2024-07-15 17:00:36 +03:00
|
|
|
self,
|
2024-07-15 17:16:24 +03:00
|
|
|
start: Optional[datetime] = None,
|
|
|
|
end: Optional[datetime] = None,
|
2024-07-15 17:00:36 +03:00
|
|
|
step: int = 60,
|
2024-07-10 15:53:56 +03:00
|
|
|
) -> PrometheusQueryResult:
|
2024-07-10 12:43:00 +03:00
|
|
|
return PrometheusQueries.cpu_usage(start, end, step)
|