查询 Pod GPU 监控信息
查询分布式训练任务中指定 Pod 在一段时间内的资源监控曲线,包含 GPU 利用率、显存占用以及 CPU、内存等指标,用于评估训练是否充分利用了算力、是否存在资源瓶颈。可通过 period 选择预置时段,或用 startTime/endTime 自定义时间范围。
https://api.alayanew.com/v1/training/instance/{id}/{podName}/gpu-metrics鉴权(Authorizations)
bearerAuthAuthorizationString必填用户可通过已获取的 Open API Key 做验证。例如:Bearer [YOUR_API_KEY]。
Path Parameters
Query Parameters
typeString必填指标类型,取值:cpu CPU 利用率、memory 内存使用、gpu GPU 利用率、vram 显存占用。例如:gpu。
startTimeString查询开始时间(ISO 8601)。与 endTime 配合指定自定义时间范围;若传入 period 则无需填写。例如:2025-09-10 12:00:00。
endTimeString查询结束时间(ISO 8601)。与 startTime 配合使用。例如:2025-09-10 18:30:00。
periodString预置时段。传此参数时会自动计算 startTime 与 endTime,无需再单独传时间。取值:15m 近 15 分钟、1h 近 1 小时、6h 近 6 小时、24h 近 24 小时、3d 近 3 天、7d 近 7 天、30d 近 30 天。例如:6h。
Response
application/json · 200statusInteger业务状态码,200 表示成功。
messageString接口响应信息,成功或失败原因描述。例如:"OK"。
dataObject训练任务监控数据,包含各 Pod 的指标序列及实际查询时间范围。
显示 properties
metricDataArrayPod 指标序列列表,每个元素对应一个 Pod(GPU 指标下可细分到单卡)的监控曲线。
显示 properties
typeString指标类型,与请求 type 对应。例如:"gpu"。
podNameStringPod 名称。例如:"pod_name_master"。
maxRateString该时间范围内的最大比率(0~1 之间的字符串)。例如:"0.93"。
avgRateString该时间范围内的平均比率。例如:"0.7"。
currentRateString最近一个采样点的当前比率。例如:"0.65"。
gpuNameStringGPU 名称(仅 GPU/显存类指标返回,标识具体的卡)。例如:"NVIDIA-H800A-NV-80G-3"。
metricDataArray时间序列数据,按时间排列的采样点列表。
显示 properties
timestampInteger采样点的 Unix 时间戳(秒)。例如:1636457100。
valueString该采样点的数值(比率,0~1 之间的字符串)。例如:"0.95"。
startTimeString本次查询范围的起始时间。例如:"2025-09-10 12:00:00"。
endTimeString本次查询范围的结束时间。例如:"2025-09-10 18:30:00"。
curl -X 'GET' \
'https://api.alayanew.com/v1/training/instance/ca78d6b9-e196-5a0f-b1be-ab036b3cb91a/worker-0/gpu-metrics?type=gpu&period=6h' \
-H 'accept: application/json' \
-H 'Authorization: Bearer [YOUR_API_KEY]'import requests
task_id = "ca78d6b9-e196-5a0f-b1be-ab036b3cb91a"
pod_name = "worker-0"
url = f"https://api.alayanew.com/v1/training/instance/{task_id}/{pod_name}/gpu-metrics"
params = {"type": "gpu", "period": "6h"}
headers = {
"accept": "application/json",
"Authorization": "Bearer [YOUR_API_KEY]"
}
response = requests.get(url, params=params, headers=headers)
print(response.json())const taskId = 'ca78d6b9-e196-5a0f-b1be-ab036b3cb91a';
const podName = 'worker-0';
const params = new URLSearchParams({ type: 'gpu', period: '6h' });
fetch(`https://api.alayanew.com/v1/training/instance/${taskId}/${podName}/gpu-metrics?${params}`, {
method: 'GET',
headers: {
'accept': 'application/json',
'Authorization': 'Bearer [YOUR_API_KEY]'
}
})
.then(res => res.json())
.then(console.log)
.catch(console.error);{
"status": 200,
"message": "OK",
"data": {
"metricData": [
{
"type": "gpu",
"podName": "pod_name_master",
"maxRate": "0.93",
"avgRate": "0.7",
"currentRate": "0.65",
"gpuName": "NVIDIA-H800A-NV-80G-3",
"metricData": [
{
"timestamp": 1636457100,
"value": "0.95"
}
]
}
],
"startTime": "2025-09-10 12:00:00",
"endTime": "2025-09-10 18:30:00"
}
}{
"status": 403,
"message": "Forbidden",
"data": {}
}{
"status": 500,
"message": "Internal Server Error",
"data": {}
}Last updated on
