OpenSearch/docs/reference/transform/apis/get-transform-stats.asciidoc

326 lines
8.6 KiB
Plaintext
Raw Normal View History

[role="xpack"]
[testenv="basic"]
[[get-transform-stats]]
= Get {transform} statistics API
[subs="attributes"]
++++
<titleabbrev>Get {transform} statistics</titleabbrev>
++++
Retrieves usage information for {transforms}.
[[get-transform-stats-request]]
== {api-request-title}
`GET _transform/<transform_id>/_stats`
`GET _transform/<transform_id>,<transform_id>/_stats` +
`GET _transform/_stats` +
`GET _transform/_all/_stats` +
`GET _transform/*/_stats` +
[[get-transform-stats-prereqs]]
== {api-prereq-title}
If the {es} {security-features} are enabled, you must have the following
privileges:
* `monitor_transform`
The built-in `transform_user` role has this privilege.
For more information, see <<security-privileges>> and <<built-in-roles>>.
[[get-transform-stats-desc]]
== {api-description-title}
You can get statistics for multiple {transforms} in a single API
request by using a comma-separated list of identifiers or a wildcard expression.
You can get statistics for all {transforms} by using `_all`, by
specifying `*` as the `<transform_id>`, or by omitting the
`<transform_id>`.
[[get-transform-stats-path-parms]]
== {api-path-parms-title}
`<transform_id>`::
(Optional, string)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=transform-id-wildcard]
[[get-transform-stats-query-parms]]
== {api-query-parms-title}
`allow_no_match`::
(Optional, boolean)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=allow-no-match-transforms1]
`from`::
(Optional, integer)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=from-transforms]
`size`::
(Optional, integer)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=size-transforms]
[role="child_attributes"]
[[get-transform-stats-response]]
== {api-response-body-title}
The API returns an array of statistics objects for {transforms}, which are
sorted by the `id` value in ascending order. All of these properties are
informational; you cannot update their values.
//Begin checkpointing
`checkpointing`::
(object) Contains statistics about <<transform-checkpoints,checkpoints>>.
+
.Properties of `checkpointing`
[%collapsible%open]
====
`changes_last_detected_at`:::
(date)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=checkpointing-changes-last-detected-at]
//Begin checkpointing.last
`last`:::
(object) Contains statistics about the last completed checkpoint.
+
.Properties of `last`
[%collapsible%open]
=====
`checkpoint`::::
(integer) The sequence number for the checkpoint.
`time_upper_bound_millis`::::
(date) When using time-based synchronization, this timestamp indicates the
upper bound of data that is included in the checkpoint.
`timestamp_millis`::::
(date) The timestamp of the checkpoint, which indicates when the checkpoint
was created.
=====
//End checkpointing.last
//Begin checkpointing.next
`next`:::
(object) Contains statistics about the next checkpoint that is currently in
progress. This object appears only when the {transform} `state` is `indexing`.
+
.Properties of `next`
[%collapsible%open]
=====
`checkpoint`::::
(integer) The sequence number for the checkpoint.
`checkpoint_progress`::::
(object) Contains statistics about the progress of the checkpoint. For example,
it lists the `total_docs`, `docs_remaining`, `percent_complete`,
`docs_processed`, and `docs_indexed`. This information is available only for
batch {transforms} and the first checkpoint of {ctransforms}.
`time_upper_bound_millis`::::
(date) When using time-based synchronization, this timestamp indicates the
upper bound of data that is included in the checkpoint.
`timestamp_millis`::::
(date) The timestamp of the checkpoint, which indicates when the checkpoint was
created.
=====
//End checkpointing.next
`operations_behind`:::
(integer) The number of operations that have occurred on the source index but
have not been applied to the destination index yet. A high number can indicate
that the {transform} is failing to keep up.
====
//End checkpointing
`id`::
(string)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=transform-id]
//Begin node
`node`::
(object) For started {transforms} only, the node upon which the {transform} is
started.
+
.Properties of `node`
[%collapsible%open]
====
`attributes`:::
(object) A list of attributes for the node.
`ephemeral_id`:::
(string) The node ephemeral ID.
`id`:::
(string) The unique identifier of the node. For example, "0-o0tOoRTwKFZifatTWKNw".
`name`:::
(string) The node name. For example, `0-o0tOo`.
`transport_address`:::
(string) The host and port where transport HTTP connections are accepted. For
example, `127.0.0.1:9300`.
====
//End node
`reason`::
(string)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=state-transform-reason]
`state`::
(string)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=state-transform]
//Begin stats
`stats`::
(object) An object that provides statistical information about the {transform}.
+
.Properties of `stats`
[%collapsible%open]
====
`documents_indexed`:::
(long)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=docs-indexed]
`documents_processed`:::
(long)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=docs-processed]
`exponential_avg_checkpoint_duration_ms`:::
(double)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=exponential-avg-checkpoint-duration-ms]
`exponential_avg_documents_indexed`:::
(double)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=exponential-avg-documents-indexed]
`exponential_avg_documents_processed`:::
(double)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=exponential-avg-documents-processed]
`index_failures`:::
(long)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=index-failures]
`index_time_in_ms`:::
(long)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=index-time-ms]
`index_total`:::
(long)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=index-total]
`pages_processed`:::
(long)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=pages-processed]
`processing_time_in_ms`:::
(long)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=processing-time-ms]
`processing_total`:::
(long)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=processing-total]
`search_failures`:::
(long)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=search-failures]
`search_time_in_ms`:::
(long)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=search-time-ms]
`search_total`:::
(long)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=search-total]
`trigger_count`:::
(long)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=trigger-count]
====
//End stats
[[get-transform-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.
[[get-transform-stats-example]]
== Examples
The following example skips for the first five {transforms} and
gets usage information for a maximum of ten results:
[source,console]
--------------------------------------------------
GET _transform/_stats?from=5&size=10
--------------------------------------------------
// TEST[skip:todo]
The following example gets usage information for the {transform}:
[source,console]
--------------------------------------------------
GET _transform/ecommerce-customer-transform/_stats
--------------------------------------------------
// TEST[skip:todo]
The API returns the following results:
[source,console-result]
----
{
"count" : 1,
"transforms" : [
{
"id" : "ecommerce-customer-transform",
"state" : "started",
"node" : {
"id" : "cpTIGMsVQ8Gqwqlxxxxxxx",
"name" : "my.home",
"ephemeral_id" : "5-L21nFsQxxxxxxxxxx-xx",
"transport_address" : "127.0.0.1:9300",
"attributes" : { }
},
"stats" : {
"pages_processed" : 78,
"documents_processed" : 6027,
"documents_indexed" : 68,
"trigger_count" : 168,
"index_time_in_ms" : 412,
"index_total" : 20,
"index_failures" : 0,
"search_time_in_ms" : 353,
"search_total" : 78,
"search_failures" : 0,
"processing_time_in_ms" : 8,
"processing_total" : 78,
"exponential_avg_checkpoint_duration_ms" : 97.30637923893185,
"exponential_avg_documents_indexed" : 2.2064915040974062,
"exponential_avg_documents_processed" : 179.89419945785045
},
"checkpointing" : {
"last" : {
"checkpoint" : 20,
"timestamp_millis" : 1585344558220,
"time_upper_bound_millis" : 1585344498220
},
"changes_last_detected_at" : 1585344558219
}
}
]
}
----