get-datafeed-stats.asciidoc 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. [role="xpack"]
  2. [testenv="platinum"]
  3. [[ml-get-datafeed-stats]]
  4. = Get {dfeed} statistics API
  5. [subs="attributes"]
  6. ++++
  7. <titleabbrev>Get {dfeed} statistics</titleabbrev>
  8. ++++
  9. Retrieves usage information for {dfeeds}.
  10. [[ml-get-datafeed-stats-request]]
  11. == {api-request-title}
  12. `GET _ml/datafeeds/<feed_id>/_stats` +
  13. `GET _ml/datafeeds/<feed_id>,<feed_id>/_stats` +
  14. `GET _ml/datafeeds/_stats` +
  15. `GET _ml/datafeeds/_all/_stats`
  16. [[ml-get-datafeed-stats-prereqs]]
  17. == {api-prereq-title}
  18. Requires the `monitor_ml` cluster privilege. This privilege is included in the
  19. `machine_learning_user` built-in role.
  20. [[ml-get-datafeed-stats-desc]]
  21. == {api-description-title}
  22. You can get statistics for multiple {dfeeds} in a single API request by using a
  23. comma-separated list of {dfeeds} or a wildcard expression. You can get
  24. statistics for all {dfeeds} by using `_all`, by specifying `*` as the
  25. `<feed_id>`, or by omitting the `<feed_id>`.
  26. If the {dfeed} is stopped, the only information you receive is the
  27. `datafeed_id` and the `state`.
  28. IMPORTANT: This API returns a maximum of 10,000 {dfeeds}.
  29. [[ml-get-datafeed-stats-path-parms]]
  30. == {api-path-parms-title}
  31. `<feed_id>`::
  32. (Optional, string)
  33. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=datafeed-id-wildcard]
  34. +
  35. --
  36. If you do not specify one of these options, the API returns information about
  37. all {dfeeds}.
  38. --
  39. [[ml-get-datafeed-stats-query-parms]]
  40. == {api-query-parms-title}
  41. `allow_no_match`::
  42. (Optional, Boolean)
  43. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=allow-no-datafeeds]
  44. [role="child_attributes"]
  45. [[ml-get-datafeed-stats-results]]
  46. == {api-response-body-title}
  47. The API returns an array of {dfeed} count objects. All of these properties are
  48. informational; you cannot update their values.
  49. `assignment_explanation`::
  50. (string)
  51. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=assignment-explanation-datafeeds]
  52. `datafeed_id`::
  53. (string)
  54. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=datafeed-id]
  55. `node`::
  56. (object)
  57. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=node-datafeeds]
  58. +
  59. --
  60. [%collapsible%open]
  61. ====
  62. `attributes`:::
  63. (object)
  64. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=node-attributes]
  65. `ephemeral_id`:::
  66. (string)
  67. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=node-ephemeral-id]
  68. `id`:::
  69. (string)
  70. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=node-id]
  71. `name`:::
  72. (string)
  73. The node name. For example, `0-o0tOo`.
  74. `transport_address`:::
  75. (string)
  76. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=node-transport-address]
  77. ====
  78. --
  79. `state`::
  80. (string)
  81. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=state-datafeed]
  82. `timing_stats`::
  83. (object) An object that provides statistical information about timing aspect of
  84. this {dfeed}.
  85. +
  86. --
  87. [%collapsible%open]
  88. ====
  89. `average_search_time_per_bucket_ms`:::
  90. (double)
  91. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=search-bucket-avg]
  92. `bucket_count`:::
  93. (long)
  94. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=bucket-count]
  95. `exponential_average_search_time_per_hour_ms`:::
  96. (double)
  97. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=search-exp-avg-hour]
  98. `job_id`:::
  99. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection]
  100. `search_count`:::
  101. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=search-count]
  102. `total_search_time_ms`:::
  103. include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=search-time]
  104. ====
  105. --
  106. [[ml-get-datafeed-stats-response-codes]]
  107. == {api-response-codes-title}
  108. `404` (Missing resources)::
  109. If `allow_no_match` is `false`, this code indicates that there are no
  110. resources that match the request or only partial matches for the request.
  111. [[ml-get-datafeed-stats-example]]
  112. == {api-examples-title}
  113. [source,console]
  114. --------------------------------------------------
  115. GET _ml/datafeeds/datafeed-high_sum_total_sales/_stats
  116. --------------------------------------------------
  117. // TEST[skip:Kibana sample data started datafeed]
  118. The API returns the following results:
  119. [source,console-result]
  120. ----
  121. {
  122. "count" : 1,
  123. "datafeeds" : [
  124. {
  125. "datafeed_id" : "datafeed-high_sum_total_sales",
  126. "state" : "started",
  127. "node" : {
  128. "id" : "7bmMXyWCRs-TuPfGJJ_yMw",
  129. "name" : "node-0",
  130. "ephemeral_id" : "hoXMLZB0RWKfR9UPPUCxXX",
  131. "transport_address" : "127.0.0.1:9300",
  132. "attributes" : {
  133. "ml.machine_memory" : "17179869184",
  134. "ml.max_open_jobs" : "512"
  135. }
  136. },
  137. "assignment_explanation" : "",
  138. "timing_stats" : {
  139. "job_id" : "high_sum_total_sales",
  140. "search_count" : 7,
  141. "bucket_count" : 743,
  142. "total_search_time_ms" : 134.0,
  143. "average_search_time_per_bucket_ms" : 0.180349932705249,
  144. "exponential_average_search_time_per_hour_ms" : 11.514712961628677
  145. }
  146. }
  147. ]
  148. }
  149. ----
  150. // TESTRESPONSE[s/"7bmMXyWCRs-TuPfGJJ_yMw"/$body.$_path/]
  151. // TESTRESPONSE[s/"node-0"/$body.$_path/]
  152. // TESTRESPONSE[s/"hoXMLZB0RWKfR9UPPUCxXX"/$body.$_path/]
  153. // TESTRESPONSE[s/"127.0.0.1:9300"/$body.$_path/]
  154. // TESTRESPONSE[s/"17179869184"/$body.datafeeds.0.node.attributes.ml\\.machine_memory/]