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 | +}); | |