Input node output diagnostics (Core API)
Operator diagnostics for ingestion visibility: recent node outputs on input-type nodes (NodeTemplate.Type == Input), grouped by project, session, node instance, and output. Internal only, not exposed on v1/v2 public APIs.
Use this to see which projects and sessions are still receiving ingest traffic (for example closed shared sessions that should no longer accept data).
Endpoint
GET /api/diagnostics/input-node-outputs/recent
| Param | Type | Default | Notes |
|---|---|---|---|
minutes | int | 15 | Time window, 1 to 1440 |
projectId | int, optional | omit | Positive integer; filter to one project |
includeStaticBackedSessions | bool | false | Keep false for operator views |
Response shape
Top-level fields mirror other diagnostics endpoints (collectedAtUtc, windowMinutes, optional projectId, includeStaticBackedSessions).
summary aggregates across the window:
| Field | Meaning |
|---|---|
totalOutputCount | Input-node outputs in the window |
distinctProjectCount | Projects with at least one matching output |
distinctSessionCount | Sessions with at least one matching output |
distinctNodeInstanceCount | Input node instances with at least one matching output |
averageOutputsPerMinute | totalOutputCount / windowMinutes |
firstOutputAtUtc / lastOutputAtUtc | Earliest and latest output timestamps in the result set |
projects[] is ordered by most recent activity (lastOutputAtUtc desc). Each project includes outputsPerMinute and nested sessions[] → nodeInstances[] → outputs[].
Each output row includes id, createdAtUtc, outputIdentifier, dataSourceId, and dataSourceType.
Each session includes sessionClosedAtUtc when closedAt is present in session metadata (helps spot traffic into closed sessions).
Filtering rules
- Only outputs where the node instance’s template type is Input (covers
input-node,agnostic-input, and other input templates). - Only outputs with
CreatedAt >= now - minutes. - Static-backed sessions are excluded unless
includeStaticBackedSessions=true.
Throughput note
Rates are output count per minute over the full window (count / minutes). Byte throughput is not included (that lives in heat-auditor NodeOutputStats when submitted).
Implementation
- Service:
InputNodeOutputDiagnosticsService(IInputNodeOutputDiagnosticsService) - Controller:
DiagnosticsController.GetRecentInputNodeOutputs