Chukwa HICC REST API


Chukwa HICC provides REST interfaces for dashboard rendering. The primary resources are:


The resources and the entities that are passed to them are defined using JAXB and are represented in either XML or JSON formats depending on the ContentType and Accept HTTP headers. The definition of the types is given in the JavaDoc.


The typical usage are:

Summary

ResourceMethodDescription
http://[host]:[port]/hicc/v1/tile/previewPUT

Preview a banner tile
http://[host]:[port]/hicc/v1/tile/preview/seriesPUT

Preview a series JSON for banner tile
http://[host]:[port]/hicc/v1/tile/draw/{id}GET

Render a banner
http://[host]:[port]/hicc/v1/tile/savePOST

http://[host]:[port]/hicc/v1/tile/save/{id}PUT

http://[host]:[port]/hicc/v1/tile/describe/{id}GET

http://[host]:[port]/hicc/v1/dashboard/load/{id}GET

Load a dashboard view
http://[host]:[port]/hicc/v1/dashboard/save/{id}PUT

Save a dashboard view
http://[host]:[port]/hicc/v1/dashboard/whoamiGET

Return HTTP request connection user name
http://[host]:[port]/hicc/v1/dashboard/quicklinksGET

Render Quick links to various services web portals
http://[host]:[port]/hicc/v1/heatmap/{metricGroup}/{metric}GET

Render a heatmap
http://[host]:[port]/hicc/v1/heatmap/render/{metricGroup}/{metric}GET

Render a heatmap from HBase series
http://[host]:[port]/hicc/v1/piechart/previewPUT

Preview a pie chart
http://[host]:[port]/hicc/v1/piechart/preview/seriesPUT

Preview a series JSON for pie chart
http://[host]:[port]/hicc/v1/piechart/draw/{id}GET

Render pie chart using chartist.js
http://[host]:[port]/hicc/v1/piechart/savePOST

http://[host]:[port]/hicc/v1/piechart/save/{id}PUT

http://[host]:[port]/hicc/v1/piechart/describe/{id}GET

http://[host]:[port]/hicc/v1/session/savePUT

Store session attributes
http://[host]:[port]/hicc/v1/session/key/{id}GET

Utility to get session attributes
http://[host]:[port]/hicc/v1/login/checkPOST

GET

Password verification REST API

Password verification login screen
http://[host]:[port]/hicc/v1/metrics/series/{metricGroup}/{metric}/session/{sessionKey}GET

Query metric series by session key, this is useful to query same metric from multiple data sources, such as multiple hosts
http://[host]:[port]/hicc/v1/metrics/schemaGET

Query all metric group names in HBase
http://[host]:[port]/hicc/v1/metrics/schema/{metricGroup}GET

Query metric names by metric group
http://[host]:[port]/hicc/v1/metrics/series/{metric}/{source}GET

Query metrics stored in HBase table
http://[host]:[port]/hicc/v1/metrics/source/{metricGroup}GET

Query metrics source names by metric group
http://[host]:[port]/hicc/v1/chart/savePOST

Create a new chart meta data
http://[host]:[port]/hicc/v1/chart/save/{id}PUT

Save chart meta data
http://[host]:[port]/hicc/v1/chart/previewPUT

Display a chart base on chart configuration from REST API input
http://[host]:[port]/hicc/v1/chart/preview/seriesPUT

Display metrics series in JSON
http://[host]:[port]/hicc/v1/chart/draw/{id}GET

Render chart using flot.js
http://[host]:[port]/hicc/v1/chart/describe/{id}GET

Describe chart meta data
http://[host]:[port]/hicc/v1/widget/view/{title}GET

View widget details
http://[host]:[port]/hicc/v1/widget/createPOST

Create a widget
http://[host]:[port]/hicc/v1/widget/update/{title}PUT

Update a widget
http://[host]:[port]/hicc/v1/widget/delete/{title}DELETE

Delete a widget
http://[host]:[port]/hicc/v1/widget/search/{query}GET

Search for widget base on widget title
http://[host]:[port]/hicc/v1/widget/listGET

List widgets
http://[host]:[port]/hicc/v1/circles/previewPUT

Preview circle graph with a set of chart configuration
http://[host]:[port]/hicc/v1/circles/preview/seriesPUT

Circle graph data can be calculated based on either a ratio of two metrics or the selected metric is a percentage metric for rendering circle graph.
http://[host]:[port]/hicc/v1/circles/draw/{id}GET

