Link Search Menu Expand Document Documentation Menu

ML Commons Stats API

The Stats API provides basic statistics about ML Commons, such as the number of running tasks. To monitor machine learning workflows using more detailed time-series metrics, see Monitoring machine learning workflows.

The response contains cluster-level statistics, such as the ML index status and the number of models, and node-level statistics, such as the number of requests, broken down by algorithm and model.

Endpoints

GET /_plugins/_ml/stats
GET /_plugins/_ml/stats/{stat}
GET /_plugins/_ml/{nodeId}/stats/
GET /_plugins/_ml/{nodeId}/stats/{stat}

Path parameters

The following table lists the available path parameters. All path parameters are optional.

Parameter Data type Description
nodeId String A comma-separated list of node IDs for which to return statistics. If omitted, statistics for all nodes are returned.
stat String A comma-separated list of statistics to return. Valid cluster-level values are ml_model_index_status, ml_connector_index_status, ml_config_index_status, ml_task_index_status, ml_controller_index_status, ml_model_count, and ml_connector_count. Valid node-level values are ml_jvm_heap_usage, ml_executing_task_count, ml_request_count, ml_failure_count, ml_deployed_model_count, and ml_circuit_breaker_trigger_count.

Request body fields

You can also filter statistics by providing the following optional fields in the request body.

Field Data type Description
target_stat_levels Array The levels of statistics to return. Valid values are cluster, node, algorithm, model, and action.
cluster_level_stats Array The cluster-level statistics to return. For valid values, see the stat path parameter.
node_level_stats Array The node-level statistics to return. For valid values, see the stat path parameter.
action_level_stats Array The action-level statistics to return. Valid values are ml_action_request_count and ml_action_failure_count.
node_ids Array The IDs of the nodes for which to return statistics.
algorithms Array The algorithms for which to return statistics, for example, kmeans or text_embedding.
models Array The IDs of the models for which to return statistics.
actions Array The actions for which to return statistics. Valid values are train, predict, train_predict, execute, register, deploy, undeploy, and batch_predict.

Example request: Get all stats for all nodes

GET /_plugins/_ml/stats

Example response

{
  "ml_controller_index_status" : "non-existent",
  "ml_task_index_status" : "green",
  "ml_config_index_status" : "green",
  "ml_connector_index_status" : "green",
  "ml_model_count" : 13,
  "ml_connector_count" : 1,
  "ml_model_index_status" : "green",
  "nodes" : {
    "zbduvgCCSOeu6cfbQhTpnQ" : {
      "ml_jvm_heap_usage" : 77,
      "ml_failure_count" : 0,
      "ml_executing_task_count" : 0,
      "ml_request_count" : 69,
      "ml_circuit_breaker_trigger_count" : 0,
      "ml_deployed_model_count" : 3,
      "algorithms" : {
        "text_embedding" : {
          "predict" : {
            "ml_action_request_count" : 2
          },
          "deploy" : {
            "ml_action_request_count" : 3
          },
          "register" : {
            "ml_action_request_count" : 6
          }
        },
        "kmeans" : {
          "train" : {
            "ml_action_request_count" : 3
          }
        },
        ...
      },
      "models" : {
        "GtrMP6EBzLnYocCrLsvl" : {
          "predict" : {
            "ml_action_request_count" : 2
          },
          "deploy" : {
            "ml_action_request_count" : 2
          }
        },
        ...
      }
    }
  }
}

Example request: Get all stats for a specific node

GET /_plugins/_ml/{nodeId}/stats/

Example request: Get a specified stat for a specific node

GET /_plugins/_ml/{nodeId}/stats/{stat}

Example request: Get a specified stat for all nodes

GET /_plugins/_ml/stats/{stat}

Example request: Filter statistics using the request body

GET /_plugins/_ml/stats
{
  "target_stat_levels": ["node", "algorithm"],
  "node_level_stats": ["ml_request_count"],
  "algorithms": ["kmeans"],
  "actions": ["train"]
}