Skip to content
This repository has been archived by the owner on Oct 4, 2019. It is now read-only.

Commit

Permalink
improved
Browse files Browse the repository at this point in the history
  • Loading branch information
Bill Wang committed Apr 18, 2017
1 parent 5a558a1 commit 32eea95
Show file tree
Hide file tree
Showing 19 changed files with 496 additions and 1,234 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Expand Up @@ -13,4 +13,5 @@ erl_crash.dump
.rebar
logs
_build

.idea/
apps/observerweb/observerweb.iml
43 changes: 0 additions & 43 deletions apps/observerweb/include/observer_backend.hrl

This file was deleted.

34 changes: 17 additions & 17 deletions apps/observerweb/priv/index.html
Expand Up @@ -5,15 +5,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Observer Web</title>
<link rel="icon" href="img/favicon.ico" />
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="http://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.10.1/bootstrap-table.min.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.10.1/bootstrap-table.min.js"></script>
<script type="text/javascript" src="https://code.highcharts.com/highcharts.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/highcharts/4.2.3/themes/grid-light.js"></script>
<script type="text/javascript" src="js/main.js"></script>
<script type="text/javascript">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highcharts/5.0.10/highcharts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highcharts/5.0.10/js/themes/grid-light.js"></script>
<script src="js/main.js"></script>
<script>
$(document).ready(function(){
getNodes();
loadSysInfo();
Expand All @@ -24,7 +24,7 @@
loadProInfo();
$('ul#nodes').on("click", "li a", function(){
var value = $(this).html();
if(value != "Connect Node"){
if(value !== "Connect Node"){
changeNode(value);
}
});
Expand All @@ -36,7 +36,7 @@
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="https://github.com/freecnpro/ObserverWeb">ObserverWeb</a>
<a class="navbar-brand" href="https://github.com/freecnpro/observerweb">ObserverWeb</a>
</div>
<div class="collapse navbar-collapse" id="bs-navbar-collapse-1">
<ul class="nav navbar-nav">
Expand Down Expand Up @@ -69,7 +69,7 @@
<div class="panel-heading">
<h3 class="panel-title">System and Architecture</h3>
</div>
<table class="table">
<table class="table table-bordered">
<tbody style="font-size:12px" id="system-architecture">
</tbody>
</table>
Expand All @@ -80,7 +80,7 @@ <h3 class="panel-title">System and Architecture</h3>
<div class="panel-heading">
<h3 class="panel-title">Memory Usage</h3>
</div>
<table class="table">
<table class="table table-bordered">
<tbody style="font-size:12px" id="memory-info">
</tbody>
</table>
Expand All @@ -93,7 +93,7 @@ <h3 class="panel-title">Memory Usage</h3>
<div class="panel-heading">
<h3 class="panel-title">CPU's and Threads</h3>
</div>
<table class="table">
<table class="table table-bordered">
<tbody style="font-size:12px" id="cpu-threads">
</tbody>
</table>
Expand All @@ -104,7 +104,7 @@ <h3 class="panel-title">CPU's and Threads</h3>
<div class="panel-heading">
<h3 class="panel-title">Statistics</h3>
</div>
<table class="table">
<table class="table table-bordered">
<tbody style="font-size:12px" id="statistics">
</tbody>
</table>
Expand Down Expand Up @@ -140,7 +140,7 @@ <h3 class="panel-title">Statistics</h3>
</div>
<div class="row">
<div class="col-md-12">
<table data-toggle="table" data-cache="false" data-height="200">
<table data-toggle="table" data-classes="table table-bordered" data-cache="false" data-height="200">
<thead>
<tr>
<th>Allocator Type</th>
Expand All @@ -156,7 +156,7 @@ <h3 class="panel-title">Statistics</h3>
</div>
<div class="tab-pane" id="applications"><p>Applications</p></div>
<div class="tab-pane" id="processes">
<table data-toggle="table" data-cache="false" data-height="600">
<table data-toggle="table" data-classes="table table-bordered" data-cache="false" data-height="600">
<thead>
<tr>
<th>Pid</th>
Expand Down
43 changes: 22 additions & 21 deletions apps/observerweb/priv/js/main.js
Expand Up @@ -25,8 +25,9 @@ function loadCharts(){
var xmlhttp = new XMLHttpRequest();
setInterval(function() {
sendAsyncRequest(xmlhttp, "action=get_perf&type=scheduler", function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
var newData = eval("(" + xmlhttp.responseText + ")");
console.log(newData);
for (var i = 0; i < schedulerobj.scheduler.length; i++) {
var series = schedulerChart.series[i];
var x = (new Date()).getTime(),
Expand Down Expand Up @@ -101,10 +102,10 @@ function loadCharts(){
var xmlhttp = new XMLHttpRequest();
setInterval(function() {
sendAsyncRequest(xmlhttp, "action=get_perf&type=memory", function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
var data = eval("(" + xmlhttp.responseText + ")");
var x = (new Date()).getTime();
var values = new Array(data.total,data.processes,data.atom,data.binary,data.code,data.ets);
var values = [data.total,data.processes,data.atom,data.binary,data.code,data.ets];
var max = (values.sort(function(a, b){
return b - a;
}))[0];
Expand Down Expand Up @@ -143,7 +144,7 @@ function loadCharts(){
},
series: (function() {
var seriesdata = [];
var names = new Array("Total", "Processes", "Atom", "Binary", "Code", "Ets");
var names = ["Total", "Processes", "Atom", "Binary", "Code", "Ets"];
for (var i = 0; i < 6; i++) {
seriesdata.push({
name: names[i],
Expand Down Expand Up @@ -176,7 +177,7 @@ function loadCharts(){
var xmlhttp = new XMLHttpRequest();
setInterval(function() {
sendAsyncRequest(xmlhttp, "action=get_perf&type=io", function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
var data = eval("(" + xmlhttp.responseText + ")");
var x = (new Date()).getTime();
var input = data.input - ioobj.input;
Expand Down Expand Up @@ -219,7 +220,7 @@ function loadCharts(){
var seriesdata = [];
var responseText = sendSyncRequest("action=get_perf&type=io");
ioobj = eval("(" + responseText + ")");
var names = new Array("Input", "Output");
var names = ["Input", "Output"];
for (var i = 0; i < 2; i++) {
seriesdata.push({
name: names[i],
Expand Down Expand Up @@ -253,10 +254,10 @@ function loadSysInfo(){
function loadSysInfos() {
var xmlhttp = new XMLHttpRequest();
sendAsyncRequest(xmlhttp, "action=get_sys", function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
var jsonData = eval("(" + xmlhttp.responseText + ")");
var datas = new Array(jsonData.system, jsonData.memory, jsonData.cpu, jsonData.statistics);
var ids = new Array("#system-architecture", "#memory-info", "#cpu-threads", "#statistics");
var datas = [jsonData.system, jsonData.memory, jsonData.cpu, jsonData.statistics];
var ids = ["#system-architecture", "#memory-info", "#cpu-threads", "#statistics"];
for (var i = 0; i < datas.length; i++) {
displayInfo(ids[i], datas[i]);
}
Expand Down Expand Up @@ -291,7 +292,7 @@ function loadMAlocInfo() {
var xmlhttp = new XMLHttpRequest();
setInterval(function() {
sendAsyncRequest(xmlhttp, "action=get_malloc", function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
var data = eval("(" + xmlhttp.responseText + ")");
var x = (new Date()).getTime();
var allocators = data.allocator;
Expand Down Expand Up @@ -330,7 +331,7 @@ function loadMAlocInfo() {
},
series: (function() {
var seriesdata = [];
var names = new Array("Total", "Temp", "Sl", "Std", "Ll", "Eheap", "Ets", "Fix", "Binary", "Driver");
var names = ["Total", "Temp", "Sl", "Std", "Ll", "Eheap", "Ets", "Fix", "Binary", "Driver"];
for (var i = 0; i < 10; i++) {
seriesdata.push({
name: names[i],
Expand Down Expand Up @@ -364,7 +365,7 @@ function loadMAlocInfo() {
var xmlhttp = new XMLHttpRequest();
setInterval(function() {
sendAsyncRequest(xmlhttp, "action=get_malloc", function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
var data = eval("(" + xmlhttp.responseText + ")");
var x = (new Date()).getTime();
var allocators = data.allocator;
Expand Down Expand Up @@ -403,7 +404,7 @@ function loadMAlocInfo() {
},
series: (function() {
var seriesdata = [];
var names = new Array("Total", "Temp", "Sl", "Std", "Ll", "Eheap", "Ets", "Fix", "Binary", "Driver");
var names = ["Total", "Temp", "Sl", "Std", "Ll", "Eheap", "Ets", "Fix", "Binary", "Driver"];
for (var i = 0; i < 10; i++) {
seriesdata.push({
name: names[i],
Expand All @@ -430,7 +431,7 @@ function loadMAlocInfo() {
function loadMAlocInfos() {
var xmlhttp = new XMLHttpRequest();
sendAsyncRequest(xmlhttp, "action=get_malloc", function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
var jsonData = eval("(" + xmlhttp.responseText + ")");

displayInfo("#alloctor-table", jsonData.allocator);
Expand All @@ -440,7 +441,7 @@ function loadMAlocInfos() {

function displayInfo(id, data) {
var txt = "";
if (id == "#alloctor-table") {
if (id === "#alloctor-table") {
for (var i = 0; i < data.length; i++) {
txt = txt + "<tr><td>" + data[i].name + "</td><td class=\"text-right\">" + data[i].bs + "</td><td class=\"text-right\">" + data[i].cs + "</td></tr>";
}
Expand Down Expand Up @@ -503,8 +504,8 @@ function connectNode(){
document.getElementById("connect_node_form").reset();
var xmlhttp = new XMLHttpRequest();
sendAsyncRequest(xmlhttp, qs, function(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
if(xmlhttp.responseText == "Connect failed"){
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
if(xmlhttp.responseText === "Connect failed"){
alert("Connect failed!");
}else{
location.reload();
Expand All @@ -516,7 +517,7 @@ function connectNode(){
function getNodes(){
var xmlhttp = new XMLHttpRequest();
sendAsyncRequest(xmlhttp, "action=get_nodes", function(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
var jsonData = eval("(" + xmlhttp.responseText + ")");
var nodes = jsonData.nodes;
var txt = "";
Expand All @@ -532,9 +533,9 @@ function getNodes(){
function changeNode(node){
var xmlhttp = new XMLHttpRequest();
sendAsyncRequest(xmlhttp, "action=change_node&node=" + node, function(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
console.log("Respone: ", xmlhttp.responseText);
if(xmlhttp.responseText == "true"){
if(xmlhttp.responseText === "true"){
location.reload();
}
}
Expand All @@ -551,7 +552,7 @@ function loadProInfo(){
function loadProInfos() {
var xmlhttp = new XMLHttpRequest();
sendAsyncRequest(xmlhttp, "action=get_pro&type=all", function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
var jsonData = eval("(" + xmlhttp.responseText + ")");
var txt = "";
for (var i = jsonData.length -1; i >= 0 ; i--) {
Expand Down
39 changes: 18 additions & 21 deletions apps/observerweb/src/observerweb.app.src
@@ -1,22 +1,19 @@
%%%-------------------------------------------------------------------
%%% @author Bill Wang <bill@freecnpro.net>
%%% @copyright (C) 2015, Freecnpro.net
%%% @doc
%%%
%%% @end
%%% Created : 17. Jun 2015 11:24 AM
%%%-------------------------------------------------------------------
{application, observerweb, [
{description, "Observer web frontend"},
{vsn, "0.1.0"},
{registered, [observerweb_sup]},
{applications, [
kernel,
stdlib,
cowboy,
xmerl,
runtime_tools
]},
{mod, {observerweb_app, []}},
{env, []}
]}.
{description, "Observer web frontend"},
{vsn, "0.1.1"},
{registered, []},
{mod, {observerweb_app, []}},
{applications, [
kernel,
stdlib,
cowboy,
xmerl,
runtime_tools,
jiffy
]},
{env, []},
{modules, []},
{maintainers, ["Bill Wang <bill@freecnpro.net>"]},
{licenses, ["MIT"]},
{links, [{"Github", "https://github.com/freecnpro/observerweb"}]}
]}.
12 changes: 8 additions & 4 deletions apps/observerweb/src/observerweb.erl
@@ -1,17 +1,19 @@
%%%-------------------------------------------------------------------
%%% @author Bill Wang <bill@freecnpro.net>
%%% @copyright (C) 2015, Freecnpro.net
%%% @author Bill Wang
%%% @copyright (C) 2017, Freecnpro
%%% @doc
%%%
%%% @end
%%% Created : 17. Jun 2015 11:34 AM
%%% Created : 2017-04-17
%%%-------------------------------------------------------------------
-module(observerweb).
-author("bill@freecnpro.net").

%% API
-export([start/0, stop/0]).
-export([try_rpc/4]).
-export([try_rpc/4, env/2]).

-define(APP, ?MODULE).

start() ->
application:ensure_all_started(observerweb).
Expand All @@ -29,3 +31,5 @@ try_rpc(Node, Mod, Func, Args) ->
Res ->
Res
end.

env(Key, Default) -> application:get_env(?APP, Key, Default).

0 comments on commit 32eea95

Please sign in to comment.