diff --git a/apps/cpman/src/main/java/org/onosproject/cpman/ControlPlaneMetric.java b/apps/cpman/src/main/java/org/onosproject/cpman/ControlPlaneMetric.java
new file mode 100644
index 0000000..19f4153
--- /dev/null
+++ b/apps/cpman/src/main/java/org/onosproject/cpman/ControlPlaneMetric.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onosproject.cpman;
+
+/**
+ * Include various control plane metrics.
+ */
+public class ControlPlaneMetric {
+
+    private ControlMetricType metricType;
+    private long metricValue;
+
+    ControlMetricType metricType() {
+        return metricType;
+    }
+
+    void setMetricType(ControlMetricType metricType) {
+        this.metricType = metricType;
+    }
+
+    long metricValue() {
+        return metricValue;
+    }
+
+    void setMetricValue(long metricValue) {
+        this.metricValue = metricValue;
+    }
+}
