Files
project-panel/__pycache__/routes_docker.cpython-312.pyc
T

45 lines
11 KiB
Plaintext
Raw Normal View History

Ë
¶Wjò$ãóBdZddlZddlZddlmZmZddlmZddZdZ y)u
Docker 监控 API 路由
éN)ÚjsonifyÚrequest)Ú log_messagecóF tj|dd|¬«}|jdk7rd|jj «fS|j
j «dfS#tj $rYyt$rYyt$r}dt|«fcYd}~Sd}~wwxYw)u)执行 docker 命令并返回解æžç»“æžœT)Úcapture_outputÚtextÚtimeoutrN)Nu 命令超时)NuDocker 未安装)
Ú
subprocessÚrunÚ
returncodeÚstderrÚstripÚstdoutÚTimeoutExpiredÚFileNotFoundErrorÚ ExceptionÚstr)Úcmdr ÚresultÚes úS/home/openclaw/.openclaw/workspace-hz4th_coder/works/project-panel/routes_docker.pyÚ _run_dockerr s“ð
Ü °D¸tÈWÔØ × Ñ  Ò ˜Ÿ× }‰}×$ *øÜ ×  ò òØ”S˜“Vˆ|Õûðús0AA"ÁA"Á"B Á7B ÂB  BÂB ÂB cóº|jd«d«}|jd«d«}|jd«d«}|jd«d«}|jd «d
«}|jd d g¬
«d«}|jdd g¬
«d«}|jdd g¬
«d«}|jdd g¬
«d«} y)u 注册 Docker 监控相关路由z/api/docker/containersc óæd}tdddd|dg«\}}|t|gdœ«Sg}|jd «D]j}|j«sŒ|jd
«}t |«d krŒ4|d dd
}|j ||d|d|d|d|d|d|ddœ«Œl|Dcgc]
}|ddk(sŒ |Œ}}|r™ tgd¢d¬«\} }
| r„i} | jd «D]T}|j«sŒ|jd
«} t | «dk\sŒ4| d| d| d| d| d| ddœ| | d <ŒV|D]}|d| vsŒ | |d|d<Œtd|i«Scc}w#YŒxYw)u-èŽ·å–æ‰€æœ‰å®¹å™¨åˆ—表(å«èµ„æºä½¿ç”¨ï¼‰z^{{.ID}}|{{.Names}}|{{.Image}}|{{.State}}|{{.Status}}|{{.Ports}}|{{.CreatedAt}}|{{.RunningFor}}ÚdockerÚpsz-aú--formatú
--no-truncN)ÚerrorÚ
containersÚ
Úré ééééééé)ÚidÚnameÚimageÚstateÚstatusÚportsÚcreatedÚ
runningForr/Úrunning)rÚstatsú --no-streamrrzS{{.Name}}|{{.CPUPerc}}|{{.MemPerc}}|{{.MemUsage}}|{{.NetIO}}|{{.BlockIO}}|{{.PIDs}}é©r ©Ú
cpuPercentÚ
memPercentÚmemUsageÚnetIOÚblockIOÚpidsr-r5r ©rrÚsplitrÚlenÚappend)
ÚfmtÚoutÚerrr ÚlineÚpartsÚcidÚcr4Ú stats_outÚ_Ú stats_mapÚsps
rÚapi_docker_containersz5register_docker_routes.<locals>.api_docker_containersðoˆÜ ¨$°°jÀ#À|ÐU‰ˆˆSØ ˆ;Ü S¸Ñ ˆ
Ø—II˜d–OˆDØ—:‘:”<ØØ—J‘J˜s“OˆEÜ5‹z˜AŠ~ØØ˜‘(˜3˜B-ˆCØ × Ñ ØØ˜a™Ø˜q™Ø˜q™Ø ™(ؘq™Ø  ™8Ø# A™hñ õ
ð$ñ&D™j˜¨A¨g©J¸)Ó,C’1˜jˆÐ ð
Ü,ðô  ˜Ø "IØ )§¡°Ö 5˜Ø#Ÿz™zœ|Ø!ŸZ™Z¨_˜Ü˜r7 a<à.0°©eØ.0°©eØ,.¨q©EØ)+¨A©Ø+-¨a©5Ø(*¨1©ñ
0˜I ¡eÒ !6óؘV™9¨ Ò1Ø)2°1°V±9Ñ)=˜A˜gšJð ˜  jÐ2ùò9Eøð2
Ùús%Â+
E'Â9E'ÃAE,Ä/E,Å
E,Å,E0z*/api/docker/container/<container_id>/statsc
óªtdddddd|gd¬«\}}|td |i«d
fS|std d i«d fS|jd
«}tt|«dkDr|dndt|«dkDr|dndt|«dkDr|dndt|«dkDr|dndt|«dkDr|dndt|«dkDr |ddœ«Sddœ«S)u$获å–å•个容器实时资æºç»Ÿè®¡rr5r6rrzI{{.CPUPerc}}|{{.MemPerc}}|{{.MemUsage}}|{{.NetIO}}|{{.BlockIO}}|{{.PIDs}}é
r8réôu容器ä¸å­˜åœ¨æˆ–未è¿è¡Œi”r"rz0%r%r&Úr'r(r)Ú0r9)rrrArB)Ú container_idrErFrHs rÚapi_docker_container_statsz:register_docker_routes.<locals>.api_docker_container_statsYsôØ g˜}¨lØ Ð ð
ðô ˆˆ
ˆ˜G S˜*¨CРܘGÐ%BÐDÀcÐ  ˜#“ˆÜÜ&)¨%£j°1¢n˜% š(¸$Ü&)¨%£j°1¢n˜% š(¸$Ü$'¨£J°¢N˜˜¸Ü!$ U£¨a¢U˜1X°RÜ#& u£:°¢>u˜Qx°rÜ # 
¨Q¢E˜!

ó ð ð 58ñ