Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
grpc
src
cpp
server
load_reporter
get_cpu_stats_linux.cc
Go to the documentation of this file.
1
/*
2
*
3
* Copyright 2018 gRPC authors.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*/
18
19
#include <
grpc/support/port_platform.h
>
20
21
#include <utility>
22
23
#ifdef GPR_LINUX
24
25
#include <inttypes.h>
26
27
#include <cstdio>
28
29
#include "
src/cpp/server/load_reporter/get_cpu_stats.h
"
30
31
namespace
grpc
{
32
namespace
load_reporter {
33
34
std::pair<uint64_t, uint64_t>
GetCpuStatsImpl
() {
35
uint64_t
busy = 0,
total
= 0;
36
FILE
* fp;
37
fp = fopen(
"/proc/stat"
,
"r"
);
38
uint64_t
user, nice, system,
idle
;
39
if
(fscanf(fp,
"cpu %"
PRIu64
" %"
PRIu64
" %"
PRIu64
" %"
PRIu64, &user,
40
&nice, &system, &
idle
) != 4) {
41
// Something bad happened with the information, so assume it's all invalid
42
user = nice = system =
idle
= 0;
43
}
44
fclose
(fp);
45
busy = user + nice + system;
46
total
= busy +
idle
;
47
return
std::make_pair(busy,
total
);
48
}
49
50
}
// namespace load_reporter
51
}
// namespace grpc
52
53
#endif // GPR_LINUX
idle
static uv_idle_t idle
Definition:
test-poll-oob.c:37
grpc
Definition:
grpcpp/alarm.h:33
grpc::load_reporter::GetCpuStatsImpl
std::pair< uint64_t, uint64_t > GetCpuStatsImpl()
Definition:
get_cpu_stats_unsupported.cc:30
total
size_t total
Definition:
cord_analysis.cc:59
uint64_t
unsigned __int64 uint64_t
Definition:
stdint-msvc2008.h:90
get_cpu_stats.h
benchmark.FILE
FILE
Definition:
benchmark.py:21
grpc::fclose
fclose(creds_file)
port_platform.h
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:26