- 浏览: 161664 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
沙舟狼客:
为了方便使用可以配置到环境变量里面MINGW_HOME=C:\ ...
windows下用mingw32+sdl进行简单2d游戏开发(c语言) -
沙舟狼客:
如果安装autotools时不用gcccc相当于gcc的链接n ...
windows下用mingw32+sdl进行简单2d游戏开发(c语言) -
lirihong:
java中文乱码完全解决方案 ?? 高度很高,深度、全面度全 ...
java中文乱码完全解决方案 -
沙舟狼客:
非常适合想写windows游戏的菜鸟
windows下用mingw32+sdl进行简单2d游戏开发(c语言) -
xixilive:
噢喔~~语义全无
京东导航的jquery实现
1、CPU使用率获取,因为我要用JNA调用,所以用c++调用windowAPI,编译成Dll文件;dll的代码如下:
// DllTest.cpp : Defines the exported functions for the DLL application. // #include "stdafx.h" #include "iostream" #include "stdafx.h" #define _WIN32_WINNT 0x0501 #include <Windows.h> #define MYLIBAPI extern "C" __declspec( dllexport ) /* 要返回的函数声明 */ MYLIBAPI void getCpuInfo(int wait,double* d); /* 函数的定义 */ //转换FILETIME类型 __int64 CompareFileTime ( FILETIME time1, FILETIME time2 ) { __int64 a = time1.dwHighDateTime << 32 | time1.dwLowDateTime ; __int64 b = time2.dwHighDateTime << 32 | time2.dwLowDateTime ; return (b - a); } //函数的实体 /*wait是统计多长时间内的cpu使用率 d是返回的数组 */ void getCpuInfo(int wait,double* d){ HANDLE hEvent; BOOL res ; FILETIME preidleTime; FILETIME prekernelTime; FILETIME preuserTime; FILETIME idleTime; FILETIME kernelTime; FILETIME userTime; res = GetSystemTimes( &idleTime, &kernelTime, &userTime ); preidleTime = idleTime; prekernelTime = kernelTime; preuserTime = userTime ; hEvent = CreateEvent (NULL,FALSE,FALSE,NULL); // 初始值为 nonsignaled ,并且每次触发后自动设置为nonsignaled WaitForSingleObject( hEvent,wait); //等待500毫秒 res = GetSystemTimes( &idleTime, &kernelTime, &userTime ); int idle = CompareFileTime( preidleTime,idleTime); int kernel = CompareFileTime( prekernelTime, kernelTime); int user = CompareFileTime(preuserTime, userTime); //cpu使用率的计算 double cpu = (kernel +user - idle) *100.0/(kernel+user); //cpu空闲率的计算 double cpuidle = ( idle) *100.0/(kernel+user); d[0] =cpu; d[1] = cpuidle; }
2、JNA代码的定义
package com.ligson.jna; import com.sun.jna.Library; import com.sun.jna.Native; //声明 interface MyDllLib extends Library { /* DllTest.dll是我编译后的dll文件,放在项目的根目录 */ MyDllLib INSTANCE = (MyDllLib) Native.loadLibrary("DllTest.dll", MyDllLib.class); /* 这个与c++中函数的定义一样,唯一不同的double[] d没用用指针,但是数组的本身就是指针, */ public void getCpuInfo(int wait, double[] d); } public class GetCpuInfo { static MyDllLib myDllLib = MyDllLib.INSTANCE; public static double getCpu(int wait) { //声明返回值 double[] d = new double[2]; myDllLib.getCpuInfo(wait,d); return d[0]; } }
3、Web环境用grails框架,grails框架语法简单,各种东西定义都很方便,Controller的定义
package hf import grails.converters.JSON class CpuMonitorController { static List list = []; static Map result = [:]; def index = { render(view: 'cpu'); } def getCpuInfo = { double d = com.ligson.jna.GetCpuInfo.getCpu(500); def l = [:]; l.x = new Date().getTime(); l.y = d; list.add(l); result.x = l.x; result.y = l.y; //返回json格式,x轴以时间为准,y轴以cpu占有率为准 return render(result as JSON); } }
4、cpu.gsp的代码:
<%-- Created by IntelliJ IDEA. User: Administrator Date: 12-1-10 Time: 下午7:49 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" %> <html> <head> <title>Simple GSP page</title> <script type="text/javascript" src="${resource(dir: 'js', file: 'jquery-1.6.js')}"></script> <!--这个是必须的,highChart的核心--> <script type="text/javascript" src="${resource(dir: 'js', file: 'highcharts/highcharts.js')}"></script> <!--导出图片用的--> <script type="text/javascript" src="${resource(dir: 'js', file: 'highcharts/modules/exporting.js')}"></script> <!--主题--> <script type="text/javascript" src="${resource(dir: 'js', file: 'highcharts/themes/gray.js')}"></script> <script type="text/javascript"> $(function() { Highcharts.setOptions({ global: { useUTC: false } }); //声明报表对象 chart = new Highcharts.Chart({ chart: { renderTo: 'container', defaultSeriesType: 'spline', marginRight: 10 }, title: { text: 'CPU使用率动态曲线图' }, xAxis: { title: { text: '时间' }, //linear" or "datetime" type: 'datetime', //坐标间隔 tickPixelInterval: 150 }, yAxis: { title: { text: '使用率' }, //指定y=3直线的样式 plotLines: [ { value: 0, width: 10, color: '#808080' } ] }, //鼠标放在某个点上时的提示信息 //dateFormat,numberFormat是highCharts的工具类 tooltip: { formatter: function() { return '<b>' + this.series.name + '</b><br/>' + Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' + Highcharts.numberFormat(this.y, 2); } }, //曲线的示例说明,像地图上得图标说明一样 legend: { enabled: true }, //把曲线图导出成图片等格式 exporting: { enabled: true }, //放入数据 series: [ { name: 'CPU使用率', data: (function() { // 初始化数据 var data = [], time = (new Date()).getTime(), i; for (i = -19; i <= 0; i++) { data.push({ x: time + i * 1000, y: Math.random() * 100 }); } return data; })() } ] }); getCpuInfo(); }); function getCpuInfo() { $.post("${createLink(controller:'cpuMonitor',action:'getCpuInfo')}", {"random":Math.random()}, function(data) { var result = {"x":data.x,"y":data.y}; var series = chart.series[0]; var x = result.x; // current time var y = result.y; series.addPoint([x, y], true, true); }, "json"); } setInterval(getCpuInfo, 1000); </script> </head> <body> <div style="width:800px;height:400px;overflow:auto;"> <div id="container" style="width:800px;height:400px;margin:0 auto;"></div> </div> </body> </html>
5、漂亮的效果图:
6、我的dll库文件在下面,欢迎大家下载使用
评论
12 楼
沙舟狼客
2013-09-16
tiansong163 写道
你好,若我只想显示异步取到的数据要怎么做?我把初始值去掉,就有错误。
初始值随即一下,反正就1s用户也不是那么察觉
11 楼
tiansong163
2013-08-02
你好,若我只想显示异步取到的数据要怎么做?我把初始值去掉,就有错误。
10 楼
沙舟狼客
2012-05-16
6tao 写道
我按照你的方法,试了一下,不成功。
我返回的数据格式也是[[时间的毫秒值,监控值],[][]...]
但是显示时x轴的时间是30 Apil,而不是如20:22,请问是怎么回事呢?
看了你的代码和样图,我发现个问题,就是你返回的时间没有做处理,显示的时候怎么是每隔5分钟呢?请问这个你是怎么做到的,还是这段代码没有贴出来???
希望您能解释下
[[2012-04-28 08:12:12.0,0.3],[2012-05-08 13:28:04.0,50.05]]这个是我返回的一部分数据
我返回的数据格式也是[[时间的毫秒值,监控值],[][]...]
但是显示时x轴的时间是30 Apil,而不是如20:22,请问是怎么回事呢?
看了你的代码和样图,我发现个问题,就是你返回的时间没有做处理,显示的时候怎么是每隔5分钟呢?请问这个你是怎么做到的,还是这段代码没有贴出来???
希望您能解释下
[[2012-04-28 08:12:12.0,0.3],[2012-05-08 13:28:04.0,50.05]]这个是我返回的一部分数据
1、我是一秒获取一次,完全是有js,简单的请求过去
setInterval(getCpuInfo, 1000);
2、时间格式化看这里:
return '<b>' + this.series.name + '</b><br/>' + Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' + Highcharts.numberFormat(this.y, 2);
9 楼
沙舟狼客
2012-05-16
6tao 写道
向您请教一个问题:就是动态曲线图上不是有一段是初始化数据吗?请问为什么要采用这个,而不是直接从数据库中去拿数据呢?
初始化时,需要判断,x和y坐标个数,然后根据这个去初始化图形。反正,这个很快,无所谓。
8 楼
6tao
2012-05-15
向您请教一个问题:就是动态曲线图上不是有一段是初始化数据吗?请问为什么要采用这个,而不是直接从数据库中去拿数据呢?
7 楼
6tao
2012-05-15
我按照你的方法,试了一下,不成功。
我返回的数据格式也是[[时间的毫秒值,监控值],[][]...]
但是显示时x轴的时间是30 Apil,而不是如20:22,请问是怎么回事呢?
看了你的代码和样图,我发现个问题,就是你返回的时间没有做处理,显示的时候怎么是每隔5分钟呢?请问这个你是怎么做到的,还是这段代码没有贴出来???
希望您能解释下
[[2012-04-28 08:12:12.0,0.3],[2012-05-08 13:28:04.0,50.05]]这个是我返回的一部分数据
我返回的数据格式也是[[时间的毫秒值,监控值],[][]...]
但是显示时x轴的时间是30 Apil,而不是如20:22,请问是怎么回事呢?
看了你的代码和样图,我发现个问题,就是你返回的时间没有做处理,显示的时候怎么是每隔5分钟呢?请问这个你是怎么做到的,还是这段代码没有贴出来???
希望您能解释下
[[2012-04-28 08:12:12.0,0.3],[2012-05-08 13:28:04.0,50.05]]这个是我返回的一部分数据
6 楼
yangchuan009
2012-02-15
您好 完整的工程可以发到我邮箱吗?? 676007871@qq.com
5 楼
沙舟狼客
2012-02-12
yangchuan009 写道
你好 请问你所用的开发工具有哪些呢????用些什么软件呢???
idea10,visual studio2010
4 楼
yangchuan009
2012-02-12
完整的工程可以发到我邮箱吗?? 676007871@qq.com
3 楼
yangchuan009
2012-02-12
你好 请问你所用的开发工具有哪些呢????用些什么软件呢???
2 楼
沙舟狼客
2012-01-16
zhaoyijun 写道
表示膜拜,求完整代码,sevencactus@163.com
其实代码我已经粘上去完了
1 楼
zhaoyijun
2012-01-12
表示膜拜,求完整代码,sevencactus@163.com
发表评论
-
java中文乱码完全解决方案
2013-11-18 22:05 24301、代码编码全部用UTF8,特别是配置用的属性文件 2、J ... -
京东导航的jquery实现
2012-06-13 10:07 18501、先看一下效果图 2、规划好html的结构 &l ... -
grails验证码插件-JCaptcha
2012-01-10 12:56 23731、安装 grails install-plugin jca ... -
jogl入门之简单的贪吃蛇
2012-01-05 13:43 20141、代码: package org.ligson.jo ... -
jogl入门
2011-12-31 13:19 51291、jogl是什么? jogl是Java OpenGL的 ... -
grails学习之自定义标签
2011-12-30 17:22 57831、在grails项目结构中有一个taglib文件夹(项目名/ ... -
加密机制的发展(JCE/JCA)
2011-12-23 17:56 4835一、对称密钥-------最原始的加密解密 对称 ... -
开发一个JCE的Provider
2011-12-23 13:42 44851、开发环境ubuntu+eclipse+openJDK ... -
enum还有人记得吗?
2011-12-21 15:42 1116enum其实挺好用的,特别是对于一些固定的东西! packa ... -
JNA入门1
2011-12-06 22:15 37111、jna是什么 jna是java native acces ... -
利用BC替换X509证书的公钥
2011-11-23 09:54 2252public static X509Certificate r ... -
利用BC的X509v3CertificateBuilder组装X509证书
2011-11-22 17:38 3894// 设置开始日期和结束日期 long year = 3 ... -
ActionScript3.0学习笔记(1)
2011-09-25 16:57 10211、函数定义: function 函数名(参数:类型):返回 ... -
grails框架中webService插件的使用(axis2,cxf)
2011-09-17 22:40 3220一、cxf插件的使用: 1、运行命令: grails in ... -
Highcharts学习笔记-饼状图(内存使用监视)
2011-08-17 21:23 4534function show(arr) { //a ... -
Highcharts学习笔记-line(内存使用监视)
2011-08-16 23:15 29231、引入highCharts的js <script t ... -
Java直接发送邮件或写好的eml邮件
2011-08-03 13:50 1534import java.io.File; import ... -
利用bouncycastle组装X509证书
2011-08-02 19:02 9471CreateCert.java package com.se ... -
用html5中canvas标签写个贪吃蛇
2011-07-31 02:05 2662<!DOCTYPE HTML> <html ... -
Java中对称密钥、非对称密钥和数字签名的用法
2011-04-16 12:21 32111、非对称密钥: package com.mysec; ...
相关推荐
Highcharts是一款强大的JavaScript图表库,用于在Web应用中创建各种数据可视化效果,包括曲线图、柱状图、饼图等。在这个"Highcharts构建曲线图"的实例中,我们将深入探讨如何利用Highcharts来绘制一个基本的曲线图...
在本文中,我们将深入探讨如何使用Highcharts动态实现曲线图和饼型图的展示。 首先,为了使用Highcharts,你需要在客户端的HTML页面中引入必要的JavaScript文件。如描述所示,这通常包括`highcharts.js`主文件,...
highcharts 动态生成柱状图,曲线图,仪表盘图,调用totalReport方法,传入要生成图表的类型 和数据参数 标题等 可以自动生成图
jQuery及highcharts做cpu动态走势图,https://blog.csdn.net/qq_40374604/article/details/83578837,有问题请留言
Highcharts.js是一款强大的JavaScript图表库,它允许开发者轻松地在网页上创建各种动态、交互式的图表,包括曲线图、柱状图、面积图等多种图表类型。这个库以其易用性、灵活性和丰富的定制选项而受到广泛欢迎。在...
在本文中,我们将深入探讨Highcharts的使用方法,以及如何通过它来绘制曲线图和饼状图。 首先,Highcharts的基本结构是通过HTML中的`<div>`标签创建一个图表容器,然后在JavaScript中实例化Highcharts对象并配置...
Highcharts是一款广泛应用于Web开发中的JavaScript图表库,它能够帮助开发者轻松创建各种类型的交互式图表,包括折线图、柱状图、饼图、散点图等,而且非常适合用来绘制类似股票曲线图的动态数据展示。这个插件以其...
"highcharts曲线图"指的是利用Highcharts库生成的曲线图表,这种图表通常用于展示随时间变化的数据,如股票价格、气温变化、销售趋势等。在实际应用中,动态地从本地TXT文件读取数据并实时更新曲线图是一种常见的...
Highcharts是一款强大的JavaScript图表库,用于在Web页面上创建各种互动图表,如折线图、柱状图、饼图等。在"highcharts加载多条曲线数据"的场景下,我们通常指的是在一个图表中同时展示多组数据,每组数据表现为一...
本文将详细探讨如何使用Highcharts实现雷达图效果。 首先,我们需要了解Highcharts的基本使用。在HTML文件中,你需要引入Highcharts的库文件,通常包括`highcharts.js`和对应的样式文件`highcharts.css`。你可以...
Highcharts是一款强大的JavaScript图表库,用于在Web页面上创建各种数据可视化效果,包括饼状图、柱状图和曲线图。这些图表类型是数据分析和展示的常用工具,可以帮助用户直观理解大量复杂数据。 饼状图在数据可视...
总结来说,通过在Android的WebView中使用Highcharts,我们可以方便地在应用中展示曲线图和其他类型的图表,提供丰富的可视化效果。配合JavaScript与Android的交互,我们可以实现高度定制化的图表功能,满足不同场景...
5. **自适应刷新率**:根据数据的更新频率,时序图可以调整其刷新率,确保流畅的用户体验而不至于过于繁忙。 6. **多种图表类型**:除了基本的线图,HighCharts还支持柱状图、面积图等多种图表类型,可以根据数据...
本项目利用Highcharts库、Ajax异步请求以及Json数据格式,实现了动态的曲线图、柱状图和饼图,为数据报表提供了一种直观且吸引人的呈现方式。 Highcharts是一个强大的JavaScript图表库,它支持多种图表类型,如折线...
在这个场景中,我们将探讨如何使用Java和Highcharts这两个工具来实现一个动态的、交互式的折线图。Highcharts是一个流行的JavaScript库,专门用于创建高质量的图表,而Java则作为后端语言,负责处理数据并将其传递给...
Highcharts是一款广泛应用于Web开发中的JavaScript图表库,它能够帮助开发者轻松创建出各种美观的数据可视化图形,如柱状图、曲线图和饼状图等。本实例是关于如何结合PHP和MySQL数据库,利用Highcharts进行动态数据...
jquery highcharts动态加载多条数据表走势图代码 jquery highcharts动态加载多条数据表走势图代码 jquery highcharts动态加载多条数据表走势图代码
本篇将详细介绍如何利用Highcharts结合MySQL数据库,实现在Web应用中动态生成折线图。 首先,我们需要了解Highcharts的基本使用。Highcharts是一个轻量级的图表库,它提供了丰富的API和配置选项,可以自定义图表...