You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2017/10/13 20:45:33 UTC

[geode] 01/03: GEODE-3716 - Adding steal time metrics to Geode.

This is an automated email from the ASF dual-hosted git repository.

klund pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 00da97d3451097cecbc2eb66243c195ca6d54a92
Author: Charlie Black <ch...@github.com>
AuthorDate: Fri Oct 6 00:47:43 2017 -0700

    GEODE-3716 - Adding steal time metrics to Geode.
---
 .../internal/statistics/platform/LinuxProcFsStatistics.java  | 12 +++++++-----
 .../geode/internal/statistics/platform/LinuxSystemStats.java |  6 +++++-
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/platform/LinuxProcFsStatistics.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/platform/LinuxProcFsStatistics.java
index 0b7ec0b..27eabf3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/platform/LinuxProcFsStatistics.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/platform/LinuxProcFsStatistics.java
@@ -33,6 +33,7 @@ public class LinuxProcFsStatistics {
     IOWAIT,
     IRQ,
     SOFTIRQ,
+    STEAL,
     /** stands for aggregation of all columns not present in the enum list */
     OTHER
   }
@@ -150,6 +151,7 @@ public class LinuxProcFsStatistics {
             ints[LinuxSystemStats.cpuNiceINT] = cpuData[CPU.NICE.ordinal()];
             ints[LinuxSystemStats.cpuSystemINT] = cpuData[CPU.SYSTEM.ordinal()];
             ints[LinuxSystemStats.cpuUserINT] = cpuData[CPU.USER.ordinal()];
+            ints[LinuxSystemStats.cpuStealINT] = cpuData[CPU.STEAL.ordinal()];
             ints[LinuxSystemStats.iowaitINT] = cpuData[CPU.IOWAIT.ordinal()];
             ints[LinuxSystemStats.irqINT] = cpuData[CPU.IRQ.ordinal()];
             ints[LinuxSystemStats.softirqINT] = cpuData[CPU.SOFTIRQ.ordinal()];
@@ -637,12 +639,12 @@ public class LinuxProcFsStatistics {
       st.skipToken(); // cpu name
       final int MAX_CPU_STATS = CPU.values().length;
       /*
-       * newer kernels now have 8 columns for cpu in /proc/stat (up from 7). This number may
-       * increase even further, hence we now use List in place of long[]. We add up entries from all
-       * columns after 7 into CPU.OTHER
+       * newer kernels now have 10 columns for cpu in /proc/stat. This number may increase even
+       * further, hence we now use List in place of long[]. We add up entries from all columns after
+       * MAX_CPU_STATS into CPU.OTHER
        */
-      List<Long> newStats = new ArrayList<Long>(8);
-      List<Long> diffs = new ArrayList<Long>(8);
+      List<Long> newStats = new ArrayList<Long>(10);
+      List<Long> diffs = new ArrayList<Long>(10);
       long total_change = 0;
       int actualCpuStats = 0;
       long unaccountedCpuUtilization = 0;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/platform/LinuxSystemStats.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/platform/LinuxSystemStats.java
index f95a09d..8dbb2df 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/platform/LinuxSystemStats.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/platform/LinuxSystemStats.java
@@ -46,6 +46,7 @@ public class LinuxSystemStats {
   final static int cachedMemoryINT = 16;
   final static int dirtyMemoryINT = 17;
   final static int cpuNonUserINT = 18;
+  final static int cpuStealINT = 19;
 
   final static int loopbackPacketsLONG = 0;
   final static int loopbackBytesLONG = 1;
@@ -143,7 +144,9 @@ public class LinuxSystemStats {
             f.createIntGauge("cpuNonUser",
                 "The percentage of total available time that has been used to execute non-user code.(includes system, iowait, irq, softirq etc.)",
                 "%"),
-
+            f.createIntGauge("cpuSteal",
+                "Stolen time, which is the time spent in their operating systems when running in a virtualized environment.",
+                "%"),
 
             f.createLongCounter("loopbackPackets",
                 "The number of network packets sent (or received) on the loopback interface",
@@ -245,6 +248,7 @@ public class LinuxSystemStats {
     checkOffset("cachedMemory", cachedMemoryINT);
     checkOffset("dirtyMemory", dirtyMemoryINT);
     checkOffset("cpuNonUser", cpuNonUserINT);
+    checkOffset("cpuSteal", cpuStealINT);
 
     checkOffset("loopbackPackets", loopbackPacketsLONG);
     checkOffset("loopbackBytes", loopbackBytesLONG);

-- 
To stop receiving notification emails like this one, please contact
"commits@geode.apache.org" <co...@geode.apache.org>.