Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Canread
Gopsutil
提交
4899782e
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,发现更多精彩内容 >>
提交
4899782e
编写于
5月 01, 2014
作者:
S
Shirou WAKAYAMA
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
change various func return type to pointer.
上级
172ac637
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
47 addition
and
43 deletion
+47
-43
cpu_linux.go
cpu_linux.go
+4
-4
host_linux.go
host_linux.go
+5
-5
load_linux.go
load_linux.go
+6
-6
mem_freebsd.go
mem_freebsd.go
+4
-4
mem_linux.go
mem_linux.go
+15
-12
mem_windows.go
mem_windows.go
+10
-9
net.go
net.go
+2
-2
net_linux.go
net_linux.go
+1
-1
未找到文件。
cpu_linux.go
浏览文件 @
4899782e
...
...
@@ -18,18 +18,18 @@ func CPUTimes(percpu bool) ([]CPUTimesStat, error) {
if
err
!=
nil
{
continue
}
ret
=
append
(
ret
,
ct
)
ret
=
append
(
ret
,
*
ct
)
}
return
ret
,
nil
}
func
parseStatLine
(
line
string
)
(
CPUTimesStat
,
error
)
{
func
parseStatLine
(
line
string
)
(
*
CPUTimesStat
,
error
)
{
fields
:=
strings
.
Fields
(
line
)
if
strings
.
HasPrefix
(
fields
[
0
],
"cpu"
)
==
false
{
// return CPUTimesStat{}, e
return
CPUTimesStat
{}
,
errors
.
New
(
"not contain cpu"
)
return
nil
,
errors
.
New
(
"not contain cpu"
)
}
cpu
:=
fields
[
0
]
...
...
@@ -44,7 +44,7 @@ func parseStatLine(line string) (CPUTimesStat, error) {
irq
,
_
:=
strconv
.
ParseFloat
(
fields
[
6
],
32
)
softirq
,
_
:=
strconv
.
ParseFloat
(
fields
[
7
],
32
)
stolen
,
_
:=
strconv
.
ParseFloat
(
fields
[
8
],
32
)
ct
:=
CPUTimesStat
{
ct
:=
&
CPUTimesStat
{
CPU
:
cpu
,
User
:
float32
(
user
),
Nice
:
float32
(
nice
),
...
...
host_linux.go
浏览文件 @
4899782e
...
...
@@ -11,15 +11,15 @@ import (
"unsafe"
)
func
HostInfo
()
(
HostInfoStat
,
error
)
{
ret
:=
HostInfoStat
{}
func
HostInfo
()
(
*
HostInfoStat
,
error
)
{
hostname
,
err
:=
os
.
Hostname
()
ret
.
Hostname
=
hostname
if
err
!=
nil
{
return
ret
,
err
return
nil
,
err
}
ret
:=
&
HostInfoStat
{
Hostname
:
hostname
,
}
return
ret
,
nil
}
...
...
load_linux.go
浏览文件 @
4899782e
...
...
@@ -8,29 +8,29 @@ import (
"strings"
)
func
LoadAvg
()
(
LoadAvgStat
,
error
)
{
func
LoadAvg
()
(
*
LoadAvgStat
,
error
)
{
filename
:=
"/proc/loadavg"
line
,
err
:=
ioutil
.
ReadFile
(
filename
)
if
err
!=
nil
{
return
LoadAvgStat
{}
,
err
return
nil
,
err
}
values
:=
strings
.
Fields
(
string
(
line
))
load1
,
err
:=
strconv
.
ParseFloat
(
values
[
0
],
64
)
if
err
!=
nil
{
return
LoadAvgStat
{}
,
err
return
nil
,
err
}
load5
,
err
:=
strconv
.
ParseFloat
(
values
[
1
],
64
)
if
err
!=
nil
{
return
LoadAvgStat
{}
,
err
return
nil
,
err
}
load15
,
err
:=
strconv
.
ParseFloat
(
values
[
2
],
64
)
if
err
!=
nil
{
return
LoadAvgStat
{}
,
err
return
nil
,
err
}
ret
:=
LoadAvgStat
{
ret
:=
&
LoadAvgStat
{
Load1
:
load1
,
Load5
:
load5
,
Load15
:
load15
,
...
...
mem_freebsd.go
浏览文件 @
4899782e
...
...
@@ -2,14 +2,14 @@
package
gopsutil
func
VirtualMemory
()
(
VirtualMemoryStat
,
error
)
{
ret
:=
VirtualMemoryStat
{}
func
VirtualMemory
()
(
*
VirtualMemoryStat
,
error
)
{
ret
:=
&
VirtualMemoryStat
{}
return
ret
,
nil
}
func
SwapMemory
()
(
SwapMemoryStat
,
error
)
{
ret
:=
SwapMemoryStat
{}
func
SwapMemory
()
(
*
SwapMemoryStat
,
error
)
{
ret
:=
&
SwapMemoryStat
{}
return
ret
,
nil
}
mem_linux.go
浏览文件 @
4899782e
...
...
@@ -6,17 +6,19 @@ import (
"syscall"
)
func
VirtualMemory
()
(
VirtualMemoryStat
,
error
)
{
ret
:=
VirtualMemoryStat
{}
func
VirtualMemory
()
(
*
VirtualMemoryStat
,
error
)
{
sysinfo
:=
&
syscall
.
Sysinfo_t
{}
if
err
:=
syscall
.
Sysinfo
(
sysinfo
);
err
!=
nil
{
return
ret
,
err
return
nil
,
err
}
ret
:=
&
VirtualMemoryStat
{
Total
:
uint64
(
sysinfo
.
Totalram
),
Free
:
uint64
(
sysinfo
.
Freeram
),
Shared
:
uint64
(
sysinfo
.
Sharedram
),
Buffers
:
uint64
(
sysinfo
.
Bufferram
),
}
ret
.
Total
=
uint64
(
sysinfo
.
Totalram
)
ret
.
Free
=
uint64
(
sysinfo
.
Freeram
)
ret
.
Shared
=
uint64
(
sysinfo
.
Sharedram
)
ret
.
Buffers
=
uint64
(
sysinfo
.
Bufferram
)
ret
.
Used
=
ret
.
Total
-
ret
.
Free
...
...
@@ -35,15 +37,16 @@ func VirtualMemory() (VirtualMemoryStat, error) {
return
ret
,
nil
}
func
SwapMemory
()
(
SwapMemoryStat
,
error
)
{
ret
:=
SwapMemoryStat
{}
func
SwapMemory
()
(
*
SwapMemoryStat
,
error
)
{
sysinfo
:=
&
syscall
.
Sysinfo_t
{}
if
err
:=
syscall
.
Sysinfo
(
sysinfo
);
err
!=
nil
{
return
ret
,
err
return
nil
,
err
}
ret
:=
&
SwapMemoryStat
{
Total
:
sysinfo
.
Totalswap
,
Free
:
sysinfo
.
Freeswap
,
}
ret
.
Total
=
sysinfo
.
Totalswap
ret
.
Free
=
sysinfo
.
Freeswap
ret
.
Used
=
ret
.
Total
-
ret
.
Free
ret
.
UsedPercent
=
float64
(
ret
.
Total
-
ret
.
Free
)
/
float64
(
ret
.
Total
)
*
100.0
...
...
mem_windows.go
浏览文件 @
4899782e
...
...
@@ -23,25 +23,26 @@ type MEMORYSTATUSEX struct {
ullAvailExtendedVirtual
uint64
}
func
VirtualMemory
()
(
VirtualMemoryStat
,
error
)
{
ret
:=
VirtualMemoryStat
{}
func
VirtualMemory
()
(
*
VirtualMemoryStat
,
error
)
{
var
memInfo
MEMORYSTATUSEX
memInfo
.
cbSize
=
uint32
(
unsafe
.
Sizeof
(
memInfo
))
mem
,
_
,
_
:=
procGlobalMemoryStatusEx
.
Call
(
uintptr
(
unsafe
.
Pointer
(
&
memInfo
)))
if
mem
==
0
{
return
ret
,
syscall
.
GetLastError
()
return
nil
,
syscall
.
GetLastError
()
}
ret
:=
&
VirtualMemoryStat
{
Total
:
memInfo
.
ullTotalPhys
,
Available
:
memInfo
.
ullAvailPhys
,
UsedPercent
:
float64
(
memInfo
.
dwMemoryLoad
),
}
ret
.
Total
=
memInfo
.
ullTotalPhys
ret
.
Available
=
memInfo
.
ullAvailPhys
ret
.
UsedPercent
=
float64
(
memInfo
.
dwMemoryLoad
)
ret
.
Used
=
ret
.
Total
-
ret
.
Available
return
ret
,
nil
}
func
SwapMemory
()
(
SwapMemoryStat
,
error
)
{
ret
:=
SwapMemoryStat
{}
func
SwapMemory
()
(
*
SwapMemoryStat
,
error
)
{
ret
:=
&
SwapMemoryStat
{}
return
ret
,
nil
}
net.go
浏览文件 @
4899782e
package
gopsutil
type
NetIOCountersStat
struct
{
Name
string
`json:"name"`
// interface name
BytesSent
uint64
`json:"bytes_sent"`
// number of bytes sent
Name
string
`json:"name"`
// interface name
BytesSent
uint64
`json:"bytes_sent"`
// number of bytes sent
BytesRecv
uint64
`json:"bytes_recv"`
// number of bytes received
PacketsSent
uint64
`json:"packets_sent"`
// number of packets sent
PacketsRecv
uint64
`json:"packets_recv"`
// number of packets received
...
...
net_linux.go
浏览文件 @
4899782e
...
...
@@ -10,7 +10,7 @@ func NetIOCounters(pernic bool) ([]NetIOCountersStat, error) {
filename
:=
"/proc/net/dev"
lines
,
err
:=
readLines
(
filename
)
if
err
!=
nil
{
return
make
([]
NetIOCountersStat
,
0
)
,
err
return
nil
,
err
}
statlen
:=
len
(
lines
)
-
1
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录