Render circle using jquery circliful.js

Grammars

agent-schema.xsd

Resources


http://[host]:[port]/hicc/v1/tile/preview

Methods
PUTpreview()

Preview a banner tile

request
representations
Content-Type: application/json
responses
representations
Status: 200Content-Type: text/html
Preview a banner

Example
Example available in HICC UI

http://[host]:[port]/hicc/v1/tile/preview/series

Methods
PUTpreviewSeries()

Preview a series JSON for banner tile

request
representations
Content-Type: */*
Example for */* is available in REST API.
responses
representations
Status: 200Content-Type: application/json
Preview a banner series

Example
Example available in REST API

http://[host]:[port]/hicc/v1/tile/draw/{id}

Methods
GETdraw()

Render a banner

request
path parameters
idstringReference ID of Chart stored in HBase chukwa_meta table.

responses
representations
Status: 200Content-Type: text/html
Render a banner base on chart id

Example
Example available in HICC UI

http://[host]:[port]/hicc/v1/tile/save

Methods
POSTcreate()

request
representations
Content-Type: application/json
responses
representations
Content-Type: */*
Example for */* is available in REST API.

http://[host]:[port]/hicc/v1/tile/save/{id}

Methods
PUTsave()

request
path parameters
idstring

representations
Content-Type: application/json
responses
representations
Content-Type: */*
Example for */* is available in REST API.

http://[host]:[port]/hicc/v1/tile/describe/{id}

Methods
GETdescribe()

request
path parameters
idstring

responses
representations
Content-Type: application/json

http://[host]:[port]/hicc/v1/dashboard/load/{id}

Methods
GETload()

Load a dashboard view

request
path parameters
idstringis dashboard unique identifier

responses
representations
Status: 200Content-Type: application/json
Display dashboard JSON structure

Example
{
  "grid" : [ {
    "col" : 1,
    "row" : 1,
    "size_x" : 2,
    "size_y" : 1,
    "title" : "HDFS High Availability State",
    "src" : "/hicc/v1/tile/draw/11"
  }, {
    "col" : 3,
    "row" : 1,
    "size_x" : 2,
    "size_y" : 1,
    "title" : "HDFS Load",
    "src" : "/hicc/v1/tile/draw/12"
  }, {
    "col" : 5,
    "row" : 1,
    "size_x" : 2,
    "size_y" : 1,
    "title" : "HDFS Namenode Latency",
    "src" : "/hicc/v1/tile/draw/13"
  }, {
    "col" : 7,
    "row" : 1,
    "size_x" : 2,
    "size_y" : 1,
    "title" : "Datanodes Health",
    "src" : "/hicc/v1/tile/draw/14"
  }, {
    "col" : 9,
    "row" : 1,
    "size_x" : 2,
    "size_y" : 1,
    "title" : "Node Managers Health",
    "src" : "/hicc/v1/tile/draw/10"
  }, {
    "col" : 1,
    "row" : 2,
    "size_x" : 2,
    "size_y" : 2,
    "title" : "HDFS Remaining",
    "src" : "/hicc/v1/circles/draw/8"
  }, {
    "col" : 3,
    "row" : 2,
    "size_x" : 2,
    "size_y" : 2,
    "title" : "Namenode Memory",
    "src" : "/hicc/v1/circles/draw/7"
  }, {
    "col" : 5,
    "row" : 2,
    "size_x" : 2,
    "size_y" : 2,
    "title" : "Resource Manager Memory",
    "src" : "/hicc/v1/circles/draw/9"
  }, {
    "col" : 7,
    "row" : 2,
    "size_x" : 2,
    "size_y" : 2,
    "title" : "HBase Master Memory",
    "src" : "/hicc/v1/circles/draw/15"
  }, {
    "col" : 9,
    "row" : 2,
    "size_x" : 2,
    "size_y" : 1,
    "title" : "System Load Average",
    "src" : "/hicc/v1/chart/draw/1"
  }, {
    "col" : 9,
    "row" : 3,
    "size_x" : 2,
    "size_y" : 1,
    "title" : "CPU Utilization",
    "src" : "/hicc/v1/chart/draw/2"
  }, {
    "col" : 9,
    "row" : 4,
    "size_x" : 2,
    "size_y" : 1,
    "title" : "Memory Utilization",
    "src" : "/hicc/v1/chart/draw/3"
  }, {
    "col" : 9,
    "row" : 5,
    "size_x" : 2,
    "size_y" : 1,
    "title" : "Swap Utilization",
    "src" : "/hicc/v1/chart/draw/6"
  }, {
    "col" : 1,
    "row" : 4,
    "size_x" : 4,
    "size_y" : 2,
    "title" : "Disk Utilization",
    "src" : "/hicc/v1/chart/draw/4"
  }, {
    "col" : 5,
    "row" : 4,
    "size_x" : 4,
    "size_y" : 2,
    "title" : "Network Utilization",
    "src" : "/hicc/v1/chart/draw/5"
  } ]
}

