You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ignite.apache.org by GitBox <gi...@apache.org> on 2021/01/14 06:13:21 UTC

[GitHub] [ignite] NSAmelchev opened a new pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

NSAmelchev opened a new pull request #8663:
URL: https://github.com/apache/ignite/pull/8663


   Thank you for submitting the pull request to the Apache Ignite.
   
   In order to streamline the review of the contribution 
   we ask you to ensure the following steps have been taken:
   
   ### The Contribution Checklist
   - [ ] There is a single JIRA ticket related to the pull request. 
   - [ ] The web-link to the pull request is attached to the JIRA ticket.
   - [ ] The JIRA ticket has the _Patch Available_ state.
   - [ ] The pull request body describes changes that have been made. 
   The description explains _WHAT_ and _WHY_ was made instead of _HOW_.
   - [ ] The pull request title is treated as the final commit message. 
   The following pattern must be used: `IGNITE-XXXX Change summary` where `XXXX` - number of JIRA issue.
   - [ ] A reviewer has been mentioned through the JIRA comments 
   (see [the Maintainers list](https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute#HowtoContribute-ReviewProcessandMaintainers)) 
   - [ ] The pull request has been checked by the Teamcity Bot and 
   the `green visa` attached to the JIRA ticket (see [TC.Bot: Check PR](https://mtcga.gridgain.com/prs.html))
   
   ### Notes
   - [How to Contribute](https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute)
   - [Coding abbreviation rules](https://cwiki.apache.org/confluence/display/IGNITE/Abbreviation+Rules)
   - [Coding Guidelines](https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines)
   - [Apache Ignite Teamcity Bot](https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+Teamcity+Bot)
   
   If you need any help, please email dev@ignite.apache.org or ask anу advice on http://asf.slack.com _#ignite_ channel.
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Nikita-tech-writer commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Nikita-tech-writer commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r558299786



##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,97 @@
+// 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
+
+WARNING: This feature is experimental and may change in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then
+link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+link:#jmx[JMX interface] is used to start and stop statistics collecting.
+
+Each node collects performance statistics in a binary file. This file is placed under
+`Ignite_work_directory/perf_stat/` directory. The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline.
+
+Nodes use off-heap cyclic buffer to temporarily store serialized statistics. The writer thread flushes buffer to the
+file when the flush size is reached. Some statistics will be skipped if the buffer overflows due to a slow disk. See
+the link:#system-properties[properties] section for customization.
+
+Each statistics collection process creates a new file on nodes. Each next file has the same name with the
+corresponding index:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the
+ignite-extensions repository:
+https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext,
+windows="_blank"].
+
+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:
+
+        performance-statistics-tool/build-report.sh path_to_files
+
+The performance report will be created in the new directory under the performance statistics files
+path: `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.
+
+== Management
+
+Here you'll learn about JMX interface and system properties.
+
+=== JMX
+
+You can manage the performance statistics collection via the `PerformanceStatisticsMBean` interface:
+
+[cols="1,2",opts="header"]
+|===
+|Method | Description
+|start() | Start collecting performance statistics in the cluster.
+|stop() | Stop collecting performance statistics in the cluster.
+|started() | True if performance statistics collection is started.
+|===
+
+=== System properties
+
+[cols="2,1,1,3",opts="header"]
+|===
+|Property | Type | Default Value | Description
+|IGNITE_PERF_STAT_FILE_MAX_SIZE | Long | 32 Gb | Maximum performance statistics file size in bytes. Performance
+statistics collection will be stopped when the file size exceeded.

Review comment:
       ```suggestion
   statistics collection is stopped when the file size is exceeded.
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Nikita-tech-writer commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Nikita-tech-writer commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r558299278



##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,97 @@
+// 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
+
+WARNING: This feature is experimental and may change in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then
+link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+link:#jmx[JMX interface] is used to start and stop statistics collecting.
+
+Each node collects performance statistics in a binary file. This file is placed under
+`Ignite_work_directory/perf_stat/` directory. The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline.
+
+Nodes use off-heap cyclic buffer to temporarily store serialized statistics. The writer thread flushes buffer to the
+file when the flush size is reached. Some statistics will be skipped if the buffer overflows due to a slow disk. See
+the link:#system-properties[properties] section for customization.
+
+Each statistics collection process creates a new file on nodes. Each next file has the same name with the
+corresponding index:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the
+ignite-extensions repository:
+https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext,
+windows="_blank"].
+
+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:
+
+        performance-statistics-tool/build-report.sh path_to_files
+
+The performance report will be created in the new directory under the performance statistics files
+path: `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.
+
+== Management
+
+Here you'll learn about JMX interface and system properties.

Review comment:
       ```suggestion
   The following section provides information on JMX interface and system properties.
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Nikita-tech-writer commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Nikita-tech-writer commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r558295617



##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,97 @@
+// 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
+
+WARNING: This feature is experimental and may change in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then
+link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+link:#jmx[JMX interface] is used to start and stop statistics collecting.
+
+Each node collects performance statistics in a binary file. This file is placed under
+`Ignite_work_directory/perf_stat/` directory. The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline.
+
+Nodes use off-heap cyclic buffer to temporarily store serialized statistics. The writer thread flushes buffer to the
+file when the flush size is reached. Some statistics will be skipped if the buffer overflows due to a slow disk. See

Review comment:
       ```suggestion
   file when the flush size is reached. Some statistics are skipped if the buffer overflows due to a slow disk. See
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Nikita-tech-writer commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Nikita-tech-writer commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r558294938



##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,97 @@
+// 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
+
+WARNING: This feature is experimental and may change in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then
+link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+link:#jmx[JMX interface] is used to start and stop statistics collecting.
+
+Each node collects performance statistics in a binary file. This file is placed under
+`Ignite_work_directory/perf_stat/` directory. The name mask is `node-{nodeId}-{index}.prf`.

Review comment:
       ```suggestion
   the `Ignite_work_directory/perf_stat/` directory. The name mask is `node-{nodeId}-{index}.prf`.
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Nikita-tech-writer commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Nikita-tech-writer commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r558294583



##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,97 @@
+// 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

Review comment:
       ```suggestion
   = Performance Statistics
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Nikita-tech-writer commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Nikita-tech-writer commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r558297823



##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,97 @@
+// 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
+
+WARNING: This feature is experimental and may change in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then
+link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+link:#jmx[JMX interface] is used to start and stop statistics collecting.
+
+Each node collects performance statistics in a binary file. This file is placed under
+`Ignite_work_directory/perf_stat/` directory. The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline.
+
+Nodes use off-heap cyclic buffer to temporarily store serialized statistics. The writer thread flushes buffer to the
+file when the flush size is reached. Some statistics will be skipped if the buffer overflows due to a slow disk. See
+the link:#system-properties[properties] section for customization.
+
+Each statistics collection process creates a new file on nodes. Each next file has the same name with the
+corresponding index:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf

Review comment:
       1. It would be better to say : "Each next file has the same name with the
   corresponding index. See the examples below:"
   
   2. I would put this group of names as a list




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Mmuzaf merged pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Mmuzaf merged pull request #8663:
URL: https://github.com/apache/ignite/pull/8663


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Nikita-tech-writer commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Nikita-tech-writer commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r558294475



##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,97 @@
+// 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
+
+WARNING: This feature is experimental and may change in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then
+link:#building-the-report[build] the performance report.
+
+== Collecting statistics

Review comment:
       ```suggestion
   == Collecting Statistics
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Nikita-tech-writer commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Nikita-tech-writer commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r558300242



##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,97 @@
+// 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
+
+WARNING: This feature is experimental and may change in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then
+link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+link:#jmx[JMX interface] is used to start and stop statistics collecting.
+
+Each node collects performance statistics in a binary file. This file is placed under
+`Ignite_work_directory/perf_stat/` directory. The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline.
+
+Nodes use off-heap cyclic buffer to temporarily store serialized statistics. The writer thread flushes buffer to the
+file when the flush size is reached. Some statistics will be skipped if the buffer overflows due to a slow disk. See
+the link:#system-properties[properties] section for customization.
+
+Each statistics collection process creates a new file on nodes. Each next file has the same name with the
+corresponding index:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the
+ignite-extensions repository:
+https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext,
+windows="_blank"].
+
+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:
+
+        performance-statistics-tool/build-report.sh path_to_files
+
+The performance report will be created in the new directory under the performance statistics files
+path: `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.
+
+== Management
+
+Here you'll learn about JMX interface and system properties.
+
+=== JMX
+
+You can manage the performance statistics collection via the `PerformanceStatisticsMBean` interface:
+
+[cols="1,2",opts="header"]
+|===
+|Method | Description
+|start() | Start collecting performance statistics in the cluster.
+|stop() | Stop collecting performance statistics in the cluster.
+|started() | True if performance statistics collection is started.
+|===
+
+=== System properties
+
+[cols="2,1,1,3",opts="header"]
+|===
+|Property | Type | Default Value | Description
+|IGNITE_PERF_STAT_FILE_MAX_SIZE | Long | 32 Gb | Maximum performance statistics file size in bytes. Performance
+statistics collection will be stopped when the file size exceeded.
+|IGNITE_PERF_STAT_BUFFER_SIZE | Integer | 32 Mb | Performance statistics off heap buffer size in bytes.
+|IGNITE_PERF_STAT_FLUSH_SIZE | Integer | 8 Mb | Minimal performance statistics batch size to be flushed in bytes.
+|IGNITE_PERF_STAT_CACHED_STRINGS_THRESHOLD | Integer | 1024 | Maximum performance statistics cached strings threshold.
+String caching will be stopped, when the threshold is exceeded.

Review comment:
       ```suggestion
   String caching is stopped when the threshold is exceeded.
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] NSAmelchev commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
NSAmelchev commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r559108405



##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,97 @@
+// 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
+
+WARNING: This feature is experimental and may change in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then
+link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+link:#jmx[JMX interface] is used to start and stop statistics collecting.
+
+Each node collects performance statistics in a binary file. This file is placed under
+`Ignite_work_directory/perf_stat/` directory. The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline.
+
+Nodes use off-heap cyclic buffer to temporarily store serialized statistics. The writer thread flushes buffer to the
+file when the flush size is reached. Some statistics will be skipped if the buffer overflows due to a slow disk. See
+the link:#system-properties[properties] section for customization.
+
+Each statistics collection process creates a new file on nodes. Each next file has the same name with the
+corresponding index:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf

Review comment:
       Fixed.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Nikita-tech-writer commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Nikita-tech-writer commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r558301414



##########
File path: modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
##########
@@ -1987,19 +1987,19 @@
     public static final String IGNITE_PERF_STAT_BUFFER_SIZE = "IGNITE_PERF_STAT_BUFFER_SIZE";
 
     /**
-     * Performance statistics minimal batch size to flush in bytes. The default value is
+     * Minimal performance statistics batch size to be flushed in bytes. The default value is
      * {@link FilePerformanceStatisticsWriter#DFLT_FLUSH_SIZE}.
      */
-    @SystemProperty(value = "Performance statistics minimal batch size to flush in bytes", type = Integer.class,
+    @SystemProperty(value = "Minimal performance statistics batch size to be flushed in bytes", type = Integer.class,
         defaults = "" + DFLT_FLUSH_SIZE)
     public static final String IGNITE_PERF_STAT_FLUSH_SIZE = "IGNITE_PERF_STAT_FLUSH_SIZE";
 
     /**
-     * Performance statistics maximum cached strings threshold. String caching will stop on threshold excess.
-     * The default value is {@link FilePerformanceStatisticsWriter#DFLT_CACHED_STRINGS_THRESHOLD}.
+     * Maximum performance statistics cached strings threshold. String caching will be stopped, when the threshold
+     * is exceeded. The default value is {@link FilePerformanceStatisticsWriter#DFLT_CACHED_STRINGS_THRESHOLD}.

Review comment:
       ```suggestion
        * Maximum performance statistics cached strings threshold. String caching is stopped when the threshold
        * is exceeded. The default value is {@link FilePerformanceStatisticsWriter#DFLT_CACHED_STRINGS_THRESHOLD}.
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Silberfuchs1 commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Silberfuchs1 commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r557401895



##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].

Review comment:
       I don't think you need 'the' here.

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.

Review comment:
       'Each node collects performance statistics in a binary file.'

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the ignite-extensions repository: https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext, windows="_blank"].
+
+To build the performance report follow:
+
+1. Collect performance statistics files from all nodes under an empty directory. For example:
+
+    path_to_files

Review comment:
       /path_to_files/

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the ignite-extensions repository: https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext, windows="_blank"].
+
+To build the performance report follow:
+
+1. Collect performance statistics 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:
+
+        performance-statistics-tool/build-report.sh path_to_files
+
+The performance report will be created in the new directory under the performance statistics files path:
+`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.
+
+== Management
+
+=== JMX
+
+You can manage the performance statistics collection via the `PerformanceStatisticsMBean` interface:
+
+[cols="1,2",opts="header"]
+|===
+|Method | Description
+|start() | Start collecting performance statistics in the cluster.
+|stop() | Stop collecting performance statistics in the cluster.
+|started() | True if collecting performance statistics is started.

Review comment:
       '...performance statistics collection is started'

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the ignite-extensions repository: https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext, windows="_blank"].
+
+To build the performance report follow:
+
+1. Collect performance statistics 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:
+
+        performance-statistics-tool/build-report.sh path_to_files
+
+The performance report will be created in the new directory under the performance statistics files path:
+`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.
+
+== Management
+
+=== JMX
+
+You can manage the performance statistics collection via the `PerformanceStatisticsMBean` interface:
+
+[cols="1,2",opts="header"]
+|===
+|Method | Description
+|start() | Start collecting performance statistics in the cluster.
+|stop() | Stop collecting performance statistics in the cluster.
+|started() | True if collecting performance statistics is started.
+|===
+
+=== System properties
+
+[cols="2,1,1,3",opts="header"]
+|===
+|Property | Type | Default Value | Description
+|IGNITE_PERF_STAT_FILE_MAX_SIZE | Long | 32 Gb | Performance statistics maximum file size in bytes. Performance statistics will be stopped when the size exceeded.
+|IGNITE_PERF_STAT_BUFFER_SIZE | Integer | 32 Mb | Performance statistics off heap buffer size in bytes.
+|IGNITE_PERF_STAT_FLUSH_SIZE | Integer | 8 Mb | Performance statistics minimal batch size to flush in bytes.

Review comment:
       'Minimal performance statistics batch size to be flushed in bytes.'

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the ignite-extensions repository: https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext, windows="_blank"].
+
+To build the performance report follow:
+
+1. Collect performance statistics 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:
+
+        performance-statistics-tool/build-report.sh path_to_files
+
+The performance report will be created in the new directory under the performance statistics files path:
+`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.
+
+== Management
+
+=== JMX
+
+You can manage the performance statistics collection via the `PerformanceStatisticsMBean` interface:
+
+[cols="1,2",opts="header"]
+|===
+|Method | Description
+|start() | Start collecting performance statistics in the cluster.
+|stop() | Stop collecting performance statistics in the cluster.
+|started() | True if collecting performance statistics is started.
+|===
+
+=== System properties
+
+[cols="2,1,1,3",opts="header"]
+|===
+|Property | Type | Default Value | Description
+|IGNITE_PERF_STAT_FILE_MAX_SIZE | Long | 32 Gb | Performance statistics maximum file size in bytes. Performance statistics will be stopped when the size exceeded.
+|IGNITE_PERF_STAT_BUFFER_SIZE | Integer | 32 Mb | Performance statistics off heap buffer size in bytes.
+|IGNITE_PERF_STAT_FLUSH_SIZE | Integer | 8 Mb | Performance statistics minimal batch size to flush in bytes.
+|IGNITE_PERF_STAT_CACHED_STRINGS_THRESHOLD | Integer | 1024 | Performance statistics maximum cached strings threshold. String caching will stop on threshold excess.

Review comment:
       'Maximum performance statistics cached strings threshold. String caching will be stopped, when the threshold is exceeded.

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the ignite-extensions repository: https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext, windows="_blank"].
+
+To build the performance report follow:
+
+1. Collect performance statistics 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:
+
+        performance-statistics-tool/build-report.sh path_to_files
+
+The performance report will be created in the new directory under the performance statistics files path:
+`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.
+
+== Management
+

Review comment:
       You should not leave the empty line between two headings. Put something in there, for example:
   'Here you'll learn about JMX interface and system properties.'
   

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:

Review comment:
       Each statistics collection process creates a new file on nodes. Each next file has the same name with the corresponding index:

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the ignite-extensions repository: https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext, windows="_blank"].
+
+To build the performance report follow:

Review comment:
       Follow these steps to build the performance report:

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the ignite-extensions repository: https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext, windows="_blank"].
+
+To build the performance report follow:
+
+1. Collect performance statistics 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:
+
+        performance-statistics-tool/build-report.sh path_to_files
+
+The performance report will be created in the new directory under the performance statistics files path:
+`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.
+
+== Management
+
+=== JMX
+
+You can manage the performance statistics collection via the `PerformanceStatisticsMBean` interface:
+
+[cols="1,2",opts="header"]
+|===
+|Method | Description
+|start() | Start collecting performance statistics in the cluster.
+|stop() | Stop collecting performance statistics in the cluster.
+|started() | True if collecting performance statistics is started.
+|===
+
+=== System properties
+
+[cols="2,1,1,3",opts="header"]
+|===
+|Property | Type | Default Value | Description
+|IGNITE_PERF_STAT_FILE_MAX_SIZE | Long | 32 Gb | Performance statistics maximum file size in bytes. Performance statistics will be stopped when the size exceeded.

Review comment:
       'Maximum performance statistics file size in bytes'
   'Performance statistics collection will be stopped...'




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Nikita-tech-writer commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Nikita-tech-writer commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r558300975



##########
File path: modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
##########
@@ -1971,11 +1971,11 @@
         "IGNITE_DEFRAGMENTATION_REGION_SIZE_PERCENTAGE";
 
     /**
-     * Performance statistics maximum file size in bytes. Performance statistics will be stopped when the size exceeded.
-     * The default value is {@link FilePerformanceStatisticsWriter#DFLT_FILE_MAX_SIZE}.
+     * Maximum performance statistics file size in bytes. Performance statistics collection will be stopped when the
+     * file size exceeded. The default value is {@link FilePerformanceStatisticsWriter#DFLT_FILE_MAX_SIZE}.
      */
-    @SystemProperty(value = "Performance statistics maximum file size in bytes. Performance statistics will be " +
-        "stopped when the size exceeded", type = Long.class, defaults = "" + DFLT_FILE_MAX_SIZE)
+    @SystemProperty(value = "Maximum performance statistics file size in bytes. Performance statistics collection " +
+        "will be stopped when the file size exceeded", type = Long.class, defaults = "" + DFLT_FILE_MAX_SIZE)

Review comment:
       ```suggestion
           "is stopped when the file size is exceeded", type = Long.class, defaults = "" + DFLT_FILE_MAX_SIZE)
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] NSAmelchev commented on pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
NSAmelchev commented on pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#issuecomment-761760419


   @Nikita-tech-writer  Thank you for the review! I have applied your suggestions.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Nikita-tech-writer commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Nikita-tech-writer commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r558298364



##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,97 @@
+// 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
+
+WARNING: This feature is experimental and may change in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then
+link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+link:#jmx[JMX interface] is used to start and stop statistics collecting.
+
+Each node collects performance statistics in a binary file. This file is placed under
+`Ignite_work_directory/perf_stat/` directory. The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline.
+
+Nodes use off-heap cyclic buffer to temporarily store serialized statistics. The writer thread flushes buffer to the
+file when the flush size is reached. Some statistics will be skipped if the buffer overflows due to a slow disk. See
+the link:#system-properties[properties] section for customization.
+
+Each statistics collection process creates a new file on nodes. Each next file has the same name with the
+corresponding index:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the
+ignite-extensions repository:
+https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext,
+windows="_blank"].
+
+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:
+
+        performance-statistics-tool/build-report.sh path_to_files
+
+The performance report will be created in the new directory under the performance statistics files

Review comment:
       ```suggestion
   The performance report is created in the new directory under the performance statistics files
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Silberfuchs1 commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Silberfuchs1 commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r557850084



##########
File path: modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
##########
@@ -1971,11 +1971,11 @@
         "IGNITE_DEFRAGMENTATION_REGION_SIZE_PERCENTAGE";
 
     /**
-     * Performance statistics maximum file size in bytes. Performance statistics will be stopped when the size exceeded.
-     * The default value is {@link FilePerformanceStatisticsWriter#DFLT_FILE_MAX_SIZE}.
+     * Maximum performance statistics file size in bytes. Performance statistics collection will be stopped when the
+     * size exceeded. The default value is {@link FilePerformanceStatisticsWriter#DFLT_FILE_MAX_SIZE}.

Review comment:
       '...when the file size is exceeded'




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] NSAmelchev commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
NSAmelchev commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r557449764



##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the ignite-extensions repository: https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext, windows="_blank"].
+
+To build the performance report follow:
+
+1. Collect performance statistics 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:
+
+        performance-statistics-tool/build-report.sh path_to_files
+
+The performance report will be created in the new directory under the performance statistics files path:
+`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.
+
+== Management
+

Review comment:
       Fixed.

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the ignite-extensions repository: https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext, windows="_blank"].
+
+To build the performance report follow:
+
+1. Collect performance statistics 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:
+
+        performance-statistics-tool/build-report.sh path_to_files
+
+The performance report will be created in the new directory under the performance statistics files path:
+`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.
+
+== Management
+
+=== JMX
+
+You can manage the performance statistics collection via the `PerformanceStatisticsMBean` interface:
+
+[cols="1,2",opts="header"]
+|===
+|Method | Description
+|start() | Start collecting performance statistics in the cluster.
+|stop() | Stop collecting performance statistics in the cluster.
+|started() | True if collecting performance statistics is started.
+|===
+
+=== System properties
+
+[cols="2,1,1,3",opts="header"]
+|===
+|Property | Type | Default Value | Description
+|IGNITE_PERF_STAT_FILE_MAX_SIZE | Long | 32 Gb | Performance statistics maximum file size in bytes. Performance statistics will be stopped when the size exceeded.
+|IGNITE_PERF_STAT_BUFFER_SIZE | Integer | 32 Mb | Performance statistics off heap buffer size in bytes.
+|IGNITE_PERF_STAT_FLUSH_SIZE | Integer | 8 Mb | Performance statistics minimal batch size to flush in bytes.
+|IGNITE_PERF_STAT_CACHED_STRINGS_THRESHOLD | Integer | 1024 | Performance statistics maximum cached strings threshold. String caching will stop on threshold excess.

Review comment:
       Fixed.

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the ignite-extensions repository: https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext, windows="_blank"].
+
+To build the performance report follow:
+
+1. Collect performance statistics 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:
+
+        performance-statistics-tool/build-report.sh path_to_files
+
+The performance report will be created in the new directory under the performance statistics files path:
+`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.
+
+== Management
+
+=== JMX
+
+You can manage the performance statistics collection via the `PerformanceStatisticsMBean` interface:
+
+[cols="1,2",opts="header"]
+|===
+|Method | Description
+|start() | Start collecting performance statistics in the cluster.
+|stop() | Stop collecting performance statistics in the cluster.
+|started() | True if collecting performance statistics is started.
+|===
+
+=== System properties
+
+[cols="2,1,1,3",opts="header"]
+|===
+|Property | Type | Default Value | Description
+|IGNITE_PERF_STAT_FILE_MAX_SIZE | Long | 32 Gb | Performance statistics maximum file size in bytes. Performance statistics will be stopped when the size exceeded.
+|IGNITE_PERF_STAT_BUFFER_SIZE | Integer | 32 Mb | Performance statistics off heap buffer size in bytes.
+|IGNITE_PERF_STAT_FLUSH_SIZE | Integer | 8 Mb | Performance statistics minimal batch size to flush in bytes.

Review comment:
       Fixed.

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the ignite-extensions repository: https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext, windows="_blank"].
+
+To build the performance report follow:
+
+1. Collect performance statistics 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:
+
+        performance-statistics-tool/build-report.sh path_to_files
+
+The performance report will be created in the new directory under the performance statistics files path:
+`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.
+
+== Management
+
+=== JMX
+
+You can manage the performance statistics collection via the `PerformanceStatisticsMBean` interface:
+
+[cols="1,2",opts="header"]
+|===
+|Method | Description
+|start() | Start collecting performance statistics in the cluster.
+|stop() | Stop collecting performance statistics in the cluster.
+|started() | True if collecting performance statistics is started.
+|===
+
+=== System properties
+
+[cols="2,1,1,3",opts="header"]
+|===
+|Property | Type | Default Value | Description
+|IGNITE_PERF_STAT_FILE_MAX_SIZE | Long | 32 Gb | Performance statistics maximum file size in bytes. Performance statistics will be stopped when the size exceeded.

Review comment:
       Fixed.

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the ignite-extensions repository: https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext, windows="_blank"].
+
+To build the performance report follow:
+
+1. Collect performance statistics 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:
+
+        performance-statistics-tool/build-report.sh path_to_files
+
+The performance report will be created in the new directory under the performance statistics files path:
+`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.
+
+== Management
+
+=== JMX
+
+You can manage the performance statistics collection via the `PerformanceStatisticsMBean` interface:
+
+[cols="1,2",opts="header"]
+|===
+|Method | Description
+|start() | Start collecting performance statistics in the cluster.
+|stop() | Stop collecting performance statistics in the cluster.
+|started() | True if collecting performance statistics is started.

Review comment:
       Fixed.

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the ignite-extensions repository: https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext, windows="_blank"].
+
+To build the performance report follow:
+
+1. Collect performance statistics files from all nodes under an empty directory. For example:
+
+    path_to_files

Review comment:
       Fixed.

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report
+
+Ignite provides a tool to generate the report from performance statistics files. The tool is published in the ignite-extensions repository: https://github.com/apache/ignite-extensions/tree/master/modules/performance-statistics-ext/[performance-statistics-ext, windows="_blank"].
+
+To build the performance report follow:

Review comment:
       Fixed.

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.
+The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline. Stop collecting statistics before creating the report.
+
+Nodes use off-heap buffer to temporarily store serialized statistics. The writer thread flushes buffer to the file when the flush size is reached. See the link:#system-properties[properties] section for details.
+
+Each start of collecting statistics will create a new file on nodes. The index in the file name will be increased if such file exists:

Review comment:
       Fixed.

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].
+
+Each node collects performance statistics to the file in binary format. This file is placed under `Ignite_work_directory/perf_stat/` directory.

Review comment:
       Fixed.

##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,85 @@
+// 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
+
+WARNING: This feature is experimental and can be changed in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+To start and stop collecting statistics use the link:#jmx[JMX interface].

Review comment:
       Fixed.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Nikita-tech-writer commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Nikita-tech-writer commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r558301579



##########
File path: modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
##########
@@ -1987,19 +1987,19 @@
     public static final String IGNITE_PERF_STAT_BUFFER_SIZE = "IGNITE_PERF_STAT_BUFFER_SIZE";
 
     /**
-     * Performance statistics minimal batch size to flush in bytes. The default value is
+     * Minimal performance statistics batch size to be flushed in bytes. The default value is
      * {@link FilePerformanceStatisticsWriter#DFLT_FLUSH_SIZE}.
      */
-    @SystemProperty(value = "Performance statistics minimal batch size to flush in bytes", type = Integer.class,
+    @SystemProperty(value = "Minimal performance statistics batch size to be flushed in bytes", type = Integer.class,
         defaults = "" + DFLT_FLUSH_SIZE)
     public static final String IGNITE_PERF_STAT_FLUSH_SIZE = "IGNITE_PERF_STAT_FLUSH_SIZE";
 
     /**
-     * Performance statistics maximum cached strings threshold. String caching will stop on threshold excess.
-     * The default value is {@link FilePerformanceStatisticsWriter#DFLT_CACHED_STRINGS_THRESHOLD}.
+     * Maximum performance statistics cached strings threshold. String caching will be stopped, when the threshold
+     * is exceeded. The default value is {@link FilePerformanceStatisticsWriter#DFLT_CACHED_STRINGS_THRESHOLD}.
      */
-    @SystemProperty(value = "Performance statistics maximum cached strings threshold. String caching will stop on " +
-        "threshold excess", type = Integer.class, defaults = "" + DFLT_CACHED_STRINGS_THRESHOLD)
+    @SystemProperty(value = "Maximum performance statistics cached strings threshold. String caching will be " +
+        "stopped, when the threshold is exceeded", type = Integer.class, defaults = "" + DFLT_CACHED_STRINGS_THRESHOLD)

Review comment:
       ```suggestion
       @SystemProperty(value = "Maximum performance statistics cached strings threshold. String caching is " +
           "stopped when the threshold is exceeded", type = Integer.class, defaults = "" + DFLT_CACHED_STRINGS_THRESHOLD)
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Nikita-tech-writer commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Nikita-tech-writer commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r558300492



##########
File path: modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
##########
@@ -1971,11 +1971,11 @@
         "IGNITE_DEFRAGMENTATION_REGION_SIZE_PERCENTAGE";
 
     /**
-     * Performance statistics maximum file size in bytes. Performance statistics will be stopped when the size exceeded.
-     * The default value is {@link FilePerformanceStatisticsWriter#DFLT_FILE_MAX_SIZE}.
+     * Maximum performance statistics file size in bytes. Performance statistics collection will be stopped when the
+     * file size exceeded. The default value is {@link FilePerformanceStatisticsWriter#DFLT_FILE_MAX_SIZE}.

Review comment:
       ```suggestion
        * Maximum performance statistics file size in bytes. Performance statistics collection is stopped when the
        * file size is exceeded. The default value is {@link FilePerformanceStatisticsWriter#DFLT_FILE_MAX_SIZE}.
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] NSAmelchev commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
NSAmelchev commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r557975271



##########
File path: modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
##########
@@ -1971,11 +1971,11 @@
         "IGNITE_DEFRAGMENTATION_REGION_SIZE_PERCENTAGE";
 
     /**
-     * Performance statistics maximum file size in bytes. Performance statistics will be stopped when the size exceeded.
-     * The default value is {@link FilePerformanceStatisticsWriter#DFLT_FILE_MAX_SIZE}.
+     * Maximum performance statistics file size in bytes. Performance statistics collection will be stopped when the
+     * size exceeded. The default value is {@link FilePerformanceStatisticsWriter#DFLT_FILE_MAX_SIZE}.

Review comment:
       Fixed.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [ignite] Nikita-tech-writer commented on a change in pull request #8663: IGNITE-13854 Add documentation for the cluster performance profiling tool

Posted by GitBox <gi...@apache.org>.
Nikita-tech-writer commented on a change in pull request #8663:
URL: https://github.com/apache/ignite/pull/8663#discussion_r558297922



##########
File path: docs/_docs/monitoring-metrics/performance-statistics.adoc
##########
@@ -0,0 +1,97 @@
+// 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
+
+WARNING: This feature is experimental and may change in future releases.
+
+== Overview
+
+Ignite provides a built-in tool for cluster profiling.
+
+You can link:#collecting-statistics[collect] performance statistics from the cluster and then
+link:#building-the-report[build] the performance report.
+
+== Collecting statistics
+
+link:#jmx[JMX interface] is used to start and stop statistics collecting.
+
+Each node collects performance statistics in a binary file. This file is placed under
+`Ignite_work_directory/perf_stat/` directory. The name mask is `node-{nodeId}-{index}.prf`.
+
+Performance statistics files are used to build the report offline.
+
+Nodes use off-heap cyclic buffer to temporarily store serialized statistics. The writer thread flushes buffer to the
+file when the flush size is reached. Some statistics will be skipped if the buffer overflows due to a slow disk. See
+the link:#system-properties[properties] section for customization.
+
+Each statistics collection process creates a new file on nodes. Each next file has the same name with the
+corresponding index:
+
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-1.prf
+    node-faedc6c9-3542-4610-ae10-4ff7e0600000-2.prf
+
+== Building the report

Review comment:
       ```suggestion
   == Building the Report
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org