测开之路七十一:监控平台之js
监控平台的js

//datetimepicker的初始化函数(主要是对选择时间的下拉框)
function init_datetimepicker() {
//初始化格式和规则
$('#start').datetimepicker({
autoclose : true, //为true时,选择完下拉框自动关闭
format: 'yyyy-mm-dd hh:ii:ss', //选择完后,在前端展示的样式格式,尽量与后端保持一致
minView: 0, //能选择到的最小单位,0表示可以选择小时、分钟 1只可以选择小时
minuteStep:1 //最小单位的时间间隔步长,1为1秒,
});
//赋值
$('#start').datetimepicker('update', new Date()); //把开始时间更新为当前时间,可自己修改
$('#end').datetimepicker({
autoclose : true,
format: 'yyyy-mm-dd hh:ii:ss',
minView:0, //0表示可以选择小时、分钟 1只可以选择小时
minuteStep:1 //最小单位的时间间隔步长,1为1秒,
});
$('#end').datetimepicker('update', new Date()); //把结束时间更新为当前时间,可自己修改
} //获取ip的list
function get_ip_list() {
var url = host + "/monitor/api/v1/ip/list"
//访问/monitor/api/v1/ip/list获取ip
http(url, {}, 'GET', function(data){
//获取成功则按以下规则处理
console.log(data)
var html = "";
//把每一个ip拿出来,拼接成html,并加到id为ip的元素下面
for (ip in data['data']) {
html += '<option value="' + data['data'][ip] + '">' + data['data'][ip] + '</option>'
}
$('#ip').append(html)
}, function(data){
//失败的执行函数
console.log(data)
})
} //点搜索触发事件
function search() {
var url = host + "/monitor/api/v1/search"
var data = {
'start': $('#start').datetimepicker('getFormattedDate'), //获取格式化后的开始时间
'end': $('#end').datetimepicker('getFormattedDate'), //获取格式化后的结束时间
'ip': $('#ip').val() //获取ip
}
console.log(data)
http(url, data, 'GET', success, fail) //发送GET请求
} //有多少个数就生成多少个点,即x轴,获取到的监控数据在y轴
function range(data){
index = []
for (var i=0; i<=data.length-1; i++) {
index.push(i)
}
return index
} //画图函数,echarts官网提供的模板
function drawLine(id, data, title, subtext) {
var myChart = echarts.init(document.getElementById(id));
option = {
title : {
text: title,
subtext: subtext //子标题
},
tooltip : {
trigger: 'axis'
},
legend: {
data:['意向']
},
toolbox: {
show : true,
feature : {
mark : {show: true},
dataView : {show: true, readOnly: false},
magicType : {show: true, type: ['line', 'bar', 'stack', 'tiled']},
restore : {show: true},
saveAsImage : {show: true}
}
},
calculable : true,
xAxis : [
{
type : 'category',
boundaryGap : false,
data : range(data)
}
],
yAxis : [
{
type : 'value'
}
],
series : [
{
name: title,
type:'line',
smooth:true,
itemStyle: {normal: {areaStyle: {type: 'default'}}},
data: data //画图要用到的数据,对应传进来的data
}
]
};
// 为echarts对象加载数据
myChart.setOption(option);
} //成功拿到数据就渲染到前端
function success(data) {
console.log(data)
//定义数据
cpu = []
memory = []
send = []
receive = []
//分别取数据
for (var i=0; i<data['data'].length; i++) {
cpu.push(data['data'][i]['cpu']['avg'])
memory.push(data['data'][i]['memory']['percent'])
send.push(data['data'][i]['disk']['percent'])
receive.push(data['data'][i]['network']['packets']['sent'])
}
//渲染数据
drawLine('cpu', cpu, "处理器", "处理器使用率")
drawLine('memory', memory, "内存", "内存使用率")
drawLine('net-send', send, "网卡", "网卡发送数据")
drawLine('net-receive', receive, "网卡", "网卡接收数据")
} function fail(data) {
console.log(data)
} $(function() {
init_datetimepicker()
get_ip_list()
$('#search').click(search)
});
测开之路七十一:监控平台之js的更多相关文章
- 测开之路七十:监控平台之html
监控平台的html <!-- 继承base模板 -->{% extends "base.html" %} <!-- 引入bootstrap-datetimepic ...
- 测开之路六十一:接口测试平台之interface蓝图
create的js //添加header的函数function add_header() { // 这里是动态拼接html语句,带着样式,拼凑成页面的 "key [] value []&qu ...
- 测开之路七十七:性能测试蓝图之js
//定义全局的editor = nullvar editor = null; //ace_editor的初始化函数function ace_editor() { var editor = ace.ed ...
- 测开之路七十六:性能测试蓝图之html
<!-- 继承base模板 -->{% extends 'base.html' %} {% block script %} <!-- 从cdn引入ace edter的js --> ...
- 测开之路七十三:用kafka实现消息队列之环境搭建
一:装java环境,确保java能正确调用 kafka下载地址:http://kafka.apache.org/downloads 下载并解压kafka: 新建两个文件夹,用于存放zookeeper和 ...
- 测开之路九十一:css常用的选择器
一:全局选择器:* 二:标签选择器,如给所有p标签加个背景色 三:id选择器:# ,如给id为id_01的元素加一个框 四:类选择器:. 如设置一个类选择器为blue,当有标签引用blue的时候,背景 ...
- 测开之路八十一:参数定义之*args和**kwargs
# *,不定长参数,*args# 定义函数参数def avg(score, *scores): return (score + sum(scores)) / (len(scores) + 1) ...
- 测开之路七十九:python 文件处理和对象的写入读取
"""处理文件:open(文件名, 模式,编码) 'r' 打开阅读(默认)'w' 打开写入,首先截断文件'x' 打开独占创建,如果文件已经存在则失败'a' 打开写入,追加 ...
- 测开之路七十八:shell之函数和参数
函数 function function_name(){ statement1 Statement2 .... statementn} function_name $var1 ...
随机推荐
- 如何创建Windows虚拟机
Windows虚拟机搭建 第1步:运行"Vmware WorkStation",看到主页面,创建新的虚拟机 第2步:新建虚拟机向导——典型(推荐) 第3步:选择光盘映像文件 第4步 ...
- SpringBoot(十) -- Spring Data
一.Spring Data简介 Spring Data 项目的目的是为了简化构建基于 Spring 框架应用的数据访问技术,包括非关系数据库.Map-Reduce 框架.云数据服务等等:另外也包含对关 ...
- docker添加加速器
通过 Docker 官方镜像加速,中国区用户能够快速访问最流行的 Docker 镜像.该镜像托管于中国大陆,本地用户现在将会享受到更快的下载速度和更强的稳定性,从而能够更敏捷地开发和交付 Docker ...
- 【洛谷p1309】瑞士轮
因为太菜不会写P1310 表达式的值,就只能过来水两篇博客啦qwq 另外这个题我是开o2才过的(虽然是写了归并排序)(可能我太菜写的归并不是还可以“剪枝”吧qwq)哎,果真还是太菜啦qwq 所以准备写 ...
- Codeforces - 1198C - Matching vs Independent Set - 贪心
https://codeforces.com/contest/1198/problem/C 要选取一个大小大于等于n的匹配或者选取一个大小大于等于n的独立集. 考虑不断加入匹配集,最终加入了x条边. ...
- sql server 中 like 中文不匹配问题
原文:https://blog.csdn.net/miao0967020148/article/details/71108056 MS-SQL Server select * from Book wh ...
- spark复习笔记(6):RDD持久化
在spark中最重要的功能之一是跨操作在内存中持久化数据集.当你持久化一个RDD的时候,每个节点都存放了一个它在内存中计算的一个分区,并在该数据集的其他操作中进行重用,持久化一个RDD的时候,节点上的 ...
- Firewalld--03 富规则、备份恢复、开启内部上网
目录 防火墙富规则.备份恢复.开启内部上网 1. 防火墙富规则策略 2.Firewalld备份恢复 3. 防火墙开启内部上网 防火墙富规则.备份恢复.开启内部上网 1. 防火墙富规则策略 Fire ...
- python中常用的时间操作
python中常用的时间模块有time和datetime,以下是这两个模块中常用的方法: #先引入模块 import timefrom datetime import datetiem, timezo ...
- 【容器化】容器技术实践.pdf_视频学习笔记
容器运行时 docker rkt gvisor containerd 容器编排系统:kubernetes (简称k8s)