Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
LinuxSuRen
jenkins
提交
31fd0c97
J
jenkins
项目概览
LinuxSuRen
/
jenkins
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jenkins
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
31fd0c97
编写于
12月 10, 2012
作者:
J
Jesse Glick
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remote class loading statistics.
上级
1f94f6ef
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
79 addition
and
0 deletion
+79
-0
changelog.html
changelog.html
+2
-0
core/src/main/java/hudson/slaves/SlaveComputer.java
core/src/main/java/hudson/slaves/SlaveComputer.java
+54
-0
core/src/main/resources/hudson/slaves/SlaveComputer/statistics.groovy
...n/resources/hudson/slaves/SlaveComputer/statistics.groovy
+20
-0
core/src/main/resources/hudson/slaves/SlaveComputer/systemInfo.jelly
...in/resources/hudson/slaves/SlaveComputer/systemInfo.jelly
+3
-0
未找到文件。
changelog.html
浏览文件 @
31fd0c97
...
...
@@ -64,6 +64,8 @@ Upcoming changes</a>
(
<a
href=
"https://issues.jenkins-ci.org/browse/JENKINS-15889"
>
issue 15889
</a>
)
<li
class=
rfe
>
When using container-managed security, display unprotected root actions in the configuration screen for convenience.
<li
class=
rfe
>
Display class loading statistics in
<code>
/computer/
<i>
name
</i>
/systemInfo
</code>
.
<li
class=
rfe
>
Added
<tt>
list-plugins
</tt>
CLI command.
</ul>
...
...
core/src/main/java/hudson/slaves/SlaveComputer.java
浏览文件 @
31fd0c97
...
...
@@ -316,6 +316,60 @@ public class SlaveComputer extends Computer {
setChannel
(
channel
,
launchLog
,
listener
);
}
/**
* Shows {@link Channel#classLoadingCount}.
* @since 1.495
*/
public
int
getClassLoadingCount
()
throws
IOException
,
InterruptedException
{
return
channel
.
call
(
new
LoadingCount
(
false
));
}
/**
* Shows {@link Channel#resourceLoadingCount}.
* @since 1.495
*/
public
int
getResourceLoadingCount
()
throws
IOException
,
InterruptedException
{
return
channel
.
call
(
new
LoadingCount
(
true
));
}
/**
* Shows {@link Channel#classLoadingTime}.
* @since 1.495
*/
public
long
getClassLoadingTime
()
throws
IOException
,
InterruptedException
{
return
channel
.
call
(
new
LoadingTime
(
false
));
}
/**
* Shows {@link Channel#resourceLoadingTime}.
* @since 1.495
*/
public
long
getResourceLoadingTime
()
throws
IOException
,
InterruptedException
{
return
channel
.
call
(
new
LoadingTime
(
true
));
}
static
class
LoadingCount
implements
Callable
<
Integer
,
RuntimeException
>
{
private
final
boolean
resource
;
LoadingCount
(
boolean
resource
)
{
this
.
resource
=
resource
;
}
@Override
public
Integer
call
()
{
Channel
c
=
Channel
.
current
();
return
resource
?
c
.
resourceLoadingCount
.
get
()
:
c
.
classLoadingCount
.
get
();
}
}
static
class
LoadingTime
implements
Callable
<
Long
,
RuntimeException
>
{
private
final
boolean
resource
;
LoadingTime
(
boolean
resource
)
{
this
.
resource
=
resource
;
}
@Override
public
Long
call
()
{
Channel
c
=
Channel
.
current
();
return
resource
?
c
.
resourceLoadingTime
.
get
()
:
c
.
classLoadingTime
.
get
();
}
}
/**
* Sets up the connection through an exsting channel.
*
...
...
core/src/main/resources/hudson/slaves/SlaveComputer/statistics.groovy
0 → 100644
浏览文件 @
31fd0c97
h1
(
_
(
'Remote Class Loader Statistics'
))
def
fmt
=
new
java
.
text
.
DecimalFormat
(
"0.0"
)
def
right
=
'text-align: right'
table
(
class
:
'
bigtable
'
)
{
tr
{
th
_
(
'Loading Type'
)
th
_
(
'Time (s)'
)
th
_
(
'Count'
)
}
tr
{
td
_
(
'Classes'
)
td
(
style:
right
)
{
text
(
fmt
.
format
(
my
.
classLoadingTime
/
1000000000
))}
td
(
style:
right
)
{
text
(
my
.
classLoadingCount
)}
}
tr
{
td
_
(
'Resources'
)
td
(
style:
right
)
{
text
(
fmt
.
format
(
my
.
resourceLoadingTime
/
1000000000
))}
td
(
style:
right
)
{
text
(
my
.
resourceLoadingCount
)}
}
}
core/src/main/resources/hudson/slaves/SlaveComputer/systemInfo.jelly
浏览文件 @
31fd0c97
...
...
@@ -44,6 +44,9 @@ THE SOFTWARE.
<h2>${t.key}</h2>
<pre>${t.value}</pre>
</j:forEach>
<j:if test="${it.channel != null}">
<st:include page="statistics.groovy"/>
</j:if>
</l:hasPermission>
</l:main-panel>
</l:layout>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录