basic changes

community
Steve L. Nyemba 6 years ago
parent f48d4decfd
commit 31f5317430

File diff suppressed because it is too large Load Diff

@ -1,12 +1,5 @@
type = ['','info','success','warning','danger'];
function getNode(name){
var nodeName = {}
nodeName.name = name
console.log('nodename...', nodeName.name)
dashboard.initChartist(nodeName)
}
dashboard = {
initPickColor: function(){
$('.pick-class-label').click(function(){
@ -22,38 +15,39 @@ dashboard = {
});
},
initChartist: function(nodeName){
initChartist: function(){
function make_array() {
triple_array = [];
for (i=0;i<3;i++){
myarray = Array.from({length: 24}, () => Math.floor(Math.random() * 100))
triple_array.push(myarray)
}
return triple_array
}
// monitoring apps chart
var getData = $.get('/1/app/usage/trend');
getData.done(function(results) {
var data = JSON.parse(results)
if (typeof nodeName === 'undefined'){
var node = data['apps@michaels-MBP'];
console.log("undefined nodename.........")
} else {
console.log('this is nodeName...', nodeName)
console.log('this is nodeName.name...', nodeName.name)
var node = data[nodeName.name]
console.log('data.name..', data[name])
var app_usage_trend = JSON.parse(results);
if ($.isEmptyObject(app_usage_trend)){
console.log('app_usage_trend is empty, setting testing values.');
app_usage_trend = [];
random_array = make_array();
app_usage_trend = random_array
}
var app = node['chrome'];
var cpu = app['cpu'];
var memory_used = app['memory_used'];
console.log('data...',data)
console.log('node...',node)
console.log('app...',app)
console.log('cpu...',cpu)
console.log('memory_used...', memory_used)
// monitoring apps chart
var dataChart = {
labels: ['24','23','22','21','20','19','18','17','16','15','14','13','12','11','10','9','8','7','6','5','4','3','2','1' ],
series: [cpu, memory_used, [0,0.1,0.3,0.2,0.4,0.6,0.2], ] // TODO: Check the order, the graph is by index not name.
series: app_usage_trend //TODO: Check the order, the graph is by index not name.
};
dataChartArray = dataChart.series
var maxlist = dataChartArray.map(dataChartArray => Math.max.apply(null, dataChartArray));
maxNum = Math.max.apply(null, maxlist)
dataChartArray = dataChart.series;
var maxlist = dataChartArray.map(function (dataChartArray) {
return Math.max.apply(null, dataChartArray);
});
maxNum = Math.max.apply(null, maxlist);
var optionsChart = {
lineSmooth: false,
@ -62,13 +56,13 @@ dashboard = {
showArea: true,
height: "245px",
axisX: {
showGrid: false,
showGrid: false
},
lineSmooth: Chartist.Interpolation.simple({
divisor: 1
}),
showLine: true,
showPoint: false,
showPoint: false
};
var responsiveChart = [
@ -83,10 +77,10 @@ dashboard = {
Chartist.Line('#chartHours', dataChart, optionsChart, responsiveChart);
// cpu and memory --------------------------
// cpu and memory usage--------------------------
var data = {
labels: ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
series: [cpu, memory_used]
series: make_array()
};
@ -111,16 +105,21 @@ dashboard = {
Chartist.Line('#chartActivity', data, options, responsiveOptions);
var getStatus = $.get('1/get/summary/app_status');
//app status pie chart, idle, running, crash
var getStatus = $.get('1/app/status');
getStatus.done(function(results) {
var data = JSON.parse(results)
let getStatusList = []
getStatusList.push(data.idle)
getStatusList.push(data.crash)
getStatusList.push(data.running)
var pie_chart = JSON.parse(results);
if ($.isEmptyObject(pie_chart)){
console.log('pie_chart is empty, setting testing values.');
app_status = [1,2,3]
}
// var app_status = [];
// app_status.push(pie_chart.idle);
// app_status.push(pie_chart.crash);
// app_status.push(pie_chart.running);
Chartist.Pie('#chartPreferences', {
labels: getStatusList,
series: getStatusList
labels: app_status,
series: app_status
},{donut:true});
}) /// end getStatus
})
@ -135,7 +134,7 @@ dashboard = {
scrollwheel: false, //we disable de scroll over the map, it is a really annoing when you scroll through page
styles: [{"featureType":"water","stylers":[{"saturation":43},{"lightness":-11},{"hue":"#0088ff"}]},{"featureType":"road","elementType":"geometry.fill","stylers":[{"hue":"#ff0000"},{"saturation":-100},{"lightness":99}]},{"featureType":"road","elementType":"geometry.stroke","stylers":[{"color":"#808080"},{"lightness":54}]},{"featureType":"landscape.man_made","elementType":"geometry.fill","stylers":[{"color":"#ece2d9"}]},{"featureType":"poi.park","elementType":"geometry.fill","stylers":[{"color":"#ccdca1"}]},{"featureType":"road","elementType":"labels.text.fill","stylers":[{"color":"#767676"}]},{"featureType":"road","elementType":"labels.text.stroke","stylers":[{"color":"#ffffff"}]},{"featureType":"poi","stylers":[{"visibility":"off"}]},{"featureType":"landscape.natural","elementType":"geometry.fill","stylers":[{"visibility":"on"},{"color":"#b8cb93"}]},{"featureType":"poi.park","stylers":[{"visibility":"on"}]},{"featureType":"poi.sports_complex","stylers":[{"visibility":"on"}]},{"featureType":"poi.medical","stylers":[{"visibility":"on"}]},{"featureType":"poi.business","stylers":[{"visibility":"simplified"}]}]
}
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var marker = new google.maps.Marker({
@ -162,9 +161,9 @@ dashboard = {
align: align
}
});
},
}
}
};
/**
@ -178,29 +177,29 @@ g.summary = {}
* Initializing the top section of the dashboard (apps and folders)
*/
g.summary.factory = function (url,pointer) {
var object = {}
object.url = url
var observer = null
var object = {};
object.url = url;
var observer = null;
var TIME_ELLAPSED = 2000 ;
object.callback = function (r) {
r = JSON.parse(r.responseText)
r = JSON.parse(r.responseText);
pointer(r)
//observer.notify()
}
};
object.init = function (observer) {
observer = observer
var httpclient = HttpClient.instance()
var httpclient = HttpClient.instance();
//httpclient.setAsync(false)
httpclient.get(this.url, this.callback)
httpclient.get(this.url, this.callback);
setTimeout(function(){
observer.notify()
},TIME_ELLAPSED) ;
//observer.notify()
}
};
return object
}
};

@ -46,39 +46,40 @@
<!-- Dashboard DEMO methods, don't include it in your project! -->
<script src="{{context}}/static/js/dashboard.js"></script>
<script src="{{context}}/static/js/jx/dom.js"></script>
<script src="{{context}}/static/js/jx/rpc.js"></script>
<script src="{{context}}/static/js/jx/utils.js"></script>
{# <script src="{{context}}/static/js/jx/dom.js"></script>#}
{# <script src="{{context}}/static/js/jx/rpc.js"></script>#}
{# <script src="{{context}}/static/js/jx/utils.js"></script>#}
<script type="text/javascript">
var URI_CONTEXT="{{context}}"
var URI_CONTEXT="{{context}}";
$(document).ready(function(){
var lobservers = [
g.summary.factory('/1/get/summary/app_resources',function(r){
//r = JSON.parse(r.responseText)
jx.dom.set.value('total_cpu',r.cpu_usage)
jx.dom.set.value('total_mem',r.memory_usage)
jx.dom.set.value('mem_units',r.units)
}),
g.summary.factory('/1/get/summary/folder_size',function(r){
//console.log(r.responseText)
//r = JSON.parse(r.responseText)
if (r.length == 0){
r.size = "0.0"
r.units = 'MB'
}
jx.dom.set.value('total_folder_size',r.size)
jx.dom.set.value('folder_units',r.units)
}),
g.summary.factory('/1/get/summary/app_status',function(r){
jx.dom.set.value('total_app_crashes',r.crash)
})
]
jx.utils.patterns.observer(lobservers,"init")
{#var lobservers = [#}
{# g.summary.factory('/1/get/summary/app_resources',function(r){#}
{##}
{# //r = JSON.parse(r.responseText)#}
{# jx.dom.set.value('total_cpu',r.cpu_usage)#}
{# jx.dom.set.value('total_mem',r.memory_usage)#}
{# jx.dom.set.value('mem_units',r.units)#}
{##}
{# }),#}
{# g.summary.factory('/1/get/summary/folder_size',function(r){#}
{# //console.log(r.responseText)#}
{# //r = JSON.parse(r.responseText)#}
{# if (r.length == 0){#}
{# r.size = "0.0"#}
{# r.units = 'MB'#}
{# }#}
{# jx.dom.set.value('total_folder_size',r.size)#}
{# jx.dom.set.value('folder_units',r.units)#}
{# }),#}
{# g.summary.factory('/1/get/summary/app_status',function(r){#}
{##}
{# jx.dom.set.value('total_app_crashes',r.crash)#}
{# })#}
{#]#}
{##}
{#jx.utils.patterns.observer(lobservers,"init")#}
//TODO Do we need the above JX stuff ?
dashboard.initChartist();
});
@ -190,7 +191,7 @@
</div>
<div class="col-xs-7">
<div class="numbers">
<div id="total_cpu" align="center">00</div>
<div id="total_cpu" align="center"></div>
<div class="small" align="right">Percent</div>
</div>

@ -43,7 +43,7 @@ class Register :
auid = str(uuid.uuid4())
headers = {"uid":self.uid,"pid":pid,"auid":json.dumps([auid])}
url="https://the-phi.com/store/init/monitor"
url="https://the-phi.com/store/init/smart-top"
r = requests.post(url,headers=headers)
return json.loads(r.text)

@ -471,7 +471,8 @@ class Couchdb:
dbname = args['dbname']
self.server = Server(uri=uri)
self.dbase = self.server.get_db(dbname)
if self.dbase.doc_exist(self.uid) == False:
create = args['create'] if 'create' in args else False
if self.dbase.doc_exist(self.uid) == False and create == True:
self.dbase.save_doc({"_id":self.uid})
"""
Insuring the preconditions are met for processing
@ -576,13 +577,25 @@ class CouchdbWriter(Couchdb,Writer):
#
# If the document doesn't exist then we should create it
#
def set(self,**args):
_document = self.dbase.get(self.uid)
# document = dict(_document,**document)
for key in args :
_document[key] = args[key]
# if _document :
# document['_id'] = _document['_id']
# document['_rev']= _document['_rev']
self.dbase.save_doc(_document)
"""
write a given attribute to a document database
@param label scope of the row repair|broken|fixed|stats
@param row row to be written
"""
def write(self,**params):
"""
write a given attribute to a document database
@param label scope of the row repair|broken|fixed|stats
@param row row to be written
"""
document = self.dbase.get(self.uid)
label = params['label']
@ -592,18 +605,23 @@ class CouchdbWriter(Couchdb,Writer):
row = params['row']
row_is_list = isinstance(row,list)
if label not in document :
document[label] = row if row_is_list else [row]
document[label] = []
document[label].append(row)
# if label not in document :
# document[label] = row if row_is_list else [row]
elif isinstance(document[label][0],list) :
document[label].append(row)
else:
document[label] += row
# elif isinstance(document[label][0],list) :
# document[label].append(row)
# else:
# document[label] += row
else :
if label not in document :
document[label] = {}
if isinstance(params['data'],list) == False :
document[label] = params['data']
elif isinstance(document[label],dict) == False and isinstance(params['data'],dict):
document[label] = dict(document[label],**params['data'])
elif isinstance(document[label],list) == False and isinstance(params['data'],list):
document[label] = document[label] + params['data']
else:
document[label] = params['data']

Loading…
Cancel
Save