Procházet zdrojové kódy

Add NodeJS statistics - part 2 - memory usage

Ben0it-T před 3 roky
rodič
revize
d04e9bbabd

+ 12 - 0
client/components/settings/informationBody.jade

@@ -98,3 +98,15 @@ template(name='statistics')
         tr
           th {{_ 'Node_heap_number_of_detached_contexts'}}
           td {{statistics.nodeHeapStats.numberOfDetachedContexts}}
+        tr
+          th {{_ 'Node_memory_usage_rss'}}
+          td {{bytesToSize statistics.nodeMemoryUsage.rss}}
+        tr
+          th {{_ 'Node_memory_usage_heap_total'}}
+          td {{bytesToSize statistics.nodeMemoryUsage.heapTotal}}
+        tr
+          th {{_ 'Node_memory_usage_heap_used'}}
+          td {{bytesToSize statistics.nodeMemoryUsage.heapUsed}}
+        tr
+          th {{_ 'Node_memory_usage_external'}}
+          td {{bytesToSize statistics.nodeMemoryUsage.external}}

+ 5 - 1
i18n/en.i18n.json

@@ -1109,5 +1109,9 @@
   "Node_heap_peak_malloced_memory": "Node heap : peak malloced memory",
   "Node_heap_does_zap_garbage": "Node heap : does zap garbage",
   "Node_heap_number_of_native_contexts": "Node heap : number of native contexts",
-  "Node_heap_number_of_detached_contexts": "Node heap : number of detached contexts"
+  "Node_heap_number_of_detached_contexts": "Node heap : number of detached contexts",
+  "Node_memory_usage_rss": "Node memory usage : Resident Set Size",
+  "Node_memory_usage_heap_total": "Node memory usage : total size of the allocated heap",
+  "Node_memory_usage_heap_used": "Node memory usage : actual memory used",
+  "Node_memory_usage_external": "Node memory usage : external"
 }

+ 7 - 0
server/statistics.js

@@ -42,6 +42,13 @@ if (Meteor.isServer) {
           numberOfNativeContexts: v8.getHeapStatistics().number_of_native_contexts,
           numberOfDetachedContexts: v8.getHeapStatistics().number_of_detached_contexts,
         };
+        let memoryUsage = process.memoryUsage();
+        statistics.nodeMemoryUsage = {
+          rss: memoryUsage.rss,
+          heapTotal: memoryUsage.heapTotal,
+          heapUsed: memoryUsage.heapUsed,
+          external: memoryUsage.external,
+        };
         // Remove beginning of Meteor release text METEOR@
         let meteorVersion = Meteor.release;
         meteorVersion = meteorVersion.replace('METEOR@', '');