http://[host]:[port]/hicc/v1/dashboard/save/{id}

Methods
PUTsave()

Save a dashboard view

request
path parameters
idstringis dashboard unique identifier

representations
Content-Type: application/json

Example
{
  "grid" : [ {
    "col" : 1,
    "row" : 1,
    "size_x" : 12,
    "size_y" : 7,
    "title" : "Quick Links",
    "src" : "/hicc/v1/dashboard/quicklinks"
  } ]
}

responses
representations
Status: 200Content-Type: text/plain
Display save status code

http://[host]:[port]/hicc/v1/dashboard/whoami

Methods
GETwhoami()

Return HTTP request connection user name

request
unspecified
responses
representations
Status: 200Content-Type: text/plain
Username

Example
admin

http://[host]:[port]/hicc/v1/dashboard/quicklinks

Methods
GETquicklinks()

Render Quick links to various services web portals

request
unspecified
responses
representations
Status: 200Content-Type: text/html
Display quick link widget

Example
Example is availabe on HICC UI

http://[host]:[port]/hicc/v1/heatmap/{metricGroup}/{metric}

Methods
GETgetHeatmap()

Render a heatmap

request
path parameters
metricGroupstringis metric group name
metricstringis metric name

query parameters
startstringis start time in yyyyMMddHHmmss format
endstringis end time in yyyyMMddHHmmss format
maxdouble
default: 1.0
is maximum possible value of the heatmap
scaledouble
default: 100
is the range of possible values
widthint
default: 700
is width of the image
heightint
default: 400
is height of the image

responses
representations
Status: 200Content-Type: text/html
Login screen

Example
Example available in HICC UI

http://[host]:[port]/hicc/v1/heatmap/render/{metricGroup}/{metric}

Methods
GETheatmapTemplate()

Render a heatmap from HBase series

request
path parameters
metricGroupstring
default: SystemMetrics
is metric group name
metricstring
default: cpu.combined.
is metric name

query parameters
widthstring
default: 700px
is width of the image
heightstring
default: 400px
is height of the image
titlestring
default: CPU
is title of the heatmap
yLabelstring
default: device
is y axis label for the heatmap

responses
representations
Content-Type: text/html

http://[host]:[port]/hicc/v1/piechart/preview

Methods
PUTpreview()

Preview a pie chart

request
representations
Content-Type: application/json
responses
representations
Status: 200Content-Type: text/html
Preview a pie chart

Example
Example available in HICC UI

http://[host]:[port]/hicc/v1/piechart/preview/series

Methods
PUTpreviewSeries()

Preview a series JSON for pie chart

request
representations
Content-Type: application/json

Example
[ {
  "url" : "/hicc/v1/metrics/series/SystemMetrics.cpu.combined/erics-macbook-pro-6.local",
  "label" : "SystemMetrics.cpu.combined/erics-macbook-pro-6.local",
  "lines" : {
    "show" : true,
    "fill" : false,
    "lineWidth" : 0,
    "zero" : false,
    "steps" : false
  },
  "xaxis" : 0,
  "yaxis" : 0,
  "clickable" : false,
  "hoverable" : false,
  "shadowSize" : 0,
  "highlightColor" : 0
}, {
  "url" : "/hicc/v1/metrics/series/SystemMetrics.cpu.sys/erics-macbook-pro-6.local",
  "label" : "SystemMetrics.cpu.sys/erics-macbook-pro-6.local",
  "lines" : {
    "show" : true,
    "fill" : false,
    "lineWidth" : 0,
    "zero" : false,
    "steps" : false
  },
  "xaxis" : 0,
  "yaxis" : 0,
  "clickable" : false,
  "hoverable" : false,
  "shadowSize" : 0,
  "highlightColor" : 0
}, {
  "url" : "/hicc/v1/metrics/series/SystemMetrics.cpu.user/erics-macbook-pro-6.local",
  "label" : "SystemMetrics.cpu.user/erics-macbook-pro-6.local",
  "lines" : {
    "show" : true,
    "fill" : false,
    "lineWidth" : 0,
    "zero" : false,
    "steps" : false
  },
  "xaxis" : 0,
  "yaxis" : 0,
  "clickable" : false,
  "hoverable" : false,
  "shadowSize" : 0,
  "highlightColor" : 0
} ]

