Skip to content

Commit ab16202

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Add new service "file_tracker""
2 parents 1054f12 + d1c2bf5 commit ab16202

4 files changed

Lines changed: 63 additions & 0 deletions

File tree

.zuul.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,7 @@
469469
dstat: false
470470
etcd3: true
471471
memory_tracker: true
472+
file_tracker: true
472473
mysql: true
473474
rabbit: true
474475
group-vars:
@@ -477,6 +478,7 @@
477478
# Shared services
478479
dstat: false
479480
memory_tracker: true
481+
file_tracker: true
480482
devstack_localrc:
481483
# Multinode specific settings
482484
HOST_IP: "{{ hostvars[inventory_hostname]['nodepool']['private_ipv4'] }}"
@@ -544,6 +546,7 @@
544546
dstat: false
545547
etcd3: true
546548
memory_tracker: true
549+
file_tracker: true
547550
mysql: true
548551
rabbit: true
549552
tls-proxy: true
@@ -593,6 +596,7 @@
593596
# Shared services
594597
dstat: false
595598
memory_tracker: true
599+
file_tracker: true
596600
tls-proxy: true
597601
# Nova services
598602
n-cpu: true

doc/source/debugging.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ provides consumption output when available memory is seen to be
2020
falling (i.e. processes are consuming memory). It also provides
2121
output showing locked (unswappable) memory.
2222

23+
file_tracker
24+
------------
25+
26+
The ``file_tracker`` service periodically monitors the number of
27+
open files in the system.
28+
2329
tcpdump
2430
-------
2531

lib/dstat

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,18 @@ function start_dstat {
4040
if is_service_enabled peakmem_tracker; then
4141
die $LINENO "The peakmem_tracker service has been removed, use memory_tracker instead"
4242
fi
43+
44+
# To enable file_tracker add:
45+
# enable_service file_tracker
46+
# to your localrc
47+
run_process file_tracker "$TOP_DIR/tools/file_tracker.sh"
4348
}
4449

4550
# stop_dstat() stop dstat process
4651
function stop_dstat {
4752
stop_process dstat
4853
stop_process memory_tracker
54+
stop_process file_tracker
4955
}
5056

5157
# Restore xtrace

tools/file_tracker.sh

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#!/bin/bash
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License"); you may
4+
# not use this file except in compliance with the License. You may obtain
5+
# a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12+
# License for the specific language governing permissions and limitations
13+
# under the License.
14+
15+
set -o errexit
16+
17+
# time to sleep between checks
18+
SLEEP_TIME=20
19+
20+
function tracker {
21+
echo "Number of open files | Number of open files not in use | Maximum number of files allowed to be opened"
22+
while true; do
23+
cat /proc/sys/fs/file-nr
24+
sleep $SLEEP_TIME
25+
done
26+
}
27+
28+
function usage {
29+
echo "Usage: $0 [-x] [-s N]" 1>&2
30+
exit 1
31+
}
32+
33+
while getopts ":s:x" opt; do
34+
case $opt in
35+
s)
36+
SLEEP_TIME=$OPTARG
37+
;;
38+
x)
39+
set -o xtrace
40+
;;
41+
*)
42+
usage
43+
;;
44+
esac
45+
done
46+
47+
tracker

0 commit comments

Comments
 (0)