Go游戏服务器开发的一些思考(十五):gochart图表制作
2017-10-11 21:53
666 查看
如何呈现统计数据
在服务器开发中后期,经常需要统计输出一些数据,来查看服务器的运行情况。比如,做压力测试时,需要知道在线人数、CPU、内存等信息。
大多数情况,程序员可能简单在控制台输出些字符信息,草草了事了。
这里要讲的是,其实我们可以做的更好,比如使用图表的方式来呈现测试数据。
Highcharts
Highcharts 是一个用纯JavaScript编写的一个图表库。通常结合web服务,可以呈现出非常棒的图表。这里推荐的highcharts的原因,还有它的文档相当完整。
Highcharts API 文档:
https://api.hcharts.cn/highcharts
gochart
github上也有golang使用Highcharts的开源代码,比如gochart。网址如下:
https://github.com/zieckey/gochart
该开源代码的不足之处,主要在于作者并没有以库的方式提供,而是一个web应用程序的方式提供的。
不过通过阅读它的代码,可以快速掌握如何使用go、Highcharts来制作图表
gochart扩展
因为正好做测试,想把数据做成图表方式,顺手把gochart fork了下,封装成库,方便使用。下面是我的gochart扩展的github地址:
https://github.com/fananchong/gochart
https://github.com/fananchong/gochart_example
主要做了如下扩展:
将gochart改成库形式提供
不依赖外网
定时刷新
提供X轴为时间轴的图表类型
保存图表数据
回放图表数据
并提供例子:
CPU监视图
内存监视图
网络监视图
相关文章推荐
- Go游戏服务器开发的一些思考(二十一):Go语言的两处脑残设定
- Go游戏服务器开发的一些思考(三十九):go reflect的正确使用方法
- Go游戏服务器开发的一些思考(七):Redis
- Go游戏服务器开发的一些思考(五):goroutine看似美好的陷阱
- Go游戏服务器开发的一些思考(十三):behavior3go的一些坑(备忘)
- Go游戏服务器开发的一些思考(十八):Docker内网环境搭建(备忘)
- Go游戏服务器开发的一些思考(十四):IO游戏同步(二)
- Go游戏服务器开发的一些思考(十二):行为树behavior3go介绍
- Go游戏服务器开发的一些思考(三十五):无缝世界场景构建与同步(二)
- Go游戏服务器开发的一些思考(三十四):无缝世界场景构建与同步(一)
- Go游戏服务器开发的一些思考(二十七):Go Redis ORM库(二)
- Go游戏服务器开发的一些思考(十七):IO游戏同步(三)
- Go游戏服务器开发的一些思考(九):Docker桥接网络及固定IP (二)
- Go游戏服务器开发的一些思考(二十六):Go Redis ORM库
- Go游戏服务器开发的一些思考(十一):IO游戏同步
- Go游戏服务器开发的一些思考(三十二):关于无缝世界的一些思考
- Go游戏服务器开发的一些思考(三十七):无缝世界场景构建与同步(四)
- Go游戏服务器开发的一些思考(二十二):Godep包管理介绍
- Go游戏服务器开发的一些思考(二十八):登录流程(一)
- Go游戏服务器开发的一些思考(十六):IO游戏服务器架构