OpenSearch/client/client-benchmark-noop-api-p...
Colin Goodheart-Smithe 779fb9a1c0 Adds nodes usage API to monitor usages of actions (#24169)
* Adds nodes usage API to monitor usages of actions

The nodes usage API has 2 main endpoints

/_nodes/usage and /_nodes/{nodeIds}/usage return the usage statistics
for all nodes and the specified node(s) respectively.

At the moment only one type of usage statistics is available, the REST
actions usage. This records the number of times each REST action class is
called and when the nodes usage api is called will return a map of rest
action class name to long representing the number of times each of the action
classes has been called.

Still to do:

* [x] Create usage service to store usage statistics
* [x] Record usage in REST layer
* [x] Add Transport Actions
* [x] Add REST Actions
* [x] Tests
* [x] Documentation

* Rafactors UsageService so counts are done by the handlers

* Fixing up docs tests

* Adds a name to all rest actions

* Addresses review comments
2017-06-02 08:46:38 +01:00
..
src/main/java/org/elasticsearch/plugin/noop Adds nodes usage API to monitor usages of actions (#24169) 2017-06-02 08:46:38 +01:00
README.md Add client-benchmark-noop-api-plugin to stress clients even more in benchmarks (#20103) 2016-08-26 09:05:47 +02:00
build.gradle Build: Remove old maven deploy support (#20403) 2016-09-19 15:10:41 -07:00

README.md

Purpose

This plugin provides empty REST and transport endpoints for bulk indexing and search. It is used to avoid accidental server-side bottlenecks in client-side benchmarking.

Build Instructions

Build the plugin with gradle :client:client-benchmark-noop-api-plugin:assemble from the Elasticsearch root project directory.

Installation Instructions

After, the binary has been built, install it with bin/elasticsearch-plugin install file:///full/path/to/noop-plugin.zip.

Usage

The plugin provides two REST endpoints:

  • /_noop_bulk and all variations that the bulk endpoint provides (except that all no op endpoints are called _noop_bulk instead of _bulk)
  • _noop_search and all variations that the search endpoint provides (except that all no op endpoints are called _noop_search instead of _search)

The corresponding transport actions are:

  • org.elasticsearch.plugin.noop.action.bulk.TransportNoopBulkAction
  • org.elasticsearch.plugin.noop.action.search.TransportNoopSearchAction