[Falcon][ONOS-3601] Add REST API for metrics service with unit test
Change-Id: I33ec561d1d83c6f1167e960bc2f684a117e6ea9c
diff --git a/web/api/src/main/resources/definitions/Metrics.json b/web/api/src/main/resources/definitions/Metrics.json
new file mode 100644
index 0000000..552d07d
--- /dev/null
+++ b/web/api/src/main/resources/definitions/Metrics.json
@@ -0,0 +1,180 @@
+{
+ "type": "object",
+ "title": "metrics",
+ "required": [
+ "metrics"
+ ],
+ "properties": {
+ "metrics": {
+ "type": "array",
+ "xml": {
+ "name": "metrics",
+ "wrapped": true
+ },
+ "items": {
+ "type": "object",
+ "title": "metric",
+ "required": [
+ "name",
+ "metric"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "example": "cpu"
+ },
+ "metric": {
+ "type": "object",
+ "optional": [
+ "counter",
+ "gauge",
+ "meter",
+ "histogram",
+ "timer"
+ ],
+ "properties": {
+ "counter": {
+ "type": "object",
+ "required": [
+ "counter"
+ ],
+ "properties": {
+ "counter": {
+ "type": "integer",
+ "example": "1"
+ }
+ }
+ },
+ "gauge": {
+ "type": "object",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": "string",
+ "example": "1"
+ }
+ },
+ "meter": {
+ "type": "object",
+ "required": [
+ "counter",
+ "mean_rate",
+ "1_min_rate",
+ "5_min_rate",
+ "15_min_rate"
+ ],
+ "properties": {
+ "counter": {
+ "type": "integer",
+ "example": "1"
+ },
+ "mean_rate": {
+ "type": "double",
+ "example": "1.0"
+ },
+ "1_min_rate": {
+ "type": "double",
+ "example": "1.0"
+ },
+ "5_min_rate": {
+ "type": "double",
+ "example": "1.0"
+ },
+ "15_min_rate": {
+ "type": "double",
+ "example": "1.0"
+ }
+ }
+ },
+ "histogram": {
+ "type": "object",
+ "required": [
+ "counter",
+ "mean",
+ "min",
+ "max",
+ "stddev"
+ ],
+ "properties": {
+ "counter": {
+ "type": "integer",
+ "example": "1"
+ },
+ "mean": {
+ "type": "double",
+ "example": "1.0"
+ },
+ "min": {
+ "type": "double",
+ "example": "1.0"
+ },
+ "max": {
+ "type": "double",
+ "example": "1.0"
+ },
+ "stddev": {
+ "type": "double",
+ "example": "1.0"
+ }
+ }
+ },
+ "timer": {
+ "type": "object",
+ "required": [
+ "counter",
+ "mean_rate",
+ "1_min_rate",
+ "5_min_rate",
+ "15_min_rate",
+ "mean",
+ "min",
+ "max",
+ "stddev"
+ ],
+ "properties": {
+ "counter": {
+ "type": "integer",
+ "example": "1"
+ },
+ "mean_rate": {
+ "type": "double",
+ "example": "1.0"
+ },
+ "1_min_rate": {
+ "type": "double",
+ "example": "1.0"
+ },
+ "5_min_rate": {
+ "type": "double",
+ "example": "1.0"
+ },
+ "15_min_rate": {
+ "type": "double",
+ "example": "1.0"
+ },
+ "mean": {
+ "type": "double",
+ "example": "1.0"
+ },
+ "min": {
+ "type": "double",
+ "example": "1.0"
+ },
+ "max": {
+ "type": "double",
+ "example": "1.0"
+ },
+ "stddev": {
+ "type": "double",
+ "example": "1.0"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file