Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Canread
Gopsutil
提交
8f2153df
G
Gopsutil
项目概览
Canread
/
Gopsutil
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gopsutil
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
8f2153df
编写于
8月 16, 2016
作者:
L
Lukas Fittl
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add missing disk IO statistics for merged reads/writes, IOPS in progress.
上级
e997d2e3
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
35 addition
and
17 deletion
+35
-17
disk/disk.go
disk/disk.go
+12
-9
disk/disk_linux.go
disk/disk_linux.go
+22
-7
disk/disk_test.go
disk/disk_test.go
+1
-1
未找到文件。
disk/disk.go
浏览文件 @
8f2153df
...
...
@@ -33,15 +33,18 @@ type PartitionStat struct {
}
type
IOCountersStat
struct
{
ReadCount
uint64
`json:"readCount"`
WriteCount
uint64
`json:"writeCount"`
ReadBytes
uint64
`json:"readBytes"`
WriteBytes
uint64
`json:"writeBytes"`
ReadTime
uint64
`json:"readTime"`
WriteTime
uint64
`json:"writeTime"`
Name
string
`json:"name"`
IoTime
uint64
`json:"ioTime"`
SerialNumber
string
`json:"serialNumber"`
ReadCount
uint64
`json:"readCount"`
MergedReadCount
uint64
`json:"mergedReadCount"`
WriteCount
uint64
`json:"writeCount"`
MergedWriteCount
uint64
`json:"mergedWriteCount"`
ReadBytes
uint64
`json:"readBytes"`
WriteBytes
uint64
`json:"writeBytes"`
ReadTime
uint64
`json:"readTime"`
WriteTime
uint64
`json:"writeTime"`
IopsInProgress
uint64
`json:"iopsInProgress"`
IoTime
uint64
`json:"ioTime"`
Name
string
`json:"name"`
SerialNumber
string
`json:"serialNumber"`
}
func
(
d
UsageStat
)
String
()
string
{
...
...
disk/disk_linux.go
浏览文件 @
8f2153df
...
...
@@ -292,6 +292,10 @@ func IOCounters() (map[string]IOCountersStat, error) {
if
err
!=
nil
{
return
ret
,
err
}
mergedReads
,
err
:=
strconv
.
ParseUint
((
fields
[
4
]),
10
,
64
)
if
err
!=
nil
{
return
ret
,
err
}
rbytes
,
err
:=
strconv
.
ParseUint
((
fields
[
5
]),
10
,
64
)
if
err
!=
nil
{
return
ret
,
err
...
...
@@ -304,6 +308,10 @@ func IOCounters() (map[string]IOCountersStat, error) {
if
err
!=
nil
{
return
ret
,
err
}
mergedWrites
,
err
:=
strconv
.
ParseUint
((
fields
[
8
]),
10
,
64
)
if
err
!=
nil
{
return
ret
,
err
}
wbytes
,
err
:=
strconv
.
ParseUint
((
fields
[
9
]),
10
,
64
)
if
err
!=
nil
{
return
ret
,
err
...
...
@@ -312,18 +320,25 @@ func IOCounters() (map[string]IOCountersStat, error) {
if
err
!=
nil
{
return
ret
,
err
}
iopsInProgress
,
err
:=
strconv
.
ParseUint
((
fields
[
11
]),
10
,
64
)
if
err
!=
nil
{
return
ret
,
err
}
iotime
,
err
:=
strconv
.
ParseUint
((
fields
[
12
]),
10
,
64
)
if
err
!=
nil
{
return
ret
,
err
}
d
:=
IOCountersStat
{
ReadBytes
:
rbytes
*
SectorSize
,
WriteBytes
:
wbytes
*
SectorSize
,
ReadCount
:
reads
,
WriteCount
:
writes
,
ReadTime
:
rtime
,
WriteTime
:
wtime
,
IoTime
:
iotime
,
ReadBytes
:
rbytes
*
SectorSize
,
WriteBytes
:
wbytes
*
SectorSize
,
ReadCount
:
reads
,
WriteCount
:
writes
,
MergedReadCount
:
mergedReads
,
MergedWriteCount
:
mergedWrites
,
ReadTime
:
rtime
,
WriteTime
:
wtime
,
IopsInProgress
:
iopsInProgress
,
IoTime
:
iotime
,
}
if
d
==
empty
{
continue
...
...
disk/disk_test.go
浏览文件 @
8f2153df
...
...
@@ -93,7 +93,7 @@ func TestDiskIOCountersStat_String(t *testing.T) {
WriteBytes
:
400
,
SerialNumber
:
"SERIAL"
,
}
e
:=
`{"readCount":100,"
writeCount":200,"readBytes":300,"writeBytes":400,"readTime":0,"writeTime":0,"name":"sd01","ioTime":0
,"serialNumber":"SERIAL"}`
e
:=
`{"readCount":100,"
mergedReadCount":0,"writeCount":200,"mergedWriteCount":0,"readBytes":300,"writeBytes":400,"readTime":0,"writeTime":0,"iopsInProgress":0,"ioTime":0,"name":"sd01"
,"serialNumber":"SERIAL"}`
if
e
!=
fmt
.
Sprintf
(
"%v"
,
v
)
{
t
.
Errorf
(
"DiskUsageStat string is invalid: %v"
,
v
)
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录