Skip to content

Metrics REST API ​

Endpoints for querying system metrics, flow throughput, action performance, and queue state.

System Node Metrics ​

Returns resource usage and application metrics for all nodes in the cluster.

Endpoint: GET /api/v2/metrics/system/nodes

Permission: MetricsView

Response:

json
{
  "nodes": [
    {
      "name": "node-1",
      "apps": [...],
      "resources": {...}
    }
  ],
  "timestamp": "2024-01-15T10:00:00Z"
}

Example:

bash
curl http://deltafi-host/api/v2/metrics/system/nodes

Flow Metrics ​

Queries flow-level throughput metrics (ingress, egress, storage, deleted bytes) over a time window.

Endpoint: GET /api/v2/metrics/flow

Permission: StatusView

Query Parameters:

ParameterTypeDefaultDescription
minutesInteger60Time window in minutes (1–1440)

Response: FlowMetrics object with per-flow ingress/egress/storage/deletion statistics

Example:

bash
curl http://deltafi-host/api/v2/metrics/flow?minutes=120

Action Metrics ​

Queries execution count and timing metrics for specific actions.

Endpoint: POST /api/v2/metrics/action

Permission: MetricsView

Query Parameters:

ParameterTypeDefaultDescription
minutesInteger60Time window in minutes (1–1440)

Request Body: Array of action names

json
["org.deltafi.core.action.SomeTransform", "org.deltafi.core.action.SomeEgress"]

Response: Array of ActionMetrics objects with execution counts and timing data

Per-Flow Metrics ​

Queries per-flow metrics including files and bytes in/out.

Endpoint: POST /api/v2/metrics/perflow

Permission: MetricsView

Query Parameters:

ParameterTypeDefaultDescription
minutesInteger60Time window in minutes (1–1440)

Request Body: Array of FlowKey objects

json
[
  {"flowName": "my-transform", "flowType": "TRANSFORM"},
  {"flowName": "my-sink", "flowType": "DATA_SINK"}
]

Response: Array of PerFlowMetrics objects

Detailed Queue Metrics ​

Returns warm and cold queue depths broken down by flow. Results are cached for 5 seconds.

Endpoint: GET /api/v2/metrics/queues/detailed

Permission: MetricsView

Response:

json
{
  "warmQueues": {...},
  "coldQueues": {...},
  "timestamp": "2024-01-15T10:00:00Z"
}

Example:

bash
curl http://deltafi-host/api/v2/metrics/queues/detailed

Action-Plugin Mapping ​

Returns a mapping of action class names to their plugin artifact IDs.

Endpoint: GET /api/v2/metrics/queues/action-plugins

Permission: MetricsView

Response:

json
{
  "org.deltafi.core.action.SomeTransform": "org.deltafi:deltafi-core-actions",
  "com.example.MyEgress": "com.example:my-plugin"
}

Running Tasks ​

Returns currently executing actions with their heartbeat timestamps. Results are cached for 5 seconds.

Endpoint: GET /api/v2/metrics/queues/running

Permission: MetricsView

Response:

json
{
  "tasks": [...],
  "heartbeatThreshold": 30000
}

The heartbeatThreshold (in milliseconds) indicates how long since last heartbeat before a task is considered stale.

Contact US