springboot-bucket/springboot-echarts
2018-09-15 16:17:26 +08:00
..
src 更新启动画面banner 2018-09-15 16:17:26 +08:00
.gitignore first 2018-02-26 19:05:53 +08:00
LICENSE first 2018-02-26 19:05:53 +08:00
pom.xml 完成springboot-hibernate升级 2018-09-14 15:11:47 +08:00
README.md 完成springboot-hibernate升级 2018-09-14 15:11:47 +08:00
run.sh first 2018-02-26 19:05:53 +08:00

Echarts + WebSocket实现图片生成

大致的过程是这样

对于每一种图表类型开放一个数据请求接口通过POST请求接受图表数据然后push到客户端去 客户端接受到请求后渲染echarts图表并且会将BASE64格式图片数据再次提交给另外一个图片保存接口进行实际的保存。

对于需要生成图片形式的客户端先打开一个浏览器连上服务器另外写一个HTTPClient程序通过POST调用图片保存接口即可。

使用案例

使用JMH做微基准测试的时候通常需要可视化显示测试结果这时候可将文本形式的测试结果上传自动生成非常漂亮的性能测试报告图表。

其他想要可视化数据保存图片的场景,都可以这样实现。

改进方案

通过配合PhantomJS来实现无浏览器的自动图片生成。经过测试PhantomJS打开页面后可以连上socket服务器但是10秒后自动关闭了。

尝试采用页面js轮询方式1秒轮询一次有数据的时候就导出图片。结果导出图片太大了不知道怎么回事另外轮询方案始终不是很好。

最后还是老老实实使用websocket方案

JMH性能测试

在包com.xncoding.benchmark有几个基准测试并且可将测试结果利用echarts图片导出到图片。

测试步骤

  1. 启动应用后,用浏览器打开首页:http://localhost:9075/
  2. 然后再执行图片生成测试方法com.xncoding.echarts.common.util.ApplicationTests.testOption()

许可证

Copyright (c) 2018 Xiong Neng

基于 MIT 协议发布: http://www.opensource.org/licenses/MIT