responses
representations
Status: 200Content-Type: application/json
Preview a pie chart series

Example
Example available in REST API

http://[host]:[port]/hicc/v1/piechart/draw/{id}

Methods
GETdraw()

Render pie chart using chartist.js

request
path parameters
idstringReference ID of Chart stored in HBase chukwa_meta table.

responses
representations
Status: 200Content-Type: text/html
Preview a pie chart

Example
Example available in HICC UI

http://[host]:[port]/hicc/v1/piechart/save

Methods
POSTcreate()

request
representations
Content-Type: application/json
responses
representations
Content-Type: */*
Example for */* is available in REST API.

http://[host]:[port]/hicc/v1/piechart/save/{id}

Methods
PUTsave()

request
path parameters
idstring

representations
Content-Type: application/json
responses
representations
Content-Type: */*
Example for */* is available in REST API.

http://[host]:[port]/hicc/v1/piechart/describe/{id}

Methods
GETdescribe()

request
path parameters
idstring

responses
representations
Content-Type: application/json

http://[host]:[port]/hicc/v1/session/save

Methods
PUTsave()

Store session attributes

request
representations
Content-Type: application/json
responses
representations
Content-Type: */*
Example for */* is available in REST API.

http://[host]:[port]/hicc/v1/session/key/{id}

Methods
GETdraw()

Utility to get session attributes

request
path parameters
idstringis session key

responses
representations
Content-Type: application/json

http://[host]:[port]/hicc/v1/login/check

Methods
POSTcheck()

Password verification REST API

request
unspecified
responses
representations
Status: 200Content-Type: text/plain
User login successful

Example
200 OK

Status: 403Content-Type: text/plain
Login denied

Example
403 FORBIDDEN

GETlogin()

Password verification login screen

request
representations
Content-Type: */*
Example for */* is available in REST API.
responses
representations
Status: 200Content-Type: text/html
Login screen

Example
Example available in HICC UI

http://[host]:[port]/hicc/v1/metrics/series/{metricGroup}/{metric}/session/{sessionKey}

Methods
GETgetSeriesBySessionAttribute()

Query metric series by session key, this is useful to query same metric from multiple data sources, such as multiple hosts

request
path parameters
metricGroupstringis metric group name
sessionKeystringis session key which maps to multiple data sources
metricstringis metric name

query parameters
startstringis start time
endstringis end time

responses
representations
Content-Type: application/json

http://[host]:[port]/hicc/v1/metrics/schema

Methods
GETgetTables()

Query all metric group names in HBase

request
unspecified
responses
representations
Content-Type: application/json

http://[host]:[port]/hicc/v1/metrics/schema/{metricGroup}

Methods
GETgetMetrics()

Query metric names by metric group

request
path parameters
metricGroupstringis name of metric group

responses
representations
Content-Type: application/json

http://[host]:[port]/hicc/v1/metrics/series/{metric}/{source}

Methods
GETgetSeries()

Query metrics stored in HBase table

request
path parameters
metricstringis metric name
sourcestringis data source

query parameters
startstringis start time
endstringis end time

responses
representations
Content-Type: application/json

http://[host]:[port]/hicc/v1/metrics/source/{metricGroup}

Methods
GETgetSourceNames()

Query metrics source names by metric group

request
path parameters
metricGroupstringis name of metric group

responses
representations
Content-Type: application/json

http://[host]:[port]/hicc/v1/chart/save

Methods
POSTcreate()

Create a new chart meta data

request
representations
Content-Type: application/json

