2019-07-05 07:34:05 -04:00
|
|
|
[role="xpack"]
|
|
|
|
[testenv="platinum"]
|
|
|
|
[[get-dfanalytics-stats]]
|
|
|
|
=== Get {dfanalytics-jobs} statistics API
|
|
|
|
[subs="attributes"]
|
|
|
|
++++
|
|
|
|
<titleabbrev>Get {dfanalytics-jobs} stats</titleabbrev>
|
|
|
|
++++
|
|
|
|
|
|
|
|
Retrieves usage information for {dfanalytics-jobs}.
|
|
|
|
|
2019-07-12 11:26:31 -04:00
|
|
|
experimental[]
|
|
|
|
|
2019-07-05 07:34:05 -04:00
|
|
|
[[ml-get-dfanalytics-stats-request]]
|
|
|
|
==== {api-request-title}
|
|
|
|
|
|
|
|
`GET _ml/data_frame/analytics/<data_frame_analytics_id>/_stats` +
|
|
|
|
|
|
|
|
`GET _ml/data_frame/analytics/<data_frame_analytics_id>,<data_frame_analytics_id>/_stats` +
|
|
|
|
|
|
|
|
`GET _ml/data_frame/analytics/_stats` +
|
|
|
|
|
|
|
|
`GET _ml/data_frame/analytics/_all/_stats` +
|
|
|
|
|
|
|
|
`GET _ml/data_frame/analytics/*/_stats`
|
|
|
|
|
2019-09-06 09:17:18 -04:00
|
|
|
|
2019-07-05 07:34:05 -04:00
|
|
|
[[ml-get-dfanalytics-stats-prereq]]
|
|
|
|
==== {api-prereq-title}
|
|
|
|
|
|
|
|
* You must have `monitor_ml` privilege to use this API. For more
|
|
|
|
information, see {stack-ov}/security-privileges.html[Security privileges] and
|
|
|
|
{stack-ov}/built-in-roles.html[Built-in roles].
|
|
|
|
|
2019-09-06 09:17:18 -04:00
|
|
|
|
2019-07-05 07:34:05 -04:00
|
|
|
[[ml-get-dfanalytics-stats-path-params]]
|
|
|
|
==== {api-path-parms-title}
|
|
|
|
|
2019-07-12 11:26:31 -04:00
|
|
|
`<data_frame_analytics_id>`::
|
|
|
|
(Optional, string)Identifier for the {dfanalytics-job}. If you do not specify
|
|
|
|
one of these options, the API returns information for the first hundred
|
2019-07-05 07:34:05 -04:00
|
|
|
{dfanalytics-jobs}.
|
|
|
|
|
2019-09-06 09:17:18 -04:00
|
|
|
|
2019-07-05 07:34:05 -04:00
|
|
|
[[ml-get-dfanalytics-stats-query-params]]
|
|
|
|
==== {api-query-parms-title}
|
|
|
|
|
2019-07-12 11:26:31 -04:00
|
|
|
`allow_no_match`::
|
2019-07-26 05:39:59 -04:00
|
|
|
(Optional, boolean) Specifies what to do when the request:
|
|
|
|
+
|
|
|
|
--
|
|
|
|
* Contains wildcard expressions and there are no {dfanalytics-jobs} 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 `data_frame_analytics` 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.
|
|
|
|
--
|
2019-07-10 20:58:17 -04:00
|
|
|
|
2019-07-12 11:26:31 -04:00
|
|
|
`from`::
|
|
|
|
(Optional, integer) Skips the specified number of {dfanalytics-jobs}. The
|
|
|
|
default value is `0`.
|
2019-07-05 07:34:05 -04:00
|
|
|
|
2019-07-12 11:26:31 -04:00
|
|
|
`size`::
|
|
|
|
(Optional, integer) Specifies the maximum number of {dfanalytics-jobs} to
|
|
|
|
obtain. The default value is `100`.
|
2019-07-05 07:34:05 -04:00
|
|
|
|
2019-09-06 09:17:18 -04:00
|
|
|
|
2019-07-05 07:34:05 -04:00
|
|
|
[[ml-get-dfanalytics-stats-response-body]]
|
|
|
|
==== {api-response-body-title}
|
|
|
|
|
|
|
|
The API returns the following information:
|
|
|
|
|
|
|
|
`data_frame_analytics`::
|
|
|
|
(array) An array of statistics objects for {dfanalytics-jobs}, which are
|
|
|
|
sorted by the `id` value in ascending order.
|
2019-09-06 09:17:18 -04:00
|
|
|
|
|
|
|
`id`::
|
|
|
|
(string) The unique identifier of the {dfanalytics-job}.
|
|
|
|
|
|
|
|
`state`::
|
|
|
|
(string) Current state of the {dfanalytics-job}.
|
|
|
|
|
|
|
|
`progress`::
|
|
|
|
(array) The progress report of the {dfanalytics-job} by phase.
|
|
|
|
|
|
|
|
`phase`::
|
|
|
|
(string) Defines the phase of the {dfanalytics-job}. Possible phases:
|
|
|
|
`reindexing`, `loading_data`, `analyzing`, and `writing_results`.
|
|
|
|
|
|
|
|
`progress_percent`::
|
|
|
|
(integer) The progress that the {dfanalytics-job} has made expressed in
|
|
|
|
percentage.
|
|
|
|
|
2019-07-05 07:34:05 -04:00
|
|
|
|
2019-07-26 05:39:59 -04:00
|
|
|
[[ml-get-dfanalytics-stats-response-codes]]
|
|
|
|
==== {api-response-codes-title}
|
|
|
|
|
|
|
|
`404` (Missing resources)::
|
|
|
|
If `allow_no_match` is `false`, this code indicates that there are no
|
|
|
|
resources that match the request or only partial matches for the request.
|
|
|
|
|
2019-09-06 09:17:18 -04:00
|
|
|
|
2019-07-05 07:34:05 -04:00
|
|
|
[[ml-get-dfanalytics-stats-example]]
|
|
|
|
==== {api-examples-title}
|
|
|
|
|
2019-09-09 12:35:50 -04:00
|
|
|
[source,console]
|
2019-07-05 07:34:05 -04:00
|
|
|
--------------------------------------------------
|
|
|
|
GET _ml/data_frame/analytics/loganalytics/_stats
|
|
|
|
--------------------------------------------------
|
|
|
|
// TEST[skip:TBD]
|
|
|
|
|
2019-09-06 09:17:18 -04:00
|
|
|
|
2019-07-05 07:34:05 -04:00
|
|
|
The API returns the following results:
|
|
|
|
|
2019-09-06 09:22:08 -04:00
|
|
|
[source,console-result]
|
2019-07-05 07:34:05 -04:00
|
|
|
----
|
|
|
|
{
|
|
|
|
"count": 1,
|
|
|
|
"data_frame_analytics": [
|
|
|
|
{
|
|
|
|
"id": "loganalytics",
|
[7.x][ML] Improve progress reportings for DF analytics (#45856) (#45910)
Previously, the stats API reports a progress percentage
for DF analytics tasks that are running and are in the
`reindexing` or `analyzing` state.
This means that when the task is `stopped` there is no progress
reported. Thus, one cannot distinguish between a task that never
run to one that completed.
In addition, there are blind spots in the progress reporting.
In particular, we do not account for when data is loaded into the
process. We also do not account for when results are written.
This commit addresses the above issues. It changes progress
to being a list of objects, each one describing the phase
and its progress as a percentage. We currently have 4 phases:
reindexing, loading_data, analyzing, writing_results.
When the task stops, progress is persisted as a document in the
state index. The stats API now reports progress from in-memory
if the task is running, or returns the persisted document
(if there is one).
2019-08-23 16:04:39 -04:00
|
|
|
"state": "stopped",
|
|
|
|
"progress": [
|
|
|
|
{
|
|
|
|
"phase": "reindexing",
|
|
|
|
"progress_percent": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"phase": "loading_data",
|
|
|
|
"progress_percent": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"phase": "analyzing",
|
|
|
|
"progress_percent": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"phase": "writing_results",
|
|
|
|
"progress_percent": 0
|
|
|
|
}
|
|
|
|
]
|
2019-07-05 07:34:05 -04:00
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
----
|