Add new service "file_tracker"

This new service periodically tracks the file open in the system.

Closes-Bug: #1995502
Change-Id: I02e097fef07655ff571af9f35bf258b2ed975098
This commit is contained in:
Rodolfo Alonso Hernandez 2022-11-02 16:43:41 +01:00
parent 1f5d6c0abb
commit d1c2bf5e7c
4 changed files with 63 additions and 0 deletions

View File

@ -469,6 +469,7 @@
dstat: false
etcd3: true
memory_tracker: true
file_tracker: true
mysql: true
rabbit: true
group-vars:
@ -477,6 +478,7 @@
# Shared services
dstat: false
memory_tracker: true
file_tracker: true
devstack_localrc:
# Multinode specific settings
HOST_IP: "{{ hostvars[inventory_hostname]['nodepool']['private_ipv4'] }}"
@ -544,6 +546,7 @@
dstat: false
etcd3: true
memory_tracker: true
file_tracker: true
mysql: true
rabbit: true
tls-proxy: true
@ -593,6 +596,7 @@
# Shared services
dstat: false
memory_tracker: true
file_tracker: true
tls-proxy: true
# Nova services
n-cpu: true

View File

@ -20,6 +20,12 @@ provides consumption output when available memory is seen to be
falling (i.e. processes are consuming memory). It also provides
output showing locked (unswappable) memory.
file_tracker
------------
The ``file_tracker`` service periodically monitors the number of
open files in the system.
tcpdump
-------

View File

@ -40,12 +40,18 @@ function start_dstat {
if is_service_enabled peakmem_tracker; then
die $LINENO "The peakmem_tracker service has been removed, use memory_tracker instead"
fi
# To enable file_tracker add:
# enable_service file_tracker
# to your localrc
run_process file_tracker "$TOP_DIR/tools/file_tracker.sh"
}
# stop_dstat() stop dstat process
function stop_dstat {
stop_process dstat
stop_process memory_tracker
stop_process file_tracker
}
# Restore xtrace

47
tools/file_tracker.sh Executable file
View File

@ -0,0 +1,47 @@
#!/bin/bash
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
set -o errexit
# time to sleep between checks
SLEEP_TIME=20
function tracker {
echo "Number of open files | Number of open files not in use | Maximum number of files allowed to be opened"
while true; do
cat /proc/sys/fs/file-nr
sleep $SLEEP_TIME
done
}
function usage {
echo "Usage: $0 [-x] [-s N]" 1>&2
exit 1
}
while getopts ":s:x" opt; do
case $opt in
s)
SLEEP_TIME=$OPTARG
;;
x)
set -o xtrace
;;
*)
usage
;;
esac
done
tracker