Example
{
  "id" : "3",
  "type" : "TIME_SERIES",
  "title" : "Memory Utilization",
  "series" : [ {
    "url" : "/hicc/v1/metrics/series/SystemMetrics.memory.FreePercent/erics-macbook-pro-6.local",
    "label" : "SystemMetrics.memory.FreePercent/erics-macbook-pro-6.local",
    "lines" : {
      "show" : true,
      "fill" : false,
      "lineWidth" : 0,
      "zero" : false,
      "steps" : false
    },
    "xaxis" : 0,
    "yaxis" : 0,
    "clickable" : false,
    "hoverable" : false,
    "shadowSize" : 0,
    "highlightColor" : 0
  }, {
    "url" : "/hicc/v1/metrics/series/SystemMetrics.memory.UsedPercent/erics-macbook-pro-6.local",
    "label" : "SystemMetrics.memory.UsedPercent/erics-macbook-pro-6.local",
    "lines" : {
      "show" : true,
      "fill" : false,
      "lineWidth" : 0,
      "zero" : false,
      "steps" : false
    },
    "xaxis" : 0,
    "yaxis" : 0,
    "clickable" : false,
    "hoverable" : false,
    "shadowSize" : 0,
    "highlightColor" : 0
  } ],
  "width" : 100,
  "height" : 100,
  "legend" : true,
  "userDefinedMax" : false,
  "userDefinedMin" : false,
  "icon" : "",
  "bannerText" : "",
  "suffixText" : "",
  "threshold" : "",
  "ymax" : 0.0,
  "ymin" : 0.0,
  "xaxisLabelsOn" : true,
  "yaxisLabelsOn" : true,
  "yaxisRightLabelsOn" : false,
  "xaxisLabel" : "",
  "yaxisLabel" : "",
  "yaxisRightLabel" : "",
  "yunitType" : "percent"
}

responses
representations
Content-Type: */*
Example for */* is available in REST API.

http://[host]:[port]/hicc/v1/chart/save/{id}

Methods
PUTsave()

Save chart meta data

request
path parameters
idstringis unique identifier of Chart object

representations
Content-Type: application/json

Example
{
  "id" : "4",
  "type" : "TIME_SERIES",
  "title" : "Disk Utilization",
  "series" : [ {
    "url" : "/hicc/v1/metrics/series/SystemMetrics.disk.ReadBytes/erics-macbook-pro-6.local",
    "label" : "SystemMetrics.disk.ReadBytes/erics-macbook-pro-6.local",
    "lines" : {
      "show" : true,
      "fill" : false,
      "lineWidth" : 0,
      "zero" : false,
      "steps" : false
    },
    "xaxis" : 0,
    "yaxis" : 0,
    "clickable" : false,
    "hoverable" : false,
    "shadowSize" : 0,
    "highlightColor" : 0
  }, {
    "url" : "/hicc/v1/metrics/series/SystemMetrics.disk.WriteBytes/erics-macbook-pro-6.local",
    "label" : "SystemMetrics.disk.WriteBytes/erics-macbook-pro-6.local",
    "lines" : {
      "show" : true,
      "fill" : false,
      "lineWidth" : 0,
      "zero" : false,
      "steps" : false
    },
    "xaxis" : 0,
    "yaxis" : 0,
    "clickable" : false,
    "hoverable" : false,
    "shadowSize" : 0,
    "highlightColor" : 0
  } ],
  "width" : 100,
  "height" : 100,
  "legend" : true,
  "userDefinedMax" : false,
  "userDefinedMin" : false,
  "icon" : "",
  "bannerText" : "",
  "suffixText" : "",
  "threshold" : "",
  "ymax" : 0.0,
  "ymin" : 0.0,
  "xaxisLabelsOn" : true,
  "yaxisLabelsOn" : true,
  "yaxisRightLabelsOn" : false,
  "xaxisLabel" : "",
  "yaxisLabel" : "",
  "yaxisRightLabel" : "",
  "yunitType" : "bytes-decimal"
}

responses
representations
Content-Type: */*
Example for */* is available in REST API.

http://[host]:[port]/hicc/v1/chart/preview

Methods
PUTpreview()

Display a chart base on chart configuration from REST API input

request
representations
Content-Type: application/json

