You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streams.apache.org by sb...@apache.org on 2014/11/13 06:09:30 UTC

[03/43] incubator-streams git commit: STREAMS-210 | Relevant POJOs to represent JMX data

STREAMS-210 | Relevant POJOs to represent JMX data


Project: http://git-wip-us.apache.org/repos/asf/incubator-streams/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams/commit/238e4eed
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams/tree/238e4eed
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams/diff/238e4eed

Branch: refs/heads/master
Commit: 238e4eed329a762c10ee56e5379e89673b9a4059
Parents: d48713f
Author: Robert Douglas <rd...@w2ogroup.com>
Authored: Thu Nov 6 18:07:53 2014 -0600
Committer: Robert Douglas <rd...@w2ogroup.com>
Committed: Thu Nov 6 18:07:53 2014 -0600

----------------------------------------------------------------------
 .../local/counters/DatumStatusCounterPOJO.java  |  56 ++++++++++
 .../local/counters/StreamsTaskCounterPOJO.java  | 110 +++++++++++++++++++
 .../local/queues/ThroughputQueuePOJO.java       | 110 +++++++++++++++++++
 3 files changed, 276 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/238e4eed/streams-runtimes/streams-runtime-local/src/main/java/org/apache/streams/local/counters/DatumStatusCounterPOJO.java
