From e1754bac15ec0e797a9c6280c9613d510c4a20d9 Mon Sep 17 00:00:00 2001 From: Ajay Kumar Movva Date: Thu, 21 Mar 2024 15:47:41 +0530 Subject: [PATCH 1/2] Adding Documentation for IO Based AdmissionController Stats Signed-off-by: Ajay Kumar Movva --- _api-reference/nodes-apis/nodes-stats.md | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/_api-reference/nodes-apis/nodes-stats.md b/_api-reference/nodes-apis/nodes-stats.md index 4fdb5c3cb8..73b36cef0d 100644 --- a/_api-reference/nodes-apis/nodes-stats.md +++ b/_api-reference/nodes-apis/nodes-stats.md @@ -731,7 +731,10 @@ Select the arrow to view the example response. "nxLWtMdXQmWA-ZBVWU8nwA": { "timestamp": 1698401391000, "cpu_utilization_percent": "0.1", - "memory_utilization_percent": "3.9" + "memory_utilization_percent": "3.9", + "io_usage_stats": { + "max_io_utilization_percent": "99.6" + } } }, "admission_control": { @@ -742,6 +745,14 @@ Select the arrow to view the example response. "indexing": 1 } } + }, + "global_io_usage": { + "transport": { + "rejection_count": { + "search": 3, + "indexing": 1 + } + } } } } @@ -1254,14 +1265,18 @@ Field | Field type | Description timestamp | Integer | The last refresh time for the resource usage statistics, in milliseconds since the epoch. cpu_utilization_percent | Float | Statistics for the average CPU usage of OpenSearch process within the time period configured in the `node.resource.tracker.global_cpu_usage.window_duration` setting. memory_utilization_percent | Float | The node JVM memory usage statistics within the time period configured in the `node.resource.tracker.global_jvmmp.window_duration` setting. +max_io_utilization_percent | Float | Statistics for the average IO usage of OpenSearch process within the time period configured in the `node.resource.tracker.global_io_usage.window_duration` setting(Linux only). ### `admission_control` The `admission_control` object contains the rejection count of search and indexing requests based on resource consumption and has the following properties. + Field | Field type | Description -:--- | :--- | :--- -admission_control.global_cpu_usage.transport.rejection_count.search | Integer | The total number of search rejections in the transport layer when the node CPU usage limit was breached. In this case, additional search requests are rejected until the system recovers. -admission_control.global_cpu_usage.transport.rejection_count.indexing | Integer | The total number of indexing rejections in the transport layer when the node CPU usage limit was breached. In this case, additional indexing requests are rejected until the system recovers. +:--- | :---------- | :--- +admission_control.global_cpu_usage.transport.rejection_count.search | Integer | The total number of search rejections in the transport layer when the node CPU usage limit was breached. In this case, additional search requests are rejected until the system recovers. The threshold limit is configured in the `admission_control.search.cpu_usage.limit` setting. +admission_control.global_cpu_usage.transport.rejection_count.indexing | Integer | The total number of indexing rejections in the transport layer when the node CPU usage limit was breached. In this case, additional indexing requests are rejected until the system recovers. The threshold limit is configured in the `admission_control.indexing.cpu_usage.limit` setting. +admission_control.global_io_usage.transport.rejection_count.search | Integer | The total number of search rejections in the transport layer when the node IO usage limit was breached. In this case, additional search requests are rejected until the system recovers. The threshold limit is configured in the `admission_control.search.io_usage.limit` setting (Linux only). +admission_control.global_io_usage.transport.rejection_count.indexing | Integer | The total number of indexing rejections in the transport layer when the node IO usage limit was breached. In this case, additional indexing requests are rejected until the system recovers. The threshold limit is configured in the `admission_control.indexing.io_usage.limit` setting (Linux only). ## Required permissions From e3e0f528a303d4895b07519755cb3ef9aaa70093 Mon Sep 17 00:00:00 2001 From: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> Date: Tue, 26 Mar 2024 12:40:02 -0500 Subject: [PATCH 2/2] Apply suggestions from code review Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> --- _api-reference/nodes-apis/nodes-stats.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/_api-reference/nodes-apis/nodes-stats.md b/_api-reference/nodes-apis/nodes-stats.md index 73b36cef0d..87365fa900 100644 --- a/_api-reference/nodes-apis/nodes-stats.md +++ b/_api-reference/nodes-apis/nodes-stats.md @@ -1263,20 +1263,20 @@ The `resource_usage_stats` object contains the resource usage statistics. Each e Field | Field type | Description :--- |:-----------| :--- timestamp | Integer | The last refresh time for the resource usage statistics, in milliseconds since the epoch. -cpu_utilization_percent | Float | Statistics for the average CPU usage of OpenSearch process within the time period configured in the `node.resource.tracker.global_cpu_usage.window_duration` setting. +cpu_utilization_percent | Float | Statistics for the average CPU usage of any OpenSearch processes within the time period configured in the `node.resource.tracker.global_cpu_usage.window_duration` setting. memory_utilization_percent | Float | The node JVM memory usage statistics within the time period configured in the `node.resource.tracker.global_jvmmp.window_duration` setting. -max_io_utilization_percent | Float | Statistics for the average IO usage of OpenSearch process within the time period configured in the `node.resource.tracker.global_io_usage.window_duration` setting(Linux only). +max_io_utilization_percent | Float | (Linux only) Statistics for the average IO usage of any OpenSearch processes within the time period configured in the `node.resource.tracker.global_io_usage.window_duration` setting. ### `admission_control` The `admission_control` object contains the rejection count of search and indexing requests based on resource consumption and has the following properties. Field | Field type | Description -:--- | :---------- | :--- -admission_control.global_cpu_usage.transport.rejection_count.search | Integer | The total number of search rejections in the transport layer when the node CPU usage limit was breached. In this case, additional search requests are rejected until the system recovers. The threshold limit is configured in the `admission_control.search.cpu_usage.limit` setting. -admission_control.global_cpu_usage.transport.rejection_count.indexing | Integer | The total number of indexing rejections in the transport layer when the node CPU usage limit was breached. In this case, additional indexing requests are rejected until the system recovers. The threshold limit is configured in the `admission_control.indexing.cpu_usage.limit` setting. -admission_control.global_io_usage.transport.rejection_count.search | Integer | The total number of search rejections in the transport layer when the node IO usage limit was breached. In this case, additional search requests are rejected until the system recovers. The threshold limit is configured in the `admission_control.search.io_usage.limit` setting (Linux only). -admission_control.global_io_usage.transport.rejection_count.indexing | Integer | The total number of indexing rejections in the transport layer when the node IO usage limit was breached. In this case, additional indexing requests are rejected until the system recovers. The threshold limit is configured in the `admission_control.indexing.io_usage.limit` setting (Linux only). +:--- | :--- | :--- +admission_control.global_cpu_usage.transport.rejection_count.search | Integer | The total number of search rejections in the transport layer when the node CPU usage limit was met. In this case, additional search requests are rejected until the system recovers. The CPU usage limit is configured in the `admission_control.search.cpu_usage.limit` setting. +admission_control.global_cpu_usage.transport.rejection_count.indexing | Integer | The total number of indexing rejections in the transport layer when the node CPU usage limit was met. Any additional indexing requests are rejected until the system recovers. The CPU usage limit is configured in the `admission_control.indexing.cpu_usage.limit` setting. +admission_control.global_io_usage.transport.rejection_count.search | Integer | The total number of search rejections in the transport layer when the node IO usage limit was met. Any additional search requests are rejected until the system recovers. The CPU usage limit is configured in the `admission_control.search.io_usage.limit` setting (Linux only). +admission_control.global_io_usage.transport.rejection_count.indexing | Integer | The total number of indexing rejections in the transport layer when the node IO usage limit was met. Any additional indexing requests are rejected until the system recovers. The IO usage limit is configured in the `admission_control.indexing.io_usage.limit` setting (Linux only). ## Required permissions