]> arthur.barton.de Git - netdata.git/blobdiff - web/dashboard.html
added IPMI alarms
[netdata.git] / web / dashboard.html
old mode 100755 (executable)
new mode 100644 (file)
index 07799ba..75de65a
-<html>\r
-<head> \r
-       <title>NetData Dashboard</title>\r
-       <style type="text/css">\r
-               html{font-family:sans-serif;}\r
-       </style>\r
-</head>\r
-<body>\r
-\r
-<h1>NetData Custom Dashboard</h1>\r
-\r
-This is a template for building custom dashboards. To build a dashboard you just do this:\r
-\r
-<pre>\r
-&lt;html>\r
-&lt;body>\r
-       &lt;div data-netdata="system.processes"\r
-               data-chart-library="dygraph"\r
-               data-width="600"\r
-               data-height="200"\r
-               data-after="-600"\r
-               &lt;/div>\r
-&lt;/body>\r
-&lt;script type="text/javascript" src="http://netdata.server:19999/dashboard.js"></script>\r
-&lt;/html>\r
-</pre>\r
-\r
-<ul>\r
-       <li>You can host your dashboard anywhere.</li>\r
-       <li>You can add as many charts as you like.</li>\r
-       <li>You can have charts from many different netdata servers (add <pre>data-host="http://another.netdata.server:19999/"</pre> to each chart).</li>\r
-       <li>You can use different chart libraries on the same page: <b>peity</b>, <b>sparkline</b>, <b>dygraph</b>, <b>google</b> (requires some more lines in your html page - view source this one), <b>morris</b></li>\r
-       <li>You can customize each chart to your preferences. For each chart library most of their attributes can be given in <b>data-</b> attributes.</li>\r
-       <li>Each chart can have each own duration - it is controlled with the <b>data-after</b> attribute to give that many seconds of data.</li>\r
-       <li>Depending on the width of the chart and <b>data-after</b> attribute, netdata will automatically refresh the chart when it needs to be updated. For example giving 600 pixels for width for -600 seconds of data, using a chart library that needs 3 pixels per point, will yeld in a chart updated once every 3 seconds.</li>\r
-</ul>\r
-\r
-       <table border="0" cellpadding="5" cellspacing="5">\r
-       <tr>\r
-               <th width="600">\r
-               System Processes - Line Chart\r
-               </th>\r
-               <th width="600">\r
-               System ipv4 - Area Chart\r
-               </th>\r
-               <th width="600">\r
-               System CPU - Stacked Area Chart\r
-               </th>\r
-       </tr>\r
-       <tr><td colspan="3" align="center">&nbsp;</td></tr>\r
-       <tr><th colspan="3" align="center"><hr>Peity Charts</th></tr>\r
-       <tr><td colspan="3" align="center">\r
-               Peity charts do not support 'NULL' values, so the charts cannot indicate that values are missing.\r
-               Peity charts cannot have multiple dimensions on the charts - so netdata will use 'min2max' to show\r
-               the total of all dimensions.\r
-               </td></tr>\r
-       <tr>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.processes"\r
-                               data-chart-library="peity"\r
-                               data-width="600"\r
-                               data-height="30"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time11"\r
-                               </div>\r
-               </td>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.ipv4"\r
-                               data-chart-library="peity"\r
-                               data-width="600"\r
-                               data-height="30"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time12"\r
-                               </div>\r
-               </td>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.cpu"\r
-                               data-chart-library="peity"\r
-                               data-width="600"\r
-                               data-height="30"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time13"\r
-                               </div>\r
-               </td>\r
-       </tr>\r
-       <tr>\r
-               <td>rendered in <span id="time11">X</span> ms</td>\r
-               <td>rendered in <span id="time12">X</span> ms</td>\r
-               <td>rendered in <span id="time13">X</span> ms</td>\r
-       </tr>\r
-       <tr><td colspan="3" align="center">&nbsp;</td></tr>\r
-       <tr><th colspan="3" align="center"><hr>Sparkline Charts</th></tr>\r
-       <tr><td colspan="3" align="center">\r
-               Sparkline charts support 'NULL' values, so the charts can indicate that values are missing.\r
-               Sparkline charts stretch the values to show the variations between values in more detail.\r
-               They also have mouse-hover support.\r
-               </td></tr>\r
-       <tr>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.processes"\r
-                               data-chart-library="sparkline"\r
-                               data-width="600"\r
-                               data-height="30"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time21"\r
-                               </div>\r
-               </td>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.ipv4"\r
-                               data-chart-library="sparkline"\r
-                               data-width="600"\r
-                               data-height="30"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time22"\r
-                               </div>\r
-               </td>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.cpu"\r
-                               data-chart-library="sparkline"\r
-                               data-width="600"\r
-                               data-height="30"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time23"\r
-                               </div>\r
-               </td>\r
-       </tr>\r
-       <tr>\r
-               <td>rendered in <span id="time21">X</span> ms</td>\r
-               <td>rendered in <span id="time22">X</span> ms</td>\r
-               <td>rendered in <span id="time23">X</span> ms</td>\r
-       </tr>\r
-       <tr><td colspan="3" align="center">&nbsp;</td></tr>\r
-       <tr><th colspan="3" align="center"><hr>Dygraph Charts</th></tr>\r
-       <tr><td colspan="3" align="center">\r
-               The fastest charting engine that can chart complete charts (not just sparklines).\r
-               The charts are zoomable (drag their contents to zoom-in, double click to zoom-out).\r
-               For the moment zooming is just on the presentation layer (the data do not become more detailed when you zoom).\r
-               </td></tr>\r
-       <tr>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.processes"\r
-                               data-chart-library="dygraph"\r
-                               data-width="600"\r
-                               data-height="200"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time31"\r
-                               </div>\r
-               </td>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.ipv4"\r
-                               data-chart-library="dygraph"\r
-                               data-width="600"\r
-                               data-height="200"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time32"\r
-                               </div>\r
-               </td>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.cpu"\r
-                               data-chart-library="dygraph"\r
-                               data-width="600"\r
-                               data-height="200"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time33"\r
-                               </div>\r
-               </td>\r
-       </tr>\r
-       <tr>\r
-               <td>rendered in <span id="time31">X</span> ms</td>\r
-               <td>rendered in <span id="time32">X</span> ms</td>\r
-               <td>rendered in <span id="time33">X</span> ms</td>\r
-       </tr>\r
-       <tr><td colspan="3" align="center">&nbsp;</td></tr>\r
-       <tr><th colspan="3" align="center"><hr>Google Charts</th></tr>\r
-       <tr><td colspan="3" align="center">\r
-               NetData was originaly developed with Google Charts.\r
-               NetData is a complete Google Visualization API provider.\r
-               </td></tr>\r
-       <tr>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.processes"\r
-                               data-chart-library="google"\r
-                               data-width="600"\r
-                               data-height="200"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time51"\r
-                               </div>\r
-               </td>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.ipv4"\r
-                               data-chart-library="google"\r
-                               data-width="600"\r
-                               data-height="200"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time52"\r
-                               </div>\r
-               </td>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.cpu"\r
-                               data-chart-library="google"\r
-                               data-width="600"\r
-                               data-height="200"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time53"\r
-                               </div>\r
-               </td>\r
-       </tr>\r
-       <tr>\r
-               <td>rendered in <span id="time51">X</span> ms</td>\r
-               <td>rendered in <span id="time52">X</span> ms</td>\r
-               <td>rendered in <span id="time53">X</span> ms</td>\r
-       </tr>\r
-       <tr><td colspan="3" align="center">&nbsp;</td></tr>\r
-       <tr><th colspan="3" align="center"><hr>Morris Charts</th></tr>\r
-       <tr><td colspan="3" align="center">\r
-               Unfortunatelly, Morris Charts are veeeeeeeeeeeeeeeery slow! We force them to lower their detail to get acceptable results.\r
-               And they have issues with negative numbers in area charts...\r
-               </td></tr>\r
-       <tr>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.processes"\r
-                               data-chart-library="morris"\r
-                               data-width="600"\r
-                               data-height="200"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time41"\r
-                               </div>\r
-               </td>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.ipv4"\r
-                               data-chart-library="morris"\r
-                               data-width="600"\r
-                               data-height="200"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time42"\r
-                               </div>\r
-               </td>\r
-               <td width="600" align="center">\r
-                       <div data-netdata="system.cpu"\r
-                               data-chart-library="morris"\r
-                               data-width="600"\r
-                               data-height="200"\r
-                               data-after="-600"\r
-                               data-dt-element-name="time43"\r
-                               </div>\r
-               </td>\r
-       </tr>\r
-       <tr>\r
-               <td>rendered in <span id="time41">X</span> ms</td>\r
-               <td>rendered in <span id="time42">X</span> ms</td>\r
-               <td>rendered in <span id="time43">X</span> ms</td>\r
-       </tr>\r
-       </table>\r
-\r
-</body>\r
-</html>\r
-       <!-- You can disable Google Visualization by commenting the following two lines -->\r
-       <script type="text/javascript" src="https://www.google.com/jsapi"></script>\r
-       <script type='text/javascript'>google.load('visualization', '1.1', {'packages':['corechart', 'controls']});</script>\r
-\r
-       <!-- you can set your netdata server globally, by ucommenting this -->\r
-       <!-- you can also give a different server per chart, with the attribute: data-host="http://netdata.server:19999" -->\r
-       <!-- <script> netdataServer = "http://box:19999"; </script> -->\r
-\r
-       <!-- load the dashboard manager - it will do the rest -->\r
-       <script type="text/javascript" src="dashboard.js"></script>\r
-\r
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <title>NetData Dashboard</title>
+    <meta name="application-name" content="netdata">
+
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
+    <meta name="author" content="costa@tsaousis.gr">
+
+    <meta property="og:locale" content="en_US" />
+    <meta property="og:image" content="https://cloud.githubusercontent.com/assets/2662304/22945737/e98cd0c6-f2fd-11e6-96f1-5501934b0955.png"/>
+    <meta property="og:url" content="http://my-netdata.io/"/>
+    <meta property="og:type" content="website"/>
+    <meta property="og:site_name" content="netdata"/>
+    <meta property="og:title" content="netdata - real-time performance monitoring, done right!"/>
+    <meta property="og:description" content="Stunning real-time dashboards, blazingly fast and extremely interactive. Zero configuration, zero dependencies, zero maintenance." />
+</head>
+<body>
+
+<div class="container-fluid">
+
+<h1>NetData Custom Dashboard <div data-netdata="system.cpu" data-chart-library="sparkline" data-height="30" data-after="-600" data-sparkline-linecolor="#888"></div></h1>
+
+This is a template for building custom dashboards. To build a dashboard you just do this:
+
+<pre>
+&lt;!DOCTYPE html>
+&lt;html lang="en">
+&lt;head>
+    &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    &lt;meta charset="utf-8">
+    &lt;meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    &lt;meta name="viewport" content="width=device-width, initial-scale=1">
+    &lt;meta name="apple-mobile-web-app-capable" content="yes">
+    &lt;meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
+&lt;/head>
+&lt;body>
+    &lt;div data-netdata="system.processes"
+        data-chart-library="dygraph"
+        data-width="600"
+        data-height="200"
+        data-after="-600"
+        >&lt;/div>
+&lt;/body>
+&lt;script type="text/javascript" src="http://netdata.server:19999/dashboard.js">&lt;/script>
+&lt;/html>
+</pre>
+
+<ul>
+    <li>You can host your dashboard anywhere.</li>
+    <li>You can add as many charts as you like.</li>
+    <li>You can have charts from many different netdata servers (add <pre>data-host="http://another.netdata.server:19999/"</pre> to each chart).</li>
+    <li>You can use different chart libraries on the same page: <b>peity</b>, <b>sparkline</b>, <b>dygraph</b>, <b>google</b>, <b>morris</b></li>
+    <li>You can customize each chart to your preferences. For each chart library most of their attributes can be given in <b>data-</b> attributes.</li>
+    <li>Each chart can have each own duration - it is controlled with the <b>data-after</b> attribute to give that many seconds of data.</li>
+    <li>Depending on the width of the chart and <b>data-after</b> attribute, netdata will automatically refresh the chart when it needs to be updated. For example giving 600 pixels for width for -600 seconds of data, using a chart library that needs 3 pixels per point, will yeld in a chart updated once every 3 seconds.</li>
+</ul>
+
+
+<hr>
+<h1>Sparkline Charts</h1>
+Sparkline charts support 'NULL' values, so the charts can indicate that values are missing.
+Sparkline charts stretch the values to show the variations between values in more detail.
+They also have mouse-hover support.
+<br/>
+<b>Sparklines are fantastic</b>. You can inline charts in text. For example this
+    <div    data-netdata="system.cpu"
+            data-chart-library="sparkline"
+            data-width="5%"
+            data-height="20"
+            data-after="-30"
+            ></div> is my current cpu usage (last 30 seconds),
+    while this
+    <div    data-netdata="netdata.net"
+            data-dimensions="out"
+            data-chart-library="sparkline"
+            data-width="10%"
+            data-height="20"
+            data-after="-60"
+            ></div> is the bandwidth my netdata server is currently transmitting (last minute)
+    and this
+    <div    data-netdata="netdata.requests"
+            data-chart-library="sparkline"
+            data-width="20%"
+            data-height="20"
+            data-after="-180"
+            ></div> is the requests/sec it serves (last 3 minutes).
+
+<br/>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.processes"
+        data-chart-library="sparkline"
+        data-width="100%"
+        data-height="30"
+        data-after="-300"
+        data-dt-element-name="time101"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time101">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.ipv4"
+        data-chart-library="sparkline"
+        data-width="100%"
+        data-height="30"
+        data-after="-300"
+        data-dt-element-name="time102"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time102">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.cpu"
+        data-chart-library="sparkline"
+        data-width="100%"
+        data-height="30"
+        data-after="-300"
+        data-dt-element-name="time103"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time103">X</span> ms</small>
+</div>
+
+
+
+<hr>
+<h1>Peity Charts</h1>
+Peity charts do not support 'NULL' values, so the charts cannot indicate that values are missing.
+Peity charts cannot have multiple dimensions on the charts - so netdata will use 'min2max' to show
+the total of all dimensions.
+<br/>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.processes"
+        data-chart-library="peity"
+        data-width="100%"
+        data-height="30"
+        data-after="-300"
+        data-dt-element-name="time001"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time001">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.ipv4"
+        data-chart-library="peity"
+        data-width="100%"
+        data-height="30"
+        data-after="-300"
+        data-dt-element-name="time002"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time002">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.cpu"
+        data-chart-library="peity"
+        data-width="100%"
+        data-height="30"
+        data-after="-300"
+        data-dt-element-name="time003"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time003">X</span> ms</small>
+</div>
+
+
+
+
+<hr>
+<h1>Dygraph Charts</h1>
+The fastest charting engine that can chart complete charts (not just sparklines).
+The charts are zoomable (drag their contents to pan, shift with mouse wheel to zoom-in or zoom-out, double click to reset it).
+<b>Netdata magic!</b> Realtime charts on your web page!
+<br/>
+Sparklines using dygraphs
+    <div data-netdata="system.processes"
+        data-chart-library="dygraph"
+        data-dygraph-theme="sparkline"
+        data-legend="no"
+        data-width="15%"
+        data-height="20"
+        data-after="-300"
+        ></div>
+    are also possible! This
+    <div data-netdata="system.ipv4"
+        data-chart-library="dygraph"
+        data-dygraph-theme="sparkline"
+        data-legend="no"
+        data-width="15%"
+        data-height="20"
+        data-after="-300"
+        ></div>
+    is an area chart, while this
+    <div data-netdata="system.cpu"
+        data-chart-library="dygraph"
+        data-dygraph-theme="sparkline"
+        data-legend="no"
+        data-width="15%"
+        data-height="20"
+        data-after="-300"
+        ></div> is a stacked area chart!
+
+
+<br/>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.processes"
+        data-chart-library="dygraph"
+        data-dygraph-theme="sparkline"
+        data-width="100%"
+        data-height="30"
+        data-after="-300"
+        data-dt-element-name="time501"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time501">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.ipv4"
+        data-chart-library="dygraph"
+        data-dygraph-theme="sparkline"
+        data-width="100%"
+        data-height="30"
+        data-after="-300"
+        data-dt-element-name="time502"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time502">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.cpu"
+        data-chart-library="dygraph"
+        data-dygraph-theme="sparkline"
+        data-width="100%"
+        data-height="30"
+        data-after="-300"
+        data-dt-element-name="time503"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time503">X</span> ms</small>
+</div>
+
+
+
+<br/>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.processes"
+        data-chart-library="dygraph"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time201"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time201">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.ipv4"
+        data-chart-library="dygraph"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time202"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time202">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.cpu"
+        data-chart-library="dygraph"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time203"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time203">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.io"
+        data-chart-library="dygraph"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time204"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time204">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="apps.cpu"
+        data-chart-library="dygraph"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time205"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time205">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="netdata.net"
+        data-chart-library="dygraph"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time206"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time206">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="netdata.server_cpu"
+        data-chart-library="dygraph"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time207"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time207">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="netdata.requests"
+        data-chart-library="dygraph"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time208"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time208">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="net.gstag0"
+        data-chart-library="dygraph"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time209"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time209">X</span> ms</small>
+</div>
+
+
+
+<hr>
+<h1>EasyPieChart</h1>
+<br/>
+<div style="width: 33%; display: inline-block;">
+    <div style="display: inline-block; position: relative;">
+        <div data-netdata="system.processes"
+            data-chart-library="easypiechart"
+            data-width="200"
+            data-height="200"
+            data-after="-300"
+            data-points="300"
+            data-dt-element-name="time601"
+            ></div>
+        <br/>
+        <small>rendered in <span id="time601">X</span> ms</small>
+    </div>
+    <div style="display: inline-block; position: relative;">
+        <div data-netdata="system.processes"
+            data-chart-library="easypiechart"
+            data-width="150"
+            data-height="150"
+            data-after="-300"
+            data-points="150"
+            data-dt-element-name="time601a"
+            ></div>
+        <br/>
+        <small>rendered in <span id="time601a">X</span> ms</small>
+    </div>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div style="display: inline-block; position: relative;">
+        <div data-netdata="system.ipv4"
+            data-chart-library="easypiechart"
+            data-width="200"
+            data-height="200"
+            data-after="-300"
+            data-points="300"
+            data-dt-element-name="time602"
+            ></div>
+        <br/>
+        <small>rendered in <span id="time602">X</span> ms</small>
+    </div>
+    <div style="display: inline-block; position: relative;">
+        <div data-netdata="system.ipv4"
+            data-chart-library="easypiechart"
+            data-width="100"
+            data-height="100"
+            data-after="-300"
+            data-points="150"
+            data-dt-element-name="time602a"
+            ></div>
+        <br/>
+        <small>rendered in <span id="time602a">X</span> ms</small>
+    </div>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div style="display: inline-block; position: relative;">
+        <div data-netdata="system.cpu"
+            data-chart-library="easypiechart"
+            data-width="200"
+            data-height="200"
+            data-after="-300"
+            data-points="300"
+            data-dt-element-name="time603"
+            ></div>
+        <br/>
+        <small>rendered in <span id="time603">X</span> ms</small>
+    </div>
+    <div style="display: inline-block; position: relative;">
+        <div data-netdata="system.cpu"
+            data-chart-library="easypiechart"
+            data-width="75"
+            data-height="75"
+            data-after="-300"
+            data-points="150"
+            data-dt-element-name="time603a"
+            ></div>
+        <br/>
+        <small>rendered in <span id="time603a">X</span> ms</small>
+    </div>
+</div>
+
+
+<hr>
+<h1>Gauge.js</h1>
+<br/>
+<div style="width: 33%; display: inline-block;">
+    <div style="display: inline-block; position: relative;">
+        <div data-netdata="system.processes"
+            data-chart-library="gauge"
+            data-width="250"
+            data-height="200"
+            data-after="-300"
+            data-points="300"
+            data-dt-element-name="time701"
+            ></div>
+        <br/>
+        <small>rendered in <span id="time701">X</span> ms</small>
+    </div>
+    <div style="display: inline-block; position: relative;">
+        <div data-netdata="system.processes"
+            data-chart-library="gauge"
+            data-width="125"
+            data-height="100"
+            data-after="-300"
+            data-points="150"
+            data-dt-element-name="time701a"
+            ></div>
+        <br/>
+        <small>rendered in <span id="time701a">X</span> ms</small>
+    </div>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div style="display: inline-block; position: relative;">
+        <div data-netdata="system.ipv4"
+            data-chart-library="gauge"
+            data-width="250"
+            data-height="200"
+            data-after="-300"
+            data-points="300"
+            data-dt-element-name="time702"
+            ></div>
+        <br/>
+        <small>rendered in <span id="time702">X</span> ms</small>
+    </div>
+    <div style="display: inline-block; position: relative;">
+        <div data-netdata="system.ipv4"
+            data-chart-library="gauge"
+            data-width="125"
+            data-height="100"
+            data-after="-300"
+            data-points="150"
+            data-dt-element-name="time702a"
+            ></div>
+        <br/>
+        <small>rendered in <span id="time702a">X</span> ms</small>
+    </div>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div style="display: inline-block; position: relative;">
+        <div data-netdata="system.cpu"
+            data-chart-library="gauge"
+            data-width="250"
+            data-height="200"
+            data-after="-300"
+            data-points="300"
+            data-dt-element-name="time703"
+            ></div>
+        <br/>
+        <small>rendered in <span id="time703">X</span> ms</small>
+    </div>
+    <div style="display: inline-block; position: relative;">
+        <div data-netdata="system.cpu"
+            data-chart-library="gauge"
+            data-width="125"
+            data-height="100"
+            data-after="-300"
+            data-points="150"
+            data-dt-element-name="time703a"
+            ></div>
+        <br/>
+        <small>rendered in <span id="time703a">X</span> ms</small>
+    </div>
+</div>
+
+
+<hr>
+<h1>Google Charts</h1>
+NetData was originaly developed with Google Charts.
+NetData is a complete Google Visualization API provider.
+<br/>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.processes"
+        data-chart-library="google"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time301"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time301">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.ipv4"
+        data-chart-library="google"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time302"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time302">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.cpu"
+        data-chart-library="google"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time303"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time303">X</span> ms</small>
+</div>
+
+
+
+
+
+
+<hr>
+<h1>Morris Charts</h1>
+Unfortunatelly, Morris Charts are very slow. Here we force them to lower their detail to get acceptable results.
+<br/>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.processes"
+        data-chart-library="morris"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time401"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time401">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.ipv4"
+        data-chart-library="morris"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time402"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time402">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.cpu"
+        data-chart-library="morris"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time403"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time403">X</span> ms</small>
+</div>
+
+
+<hr>
+<h1>C3 Charts</h1>
+C3 charts are not usable in large scale. They suffer from the following issues:
+<ul>
+ <li>extreme use of transitions (implemented with D3 instead of CSS, meaning they are javascript rendered) that cannot be disabled - even opacity is hardcoded in the javascript library</li>
+ <li>rendering is done with <code>SVG</code> instead of <code>canvas</code>, so they use DOM elements for every point, becomimg useless if more than 500 points are drawn</li>
+ <li>lack of a <code>raw</code> data format, so every time a chart is updated, data convertion in javascript is required</li>
+ <li>lack of <code>stacked</code> charts support</li>
+</ul>
+So, to avoid flashing the charts, we destroy and re-create the charts on each update. Also, since they manipulate the data with javascript we were forced to lower the detail they render to get acceptable speeds.
+<br/>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.processes"
+        data-chart-library="c3"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time801"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time801">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.ipv4"
+        data-chart-library="c3"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time802"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time802">X</span> ms</small>
+</div>
+<div style="width: 33%; display: inline-block;">
+    <div data-netdata="system.cpu"
+        data-chart-library="c3"
+        data-width="100%"
+        data-height="200"
+        data-after="-300"
+        data-dt-element-name="time803"
+        ></div>
+    <br/>
+    <small>rendered in <span id="time803">X</span> ms</small>
+</div>
+
+</div> <!-- 1st container -->
+</body>
+</html>
+
+<!-- you can set your netdata server globally, by ucommenting this -->
+<!-- you can also give a different server per chart, with the attribute: data-host="http://netdata.server:19999" -->
+<!-- <script> netdataServer = "http://box:19999"; </script> -->
+
+<!-- load the dashboard manager - it will do the rest -->
+<script type="text/javascript" src="dashboard.js?v20170105-7"></script>