A Python library for xmov systemmonitor
Project description
xmovsystemmonitor
一个用于监测系统CPU和内存使用率的工具,提供HTTP API接口,可以用于监控系统性能(内存、CPU)。
Features
安装
# 本地
pip install xmovsystemmonitor -i https://pypi.org/simple/
# 阿里云
pip install xmovsystemmonitor -i http://pypi.aliyun.com/simple/
用法
# 服务端,被监测端运行此命令
python -m xmovsystemmonitor
# 指定主机和端口, 并指定最大记录数量
python -m xmovsystemmonitor --host 0.0.0.0 --port 8000 --max-num 3000
测试代码,可以运行在本地,也可以运行在远程服务器上。
from xmovsystemmonitor.client.client import Client
import time
client = Client()
client.start() # 启动监控, 启动后会立即开始采集数据, 每次start会清空之前采集的数据
time.sleep(10) # 睡眠10秒
client.stop() # 停止监控, 停止后会立即停止采集数据, 并抓取统计信息
cpu_min = client.cpu.min
cpu_max = client.cpu.max
cpu_avg = client.cpu.avg
memory_min = client.memory.min
memory_max = client.memory.max
memory_avg = client.memory.avg
开发测试
import pytest
import requests
import json
from functools import partial
json_dump = partial(json.dumps, indent=4, ensure_ascii=False)
def test_get_system_info():
response = requests.get("http://localhost:8000/")
print(response.json())
assert response.status_code == 200
assert "cpu_percent" in response.json()
assert "memory_percent" in response.json()
def test_start_monitoring():
response = requests.get("http://localhost:8000/start-monitoring")
print(response.json())
assert response.status_code == 200
assert "message" in response.json()
assert response.json()["message"] == "监控已启动"
def test_stop_monitoring():
response = requests.get("http://localhost:8000/stop-monitoring")
print(response.json())
assert response.status_code == 200
assert "message" in response.json()
assert response.json()["message"] == "监控已停止"
def test_statistic():
response = requests.get("http://localhost:8000/statistic")
print(json_dump(response.json()))
assert response.status_code == 200
assert "cpu_percent" in response.json()
assert "memory_percent" in response.json()
assert "data_list" in response.json()
开发配置
# 克隆仓库
git clone git@github.com:atanx/xmovsystemmonitor.git
cd xmovsystemmonitor
# 安装开发依赖
pip install -e ".[dev]"
# 手动修改修改__init__.py中的__version__, 然后打包
make build
# 上传到xmov-pypi, 需要安装twine, 配置~/.pypirc
make upload
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
xmovsystemmonitor-1.4.1.tar.gz
(10.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xmovsystemmonitor-1.4.1.tar.gz.
File metadata
- Download URL: xmovsystemmonitor-1.4.1.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bb14776468c24a71b90657c9aa841603b79f3c56b592c3bd0b97b703dcb32de
|
|
| MD5 |
d1bc9e0fcd24bf69441e3b63281fb4c3
|
|
| BLAKE2b-256 |
1d566ca167fd06655ee7dce09963d564dd922efb44b580b71cd0547717039774
|
File details
Details for the file xmovsystemmonitor-1.4.1-py3-none-any.whl.
File metadata
- Download URL: xmovsystemmonitor-1.4.1-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b013b2efe2fcebb811b716daa1e169cd2fb6d21f37d42454ca6b418934c69b02
|
|
| MD5 |
5afb66cb22c9422ce8f890ade5219a88
|
|
| BLAKE2b-256 |
f5673daefbf029aaecf78b99924c95cad56c50bd833265f540e8ec55909346cd
|