Alaya NeW Cloud

查询 Pod GPU 监控信息

查询分布式训练任务中指定 Pod 在一段时间内的资源监控曲线,包含 GPU 利用率、显存占用以及 CPU、内存等指标,用于评估训练是否充分利用了算力、是否存在资源瓶颈。可通过 period 选择预置时段,或用 startTime/endTime 自定义时间范围。

GEThttps://api.alayanew.com/v1/training/instance/{id}/{podName}/gpu-metrics

鉴权(Authorizations)

AuthorizationString必填

用户可通过已获取的 Open API Key 做验证。例如:Bearer [YOUR_API_KEY]

Path Parameters

idString必填

训练任务 ID(来自任务列表id)。例如:ca78d6b9-e196-5a0f-b1be-ab036b3cb91a

podNameString必填

Pod 名称。多机多卡任务下每个节点对应一个 Pod,名称可从任务详情获取。例如:worker-0

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

预置时段。传此参数时会自动计算 startTimeendTime,无需再单独传时间。取值:15m 近 15 分钟、1h 近 1 小时、6h 近 6 小时、24h 近 24 小时、3d 近 3 天、7d 近 7 天、30d 近 30 天。例如:6h

Response

statusInteger

业务状态码,200 表示成功。

messageString

接口响应信息,成功或失败原因描述。例如:"OK"

dataObject

训练任务监控数据,包含各 Pod 的指标序列及实际查询时间范围。

显示 properties
metricDataArray

Pod 指标序列列表,每个元素对应一个 Pod(GPU 指标下可细分到单卡)的监控曲线。

显示 properties
typeString

指标类型,与请求 type 对应。例如:"gpu"

podNameString

Pod 名称。例如:"pod_name_master"

maxRateString

该时间范围内的最大比率(0~1 之间的字符串)。例如:"0.93"

avgRateString

该时间范围内的平均比率。例如:"0.7"

currentRateString

最近一个采样点的当前比率。例如:"0.65"

gpuNameString

GPU 名称(仅 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