TrendReportGraphs.doRespondingTimeGraph Jenkins查看性能趋势报表报控制针

这几天在安装jinkens的jmeter报表插件(Performance Plugin),使用时遇到一个控制针的问题,

 

google,baidu上搜了好久没有找到类似的问题,实在没有办法了,就到github上下载了源代码来调试,查看源代

 

码后发现是传入的参数是乱码,纠结了好久搞不明白乱码的参数来自哪里,后来观察jinkens页面模板中生成的

 

url中有中文参数,到这里可能大神们就大概能估计出问题出现在哪里了,对,就是url中的中文参数,那这些

 

参数来自哪里呢?根据我的观察发现是来自于jmeter的报告文件;测试人员将每个测试项目命名为了中文,而Performance Plugin直接将解析出来

 

的名称拼接成了url参数,而tomcat默认传中文参数是会乱码的,相信大部分javaer都知道,问

 

题大概定位到了,那开始修改吧,方法是直接修改tomcat的server.xml文件添加描红的部分。

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="UTF-8" />

重启并重新访问性能趋势报表页面,页面展示成功!

 

下面把完整的错误堆栈信息贴出来,希望能帮助大家快速解决这个没什么技术含量的问题:

java.lang.NullPointerException

at hudson.plugins.performance.TrendReportGraphs.doRespondingTimeGraph(TrendReportGraphs.java:40)

at sun.reflect.GeneratedMethodAccessor206.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:320)

at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:163)

at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)

at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)

at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)

at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)

at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)

at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)

at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)

at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)

at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:686)

at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)

at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)

at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)

at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)

at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)

at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)

at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)

at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233)

at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)

at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)

at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)

at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)

at org.kohsuke.stapler.Stapler.service(Stapler.java:238)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)

at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:605)

at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:544)

at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:461)

at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:412)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:201)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:745)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值