From 5ab3345ed8f9b076d5095cfa7248767a1fa35580 Mon Sep 17 00:00:00 2001 From: Kartavya Vashishtha Date: Mon, 13 Nov 2023 19:15:25 -0500 Subject: [PATCH] Add a high-level overview of classes in the repository (#588) * add docs Signed-off-by: Kartavya Vashishtha * rename to overview Signed-off-by: Kartavya Vashishtha * use newer architecture photo in reader.md Signed-off-by: Kartavya Vashishtha --------- Signed-off-by: Kartavya Vashishtha --- README.md | 4 ++++ docs/OVERVIEW.md | 30 ++++++++++++++++++++++++++++++ docs/READER.md | 6 ++---- docs/images/arch.png | Bin 0 -> 67310 bytes 4 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 docs/OVERVIEW.md create mode 100644 docs/images/arch.png diff --git a/README.md b/README.md index 181a3a4d..f377ea2a 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,10 @@ See the [design doc](https://github.com/opensearch-project/performance-analyzer- Please refer to the [technical documentation](https://opensearch.org/docs/monitoring-plugins/pa/index/) for detailed information on installing and configuring Performance Analyzer. +The [Architecture](docs/READER.md) document provides a high-level overview of the Performance Analyzer architecture. + +You can find a high-level overview of the project file structure [here](docs/OVERVIEW.md). + ## Contributing See [developer guide](DEVELOPER_GUIDE.md) and [how to contribute to this project](CONTRIBUTING.md). diff --git a/docs/OVERVIEW.md b/docs/OVERVIEW.md new file mode 100644 index 00000000..98a89b4f --- /dev/null +++ b/docs/OVERVIEW.md @@ -0,0 +1,30 @@ +In `src/main/java/org/opensearch/performanceanalyzer/`: + +- `PerformanceAnalyzerPlugin`'s constructor does the following: + 1. Creates a `scheduledMetricCollectorsExecutor`. + 2. `scheduledMetricCollectorsExecutor.addScheduledMetricCollector(new XYZMetricsCollector())` is called for all collectors. + 3. `scheduledMetricCollectorsExecutor.start()` is called and then `EventLogQueueProcessor.scheduleExecutor()`. + +- Methods in `PerformanceAnalyzerPlugin` interface with the OpenSearch plugin architecture + - `onIndexModule`, `onDiscovery`, etc. are all called by OpenSearch when their corresponding events occur and the plugin can act on them. + - For example: + - `getActionFilters` provides OpenSearch with a list of classes that implement `ActionFilter`. + - `action/PerformanceAnalyzerActionFilter` is the only class currently returned to OpenSearch as an `ActionFilter`. + - when a BulkRequest or SearchRequest is recieved by OpenSearch, `action/PerformanceAnalyzerActionFilter` logs a start event and creates a listener (`action/PerformanceAnalyzerActionListener`) which waits to record the corresponding end event. + - `PerformanceAnalyzerPlugin.getRestHandlers` returns all the classes that can handle REST requests to OpenSearch. +- The classes in `http_action/config` define all the public API routes for Performance Analyzer. + - `http_action/config/RestConfig` defines `PA_BASE_URI = "/_plugins/_performanceanalyzer"` + - `PerformanceAnalyzerResourceProvider` defines the `metrics`, `rca`, `batch` and `actions` routes. + - `PerformanceAnalyzerResourceProvider.SUPPORTED_REDIRECTIONS = ("rca", "metrics", "batch", "actions")` +- `listener/PerformanceAnalyzerSearchListener` hooks into OpenSearch core to emit search operation related metrics. + + +- `writer/EventLogQueueProcessor`: + - contains `purgeQueueAndPersist` which drains `PerformanceAnalyzerMetrics.metricQueue` into a file that contains all events for a certain time bucket. It also removes old events. Uses `event_process.EventLogFileHandler` in Performance Analyzer Commons for file writing logic. + - `scheduleExecutor` periodically runs `purgeQueueAndPersist`. + +- Classes in `collectors` extend `PerformanceAnalyzerMetricsCollector` and implement `MetricsProcessor`. + - `PerformanceAnalyzerMetricsCollector` implements `Runnable` and contains common variables like `value` where a collector stores serialized metrics. + - A collector is triggered through `PerformanceAnalyzerMetricsCollector.collectMetrics`. + 1. The collector will store serialized data in the `value` variable and then call `MetricsProcessor.saveMetricValues`. + 2. `saveMetricValues` calls `PerformanceAnalyzerMetrics.emitMetric` that creates an `Event` from the serialized data and adds it to a static queue (`PerformanceAnalyzerMetrics.metricQueue`) shared across all collectors. \ No newline at end of file diff --git a/docs/READER.md b/docs/READER.md index 88a60725..eccd0dee 100644 --- a/docs/READER.md +++ b/docs/READER.md @@ -5,20 +5,18 @@ Performance Analyzer is an agent and REST API that allows you to query numerous * Performance analyzer plugin aka writer * Performance analyzer application aka reader -![alt text][performance analyzer] +![alt text](images/arch.png "Performance Analyzer Architecture") -[performance analyzer]: https://github.com/opensearch-project/performance-analyzer/blob/main/docs/images/pa.png "Performance Analyzer Architecture diagram" # Performance Analyzer plugin The performance analyzer plugin captures important events in OpenSearch and writes them to a shared memory. These events are then analyzed separately by the reader. Having separate processes, gives us better isolation between OpenSearch and metrics collection/aggregation. - # Performance Analyzer Application The performance analyzer application is written in Java, and this allows us to share code with the writer easily. Java libraries like jdbc and jooq made it very easy to generate sql programmatically. ![alt text][reader] -[reader]: https://github.com/opensearch-project/performance-analyzer/blob/main/docs/images/reader.png "Reader Architecture diagram" +[reader]: images/reader.png "Reader Architecture diagram" * MetricsProcessor - Periodically (every 5 seconds) processes all the events and statistics generated by the writer and generates metrics out of them. These metrics are then stored in metricsDB. * MetricsDB - Sqlite database that contains all the metrics that can be queried by the client. We create a new db every 5 seconds. * Webservice - A http server that serves client API requests. It services client requests by querying metricsDB for the relevant metrics requested by the client. diff --git a/docs/images/arch.png b/docs/images/arch.png new file mode 100644 index 0000000000000000000000000000000000000000..240f9e4ebabf74c0a3f680aa5987ba24894bf779 GIT binary patch literal 67310 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
EHp1+2Xq}N%V~;-$ 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 dW`pjZ2ao|l*yPtf#US8${6P19@jZ+8{|9