Showing the changes to scripts/developer/debugging/scriptMemoryReport.js (1 of 6 files). Show all
Unified · Split
| @@ -0,0 +1,27 @@ | |||
| 1 | // | ||
| 2 | // scriptMemoryReport.js | ||
| 3 | // scripts/developer/debugging | ||
| 4 | // | ||
| 5 | // Created by dr Karol Suprynowicz on 2023/04/23 | ||
| 6 | // Copyright 2023 Overte e.V. | ||
| 7 | // | ||
| 8 | // Distributed under the Apache License, Version 2.0. | ||
| 9 | // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html | ||
| 10 | // SPDX-License-Identifier: Apache-2.0 | ||
| 11 | // | ||
| 12 | |||
| 13 | // A simple script that prints memory usage statistics for a given script engine every 5 seconds | ||
| 14 | // It can be included for example as a part of default scripts or controller scripts | ||
| 15 | |||
| 16 | var memoryStatisticsIntervalHandle = Script.setInterval(function () { | ||
| 17 | statistics = Script.getMemoryUsageStatistics(); | ||
| 18 | print("Script memory usage: Total heap size: " + statistics.totalHeapSize | ||
| 19 | + " usedHeapSize: " + statistics.usedHeapSize | ||
| 20 | + " totalAvailableSize: " + statistics.totalAvailableSize | ||
| 21 | + " totalGlobalHandlesSize: " + statistics.totalGlobalHandlesSize | ||
| 22 | + " usedGlobalHandlesSize: " + statistics.usedGlobalHandlesSize); | ||
| 23 | }, 5000); | ||
| 24 | |||
| 25 | Script.scriptEnding.connect(function () { | ||
| 26 | Script.clearInterval(memoryStatisticsIntervalHandle); | ||
| 27 | }); | ||