Example
{
  "id" : "5",
  "type" : "TIME_SERIES",
  "title" : "Network Utilization",
  "series" : [ {
    "url" : "/hicc/v1/metrics/series/SystemMetrics.network.TxBytes/erics-macbook-pro-6.local",
    "label" : "SystemMetrics.network.TxBytes/erics-macbook-pro-6.local",
    "lines" : {
      "show" : true,
      "fill" : false,
      "lineWidth" : 0,
      "zero" : false,
      "steps" : false
    },
    "xaxis" : 0,
    "yaxis" : 0,
    "clickable" : false,
    "hoverable" : false,
    "shadowSize" : 0,
    "highlightColor" : 0
  }, {
    "url" : "/hicc/v1/metrics/series/SystemMetrics.network.RxBytes/erics-macbook-pro-6.local",
    "label" : "SystemMetrics.network.RxBytes/erics-macbook-pro-6.local",
    "lines" : {
      "show" : true,
      "fill" : false,
      "lineWidth" : 0,
      "zero" : false,
      "steps" : false
    },
    "xaxis" : 0,
    "yaxis" : 0,
    "clickable" : false,
    "hoverable" : false,
    "shadowSize" : 0,
    "highlightColor" : 0
  } ],
  "width" : 100,
  "height" : 100,
  "legend" : true,
  "userDefinedMax" : false,
  "userDefinedMin" : false,
  "icon" : "",
  "bannerText" : "",
  "suffixText" : "",
  "threshold" : "",
  "ymax" : 0.0,
  "ymin" : 0.0,
  "xaxisLabelsOn" : true,
  "yaxisLabelsOn" : true,
  "yaxisRightLabelsOn" : false,
  "xaxisLabel" : "",
  "yaxisLabel" : "",
  "yaxisRightLabel" : "",
  "yunitType" : "bytes"
}

responses
representations
Content-Type: text/html

http://[host]:[port]/hicc/v1/chart/preview/series

Methods
PUTpreviewSeries()

Display metrics series in JSON

request
representations
Content-Type: application/json

Example
[ {
  "url" : "/hicc/v1/metrics/series/SystemMetrics.cpu.combined/erics-macbook-pro-6.local",
  "label" : "SystemMetrics.cpu.combined/erics-macbook-pro-6.local",
  "lines" : {
    "show" : true,
    "fill" : false,
    "lineWidth" : 0,
    "zero" : false,
    "steps" : false
  },
  "xaxis" : 0,
  "yaxis" : 0,
  "clickable" : false,
  "hoverable" : false,
  "shadowSize" : 0,
  "highlightColor" : 0
}, {
  "url" : "/hicc/v1/metrics/series/SystemMetrics.cpu.sys/erics-macbook-pro-6.local",
  "label" : "SystemMetrics.cpu.sys/erics-macbook-pro-6.local",
  "lines" : {
    "show" : true,
    "fill" : false,
    "lineWidth" : 0,
    "zero" : false,
    "steps" : false
  },
  "xaxis" : 0,
  "yaxis" : 0,
  "clickable" : false,
  "hoverable" : false,
  "shadowSize" : 0,
  "highlightColor" : 0
}, {
  "url" : "/hicc/v1/metrics/series/SystemMetrics.cpu.user/erics-macbook-pro-6.local",
  "label" : "SystemMetrics.cpu.user/erics-macbook-pro-6.local",
  "lines" : {
    "show" : true,
    "fill" : false,
    "lineWidth" : 0,
    "zero" : false,
    "steps" : false
  },
  "xaxis" : 0,
  "yaxis" : 0,
  "clickable" : false,
  "hoverable" : false,
  "shadowSize" : 0,
  "highlightColor" : 0
} ]

responses
representations
Status: 200Content-Type: application/json
Display series data in JSON

http://[host]:[port]/hicc/v1/chart/draw/{id}

Methods
GETdraw()

Render chart using flot.js

request
path parameters
idstringReference ID of Chart stored in HBase chukwa_meta table.

responses
representations
Content-Type: text/html

http://[host]:[port]/hicc/v1/chart/describe/{id}

Methods
GETdescribe()

Describe chart meta data

request
path parameters
idstringChart ID

responses
representations
Status: 200Content-Type: application/json
Display chart configuration options

