utils/middleware/util/recipes-common/engtools/parsers/common/parse-rabbitmq-queue.sh

58 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
#Copyright (c) 2016 Wind River Systems, Inc.
#
#SPDX-License-Identifier: Apache-2.0
#
OUTFILE=$1
QUEUENAME=$2
FILES=$(ls *rabbitmq.bz2 | sort)
[ -e tmp.txt ] && rm tmp.txt
echo "Time/Date,Name,Pid,Messages,Messages Ready,Messages Unacknowledged,Memory,Consumers" >${OUTFILE}
for FILE in ${FILES}; do
bzcat $FILE | grep -E "time\:|${QUEUENAME}" >>tmp.txt
sed -i -e "s/\t/ /g" tmp.txt
done
while IFS='' read -r LINE || [[ -n "${LINE}" ]]; do
TEST=$(echo ${LINE} | awk '{print $1}')
TEST2=$(echo ${LINE} | awk '{print $2}')
if [[ "${TEST}" == "time:" ]]; then
TIMEDATE=$(echo ${LINE} | awk '{print $3" "$4}')
MESSAGES=""
NAME=""
PID=""
MESSAGES_READY=""
MESSAGES_UNACKNOWLEDGED=""
MEMORY=""
CONSUMERS=""
elif [[ "${TEST2}" == "${QUEUENAME}" ]]; then
MESSAGES=$(echo ${LINE} | awk '{print $1}')
NAME=$(echo ${LINE} | awk '{print $2}')
PID=$(echo ${LINE} | awk '{print $3}')
MESSAGES_READY=$(echo ${LINE} | awk '{print $4}')
MESSAGES_UNACKNOWLEDGED=$(echo ${LINE} | awk '{print $5}')
MEMORY=$(echo ${LINE} | awk '{print $6}')
CONSUMERS=$(echo ${LINE} | awk '{print $7}')
echo "${TIMEDATE},${NAME},${PID},${MESSAGES},${MESSAGES_READY},${MESSAGES_UNACKNOWLEDGED},${MEMORY},${CONSUMERS}" >> ${OUTFILE}
TIMEDATE=""
MESSAGES=""
NAME=""
PID=""
MESSAGES_READY=""
MESSAGES_UNACKNOWLEDGED=""
MEMORY=""
CONSUMERS=""
fi
done < tmp.txt
rm tmp.txt