Get datafeed statistics APIedit

Retrieves usage information for datafeeds.

Requestedit

GET _ml/datafeeds/<feed_id>/_stats

GET _ml/datafeeds/<feed_id>,<feed_id>/_stats

GET _ml/datafeeds/_stats

GET _ml/datafeeds/_all/_stats

Prerequisitesedit

  • If the Elasticsearch security features are enabled, you must have monitor_ml, monitor, manage_ml, or manage cluster privileges to use this API. See Security privileges.

Descriptionedit

You can get statistics for multiple datafeeds in a single API request by using a comma-separated list of datafeeds or a wildcard expression. You can get statistics for all datafeeds by using _all, by specifying * as the <feed_id>, or by omitting the <feed_id>.

If the datafeed is stopped, the only information you receive is the datafeed_id and the state.

This API returns a maximum of 10,000 datafeeds.

Path parametersedit

<feed_id>

(Optional, string) Identifier for the datafeed. It can be a datafeed identifier or a wildcard expression.

If you do not specify one of these options, the API returns information about all datafeeds.

Query parametersedit

allow_no_datafeeds

(Optional, boolean) Specifies what to do when the request:

  • Contains wildcard expressions and there are no datafeeds that match.
  • Contains the _all string or no identifiers and there are no matches.
  • Contains wildcard expressions and there are only partial matches.

The default value is true, which returns an empty datafeeds array when there are no matches and the subset of results when there are partial matches. If this parameter is false, the request returns a 404 status code when there are no matches or only partial matches.

Response bodyedit

The API returns an array of datafeed count objects. All of these properties are informational; you cannot update their values.

assignment_explanation
(string) For started datafeeds only, contains messages relating to the selection of a node.
datafeed_id
(string) A numerical character string that uniquely identifies the datafeed. This identifier can contain lowercase alphanumeric characters (a-z and 0-9), hyphens, and underscores. It must start and end with alphanumeric characters.
node

(object) The node upon which the datafeed is started. The datafeed and job will be on the same node.

node.id
The unique identifier of the node. For example, 0-o0tOoRTwKFZifatTWKNw.
node.name
The node name. For example, 0-o0tOo.
node.ephemeral_id
The node ephemeral ID.
node.transport_address
The host and port where transport HTTP connections are accepted. For example, 127.0.0.1:9300.
node.attributes
For example, {"ml.machine_memory": "17179869184"}.
state

(string) The status of the datafeed, which can be one of the following values:

  • started::: The datafeed is actively receiving data.
  • stopped::: The datafeed is stopped and will not receive data until it is re-started.
timing_stats

(object) An object that provides statistical information about timing aspect of this datafeed.

timing_stats.average_search_time_per_bucket_ms
(double) Average of the datafeed search times in milliseconds.
timing_stats.bucket_count
(long) The number of buckets processed.
timing_stats.exponential_average_search_time_per_hour_ms
(double) Exponential moving average of the datafeed search times in milliseconds.
timing_stats.job_id
Identifier for the anomaly detection job.
timing_stats.search_count
Number of searches performed by this datafeed.
timing_stats.total_search_time_ms
Total time the datafeed spent searching in milliseconds.

Response codesedit

404 (Missing resources)
If allow_no_datafeeds is false, this code indicates that there are no resources that match the request or only partial matches for the request.

Examplesedit

GET _ml/datafeeds/datafeed-high_sum_total_sales/_stats

The API returns the following results:

{
  "count": 1,
  "datafeeds": [
    {
      "datafeed_id": "datafeed-high_sum_total_sales",
      "state": "started",
      "node": {
        "id": "2spCyo1pRi2Ajo-j-_dnPX",
        "name": "node-0",
        "ephemeral_id": "hoXMLZB0RWKfR9UPPUCxXX",
        "transport_address": "127.0.0.1:9300",
        "attributes": {
          "ml.machine_memory": "17179869184",
          "ml.max_open_jobs": "20"
        }
      },
      "assignment_explanation": "",
      "timing_stats": {
        "job_id" : "high_sum_total_sales",
         "search_count" : 27,
         "bucket_count" : 619,
         "total_search_time_ms" : 296.0,
         "average_search_time_per_bucket_ms" : 0.4781906300484653,
         "exponential_average_search_time_per_hour_ms" : 33.28246548059884
      }
    }
  ]
}