| // Licensed to the Apache Software Foundation (ASF) under one or more |
| // contributor license agreements. See the NOTICE file distributed with |
| // this work for additional information regarding copyright ownership. |
| // The ASF licenses this file to You under the Apache License, Version 2.0 |
| // (the "License"); you may not use this file except in compliance with |
| // the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| = Performance Statistics Extension |
| |
| == Overview |
| |
| Ignite provides link:monitoring-metrics/performance-statistics[a built-in tool for cluster profiling.] |
| |
| The extension provides utilities to link:#building-the-report[create the report] and |
| link:#print-statistics[print statistics] from the collected files. |
| |
| == Building the Report |
| |
| Ignite provides a tool to generate the report from the performance statistics files. |
| |
| Follow these steps to build the performance report: |
| |
| 1. Stop collecting statistics and place files from all nodes under an empty directory. For example: |
| |
| /path_to_files/ |
| ├── node-162c7147-fef8-4ea2-bd25-8653c41fc7fa.prf |
| ├── node-7b8a7c5c-f3b7-46c3-90da-e66103c00001.prf |
| └── node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf |
| |
| 2. Run the script from the release package of the tool: |
| |
| [source,shell] |
| ---- |
| performance-statistics-tool/build-report.sh path_to_files |
| ---- |
| |
| The performance report is created in the new directory under the performance statistics files: |
| `path_to_files/report_yyyy-MM-dd_HH-mm-ss/`. |
| Open `report_yyyy-MM-dd_HH-mm-ss/index.html` in the browser to see the report. |
| |
| For more details run the help command: |
| |
| [source,shell] |
| ---- |
| performance-statistics-tool/build-report.sh --help |
| ---- |
| |
| == Print Statistics |
| |
| Ignite provides a tool to print statistics to a console or to a file in JSON format. |
| |
| Run the script from the release package of the tool to print statistics: |
| |
| [source,shell] |
| ---- |
| performance-statistics-tool/print-statistics.sh path_to_files |
| ---- |
| |
| Note that `path_to_files` is a path to the performance statistics file or files directory. |
| |
| The script provides the ability to filter operations by operation's type, time, or cache. For more details run the |
| help command: |
| |
| [source,shell] |
| ---- |
| performance-statistics-tool/print-statistics.sh --help |
| ---- |
| |
| See the output example below: |
| |
| {"op":"CACHE_GET","nodeId":"955130d1-5218-4e46-87f6-62755e92e9b4","cacheId":-1809642915,"startTime":1616837094237,"duration":64992213} |
| {"op":"CACHE_PUT","nodeId":"955130d1-5218-4e46-87f6-62755e92e9b4","cacheId":-1809642915,"startTime":1616837094237,"duration":879869} |
| {"op":"CACHE_GET_AND_PUT","nodeId":"955130d1-5218-4e46-87f6-62755e92e9b4","cacheId":1328364293,"startTime":1616837094248,"duration":17186240} |
| {"op":"TX_COMMIT","nodeId":"955130d1-5218-4e46-87f6-62755e92e9b4","cacheIds":[-1809642915],"startTime":1616837094172,"duration":184887787} |
| {"op":"QUERY","nodeId":"955130d1-5218-4e46-87f6-62755e92e9b4","type":"SQL_FIELDS","text":"create table Person (id int, val varchar, primary key (id))","id":0,"startTime":1616837094143,"duration":258741595,"success":true} |