----------------------------------------------------------------------
diff --git a/streams-runtimes/streams-runtime-local/src/main/java/org/apache/streams/local/counters/DatumStatusCounterPOJO.java b/streams-runtimes/streams-runtime-local/src/main/java/org/apache/streams/local/counters/DatumStatusCounterPOJO.java
new file mode 100644
index 0000000..3a2ee9f
--- /dev/null
+++ b/streams-runtimes/streams-runtime-local/src/main/java/org/apache/streams/local/counters/DatumStatusCounterPOJO.java
@@ -0,0 +1,56 @@
+package org.apache.streams.local.counters;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import java.util.Arrays;
+
+public class DatumStatusCounterPOJO {
+    private long failed;
+    private long passed;
+    private String name;
+
+    public DatumStatusCounterPOJO(MBeanServer server, MBeanInfo mBeanInfo, ObjectName name) {
+        setName(name.getCanonicalName());
+
+        for (MBeanAttributeInfo attribute : Arrays.asList(mBeanInfo.getAttributes())) {
+            try {
+                switch(attribute.getName()) {
+                    case "Failed":
+                        setFailed((long)server.getAttribute(name, attribute.getName()));
+                        break;
+                    case "Passed":
+                        setPassed((long) server.getAttribute(name, attribute.getName()));
+                        break;
+                }
+            } catch (Exception e) {
+
+            }
+        }
+    }
+
+    public long getFailed() {
+        return failed;
+    }
+
+    public void setFailed(long failed) {
+        this.failed = failed;
+    }
+
+    public long getPassed() {
+        return passed;
+    }
+
+    public void setPassed(long passed) {
+        this.passed = passed;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/238e4eed/streams-runtimes/streams-runtime-local/src/main/java/org/apache/streams/local/counters/StreamsTaskCounterPOJO.java
----------------------------------------------------------------------
diff --git a/streams-runtimes/streams-runtime-local/src/main/java/org/apache/streams/local/counters/StreamsTaskCounterPOJO.java b/streams-runtimes/streams-runtime-local/src/main/java/org/apache/streams/local/counters/StreamsTaskCounterPOJO.java
new file mode 100644
index 0000000..86114d5
--- /dev/null
+++ b/streams-runtimes/streams-runtime-local/src/main/java/org/apache/streams/local/counters/StreamsTaskCounterPOJO.java
@@ -0,0 +1,110 @@
+package org.apache.streams.local.counters;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import java.util.Arrays;
+
+public class StreamsTaskCounterPOJO {
+    private double errorRate;
+    private long numEmitted;
+    private long numReceived;
+    private long numUnhandledErrors;
+    private double avgTime;
+    private long maxTime;
+    private String name;
+
+    public StreamsTaskCounterPOJO(MBeanServer server, MBeanInfo mBeanInfo, ObjectName name) {
+        setName(name.getCanonicalName());
+
+        for (MBeanAttributeInfo attribute : Arrays.asList(mBeanInfo.getAttributes())) {
+            try {
+                switch (attribute.getName()) {
+                    case "ErrorRate":
+                        setErrorRate((double)server.getAttribute(name, attribute.getName()));
+                        break;
+                    case "NumEmitted":
+                        setNumEmitted((long)server.getAttribute(name, attribute.getName()));
+                        break;
+                    case "NumReceived":
+                        setNumReceived((long)server.getAttribute(name, attribute.getName()));
+                        break;
+                    case "NumUnhandledErrors":
+                        setNumUnhandledErrors((long)server.getAttribute(name, attribute.getName()));
+                        break;
+                    case "AvgTime":
+                        setAvgTime((double)server.getAttribute(name, attribute.getName()));
+                        break;
+                    case "MaxTime":
+                        setMaxTime((long)server.getAttribute(name, attribute.getName()));
+                        break;
+                }
+            } catch (Exception e) {
+
+            }
+        }
+    }
+
+    public double getErrorRate() {
+        return errorRate;
+    }
+
+    public void setErrorRate(double errorRate) {
+        this.errorRate = errorRate;
+    }
+
+    public long getNumEmitted() {
+        return numEmitted;
+    }
+
+    public void setNumEmitted(long numEmitted) {
+        this.numEmitted = numEmitted;
+    }
+
+    public long getNumReceived() {
+        return numReceived;
+    }
+
+    public void setNumReceived(long numReceived) {
+        this.numReceived = numReceived;
+    }
+
+    public long getNumUnhandledErrors() {
+        return numUnhandledErrors;
+    }
+
+    public void setNumUnhandledErrors(long numUnhandledErrors) {
+        this.numUnhandledErrors = numUnhandledErrors;
+    }
+
+    public double getAvgTime() {
+        return avgTime;
+    }
+
+    public void setAvgTime(double avgTime) {
+        this.avgTime = avgTime;
+    }
+
+    public long getMaxTime() {
+        return maxTime;
+    }
+
+    public void setMaxTime(long maxTime) {
+        this.maxTime = maxTime;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    @Override
+    public String toString() {
+        return String.format("{\"errorRate\" : %s, \"numEmitted\" : %s, \"numReceived\" : %s, \"numUnhandledErrors\" : %s, \"avgTime\" : %s, \"maxTime\" : %s, \"name\" : \"%s\"}",
+                errorRate, numEmitted, numReceived, numUnhandledErrors, avgTime, maxTime, name);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/238e4eed/streams-runtimes/streams-runtime-local/src/main/java/org/apache/streams/local/queues/ThroughputQueuePOJO.java
----------------------------------------------------------------------
diff --git a/streams-runtimes/streams-runtime-local/src/main/java/org/apache/streams/local/queues/ThroughputQueuePOJO.java b/streams-runtimes/streams-runtime-local/src/main/java/org/apache/streams/local/queues/ThroughputQueuePOJO.java
new file mode 100644
index 0000000..3de18d7
--- /dev/null
+++ b/streams-runtimes/streams-runtime-local/src/main/java/org/apache/streams/local/queues/ThroughputQueuePOJO.java
@@ -0,0 +1,110 @@
+package org.apache.streams.local.queues;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import java.util.Arrays;
+
+public class ThroughputQueuePOJO {
+    private long currentSize;
+    private double avgWait;
+    private long maxWait;
+    private long removed;
+    private long added;
+    private double throughput;
+    private String name;
+
+    public ThroughputQueuePOJO(MBeanServer server, MBeanInfo mBeanInfo, ObjectName name) {
+        setName(name.getCanonicalName());
+
+        for (MBeanAttributeInfo attribute : Arrays.asList(mBeanInfo.getAttributes())) {
+            try {
+                switch(attribute.getName()) {
+                    case "CurrentSize":
+                        setCurrentSize((long)server.getAttribute(name, attribute.getName()));
+                        break;
+                    case "AvgWait":
+                        setAvgWait((double) server.getAttribute(name, attribute.getName()));
+                        break;
+                    case "MaxWait":
+                        setMaxWait((long) server.getAttribute(name, attribute.getName()));
+                        break;
+                    case "Removed":
+                        setRemoved((long) server.getAttribute(name, attribute.getName()));
+                        break;
+                    case "Added":
+                        setAdded((long) server.getAttribute(name, attribute.getName()));
+                        break;
+                    case "Throughput":
+                        setThroughput((double)server.getAttribute(name, attribute.getName()));
+                        break;
+                }
+            } catch (Exception e) {
+
+            }
+        }
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public long getCurrentSize() {
+        return currentSize;
+    }
+
+    public void setCurrentSize(long currentSize) {
+        this.currentSize = currentSize;
+    }
+
+    public double getAvgWait() {
+        return avgWait;
+    }
+
+    public void setAvgWait(double avgWait) {
+        this.avgWait = avgWait;
+    }
+
+    public long getMaxWait() {
+        return maxWait;
+    }
+
+    public void setMaxWait(long maxWait) {
+        this.maxWait = maxWait;
+    }
+
+    public long getRemoved() {
+        return removed;
+    }
+
+    public void setRemoved(long removed) {
+        this.removed = removed;
+    }
+
+    public long getAdded() {
+        return added;
+    }
+
+    public void setAdded(long added) {
+        this.added = added;
+    }
+
+    public double getThroughput() {
+        return throughput;
+    }
+
+    public void setThroughput(double throughput) {
+        this.throughput = throughput;
+    }
+
+    @Override
+    public String toString() {
+        return String.format("{\"name\" : \"%s\", \"currentSize\" : %s, \"avgWait\" : %s, \"maxWait\" : %s, \"removed\" : %s, \"added\" : %s, \"throughput\" : %s}",
+                name, currentSize, avgWait, maxWait, removed, added, throughput);
+    }
+}