Example
{
  "id" : "2",
  "type" : "TIME_SERIES",
  "title" : "CPU Utilization",
  "series" : [ {
    "url" : "/hicc/v1/metrics/series/SystemMetrics.cpu.combined/erics-macbook-pro-6.local",
    "label" : "SystemMetrics.cpu.combined/erics-macbook-pro-6.local",
    "lines" : {
      "show" : true,
      "fill" : false,
      "lineWidth" : 0,
      "zero" : false,
      "steps" : false
    },
    "xaxis" : 0,
    "yaxis" : 0,
    "clickable" : false,
    "hoverable" : false,
    "shadowSize" : 0,
    "highlightColor" : 0
  }, {
    "url" : "/hicc/v1/metrics/series/SystemMetrics.cpu.sys/erics-macbook-pro-6.local",
    "label" : "SystemMetrics.cpu.sys/erics-macbook-pro-6.local",
    "lines" : {
      "show" : true,
      "fill" : false,
      "lineWidth" : 0,
      "zero" : false,
      "steps" : false
    },
    "xaxis" : 0,
    "yaxis" : 0,
    "clickable" : false,
    "hoverable" : false,
    "shadowSize" : 0,
    "highlightColor" : 0
  }, {
    "url" : "/hicc/v1/metrics/series/SystemMetrics.cpu.user/erics-macbook-pro-6.local",
    "label" : "SystemMetrics.cpu.user/erics-macbook-pro-6.local",
    "lines" : {
      "show" : true,
      "fill" : false,
      "lineWidth" : 0,
      "zero" : false,
      "steps" : false
    },
    "xaxis" : 0,
    "yaxis" : 0,
    "clickable" : false,
    "hoverable" : false,
    "shadowSize" : 0,
    "highlightColor" : 0
  } ],
  "width" : 100,
  "height" : 100,
  "legend" : true,
  "userDefinedMax" : false,
  "userDefinedMin" : false,
  "icon" : "",
  "bannerText" : "",
  "suffixText" : "",
  "threshold" : "",
  "ymax" : 0.0,
  "ymin" : 0.0,
  "xaxisLabelsOn" : true,
  "yaxisLabelsOn" : true,
  "yaxisRightLabelsOn" : false,
  "xaxisLabel" : "",
  "yaxisLabel" : "",
  "yaxisRightLabel" : "",
  "yunitType" : "percent"
}

http://[host]:[port]/hicc/v1/widget/view/{title}

Methods
GETviewWidget()

View widget details

request
path parameters
titlestringis title of the widget

responses
representations
Status: 200Content-Type: application/json
View widget details

Example
{
  "col" : 9,
  "row" : 2,
  "size_x" : 2,
  "size_y" : 1,
  "title" : "System Load Average",
  "src" : "/hicc/v1/chart/draw/1"
}

http://[host]:[port]/hicc/v1/widget/create

Methods
POSTcreateWidget()

Create a widget

request
representations
Content-Type: application/json

Example
{
  "col" : 1,
  "row" : 1,
  "size_x" : 12,
  "size_y" : 7,
  "title" : "Welcome Page",
  "src" : "/hicc/welcome.html"
}

responses
representations
Status: 200Content-Type: text/plain
Widget creation successful

Example
200 OK

Status: 400Content-Type: text/plain
Widget creation unsuccessful

Example
400 Bad Request

http://[host]:[port]/hicc/v1/widget/update/{title}

Methods
PUTupdateWidget()

Update a widget

request
path parameters
titlestringis widget title

representations
Content-Type: application/json

Example
{
  "col" : 1,
  "row" : 1,
  "size_x" : 12,
  "size_y" : 7,
  "title" : "Welcome Page",
  "src" : "/hicc/welcome.html"
}

responses
representations
Status: 200Content-Type: text/plain
Widget update is successful

Example
200 OK

Status: 400Content-Type: text/plain
Widget update unsuccessful

Example
400 Bad Request

http://[host]:[port]/hicc/v1/widget/delete/{title}

Methods
DELETEdeleteWidget()

Delete a widget

request
path parameters
titlestringis widget title

responses
representations
Status: 200Content-Type: text/plain
Widget deletion successful

Example
200 OK

Status: 400Content-Type: text/plain
Widget deletion unsuccessful

Example
400 Bad Request

http://[host]:[port]/hicc/v1/widget/search/{query}

Methods
GETsearchWidget()

Search for widget base on widget title

request
path parameters
querystringis search critieria

responses
representations
Status: 200Content-Type: application/json
Display list of HICC widget that matches query

Example
[ {
  "col" : 1,
  "row" : 1,
  "size_x" : 2,
  "size_y" : 1,
  "title" : "HDFS High Availability State",
  "src" : "/hicc/v1/tile/draw/11"
}, {
  "col" : 1,
  "row" : 11,
  "size_x" : 6,
  "size_y" : 6,
  "title" : "HDFS UI",
  "src" : "http://localhost:50070/"
}, {
  "col" : 3,
  "row" : 1,
  "size_x" : 2,
  "size_y" : 1,
  "title" : "HDFS Load",
  "src" : "/hicc/v1/tile/draw/12"
} ]

http://[host]:[port]/hicc/v1/widget/list

Methods
GETlistWidget()

List widgets

