feat(metrics): add instance_metric and instance_nic_metric models

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-21 20:50:11 +05:00
parent a4b99c2383
commit 572bb44ffa
3 changed files with 59 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
from sqlalchemy import Float
from .base import Base, Column, Integer, BigInteger, String, DateTime, Index, func
class InstanceMetric(Base):
__tablename__ = "instance_metric"
id = Column(Integer, primary_key=True, autoincrement=True)
server_id = Column(Integer, nullable=False)
vmid = Column(Integer, nullable=False)
vm_type = Column(String(10), nullable=True)
ts = Column(DateTime(timezone=True), nullable=False, server_default=func.now())
cpu = Column(Float, nullable=True)
mem = Column(BigInteger, nullable=True)
maxmem = Column(BigInteger, nullable=True)
disk_used = Column(BigInteger, nullable=True)
disk_total = Column(BigInteger, nullable=True)
netin_rate = Column(Float, nullable=True)
netout_rate = Column(Float, nullable=True)
diskread_rate = Column(Float, nullable=True)
diskwrite_rate = Column(Float, nullable=True)
iops_read = Column(Float, nullable=True)
iops_write = Column(Float, nullable=True)
__table_args__ = (Index("ix_instance_metric_lookup", "server_id", "vmid", "ts"),)
class InstanceNicMetric(Base):
__tablename__ = "instance_nic_metric"
id = Column(Integer, primary_key=True, autoincrement=True)
server_id = Column(Integer, nullable=False)
vmid = Column(Integer, nullable=False)
ts = Column(DateTime(timezone=True), nullable=False, server_default=func.now())
dev = Column(String(64), nullable=False)
in_rate = Column(Float, nullable=True)
out_rate = Column(Float, nullable=True)
__table_args__ = (Index("ix_instance_nic_metric_lookup", "server_id", "vmid", "ts"),)