Открыть боковую панель
Захаров Дмитрий Сергеевич
Gitlab
Коммиты
35c878f6
Коммит
35c878f6
создал
Май 20, 2016
по автору
Gabriel Mazetto
Просмотр файлов
Added load average to system sampling.
владелец
cf5f6039
Изменения
3
Скрыть пробелы
Построчно
Рядом
lib/gitlab/metrics/sampler.rb
Просмотр файла @
35c878f6
...
...
@@ -43,6 +43,7 @@ def sample
sample_file_descriptors
sample_objects
sample_gc
sample_load_average
flush
ensure
...
...
@@ -98,6 +99,11 @@ def sample_gc
add_metric
(
'gc_statistics'
,
stats
)
end
def
sample_load_average
loadavg
=
System
.
load_average
add_metric
(
'sys_loadavg'
,
{
:'1min'
=>
loadavg
[
0
],
:'5min'
=>
loadavg
[
1
],
:'15min'
=>
loadavg
[
2
]})
end
def
add_metric
(
series
,
values
,
tags
=
{})
prefix
=
sidekiq?
?
'sidekiq_'
:
'rails_'
...
...
lib/gitlab/metrics/system.rb
Просмотр файла @
35c878f6
...
...
@@ -8,7 +8,7 @@ module System
if
File
.
exist?
(
'/proc'
)
# Returns the current process' memory usage in bytes.
def
self
.
memory_usage
mem
=
0
mem
=
0
match
=
File
.
read
(
'/proc/self/status'
).
match
(
/VmRSS:\s+(\d+)/
)
if
match
and
match
[
1
]
...
...
@@ -21,6 +21,15 @@ def self.memory_usage
def
self
.
file_descriptor_count
Dir
.
glob
(
'/proc/self/fd/*'
).
length
end
def
self
.
load_average
loadavg
=
File
.
read
(
'/proc/loadavg'
).
scan
(
/\d+.\d+/
)
if
loadavg
&&
loadavg
[
0
]
&&
loadavg
[
1
]
&&
loadavg
[
2
]
loadavg
[
0
..
2
].
map
{
|
value
|
value
.
to_f
}
else
[
0.0
,
0.0
,
0.0
]
end
end
else
def
self
.
memory_usage
0.0
...
...
@@ -29,6 +38,10 @@ def self.memory_usage
def
self
.
file_descriptor_count
0
end
def
self
.
load_average
[
0.0
,
0.0
,
0.0
]
end
end
# THREAD_CPUTIME is not supported on OS X
...
...
spec/lib/gitlab/metrics/system_spec.rb
Просмотр файла @
35c878f6
...
...
@@ -27,6 +27,14 @@
end
end
describe
'.load_average'
do
it
'returns the amount of load as 3 values array'
do
expect
(
described_class
.
load_average
[
0
]).
to
be
>=
0.0
expect
(
described_class
.
load_average
[
1
]).
to
be
>=
0.0
expect
(
described_class
.
load_average
[
2
]).
to
be
>=
0.0
end
end
describe
'.cpu_time'
do
it
'returns a Fixnum'
do
expect
(
described_class
.
cpu_time
).
to
be_an_instance_of
(
Fixnum
)
...
...
Редактирование
Предварительный просмотр
Поддерживает Markdown
0%
Попробовать снова
или
прикрепить новый файл
.
Отмена
You are about to add
0
people
to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Отмена
Пожалуйста,
зарегистрируйтесь
или
войдите
чтобы прокомментировать