request
query parameters
limitint
default: 1000
is number of widgets to return
offsetint
default: 0
is position in the widget list

responses
representations
Status: 200Content-Type: application/json
Display list of HICC supported widgets

Example
[ {
  "col" : 1,
  "row" : 1,
  "size_x" : 2,
  "size_y" : 1,
  "title" : "HDFS High Availability State",
  "src" : "/hicc/v1/tile/draw/11"
}, {
  "col" : 1,
  "row" : 11,
  "size_x" : 6,
  "size_y" : 6,
  "title" : "HDFS UI",
  "src" : "http://localhost:50070/"
}, {
  "col" : 3,
  "row" : 1,
  "size_x" : 2,
  "size_y" : 1,
  "title" : "HDFS Load",
  "src" : "/hicc/v1/tile/draw/12"
} ]

http://[host]:[port]/hicc/v1/circles/preview

Methods
PUTpreview()

Preview circle graph with a set of chart configuration

request
representations
Content-Type: application/json

Example
{
  "id" : "7",
  "type" : "TIME_SERIES",
  "title" : "Namenode Memory",
  "series" : [ {
    "url" : "/hicc/v1/metrics/series/HadoopMetrics.jvm.JvmMetrics.MemHeapUsedM/erics-macbook-pro-6.local:NameNode",
    "label" : "HadoopMetrics.jvm.JvmMetrics.MemHeapUsedM/erics-macbook-pro-6.local:NameNode",
    "xaxis" : 0,
    "yaxis" : 0,
    "clickable" : false,
    "hoverable" : false,
    "shadowSize" : 0,
    "highlightColor" : 0
  }, {
    "url" : "/hicc/v1/metrics/series/HadoopMetrics.jvm.JvmMetrics.MemHeapMaxM/erics-macbook-pro-6.local:NameNode",
    "label" : "HadoopMetrics.jvm.JvmMetrics.MemHeapMaxM/erics-macbook-pro-6.local:NameNode",
    "xaxis" : 0,
    "yaxis" : 0,
    "clickable" : false,
    "hoverable" : false,
    "shadowSize" : 0,
    "highlightColor" : 0
  } ],
  "width" : 100,
  "height" : 100,
  "legend" : true,
  "userDefinedMax" : false,
  "userDefinedMin" : false,
  "icon" : "",
  "bannerText" : "",
  "suffixText" : "%",
  "threshold" : "up",
  "ymax" : 0.0,
  "ymin" : 0.0,
  "xaxisLabelsOn" : true,
  "yaxisLabelsOn" : true,
  "yaxisRightLabelsOn" : false,
  "xaxisLabel" : "",
  "yaxisLabel" : "",
  "yaxisRightLabel" : "",
  "yunitType" : ""
}

responses
representations
Content-Type: text/html

http://[host]:[port]/hicc/v1/circles/preview/series

Methods
PUTpreviewSeries()

Circle graph data can be calculated based on either a ratio of two metrics or the selected metric is a percentage metric for rendering circle graph.

request
representations
Content-Type: application/json

Example
[ {
  "url" : "/hicc/v1/metrics/series/HadoopMetrics.dfs.FSNamesystem.CapacityRemainingGB/erics-macbook-pro-6.local",
  "label" : "HadoopMetrics.dfs.FSNamesystem.CapacityRemainingGB/erics-macbook-pro-6.local",
  "xaxis" : 0,
  "yaxis" : 0,
  "clickable" : false,
  "hoverable" : false,
  "shadowSize" : 0,
  "highlightColor" : 0
}, {
  "url" : "/hicc/v1/metrics/series/HadoopMetrics.dfs.FSNamesystem.CapacityTotalGB/erics-macbook-pro-6.local",
  "label" : "HadoopMetrics.dfs.FSNamesystem.CapacityTotalGB/erics-macbook-pro-6.local",
  "xaxis" : 0,
  "yaxis" : 0,
  "clickable" : false,
  "hoverable" : false,
  "shadowSize" : 0,
  "highlightColor" : 0
} ]

responses
representations
Status: 200Content-Type: application/json
Display series data in JSON

http://[host]:[port]/hicc/v1/circles/draw/{id}

Methods
GETdraw()

Render circle using jquery circliful.js

request
path parameters
idstringTitle of the tile.

query parameters
invertboolean
default: false
Toggle to display warning, error color by upper bound or lower bound.

responses
representations
Status: 200Content-Type: text/html
Render circleful chart

Example
Example is availabe on HICC UI