1
This commit is contained in:
@@ -10,8 +10,12 @@ from app.schemas.hardware import HardwareData
|
||||
class CPUResults(BaseModel):
|
||||
"""CPU benchmark results"""
|
||||
events_per_sec: Optional[float] = Field(None, ge=0)
|
||||
events_per_sec_single: Optional[float] = Field(None, ge=0) # Monocore
|
||||
events_per_sec_multi: Optional[float] = Field(None, ge=0) # Multicore
|
||||
duration_s: Optional[float] = Field(None, ge=0)
|
||||
score: Optional[float] = Field(None, ge=0, le=10000)
|
||||
score_single: Optional[float] = Field(None, ge=0, le=10000) # Monocore score
|
||||
score_multi: Optional[float] = Field(None, ge=0, le=10000) # Multicore score
|
||||
|
||||
|
||||
class MemoryResults(BaseModel):
|
||||
@@ -82,12 +86,15 @@ class BenchmarkDetail(BaseModel):
|
||||
|
||||
global_score: float
|
||||
cpu_score: Optional[float] = None
|
||||
cpu_score_single: Optional[float] = None
|
||||
cpu_score_multi: Optional[float] = None
|
||||
memory_score: Optional[float] = None
|
||||
disk_score: Optional[float] = None
|
||||
network_score: Optional[float] = None
|
||||
gpu_score: Optional[float] = None
|
||||
|
||||
details: dict # details_json parsed
|
||||
notes: Optional[str] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
@@ -99,11 +106,19 @@ class BenchmarkSummary(BaseModel):
|
||||
run_at: str
|
||||
global_score: float
|
||||
cpu_score: Optional[float] = None
|
||||
cpu_score_single: Optional[float] = None
|
||||
cpu_score_multi: Optional[float] = None
|
||||
memory_score: Optional[float] = None
|
||||
disk_score: Optional[float] = None
|
||||
network_score: Optional[float] = None
|
||||
gpu_score: Optional[float] = None
|
||||
bench_script_version: Optional[str] = None
|
||||
notes: Optional[str] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class BenchmarkUpdate(BaseModel):
|
||||
"""Fields allowed when updating a benchmark"""
|
||||
notes: Optional[str] = None
|
||||
|
||||
@@ -18,6 +18,9 @@ class DeviceBase(BaseModel):
|
||||
location: Optional[str] = None
|
||||
owner: Optional[str] = None
|
||||
tags: Optional[str] = None
|
||||
purchase_store: Optional[str] = None
|
||||
purchase_date: Optional[str] = None
|
||||
purchase_price: Optional[float] = None
|
||||
|
||||
|
||||
class DeviceCreate(DeviceBase):
|
||||
@@ -34,6 +37,9 @@ class DeviceUpdate(BaseModel):
|
||||
location: Optional[str] = None
|
||||
owner: Optional[str] = None
|
||||
tags: Optional[str] = None
|
||||
purchase_store: Optional[str] = None
|
||||
purchase_date: Optional[str] = None
|
||||
purchase_price: Optional[float] = None
|
||||
|
||||
|
||||
class DeviceSummary(DeviceBase):
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Linux BenchTools - Hardware Schemas
|
||||
"""
|
||||
|
||||
from pydantic import BaseModel
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Optional, List
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ class Partition(BaseModel):
|
||||
fs_type: Optional[str] = None
|
||||
used_gb: Optional[float] = None
|
||||
total_gb: Optional[float] = None
|
||||
free_gb: Optional[float] = None
|
||||
|
||||
|
||||
class StorageInfo(BaseModel):
|
||||
@@ -89,6 +90,7 @@ class NetworkInterface(BaseModel):
|
||||
ip: Optional[str] = None
|
||||
speed_mbps: Optional[int] = None
|
||||
driver: Optional[str] = None
|
||||
ssid: Optional[str] = None
|
||||
wake_on_lan: Optional[bool] = None
|
||||
|
||||
|
||||
@@ -97,6 +99,18 @@ class NetworkInfo(BaseModel):
|
||||
interfaces: Optional[List[NetworkInterface]] = None
|
||||
|
||||
|
||||
class NetworkShare(BaseModel):
|
||||
"""Mounted network share information"""
|
||||
protocol: Optional[str] = None
|
||||
source: Optional[str] = None
|
||||
mount_point: Optional[str] = None
|
||||
fs_type: Optional[str] = None
|
||||
options: Optional[str] = None
|
||||
total_gb: Optional[float] = None
|
||||
used_gb: Optional[float] = None
|
||||
free_gb: Optional[float] = None
|
||||
|
||||
|
||||
class MotherboardInfo(BaseModel):
|
||||
"""Motherboard information schema"""
|
||||
vendor: Optional[str] = None
|
||||
@@ -113,6 +127,34 @@ class OSInfo(BaseModel):
|
||||
kernel_version: Optional[str] = None
|
||||
architecture: Optional[str] = None
|
||||
virtualization_type: Optional[str] = None
|
||||
hostname: Optional[str] = None
|
||||
desktop_environment: Optional[str] = None
|
||||
session_type: Optional[str] = None
|
||||
display_server: Optional[str] = None
|
||||
screen_resolution: Optional[str] = None
|
||||
last_boot_time: Optional[str] = None
|
||||
uptime_seconds: Optional[int] = None
|
||||
battery_percentage: Optional[float] = None
|
||||
battery_status: Optional[str] = None
|
||||
battery_health: Optional[str] = None
|
||||
|
||||
|
||||
class PCIDevice(BaseModel):
|
||||
"""PCI device information"""
|
||||
model_config = ConfigDict(populate_by_name=True)
|
||||
slot: str
|
||||
class_: Optional[str] = Field(default=None, alias="class")
|
||||
vendor: Optional[str] = None
|
||||
device: Optional[str] = None
|
||||
|
||||
|
||||
class USBDevice(BaseModel):
|
||||
"""USB device information"""
|
||||
bus: str
|
||||
device: str
|
||||
vendor_id: Optional[str] = None
|
||||
product_id: Optional[str] = None
|
||||
name: Optional[str] = None
|
||||
|
||||
|
||||
class SensorsInfo(BaseModel):
|
||||
@@ -135,10 +177,13 @@ class HardwareData(BaseModel):
|
||||
gpu: Optional[GPUInfo] = None
|
||||
storage: Optional[StorageInfo] = None
|
||||
network: Optional[NetworkInfo] = None
|
||||
network_shares: Optional[List[NetworkShare]] = None
|
||||
motherboard: Optional[MotherboardInfo] = None
|
||||
os: Optional[OSInfo] = None
|
||||
sensors: Optional[SensorsInfo] = None
|
||||
raw_info: Optional[RawInfo] = None
|
||||
pci_devices: Optional[List[PCIDevice]] = None
|
||||
usb_devices: Optional[List[USBDevice]] = None
|
||||
|
||||
|
||||
class HardwareSnapshotResponse(BaseModel):
|
||||
@@ -157,6 +202,9 @@ class HardwareSnapshotResponse(BaseModel):
|
||||
|
||||
# RAM
|
||||
ram_total_mb: Optional[int] = None
|
||||
ram_used_mb: Optional[int] = None
|
||||
ram_free_mb: Optional[int] = None
|
||||
ram_shared_mb: Optional[int] = None
|
||||
ram_slots_total: Optional[int] = None
|
||||
ram_slots_used: Optional[int] = None
|
||||
|
||||
@@ -167,18 +215,37 @@ class HardwareSnapshotResponse(BaseModel):
|
||||
# Storage
|
||||
storage_summary: Optional[str] = None
|
||||
storage_devices_json: Optional[str] = None
|
||||
partitions_json: Optional[str] = None
|
||||
|
||||
# Network
|
||||
network_interfaces_json: Optional[str] = None
|
||||
network_shares_json: Optional[str] = None
|
||||
|
||||
# OS / Motherboard
|
||||
# OS / Motherboard / BIOS
|
||||
os_name: Optional[str] = None
|
||||
os_version: Optional[str] = None
|
||||
kernel_version: Optional[str] = None
|
||||
architecture: Optional[str] = None
|
||||
virtualization_type: Optional[str] = None
|
||||
hostname: Optional[str] = None
|
||||
desktop_environment: Optional[str] = None
|
||||
screen_resolution: Optional[str] = None
|
||||
display_server: Optional[str] = None
|
||||
session_type: Optional[str] = None
|
||||
last_boot_time: Optional[str] = None
|
||||
uptime_seconds: Optional[int] = None
|
||||
battery_percentage: Optional[float] = None
|
||||
battery_status: Optional[str] = None
|
||||
battery_health: Optional[str] = None
|
||||
motherboard_vendor: Optional[str] = None
|
||||
motherboard_model: Optional[str] = None
|
||||
bios_vendor: Optional[str] = None
|
||||
bios_version: Optional[str] = None
|
||||
bios_date: Optional[str] = None
|
||||
|
||||
# PCI and USB Devices
|
||||
pci_devices_json: Optional[str] = None
|
||||
usb_devices_json: Optional[str] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
Reference in New Issue
Block a user