---
title: "Ingest NCCL Inspector Prometheus Exposition (2.29.2+, 2.31.2 names)"
method: POST
path: "/api/nccl/ingest-prometheus"
tags: ["NCCL"]
---

# Ingest NCCL Inspector Prometheus Exposition (2.29.2+, 2.31.2 names)

`POST /api/nccl/ingest-prometheus`

## Request

- Base URL: `https://api.fiber.ac` (the document declares no server; this is the origin it was published from)
- URL: `https://api.fiber.ac/api/nccl/ingest-prometheus`
- Auth: none declared

Accept NCCL Inspector Prometheus-format output (supported since NCCL 2.29.2) as a text/plain body — e.g. `curl -X POST --data-binary @nccl_inspector.prom this-endpoint`. The four official NCCL 2.31.2 metric names are mapped exactly: `nccl_bus_bandwidth_gbs` / `nccl_p2p_bus_bandwidth_gbs` → bandwidth_gbps, `nccl_collective_exec_time_microseconds` / `nccl_p2p_exec_time_microseconds` → duration_ms (µs→ms); event_type collective|p2p comes from the metric name. Labels honoured: `version` (v5.1 aggregated / v5.2 verbose), `message_size` bucket strings (stored verbatim, e.g. "4-5GB"), `coll_sn`/`p2p_sn` (per-op identity in verbose mode), `p2p_peer`, `comm_id`, `rank`, `coll`, `hostname`. Other nccl_* names fall back to a tolerant token mapping (bandwidth/duration/count); unknown metrics are ignored. Samples sharing (comm, rank, collective, node, event_type, message_size, sn, peer) merge into one event. `?node=`/`?job=` supply defaults when the labels lack them (typical for the textfile route).

## Query parameters

- `node` string: Default hostname when samples carry no node/hostname label
- `job` string: Default job id when samples carry no job label

## Response `200`

Count of parsed/inserted events + Inspector schema version histogram

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/fiber-ac/apis/fiber-api.md) · [All operations](https://skmtc.dev/fiber-ac/apis/fiber-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fiber-ac/apis/fiber-api/revisions/58267250d793?raw)
