`
leadyu
  • 浏览: 51568 次
  • 性别: Icon_minigender_1
  • 来自: 广州,福州
文章分类
社区版块
存档分类
最新评论

Jwebap项目(四)——性能监控工具Jwebap: 0.5.8版本发布

阅读更多
一直想写一篇关于Jwebap(jwebap.sourceforge.net)项目的介绍文章,鉴于0.5.8版本的发布,我整理了下发表出来,希望大家感兴趣。

引用
背景
最初,在06年底由于要帮助几个大型项目进行性能上的优化,有了开发一个专用于profiling组件的想法,于是有了Jwebap,慢慢的到了07年6月份开始有了最初的方案,在11月终于在sourceforge上发布了第一个版本。

Jwebap能带来什么?
Jwebap是一个用于J2EE工程(EJB以及WebModule系统)进行性能监控的组件,它有几个特点:

1)基于ASM实现类的静态增强,可以无缝的部署于J2EE系统,对系统的开销几乎可以忽略

2)部署和使用非常的简单,整个Jwebap的部署只需要部署jwebap_core_**.jar以及需要使用的各种plugin_**.jar,然后配置jwebap.xml和web.xml就可以完成所有的部署,比起绝大多数的profiling容易的多。

同时Jwebap提供Web Console进行整个Jwebap的管理和数据展现。在API层提供一套默认的视图框架供plugin开发者使用,可以只用Jar包就开发出相当漂亮的Web界面。

3)Jwebap的开发分为两个部分Jwebap-core部分,Jwebap-plugin部分。core部分基于jdk14提供了类静态增强,轨迹生命管理,Plugin管理,视图框架等等,在这个基础上开发plugin。我觉得,好的profiling应该能够根据不同的人群按需使用,同时在功能不断复杂和强大的过程中仍然能够保证较轻的架子。

目前,0.5.8提供了基于jdk14的三个plugin:method监控,jdbc监控,http监控。这些可以算是基于plugin架构开发的示例。以后会开发更多的plugin,比如memory_monitor_plugin。甚至可以基于一些专属平台开发功能更强的插件。当然,Jwebap也可以不仅仅停留在profiling,日后,可以基于测试人员和质量保证,开发人员等方面开发适用的plugin,做到按需分配。


Jwebap的部署

Jwebap的部署相当简单,0.5.8版本提供了一个把plugin和core打在一起的包:jwebap_0.5.8_all.jar。然后对于jwebap.xml和web.xml的配置可以参看doc目录下的User-Guide。目前,0.5.8版本能够做到的功能有:

Jdbc监控:可以监控J2EE系统的所有Jdbc调用,包括Jndi数据源,可以过滤SQL时间,由哪些程序调用,哪些连接泄露。

Method监控:可以通过配置Method Plugin的'detect-class'参数,配置多个想要监控的包或类,Jwebap Console就可以跟踪这些类的方法执行,进行时间过滤,可以统计开销,和方法的调用堆栈,方法打开了多少Jdbc连接等等。

Http监控:可以监控http请求,进行时间过滤,可以进行请求的开销统计,请求打开了多少Jdbc连接等等。


贴几张示例图,有兴趣的朋友可以下载试用(jwebap.sourceforge.net),欢迎在这里进行交流:
  • 描述: Jdbc Traces 1
  • 大小: 148.2 KB
  • 描述: Jdbc Traces 2
  • 大小: 118.4 KB
  • 描述: Method Traces
  • 大小: 98.6 KB
分享到:
评论
52 楼 heaven 2008-03-04  
spring的datasource实现都是建议用在测试环境下的,而且spring拿到的都是容器的javax.sql.DataSource的实现,比如我在tomcat下拿到的就是org.apache.dbcp.BasicDataSource,在was下可能就是was的datasource的实现,有没有在这种环境下成功的例子,我觉得我的环境应该是比较很典型的情况.
51 楼 leadyu 2008-03-04  
我的意思说,可以配置类似的类,jwebap会对你配置的类中所有返回connection的方法进行监控。

所以,你可以尝试,配置spring的datasource

同时要保证用的是jwebap_0.5.8_all_3.zip,才能对父类进行注入
50 楼 heaven 2008-03-04  
leadyu 写道
如果是远程数据源,你就不能配数据库驱动作为driver-class参数值。

这个文档里有说明的呀,你可以配置应用中获取连接的类作为这个参数值,比如我们的项目配置:com.telecom.dao.ConnectionManager


项目内通过com.telecom.dao.ConnectionManager.getConnection()从jndi获取连接。


没有这种类啊,getconnection()这个方法如果不是很老的程序或自己封装的东西,已经很不常见了,spring都是用datasource啊,直接配datasource或者其子类没什么反应啊,
49 楼 leadyu 2008-03-04  
如果是远程数据源,你就不能配数据库驱动作为driver-class参数值。

这个文档里有说明的呀,你可以配置应用中获取连接的类作为这个参数值,比如我在自己的项目配置:com.telecom.dao.ConnectionManager作为driver-class。


项目内通过com.telecom.dao.ConnectionManager.getConnection()从jndi获取连接。
48 楼 heaven 2008-03-04  
heaven 写道
leadyu 写道
heaven 写道
leadyu 写道


还有对于jndi的配置,你可以配自己应用里面获取连接的类作为驱动,比如com.telecom.dao.ConnectionManager.

对于这个类出去的Connection都可以监控。你能否把启动报的错贴上来,或者看看之前的回帖有无网友出现类似问题。

目前根据我的收集,出现最多的问题是duplicate define这样的错误,这个是由于配置的原因,可以看之前的回帖。

堆栈在内网,转不出来,不好意思,我只能描述一下,
并不是duplicate define这样的错误,
我试了几个配置,在配置org.apache.dbcp.BasicDataSource,oralce.jdbc.OracleDriver的时候,
StaticHandleFactory会报noclassdeffounderror,导致spring从你的代理中无法获得连接,
这些类的确不能加载到的,貌似他们在tomcat的类加载器里,应该是当前上下文的加载器的父加载器中,
而配置成其它的方式不能监测到,目前还没有进一步根据代码分析是什么原因,


jwebap会去中间件的上下文CalssLoader里面按照父子委托的加载模式向上寻找驱动,只要你是本地数据源,tomcat能够加载到,jwebap应该能够找到。你出这个原因,很有可能是因为,你驱动的包配的ClassLoader层级比jwebap高,被字节码修改过的驱动在加载jwebap时找不到。

解决办法:把jwebap和驱动包配在一个层次类路径


这个我试过的,
我是把ojdbc14.jar和jwebap都放在tomcat/common/endorsed/这个目录下,
这个时候还是会报错,印象里是找不到servlet.jar中的某个文件,

不是本地数据源哦,是tomcat的容器数据源,tomcat用的dbcp数据源,
47 楼 heaven 2008-03-04  
leadyu 写道
heaven 写道
leadyu 写道


还有对于jndi的配置,你可以配自己应用里面获取连接的类作为驱动,比如com.telecom.dao.ConnectionManager.

对于这个类出去的Connection都可以监控。你能否把启动报的错贴上来,或者看看之前的回帖有无网友出现类似问题。

目前根据我的收集,出现最多的问题是duplicate define这样的错误,这个是由于配置的原因,可以看之前的回帖。

堆栈在内网,转不出来,不好意思,我只能描述一下,
并不是duplicate define这样的错误,
我试了几个配置,在配置org.apache.dbcp.BasicDataSource,oralce.jdbc.OracleDriver的时候,
StaticHandleFactory会报noclassdeffounderror,导致spring从你的代理中无法获得连接,
这些类的确不能加载到的,貌似他们在tomcat的类加载器里,应该是当前上下文的加载器的父加载器中,
而配置成其它的方式不能监测到,目前还没有进一步根据代码分析是什么原因,


jwebap会去中间件的上下文CalssLoader里面按照父子委托的加载模式向上寻找驱动,只要你是本地数据源,tomcat能够加载到,jwebap应该能够找到。你出这个原因,很有可能是因为,你驱动的包配的ClassLoader层级比jwebap高,被字节码修改过的驱动在加载jwebap时找不到。

解决办法:把jwebap和驱动包配在一个层次类路径


这个我试过的,
我是把ojdbc14.jar和jwebap都放在tomcat/common/endorsed/这个目录下,
这个时候还是会报错,印象里是找不到servlet.jar中的某个文件,
46 楼 leadyu 2008-03-04  
heaven 写道
leadyu 写道


还有对于jndi的配置,你可以配自己应用里面获取连接的类作为驱动,比如com.telecom.dao.ConnectionManager.

对于这个类出去的Connection都可以监控。你能否把启动报的错贴上来,或者看看之前的回帖有无网友出现类似问题。

目前根据我的收集,出现最多的问题是duplicate define这样的错误,这个是由于配置的原因,可以看之前的回帖。

堆栈在内网,转不出来,不好意思,我只能描述一下,
并不是duplicate define这样的错误,
我试了几个配置,在配置org.apache.dbcp.BasicDataSource,oralce.jdbc.OracleDriver的时候,
StaticHandleFactory会报noclassdeffounderror,导致spring从你的代理中无法获得连接,
这些类的确不能加载到的,貌似他们在tomcat的类加载器里,应该是当前上下文的加载器的父加载器中,
而配置成其它的方式不能监测到,目前还没有进一步根据代码分析是什么原因,


jwebap会去中间件的上下文CalssLoader里面按照父子委托的加载模式向上寻找驱动,只要你是本地数据源,tomcat能够加载到,jwebap应该能够找到。你出这个原因,很有可能是因为,你驱动的包配的ClassLoader层级比jwebap高,被字节码修改过的驱动在加载jwebap时找不到。

解决办法:把jwebap和驱动包配在一个层次类路径
45 楼 hz_chyun 2008-03-04  
heaven 写道
plpq 写道
我进入控制台报错,怎么回事?
java.lang.NoClassDefFoundError: org/commontemplate/config/Configuration
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:1618)
java.lang.Class.getConstructor0(Class.java:1930)
java.lang.Class.newInstance0(Class.java:278)
java.lang.Class.newInstance(Class.java:261)
org.jwebap.util.BeanUtil.newInstance(BeanUtil.java:24)
org.jwebap.ui.template.EngineFactory.initialize(EngineFactory.java:35)
org.jwebap.ui.template.EngineFactory.<clinit>(EngineFactory.java:30)
org.jwebap.ui.controler.TemplateActionSupport.process(TemplateActionSupport.java:27)
org.jwebap.ui.controler.ActionProcesser.process(ActionProcesser.java:32)
org.jwebap.ui.controler.ActionDispatcher.dispatch(ActionDispatcher.java:59)
org.jwebap.ui.controler.DispatcherChainImpl.doChain(DispatcherChainImpl.java:29)
org.jwebap.ui.controler.DefaultRedirectDispatcher.dispatch(DefaultRedirectDispatcher.java:31)
org.jwebap.ui.controler.DispatcherChainImpl.doChain(DispatcherChainImpl.java:29)
org.jwebap.ui.controler.JwebapServlet.doGet(JwebapServlet.java:43)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.jwebap.plugin.http.DetectFilter.doFilter(DetectFilter.java:99)


这个貌似是因为没有引入commontemplate.jar引起的,

弱弱的问下,怎么进入控制台;需要在eclipse中加入插件吗?
44 楼 leadyu 2008-03-04  
plpq 写道
我进入控制台报错,怎么回事?
java.lang.NoClassDefFoundError: org/commontemplate/config/Configuration
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:1618)
java.lang.Class.getConstructor0(Class.java:1930)
java.lang.Class.newInstance0(Class.java:278)
java.lang.Class.newInstance(Class.java:261)
org.jwebap.util.BeanUtil.newInstance(BeanUtil.java:24)
org.jwebap.ui.template.EngineFactory.initialize(EngineFactory.java:35)
org.jwebap.ui.template.EngineFactory.<clinit>(EngineFactory.java:30)
org.jwebap.ui.controler.TemplateActionSupport.process(TemplateActionSupport.java:27)
org.jwebap.ui.controler.ActionProcesser.process(ActionProcesser.java:32)
org.jwebap.ui.controler.ActionDispatcher.dispatch(ActionDispatcher.java:59)
org.jwebap.ui.controler.DispatcherChainImpl.doChain(DispatcherChainImpl.java:29)
org.jwebap.ui.controler.DefaultRedirectDispatcher.dispatch(DefaultRedirectDispatcher.java:31)
org.jwebap.ui.controler.DispatcherChainImpl.doChain(DispatcherChainImpl.java:29)
org.jwebap.ui.controler.JwebapServlet.doGet(JwebapServlet.java:43)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.jwebap.plugin.http.DetectFilter.doFilter(DetectFilter.java:99)



这个是由于没有把依赖的commontemplate8.1.jar打进去,依赖的Jar包在lib目录下
43 楼 heaven 2008-03-04  
plpq 写道
我进入控制台报错,怎么回事?
java.lang.NoClassDefFoundError: org/commontemplate/config/Configuration
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:1618)
java.lang.Class.getConstructor0(Class.java:1930)
java.lang.Class.newInstance0(Class.java:278)
java.lang.Class.newInstance(Class.java:261)
org.jwebap.util.BeanUtil.newInstance(BeanUtil.java:24)
org.jwebap.ui.template.EngineFactory.initialize(EngineFactory.java:35)
org.jwebap.ui.template.EngineFactory.<clinit>(EngineFactory.java:30)
org.jwebap.ui.controler.TemplateActionSupport.process(TemplateActionSupport.java:27)
org.jwebap.ui.controler.ActionProcesser.process(ActionProcesser.java:32)
org.jwebap.ui.controler.ActionDispatcher.dispatch(ActionDispatcher.java:59)
org.jwebap.ui.controler.DispatcherChainImpl.doChain(DispatcherChainImpl.java:29)
org.jwebap.ui.controler.DefaultRedirectDispatcher.dispatch(DefaultRedirectDispatcher.java:31)
org.jwebap.ui.controler.DispatcherChainImpl.doChain(DispatcherChainImpl.java:29)
org.jwebap.ui.controler.JwebapServlet.doGet(JwebapServlet.java:43)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.jwebap.plugin.http.DetectFilter.doFilter(DetectFilter.java:99)


这个貌似是因为没有引入commontemplate.jar引起的,
42 楼 heaven 2008-03-04  
leadyu 写道


还有对于jndi的配置,你可以配自己应用里面获取连接的类作为驱动,比如com.telecom.dao.ConnectionManager.

对于这个类出去的Connection都可以监控。你能否把启动报的错贴上来,或者看看之前的回帖有无网友出现类似问题。

目前根据我的收集,出现最多的问题是duplicate define这样的错误,这个是由于配置的原因,可以看之前的回帖。

堆栈在内网,转不出来,不好意思,我只能描述一下,
并不是duplicate define这样的错误,
我试了几个配置,在配置org.apache.dbcp.BasicDataSource,oralce.jdbc.OracleDriver的时候,
StaticHandleFactory会报noclassdeffounderror,导致spring从你的代理中无法获得连接,
这些类的确不能加载到的,貌似他们在tomcat的类加载器里,应该是当前上下文的加载器的父加载器中,
而配置成其它的方式不能监测到,目前还没有进一步根据代码分析是什么原因,
41 楼 plpq 2008-03-04  
我进入控制台报错,怎么回事?
java.lang.NoClassDefFoundError: org/commontemplate/config/Configuration
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:1618)
java.lang.Class.getConstructor0(Class.java:1930)
java.lang.Class.newInstance0(Class.java:278)
java.lang.Class.newInstance(Class.java:261)
org.jwebap.util.BeanUtil.newInstance(BeanUtil.java:24)
org.jwebap.ui.template.EngineFactory.initialize(EngineFactory.java:35)
org.jwebap.ui.template.EngineFactory.<clinit>(EngineFactory.java:30)
org.jwebap.ui.controler.TemplateActionSupport.process(TemplateActionSupport.java:27)
org.jwebap.ui.controler.ActionProcesser.process(ActionProcesser.java:32)
org.jwebap.ui.controler.ActionDispatcher.dispatch(ActionDispatcher.java:59)
org.jwebap.ui.controler.DispatcherChainImpl.doChain(DispatcherChainImpl.java:29)
org.jwebap.ui.controler.DefaultRedirectDispatcher.dispatch(DefaultRedirectDispatcher.java:31)
org.jwebap.ui.controler.DispatcherChainImpl.doChain(DispatcherChainImpl.java:29)
org.jwebap.ui.controler.JwebapServlet.doGet(JwebapServlet.java:43)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.jwebap.plugin.http.DetectFilter.doFilter(DetectFilter.java:99)

40 楼 leadyu 2008-03-04  
heaven 写道

OracleDeriver driver单词错了,
最好能多几个例子,在不同环境下的,
比如在tomcat下面他的jndi用的dbcp的,我试了几个可能的方式都没效果或者报错,
另外,能否加个开关? 要去掉或加上监控改的配置还是有点多,


从设计上来说,Jwebap-core部分的功能都是不针对平台和环境的。

至于开关,对于Jwebap是天然的,本身jwebap-core任何功能都没有,后续的功能都是以Plugin加入,你要去掉某个功能,只要在jwebap.xml把对应Component的配置去掉就可以了。

在0.6.*版本以后,会实现core和plugin的分离,形成一套plugin开发和部署的规范,慢慢的把精力集中在plugin的开发上。

还有对于jndi的配置,你可以配自己应用里面获取连接的类作为驱动,比如com.telecom.dao.ConnectionManager.

对于这个类出去的Connection都可以监控。你能否把启动报的错贴上来,或者看看之前的回帖有无网友出现类似问题。

目前根据我的收集,出现最多的问题是duplicate define这样的错误,这个是由于配置的原因,可以看之前的回帖。
39 楼 mudong 2008-03-04  
换了jwebap_0.5.8_all_3
JdbcComponent  正常
MethodComponent 还是不行。

我修改了一下jwebap.xml的配置。
发现原来是 .*  不包括子包的类
例如 我要监测 com.mudong.Test 类
不能写成 com.* 要写成com.mudong.*才成

提个小建议 能不能加个选项配置
在HttpComponent里面不监测他自己,起码不要混在一起。看着比较混乱。

谢谢楼主 我喜欢这个东西,很好很强大!易用,配置简单。
再接再厉!
38 楼 heaven 2008-03-04  
leadyu 写道
yelongyelong 写道
注意一下开源的质量呀
jwebap.xml中
1)Local datasource: jdbc driver class ,like
  orcale.jdbc.driver.OracleDeriver;com.mysql.jdbc.Driver,

一个驱动包中出现两处错误!!!!


jwebap现在只发布了2个版本,还处于pre-alpha版,对于profiling,需要应对许多不同的架构和环境,确实有可能在某些环境下会出现一些问题,所以这段时间我一直在线和及时处理一些朋友的邮件,尽快的解决问题,这点我很抱歉。

不过,你上面指的错误是什么?最好贴出来分析一下。



OracleDeriver driver单词错了,
最好能多几个例子,在不同环境下的,
比如在tomcat下面他的jndi用的dbcp的,我试了几个可能的方式都没效果或者报错,
另外,能否加个开关? 要去掉或加上监控改的配置还是有点多,
37 楼 leadyu 2008-03-04  
yelongyelong 写道
注意一下开源的质量呀
jwebap.xml中
1)Local datasource: jdbc driver class ,like
  orcale.jdbc.driver.OracleDeriver;com.mysql.jdbc.Driver,

一个驱动包中出现两处错误!!!!


jwebap现在只发布了2个版本,还处于pre-alpha版,对于profiling,需要应对许多不同的架构和环境,确实有可能在某些环境下会出现一些问题,所以这段时间我一直在线和及时处理一些朋友的邮件,尽快的解决问题,这点我很抱歉。

不过,你上面指的错误是什么?最好贴出来分析一下。


36 楼 mudong 2008-03-04  
leadyu 写道
引用
我的 HttpComponent ok!
MethodComponent和JdbcComponent 什么也没有
springmvc+spring+hibernate架构


jwebap.xml里面配置数据库的驱动,jdbc监控才有效,不过在之前有网友发现对于mysql,配了驱动也无法监控,后我检查发现是由于jwebap的类增强注入,并没有对父类注入,而mysql的驱动本身是个空类,实际的实现是父类引起。


在前天,我已经修正0.5.8版本,发布jwebap_0.5.8_all_3.zip,解决了字节码对父类的处理。你用的是第三次修正的版本吗?




jwebap.xml里面我配了。
我用的是jwebap_0.5.8_all_2 
我奇怪的是怎么MethodComponent也不行。

我再试试新版本。
35 楼 yelongyelong 2008-03-04  
注意一下开源的质量呀
jwebap.xml中
1)Local datasource: jdbc driver class ,like
  orcale.jdbc.driver.OracleDeriver;com.mysql.jdbc.Driver,

一个驱动包中出现两处错误!!!!
34 楼 leadyu 2008-03-04  
引用
我的 HttpComponent ok!
MethodComponent和JdbcComponent 什么也没有
springmvc+spring+hibernate架构


jwebap.xml里面配置数据库的驱动,jdbc监控才有效,不过在之前有网友发现对于mysql,配了驱动也无法监控,后我检查发现是由于jwebap的类增强注入,并没有对父类注入,而mysql的驱动本身是个空类,实际的实现是父类引起。


在前天,我已经修正0.5.8版本,发布jwebap_0.5.8_all_3.zip,解决了字节码对父类的处理。你用的是第三次修正的版本吗?

33 楼 惊鸿逝水 2008-03-04  
leadyu 写道
惊鸿逝水 写道
试试了你的Jwebap,很遗憾的告诉你,在我的架构平台上,你啥都监控不到,唉。。。。。。



你要是有点建设性,能不能给大家说说你是什么架构,我分析分析,为什么监控不到

对不起,是我没说清楚,呵呵

第一:由于我的httpRequest是采用类名前缀方式请求,如com.test.example.WebAction?param1=a方式,在Jwebap控制台无法监控这样的请求

第二:对于Method的监控,不知道什么原因只看到2个方法,而我其他方法都是有Annotation注释的监控不到,如:
	@Action(name="prepareAdd",forward=@Forward(url="/test/user_add.jsp"))
	public ResponseContext executePrepareAddAction(RequestContext request)throws Exception{
		return new ResponseContext();
	}


第三:对于JDBC的监控,是没问题的,但是将mysql的jdbc jar放在JBOSS\default\lib下提示注入失败!当然放在WEB-INF\lib下确实可以避免多个应用的版本冲突

几个问题可以讨论一下:
1、在实际生产环境下,一般是不可能会将Jwebap监控程序和应用部署在一起的,也就是一般不允许去修改web.xml
2、对应用的监控最好是可以独立运行的,或者同一个JVM里做注入,实现应用和监控分离,其实找到对应的class进行ASM字节码的修改,应该不是问题吧。

相关推荐

    GPU-Z.0.5.8

    GPU-Z.0.5.8显卡详细显示工具自己试试

    soljson-v0.5.8 commit.23d335f2.js

    soljson-v0.5.8 commit.23d335f2.js soljson-v0.5.8 commit.23d335f2.js

    Blueprint css框架2013年最新可视化操作工具-boks-v0.5.8

    最新版div+css可视化开发工具,boks-v0.5.8,适用于blueprint css框架的开发,拖拉拽即可导出漂亮的网页架构。

    OpenCore-0.5.8

    OpenCore是类似于Clover的UEFI的引导器,OpenCore提供了详细的日志系统,帮助黑苹果排错;其次OpenCore以更先进的方法注入第三方Kext,不破坏系统的SIP;再次,OpenCore支持读取NVRAM等一系列特性,可以让黑苹果变得...

    docker-ghost:Docker 容器中的 Ghost

    版本幽灵: 0.5.8 NodeJS: 0.12.0 Ubuntu: 14.04.01用法克隆存储库 git clone git@github.com:zaiste/docker-ghost.git构建图像 cd docker-ghost sudo docker build -t &lt;your&gt;/ghost:0.5.8 .更新幽灵替换以下行中...

    Python库 | tushare-0.5.8.zip

    python库。 资源全名:tushare-0.5.8.zip

    Android代码-MaterialLoadingProgressBar

    compile('com.lsjwzh:materialloadingprogressbar:0.5.8-RELEASE') xml: options: java api: show arrow 'CircleProgressBar' will not show arrow by default. You can enable arrow drawing like this: ...

    Python库 | pycryptopp-0.5.8.zip

    资源分类:Python库 所属语言:Python 资源全名:pycryptopp-0.5.8.zip 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    GPU-Z.0.5.8 汉化版

    GPU-Z是提供给我们的一款GPU识别工具,绿色免安装,界面直观,运行后即可显示GPU核心,以及运行频率、带宽等,如同CPU-Z一样,这也是款必备工具

    Python库 | sovereign-0.5.8.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:sovereign-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    colonyNetwork:殖民地网络智能合约

    殖民地网络 定义的运行殖民地网络的合同 错误赏金计划 ... $ docker pull ethereum/solc:0.5.8 安装 在您选择的工作目录中,克隆最新版本的ColonyNetwork存储库: $ git clone https://github.com/JoinColo

    Python库 | tribology-0.5.8.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:tribology-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | reprobench-0.5.8.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:reprobench-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | pyunicore-0.5.8.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:pyunicore-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | OLCTools-0.5.8.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:OLCTools-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | dandan-0.5.8.tar.gz

    python库。资源全名:dandan-0.5.8.tar.gz

    Python库 | BentoML-0.5.8.tar.gz

    python库。资源全名:BentoML-0.5.8.tar.gz

    Python库 | JPSLUtils-0.5.8.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:JPSLUtils-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | braga-0.5.8.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:braga-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | anndata-0.5.8.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:anndata-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

Global site tag (gtag.js) - Google Analytics