| 123456789101112131415161718192021222324252627 |
- from datetime import datetime, timezone
- from typing import Optional
- import sqlalchemy as sa
- from sqlmodel import Field, SQLModel
- from gpustack.mixins.active_record import ActiveRecordMixin
- class SystemLoad(SQLModel, ActiveRecordMixin, table=True):
- __tablename__ = 'system_loads'
- __table_args__ = (sa.Index("idx_system_loads_cluster_id", "cluster_id"),)
- id: Optional[int] = Field(default=None, primary_key=True)
- timestamp: int = Field(
- default_factory=lambda: int(datetime.now(timezone.utc).timestamp())
- )
- cluster_id: Optional[int] = Field(default=None, index=True)
- # average cpu utilization rate per worker
- cpu: Optional[float] = Field(default=None)
- # average ram utilization rate per worker
- ram: Optional[float] = Field(default=None)
- # average gpu utilization rate per gpu device
- gpu: Optional[float] = Field(default=None)
- # average vram utilization rate per gpu device
- vram: Optional[float] = Field(default=None)
|