Skip to content

Commit

Permalink
Add spec for cluster stats metric and index_metric filter paths.
Browse files Browse the repository at this point in the history
Signed-off-by: Swetha Guptha <gupthasg@amazon.com>
  • Loading branch information
Swetha Guptha committed Oct 24, 2024
1 parent abc7163 commit 590f18d
Show file tree
Hide file tree
Showing 6 changed files with 116 additions and 2 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/test-spec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ jobs:
tests: plugins/query_insights
- version: 2.18.0
hub: opensearchstaging
ref: '@sha256:4445e195c53992038891519dc3be0d273cdaad1b047943d68921168ed243e7e9'
ref: '@sha256:9aee56bed4575bd0ebcc1537d01dbf9266e7946b77f5bd9015d51374d2c97dfb'
- version: 3.0.0
hub: opensearchstaging
ref: '@sha256:727643acdfebed77bfdb26362dbcff536b7ea02a0cc4ae2da2521729171333de'
ref: '@sha256:01e1d8d0be4fb551fabd1e53ce2f3cab8757530664b7e698bc29f9b211d699da'

name: test-opensearch-spec (version=${{ matrix.entry.version }}, hub=${{ matrix.entry.hub || 'opensearchproject' }}, tests=${{ matrix.entry.tests || 'default' }})
runs-on: ubuntu-latest
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
- Added `config_id` and `config_id_list` to `/_plugins/_notifications/configs` query parameters ([#594](https://github.com/opensearch-project/opensearch-api-specification/pull/594))
- Added a release workflow triggered on a tag ([#635](https://github.com/opensearch-project/opensearch-api-specification/pull/635))
- Added API spec for query insights plugin ([#625](https://github.com/opensearch-project/opensearch-api-specification/pull/625))
- Added spec for _cluster/stats metric and index_metric filter paths([#639](https://github.com/opensearch-project/opensearch-api-specification/pull/639))

### Changed

Expand Down
54 changes: 54 additions & 0 deletions spec/namespaces/cluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,39 @@ paths:
responses:
'200':
$ref: '#/components/responses/cluster.stats@200'
/_cluster/stats/{metric}/nodes/{node_id}:
get:
operationId: cluster.stats.2
x-operation-group: cluster.stats
x-version-added: '2.18'
description: Returns high-level overview of cluster statistics.
externalDocs:
url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-stats/
parameters:
- $ref: '#/components/parameters/cluster.stats::path.metric'
- $ref: '#/components/parameters/cluster.stats::path.node_id'
- $ref: '#/components/parameters/cluster.stats::query.flat_settings'
- $ref: '#/components/parameters/cluster.stats::query.timeout'
responses:
'200':
$ref: '#/components/responses/cluster.stats@200'
/_cluster/stats/{metric}/{index_metric}/nodes/{node_id}:
get:
operationId: cluster.stats.3
x-operation-group: cluster.stats
x-version-added: '2.18'
description: Returns high-level overview of cluster statistics.
externalDocs:
url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-stats/
parameters:
- $ref: '#/components/parameters/cluster.stats::path.index_metric'
- $ref: '#/components/parameters/cluster.stats::path.metric'
- $ref: '#/components/parameters/cluster.stats::path.node_id'
- $ref: '#/components/parameters/cluster.stats::query.flat_settings'
- $ref: '#/components/parameters/cluster.stats::query.timeout'
responses:
'200':
$ref: '#/components/responses/cluster.stats@200'
/_cluster/voting_config_exclusions:
post:
operationId: cluster.post_voting_config_exclusions.0
Expand Down Expand Up @@ -1380,6 +1413,27 @@ components:
schema:
$ref: '../schemas/_common.yaml#/components/schemas/Duration'
style: form
cluster.stats::path.index_metric:
in: path
name: index_metric
description: Limit the information returned for indices metric to the specific index metrics. It can be used only if indices (or all) metric is specified.
required: true
schema:
type: array
items:
$ref: '../schemas/cluster.stats.yaml#/components/schemas/IndexMetric'
style: simple
cluster.stats::path.metric:
in: path
name: metric
description: Limit the information returned to the specified metrics
required: true
schema:
type: array
items:
$ref: '../schemas/cluster.stats.yaml#/components/schemas/Metric'
style:
simple
cluster.stats::path.node_id:
in: path
name: node_id
Expand Down
27 changes: 27 additions & 0 deletions spec/schemas/cluster.stats.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -689,3 +689,30 @@ components:
- avg
- max
- min
Metric:
type: string
enum:
- _all
- discovery_type
- fs
- indices
- ingest
- jvm
- network_types
- os
- packaging_types
- plugins
- process
IndexMetric:
type: string
enum:
- _all
- analysis
- completion
- docs
- fielddata
- mappings
- query_cache
- segments
- shards
- store
17 changes: 17 additions & 0 deletions tests/default/cluster/stats/index_metric.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
$schema: ../../../../json_schemas/test_story.schema.yaml

description: Test cluster manager stats.
version: '>= 2.18'
chapters:
- synopsis: Get mapping and analysis indices stats.
path: /_cluster/stats/{metric}/{index_metric}/nodes/{node_id}
method: GET
parameters:
node_id: _all
metric:
- indices
index_metric:
- analysis
- mappings
response:
status: 200
15 changes: 15 additions & 0 deletions tests/default/cluster/stats/metric.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
$schema: ../../../../json_schemas/test_story.schema.yaml

description: Test cluster manager stats.
version: '>= 2.18'
chapters:
- synopsis: Get nodes fs and jvm stats.
path: /_cluster/stats/{metric}/nodes/{node_id}
method: GET
parameters:
node_id: _all
metric:
- fs
- jvm
response:
status: 200

0 comments on commit 590f18d

Please sign in to comment.