Skip to content

Commit

Permalink
Add process schema and model (#14)
Browse files Browse the repository at this point in the history
  • Loading branch information
timmo001 committed Nov 5, 2023
1 parent 6d1176d commit 6808f53
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 11 deletions.
57 changes: 48 additions & 9 deletions schemas/data/processes.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,52 @@
"type": "number"
},
"processes": {
"type": "array"
"type": "array",
"description": "Processes",
"items": {
"type": "object",
"description": "Process",
"properties": {
"id": {
"type": "string",
"description": "ID"
},
"name": {
"type": "string",
"description": "Name"
},
"cpu_usage": {
"type": "number",
"description": "CPU usage percentage"
},
"created": {
"type": "number",
"description": "Created time (epoch)"
},
"memory_usage": {
"type": "number",
"description": "Memory usage percentage"
},
"path": {
"type": "string",
"description": "Path"
},
"status": {
"type": "string",
"description": "Status"
},
"username": {
"type": "string",
"description": "Username"
},
"working_directory": {
"type": "string",
"description": "Working directory"
}
},
"required": ["id", "name"],
"additionalProperties": true
}
},
"last_updated": {
"type": "object",
Expand All @@ -27,15 +72,9 @@
"additionalItems": {
"type": "number"
},
"required": [
"count",
"processes"
]
"required": ["count", "processes"]
}
},
"additionalItems": {},
"required": [
"count",
"processes"
]
"required": ["count", "processes"]
}
23 changes: 21 additions & 2 deletions systembridgemodels/processes.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,26 @@

from typing import Optional

from pydantic import BaseModel, Field
from pydantic import BaseModel, Extra, Field


class Process(BaseModel):
"""
Process
"""

class Config:
extra = Extra.allow

id: str = Field(..., description="ID")
name: str = Field(..., description="Name")
cpu_usage: Optional[float] = Field(None, description="CPU usage percentage")
created: Optional[float] = Field(None, description="Created time (epoch)")
memory_usage: Optional[float] = Field(None, description="Memory usage percentage")
path: Optional[str] = Field(None, description="Path")
status: Optional[str] = Field(None, description="Status")
username: Optional[str] = Field(None, description="Username")
working_directory: Optional[str] = Field(None, description="Working directory")


class LastUpdated(BaseModel):
Expand All @@ -24,5 +43,5 @@ class Processes(BaseModel):

id: Optional[str] = Field(None, description="Event ID")
count: float
processes: list
processes: list[Process] = Field(..., description="Processes")
last_updated: Optional[LastUpdated] = Field(None, description="Last updated")

0 comments on commit 6808f53

Please sign in to comment.