完成10个工程的代码
This commit is contained in:
@ -15,16 +15,16 @@
|
||||
|
||||
## 改进方案
|
||||
|
||||
通过配合PhantomJS来实现无浏览器的自动图片生成。
|
||||
通过配合PhantomJS来实现无浏览器的自动图片生成。经过测试PhantomJS打开页面后可以连上socket服务器,但是10秒后自动关闭了。
|
||||
|
||||
经过测试PhantomJS打开页面后可以连上socket服务器,但是10秒后自动关闭了。
|
||||
|
||||
尝试采用页面js轮询方式,1秒轮询一次,有数据的时候就导出图片。
|
||||
|
||||
结果导出图片太大了,不知道怎么回事,另外轮询方案始终不是很好。
|
||||
尝试采用页面js轮询方式,1秒轮询一次,有数据的时候就导出图片。结果导出图片太大了,不知道怎么回事,另外轮询方案始终不是很好。
|
||||
|
||||
最后还是老老实实使用websocket方案,自己手动打开这个网页吧。<http://localhost:9075/>
|
||||
|
||||
## JMH性能测试
|
||||
|
||||
在包`com.xncoding.benchmark`中,有几个基准测试,并且可将测试结果利用echarts图片导出到图片。
|
||||
|
||||
## 许可证
|
||||
|
||||
Copyright (c) 2018 Xiong Neng
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>com.enzhico</groupId>
|
||||
<groupId>com.xncoding</groupId>
|
||||
<artifactId>springboot-echarts</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.benchmark.common;
|
||||
package com.xncoding.benchmark.common;
|
||||
|
||||
import org.openjdk.jmh.infra.BenchmarkParams;
|
||||
import org.openjdk.jmh.results.BenchmarkResult;
|
||||
@ -9,8 +9,8 @@ import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import static com.enzhico.echarts.common.util.ExportPngUtil.generateOption;
|
||||
import static com.enzhico.echarts.common.util.ExportPngUtil.postOption;
|
||||
import static com.xncoding.echarts.common.util.ExportPngUtil.generateOption;
|
||||
import static com.xncoding.echarts.common.util.ExportPngUtil.postOption;
|
||||
|
||||
/**
|
||||
* 将基准测试结果导出图片
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.benchmark.first;
|
||||
package com.xncoding.benchmark.first;
|
||||
|
||||
import org.openjdk.jmh.annotations.*;
|
||||
import org.openjdk.jmh.runner.Runner;
|
||||
@ -1,12 +1,12 @@
|
||||
package com.enzhico.benchmark.json;
|
||||
package com.xncoding.benchmark.json;
|
||||
|
||||
import com.enzhico.benchmark.common.ResultExporter;
|
||||
import com.enzhico.benchmark.json.model.FullName;
|
||||
import com.enzhico.benchmark.json.model.Person;
|
||||
import com.enzhico.benchmark.json.util.FastJsonUtil;
|
||||
import com.enzhico.benchmark.json.util.GsonUtil;
|
||||
import com.enzhico.benchmark.json.util.JacksonUtil;
|
||||
import com.enzhico.benchmark.json.util.JsonLibUtil;
|
||||
import com.xncoding.benchmark.common.ResultExporter;
|
||||
import com.xncoding.benchmark.json.model.FullName;
|
||||
import com.xncoding.benchmark.json.model.Person;
|
||||
import com.xncoding.benchmark.json.util.FastJsonUtil;
|
||||
import com.xncoding.benchmark.json.util.GsonUtil;
|
||||
import com.xncoding.benchmark.json.util.JacksonUtil;
|
||||
import com.xncoding.benchmark.json.util.JsonLibUtil;
|
||||
import org.openjdk.jmh.annotations.*;
|
||||
import org.openjdk.jmh.results.RunResult;
|
||||
import org.openjdk.jmh.runner.Runner;
|
||||
@ -1,14 +1,14 @@
|
||||
package com.enzhico.benchmark.json;
|
||||
package com.xncoding.benchmark.json;
|
||||
|
||||
import com.enzhico.benchmark.common.ResultExporter;
|
||||
import com.enzhico.benchmark.json.model.FullName;
|
||||
import com.enzhico.benchmark.json.model.Person;
|
||||
import com.enzhico.benchmark.json.util.FastJsonUtil;
|
||||
import com.enzhico.benchmark.json.util.GsonUtil;
|
||||
import com.enzhico.benchmark.json.util.JacksonUtil;
|
||||
import com.enzhico.benchmark.json.util.JsonLibUtil;
|
||||
import com.enzhico.benchmark.sum.calc.impl.MultithreadCalculator;
|
||||
import com.enzhico.benchmark.sum.calc.impl.SinglethreadCalculator;
|
||||
import com.xncoding.benchmark.common.ResultExporter;
|
||||
import com.xncoding.benchmark.json.model.FullName;
|
||||
import com.xncoding.benchmark.json.model.Person;
|
||||
import com.xncoding.benchmark.json.util.FastJsonUtil;
|
||||
import com.xncoding.benchmark.json.util.GsonUtil;
|
||||
import com.xncoding.benchmark.json.util.JacksonUtil;
|
||||
import com.xncoding.benchmark.json.util.JsonLibUtil;
|
||||
import com.xncoding.benchmark.sum.calc.impl.MultithreadCalculator;
|
||||
import com.xncoding.benchmark.sum.calc.impl.SinglethreadCalculator;
|
||||
import org.openjdk.jmh.annotations.*;
|
||||
import org.openjdk.jmh.infra.BenchmarkParams;
|
||||
import org.openjdk.jmh.results.BenchmarkResult;
|
||||
@ -22,8 +22,8 @@ import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
import static com.enzhico.echarts.common.util.ExportPngUtil.generateOption;
|
||||
import static com.enzhico.echarts.common.util.ExportPngUtil.postOption;
|
||||
import static com.xncoding.echarts.common.util.ExportPngUtil.generateOption;
|
||||
import static com.xncoding.echarts.common.util.ExportPngUtil.postOption;
|
||||
|
||||
/**
|
||||
* Json序列化基准测试
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.benchmark.json.model;
|
||||
package com.xncoding.benchmark.json.model;
|
||||
|
||||
/**
|
||||
* FullName
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.benchmark.json.model;
|
||||
package com.xncoding.benchmark.json.model;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.benchmark.json.util;
|
||||
package com.xncoding.benchmark.json.util;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.benchmark.json.util;
|
||||
package com.xncoding.benchmark.json.util;
|
||||
|
||||
/**
|
||||
* GsonUtil
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.benchmark.json.util;
|
||||
package com.xncoding.benchmark.json.util;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.benchmark.json.util;
|
||||
package com.xncoding.benchmark.json.util;
|
||||
|
||||
import net.sf.json.JSONObject;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.benchmark.string;
|
||||
package com.xncoding.benchmark.string;
|
||||
|
||||
import org.openjdk.jmh.annotations.*;
|
||||
import org.openjdk.jmh.runner.Runner;
|
||||
@ -1,9 +1,9 @@
|
||||
package com.enzhico.benchmark.sum;
|
||||
package com.xncoding.benchmark.sum;
|
||||
|
||||
import com.enzhico.benchmark.common.ResultExporter;
|
||||
import com.enzhico.benchmark.sum.calc.Calculator;
|
||||
import com.enzhico.benchmark.sum.calc.impl.MultithreadCalculator;
|
||||
import com.enzhico.benchmark.sum.calc.impl.SinglethreadCalculator;
|
||||
import com.xncoding.benchmark.common.ResultExporter;
|
||||
import com.xncoding.benchmark.sum.calc.Calculator;
|
||||
import com.xncoding.benchmark.sum.calc.impl.MultithreadCalculator;
|
||||
import com.xncoding.benchmark.sum.calc.impl.SinglethreadCalculator;
|
||||
import org.openjdk.jmh.annotations.*;
|
||||
import org.openjdk.jmh.results.RunResult;
|
||||
import org.openjdk.jmh.runner.Runner;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.benchmark.sum.calc;
|
||||
package com.xncoding.benchmark.sum.calc;
|
||||
|
||||
/**
|
||||
* Calculator
|
||||
@ -1,6 +1,6 @@
|
||||
package com.enzhico.benchmark.sum.calc.impl;
|
||||
package com.xncoding.benchmark.sum.calc.impl;
|
||||
|
||||
import com.enzhico.benchmark.sum.calc.Calculator;
|
||||
import com.xncoding.benchmark.sum.calc.Calculator;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -1,6 +1,6 @@
|
||||
package com.enzhico.benchmark.sum.calc.impl;
|
||||
package com.xncoding.benchmark.sum.calc.impl;
|
||||
|
||||
import com.enzhico.benchmark.sum.calc.Calculator;
|
||||
import com.xncoding.benchmark.sum.calc.Calculator;
|
||||
|
||||
/**
|
||||
* SinglethreadCalculator
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts;
|
||||
package com.xncoding.echarts;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
@ -1,12 +1,12 @@
|
||||
package com.enzhico.echarts.api;
|
||||
package com.xncoding.echarts.api;
|
||||
|
||||
import com.corundumstudio.socketio.AckRequest;
|
||||
import com.corundumstudio.socketio.SocketIOClient;
|
||||
import com.corundumstudio.socketio.annotation.OnEvent;
|
||||
import com.enzhico.echarts.api.model.BaseResponse;
|
||||
import com.enzhico.echarts.api.model.EchartsData;
|
||||
import com.enzhico.echarts.api.model.PicRequest;
|
||||
import com.enzhico.echarts.service.ApiService;
|
||||
import com.xncoding.echarts.api.model.BaseResponse;
|
||||
import com.xncoding.echarts.api.model.EchartsData;
|
||||
import com.xncoding.echarts.api.model.PicRequest;
|
||||
import com.xncoding.echarts.service.ApiService;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model;
|
||||
package com.xncoding.echarts.api.model;
|
||||
|
||||
/**
|
||||
* API接口的基础返回类
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model;
|
||||
package com.xncoding.echarts.api.model;
|
||||
|
||||
/**
|
||||
* EchartsData
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model;
|
||||
package com.xncoding.echarts.api.model;
|
||||
|
||||
/**
|
||||
* PicRequest
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
/**
|
||||
* AxisPointer
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
/**
|
||||
* Feature
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
/**
|
||||
* Grid
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
/**
|
||||
* Label
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
/**
|
||||
* Normal
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
/**
|
||||
* SaveAsImage
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
/**
|
||||
* Title
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
/**
|
||||
* Toolbox
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
/**
|
||||
* Tooltip
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
/**
|
||||
* XAxis
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.api.model.jmh;
|
||||
package com.xncoding.echarts.api.model.jmh;
|
||||
|
||||
/**
|
||||
* YAxisLabel
|
||||
@ -1,7 +1,7 @@
|
||||
package com.enzhico.echarts.common;
|
||||
package com.xncoding.echarts.common;
|
||||
|
||||
import com.corundumstudio.socketio.SocketIOServer;
|
||||
import com.enzhico.echarts.config.properties.MyProperties;
|
||||
import com.xncoding.echarts.config.properties.MyProperties;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.common.constants;
|
||||
package com.xncoding.echarts.common.constants;
|
||||
|
||||
/**
|
||||
* 消息类型
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.common.util;
|
||||
package com.xncoding.echarts.common.util;
|
||||
|
||||
/**
|
||||
* 常用工具类,字符串、数字相关
|
||||
@ -1,6 +1,6 @@
|
||||
package com.enzhico.echarts.common.util;
|
||||
package com.xncoding.echarts.common.util;
|
||||
|
||||
import com.enzhico.echarts.api.model.jmh.*;
|
||||
import com.xncoding.echarts.api.model.jmh.*;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import okhttp3.*;
|
||||
@ -1,9 +1,9 @@
|
||||
package com.enzhico.echarts.config;
|
||||
package com.xncoding.echarts.config;
|
||||
|
||||
import com.corundumstudio.socketio.SocketIOServer;
|
||||
import com.corundumstudio.socketio.annotation.SpringAnnotationScanner;
|
||||
import com.enzhico.echarts.config.properties.MyProperties;
|
||||
import com.enzhico.echarts.service.ApiService;
|
||||
import com.xncoding.echarts.config.properties.MyProperties;
|
||||
import com.xncoding.echarts.service.ApiService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.config.properties;
|
||||
package com.xncoding.echarts.config.properties;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.stereotype.Component;
|
||||
@ -11,7 +11,7 @@ import org.springframework.stereotype.Component;
|
||||
* @since 2018/01/06 21:09
|
||||
*/
|
||||
@Component
|
||||
@ConfigurationProperties(prefix = "enzhico")
|
||||
@ConfigurationProperties(prefix = "xncoding")
|
||||
public class MyProperties {
|
||||
/**
|
||||
* socket端口
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.controller;
|
||||
package com.xncoding.echarts.controller;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.enzhico.echarts.handler;
|
||||
package com.xncoding.echarts.handler;
|
||||
|
||||
import com.corundumstudio.socketio.AckRequest;
|
||||
import com.corundumstudio.socketio.SocketIOClient;
|
||||
@ -6,9 +6,9 @@ import com.corundumstudio.socketio.SocketIOServer;
|
||||
import com.corundumstudio.socketio.annotation.OnConnect;
|
||||
import com.corundumstudio.socketio.annotation.OnDisconnect;
|
||||
import com.corundumstudio.socketio.annotation.OnEvent;
|
||||
import com.enzhico.echarts.common.constants.MsgType;
|
||||
import com.enzhico.echarts.config.properties.MyProperties;
|
||||
import com.enzhico.echarts.service.ApiService;
|
||||
import com.xncoding.echarts.common.constants.MsgType;
|
||||
import com.xncoding.echarts.config.properties.MyProperties;
|
||||
import com.xncoding.echarts.service.ApiService;
|
||||
import io.socket.client.Socket;
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
@ -1,8 +1,8 @@
|
||||
package com.enzhico.echarts.service;
|
||||
package com.xncoding.echarts.service;
|
||||
|
||||
import com.corundumstudio.socketio.SocketIOClient;
|
||||
import com.corundumstudio.socketio.SocketIOServer;
|
||||
import com.enzhico.echarts.config.properties.MyProperties;
|
||||
import com.xncoding.echarts.config.properties.MyProperties;
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@ -3,7 +3,7 @@
|
||||
##########################################################
|
||||
|
||||
################### 自定义项目配置 ###################
|
||||
enzhico:
|
||||
xncoding:
|
||||
socket-port: 9076 #socket端口
|
||||
ping-interval: 60000 #Ping消息间隔(毫秒)
|
||||
ping-timeout: 180000 #Ping消息超时时间(毫秒)
|
||||
@ -35,7 +35,7 @@ logging:
|
||||
spring:
|
||||
profiles: dev
|
||||
|
||||
enzhico:
|
||||
xncoding:
|
||||
image-dir: E:/pics/
|
||||
load-js: E:/pics/html/js/echarts-load.js
|
||||
index-html: file:///E:/pics/html/index.html
|
||||
@ -44,7 +44,7 @@ logging:
|
||||
level:
|
||||
ROOT: INFO
|
||||
com:
|
||||
enzhico: DEBUG
|
||||
xncoding: DEBUG
|
||||
file: E:/logs/sb-ehcharts.log
|
||||
|
||||
---
|
||||
@ -56,7 +56,7 @@ logging:
|
||||
spring:
|
||||
profiles: test
|
||||
|
||||
enzhico:
|
||||
xncoding:
|
||||
image-dir: /var/pics/echarts/
|
||||
load-js: /usr/share/nginx/html/echarts/js/echarts-load.js
|
||||
index-html: file:///usr/share/nginx/html/echarts/index.html
|
||||
@ -65,6 +65,6 @@ logging:
|
||||
level:
|
||||
ROOT: INFO
|
||||
com:
|
||||
enzhico: DEBUG
|
||||
xncoding: DEBUG
|
||||
file: /var/logs/sb-ehcharts.log
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.enzhico.echarts.common.util;
|
||||
package com.xncoding.echarts.common.util;
|
||||
|
||||
import com.enzhico.echarts.api.model.jmh.*;
|
||||
import com.xncoding.echarts.api.model.jmh.*;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.ObjectWriter;
|
||||
@ -12,8 +12,8 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import static com.enzhico.echarts.common.util.ExportPngUtil.generateOption;
|
||||
import static com.enzhico.echarts.common.util.ExportPngUtil.postOption;
|
||||
import static com.xncoding.echarts.common.util.ExportPngUtil.generateOption;
|
||||
import static com.xncoding.echarts.common.util.ExportPngUtil.postOption;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
Reference in New Issue
Block a user