From e3568ecc439ba8bcf74a424386808eca2ebee342 Mon Sep 17 00:00:00 2001 From: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> Date: Mon, 25 Sep 2023 12:09:26 -0500 Subject: [PATCH] Add metrics section to benchmark (#4972) * Add metrics section to benchmark. Signed-off-by: Naarcha-AWS * Add metrics section Signed-off-by: Naarcha-AWS * Add metrics section Signed-off-by: Naarcha-AWS * Apply suggestions from code review Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> * Apply suggestions from code review Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> * Update _benchmark/metrics/index.md Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> * Apply suggestions from code review Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Nathan Bower Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> * Update _benchmark/metrics/metric-records.md Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> * Apply suggestions from code review Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> --------- Signed-off-by: Naarcha-AWS Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> Co-authored-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> Co-authored-by: Nathan Bower --- _benchmark/metrics/index.md | 61 +++++++++++ _benchmark/metrics/metric-keys.md | 47 +++++++++ _benchmark/metrics/metric-records.md | 119 ++++++++++++++++++++++ images/benchmark/metric-index-pattern.png | Bin 0 -> 64245 bytes 4 files changed, 227 insertions(+) create mode 100644 _benchmark/metrics/index.md create mode 100644 _benchmark/metrics/metric-keys.md create mode 100644 _benchmark/metrics/metric-records.md create mode 100644 images/benchmark/metric-index-pattern.png diff --git a/_benchmark/metrics/index.md b/_benchmark/metrics/index.md new file mode 100644 index 00000000..6c8af88f --- /dev/null +++ b/_benchmark/metrics/index.md @@ -0,0 +1,61 @@ +--- +layout: default +title: Metrics +nav_order: 25 +has_children: true +--- + +# Metrics + +After a workload completes, OpenSearch Benchmark stores all metric records within its metrics store. These metrics can be kept in memory or in an OpenSearch cluster. + +## Storing metrics + +You can specify whether metrics are stored in memory or in a metrics store while running the benchmark by setting the [`datastore.type`](https://opensearch.org/docs/latest/benchmark/configuring-benchmark/#results_publishing) parameter in your `benchmark.ini` file. + +### In memory + +If you want to store metrics in memory while running the benchmark, provide the following settings in the `results_publishing` section of `benchmark.ini`: + +```ini +[results_publishing] +datastore.type = in-memory +datastore.host = +datastore.port = +datastore.secure = False +datastore.ssl.verification_mode = +datastore.user = +datastore.password = +``` + +### OpenSearch + +If you want to store metrics in an external OpenSearch memory store while running the benchmark, provide the following settings in the `results_publishing` section of `benchmark.ini`: + +```ini +[results_publishing] +datastore.type = opensearch +datastore.host = +datastore.port = 443 +datastore.secure = true +datastore.ssl.verification_mode = none +datastore.user = +datastore.password = +datastore.number_of_replicas = +datastore.number_of_shards = +``` +When neither `datastore.number_of_replicas` nor `datastore.number_of_shards` is provided, OpenSearch uses the default values: `0` for the number of replicas and `1` for the number of shards. If these settings are changed after the data store cluster is created, the new replica and shard settings will only apply when new results indexes are created at the end of the month. + +After you run OpenSearch Benchmark configured to use OpenSearch as a data store, OpenSearch Benchmark creates three indexes: + +- `benchmark-metrics-YYYY-MM`: Holds granular metric and telemetry data. +- `benchmark-results-YYYY-MM`: Holds data based on final results. +- `benchmark-test-executions-YYYY-MM`: Holds data about `execution-ids`. + +You can visualize data inside these indexes in OpenSearch Dashboards. + + +## Next steps + +- For more information about how to design a metrics store, see [Metric records]({{site.url}}{{site.baseurl}}/benchmark/metrics/metric-records/). +- For more information about what metrics are stored, see [Metric keys]({{site.url}}{{site.baseurl}}/benchmark/metrics/metric-keys/). diff --git a/_benchmark/metrics/metric-keys.md b/_benchmark/metrics/metric-keys.md new file mode 100644 index 00000000..b216948e --- /dev/null +++ b/_benchmark/metrics/metric-keys.md @@ -0,0 +1,47 @@ +--- +layout: default +title: Metric keys +nav_order: 35 +parent: Metrics +--- + +# Metric keys + +Metric keys are the metrics that OpenSearch Benchmark stores, based on the configuration in the [metrics record]({{site.url}}{{site.baseurl}}/benchmark/metrics/metric-keys/). OpenSearch Benchmark stores the following metrics: + + +- `latency`: The time period between submitting a request and receiving the complete response. This also includes wait time, such as the time the request spends waiting until it is ready to be serviced by OpenSearch Benchmark. +- `service_time`: The time period between sending a request and receiving the corresponding response. This metric is similar to latency but does not include wait time. +- `processing_time`: The time period between starting to process a request and receiving the complete response. Contrary to service time, this metric also includes the OpenSearch Benchmark client-side processing overhead. Large differences between service time and processing time indicate a high overhead in the client and can thus point to a potential client-side bottleneck, which requires investigation. +- `throughput`: The number of operations that OpenSearch Benchmark can perform within a certain time period, usually per second. See the [workload reference]({{site.url}}{{site.baseurl}}/benchmark/workloads/index/) for definitions of operation types. +- `disk_io_write_bytes`: The number of bytes written to disk during the benchmark. On Linux, this metric corresponds to only the bytes that have been written by OpenSearch Benchmark. On Mac OS, it includes the number of bytes written by all processes. +- `disk_io_read_bytes`: The number of bytes read from disk during the benchmark. On MacOS, this includes the number of bytes written by all processes. +- `node_startup_time`: The amount of time, in seconds, from the start of the process until the node is running. +- `node_total_young_gen_gc_time`: The total runtime of the young-generation garbage collector across the whole cluster, as reported by the Nodes Stats API. +- `node_total_young_gen_gc_count`: The total number of young-generation garbage collections across the whole cluster, as reported by the Nodes Stats API. +- `node_total_old_gen_gc_time`: The total runtime of the old-generation garbage collector across the whole cluster, as reported by the Nodes Stats API. +- `node_total_old_gen_gc_count`: The total number of old-generation garbage collections across the whole cluster, as reported by the Nodes Stats API. +- `node_total_zgc_cycles_gc_time`: The total time spent by the Z Garbage Collector (ZGC) on garbage collecting across the whole cluster, as reported by the Nodes Stats API. +- `node_total_zgc_cycles_gc_count`: The total number of garbage collections ZGC performed across the whole cluster, as reported by the Nodes Stats API. +- `node_total_zgc_pauses_gc_time`: The total time ZGC spent in Stop-The-World pauses across the whole cluster, as reported by the Nodes Stats API. +- `node_total_zgc_pauses_gc_count`: The total number of Stop-The-World pauses during ZGC execution across the whole cluster, as reported by the Nodes Stats API. +- `segments_count`: The total number of open segments, as reported by the Index Stats API. +- `segments_memory_in_bytes`: The total number of bytes used for all open segments, as reported by the Index Stats API. +- `segments_doc_values_memory_in_bytes`: The number of bytes used for document values, as reported by the Index Stats API. +- `segments_stored_fields_memory_in_bytes`: The number of bytes used for stored fields, as reported by the Index Stats API. +- `segments_terms_memory_in_bytes`: The number of bytes used for terms, as reported by the Index Stats API. +- `segments_norms_memory_in_bytes`: The number of bytes used for norms, as reported by the Index Stats API. +- `segments_points_memory_in_bytes`: The number of bytes used for points, as reported by the Index Stats API. +- `merges_total_time`: The cumulative runtime of merges for primary shards, as reported by the Index Stats API. Note that this time is not wall clock time. If M merge threads ran for N minutes, Benchmark reports the amount of time as M * N minutes, not N minutes. These metrics records have an additional per-shard property that contains the times across primary shards in an array. +- `merges_total_count`: The cumulative number of merges of primary shards, as reported by Index Stats API under `_all/primaries`. +- `merges_total_throttled_time`: The cumulative time for merges that have been throttled, as reported by the Index Stats API. Note that this time is not wall clock time. These metrics records have an additional per-shard property that contains the times across primary shards in an array. +- `indexing_total_time`: The cumulative time used for indexing of primary shards, as reported by the Index Stats API. Note that this is not wall clock time. These metrics records have an additional per-shard property that contains the times across primary shards in an array. +- `indexing_throttle_time`: The cumulative time during which indexing has been throttled, as reported by the Index Stats API. Note that this is not wall clock time. These metrics records have an additional per-shard property that contains the times across primary shards in an array. +- `refresh_total_time`: The cumulative time used for index refresh of primary shards, as reported by the Index Stats API. Note that this is not wall clock time. These metrics records have an additional per-shard property that contains the times across primary shards in an array. +- `refresh_total_count`: The cumulative number of refreshes of primary shards, as reported by the Index Stats API under `_all/primaries`. +- `flush_total_time`: The cumulative time used for index flush of primary shards, as reported by the Index Stats API. Note that this is not wall clock time. These metrics records have an additional per-shard property that contains the times across primary shards in an array. +- `flush_total_count`: The cumulative number of flushes of primary shards, as reported by the Index Stats API under `_all/primaries`. +- `final_index_size_bytes`: The final index size on the file system after all nodes have been shut down at the end of the benchmark, in bytes. It includes all files in the nodes’ data directories, such as index files and the translog. +- `store_size_in_bytes`: The size of the index, excluding the translog, as reported by the Index Stats API, in bytes . +- `translog_size_in_bytes`: The size of the translog, as reported by the Index Stats API, in bytes. +- `ml_processing_time`: An object containing the minimum, mean, median, and maximum bucket processing time per machine learning job, in milliseconds. These metrics are only available if a machine learning job has been created in the respective benchmark. diff --git a/_benchmark/metrics/metric-records.md b/_benchmark/metrics/metric-records.md new file mode 100644 index 00000000..3ad7d1b7 --- /dev/null +++ b/_benchmark/metrics/metric-records.md @@ -0,0 +1,119 @@ +--- +layout: default +title: Metric records +nav_order: 30 +parent: Metrics +--- + +# Metric records + +OpenSearch Benchmark stores metrics in the `benchmark-metrics-*` indexes. A new index is created each month. The following is an example metric record stored in the `benchmark-metrics-2023-08` index: + +```json +{ + "_index": "benchmark-metrics-2023-08", + "_id": "UiNY4YkBpMtdJ7uj2rUe", + "_version": 1, + "_score": null, + "_source": { + "@timestamp": 1691702842821, + "relative-time-ms": 65.90720731765032, + "test-execution-id": "8c43ee4c-cb34-494b-81b2-181be244f832", + "test-execution-timestamp": "20230810T212711Z", + "environment": "local", + "workload": "geonames", + "test_procedure": "append-no-conflicts", + "provision-config-instance": "external", + "name": "service_time", + "value": 607.8001195564866, + "unit": "ms", + "sample-type": "normal", + "meta": { + "source_revision": "unknown", + "distribution_version": "1.1.0", + "distribution_flavor": "oss", + "index": "geonames", + "took": 13, + "success": true, + "success-count": 125, + "error-count": 0 + }, + "task": "index-append", + "operation": "index-append", + "operation-type": "bulk" + }, + "fields": { + "@timestamp": [ + "2023-08-10T21:27:22.821Z" + ], + "test-execution-timestamp": [ + "2023-08-10T21:27:11.000Z" + ] + }, + "highlight": { + "workload": [ + "@opensearch-dashboards-highlighted-field@geonames@/opensearch-dashboards-highlighted-field@" + ], + "meta.index": [ + "@opensearch-dashboards-highlighted-field@geonames@/opensearch-dashboards-highlighted-field@" + ] + }, + "sort": [ + 1691702831000 + ] +} +``` + +The following fields found in the `_source` section of the metric's record are configurable in the `opensearch-benchmarks-metrics-*` file. + +## @timestamp + +The timestamp of when the sample was taken since the epoch, in milliseconds. For request-related metrics, such as `latency` or `service_time`, this is the timestamp of when OpenSearch Benchmark issued the request. + +## relative-time-ms + +The relative time since the start of the benchmark, in milliseconds. This is useful for comparing time-series graphs across multiple tests. For example, you can compare the indexing throughput over time across multiple tests. + +## test-execution-id + +A UUID that changes on every invocation of the workload. It is intended to group all samples of a benchmarking run. + +## test-execution-timestamp + +The timestamp of when the workload was invoked (always in UTC). + +## environment + +The `environment` describes the origin of a metric record. This is defined when initially [configuring]({{site.url}}{{site.baseurl}}/benchmark/configuring-benchmark/) OpenSearch Benchmark. You can use separate environments for different benchmarks but store the metric records in the same index. + +## workload, test_procedure, provision-config-instance + +The workload, test procedures, and configuration instances for which the metrics are produced. + +## name, value, unit + +The actual metric name and value, with an optional unit. Depending on the nature of a metric, it is either sampled periodically by OpenSearch Benchmark, for example, CPU utilization or query latency, or measured once, for example, the final size of the index. + +## sample-type + +Determines whether to configure a benchmark to run in warmup mode by setting it to `warmup` or `normal`. Only `normal` samples are considered for the results that are reported. + +## meta + +The meta information for each metric record, including the following: + +- CPU info: The number of physical and logical cores and the model name. +- OS info: The name and version of the operating system. +- Hostname. +- Node name: A unique name given to each node when OpenSearch Benchmark provisions the cluster. +- Source revision: The Git hash of the version of OpenSearch that is benchmarked. +- Distribution version: The distribution version of OpenSearch that is benchmarked. +- Custom tags: You can define custom tags by using the command line flag `--user-tags`. The tags are prefixed by `tag_` in order to avoid accidental clashes with OpenSearch Benchmark internal tags. +- Operation specific: An optional substructure of the operation. For bulk requests, this may be the number of documents; for searches, the number of hits. + +Depending on the metric record, some meta information might be missing. + +## Next steps + +- For more information about how to access OpenSearch Benchmark metrics, see [Metrics]({{site.url}}{{site.baseurl}}/benchmark/metrics/index/). +- For more information about the metrics stored in OpenSearch Benchmark, see [Metric keys]({{site.url}}{{site.baseurl}}/benchmark/metrics/metric-keys/). diff --git a/images/benchmark/metric-index-pattern.png b/images/benchmark/metric-index-pattern.png new file mode 100644 index 0000000000000000000000000000000000000000..cbdf452a97f8ad10fe27922849f2dfa1625b1bd2 GIT binary patch literal 64245 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%0D& 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