#!/bin/bash
set +x

. /opt/huawei/snas/script/inspect_mml/CommonFunc.sh

G_MML_FILE_PATH="/opt/huawei/snas/script/inspect_mml"
snas_ini_file="/opt/huawei/snas/etc/snas.ini"
source $G_MML_FILE_PATH/CheckItems
CurInspectNum="285"
CurInspectFun="$(GetInspectType $CurInspectNum)"
RESULTFILE="/tmp/tmpResult${CurInspectFun}"
TMPFILE="/tmp/tmpFile${CurInspectFun}"
LOG_FILE="/var/log/inspect.log"
>${RESULTFILE}
>${TMPFILE}

Result=""
isPass=0

function LOG
{
   time=$(date)
   echo [${time}][$$][${CurInspectFun}]$@ >> ${LOG_FILE}
}

#жǷҪѲýڵ㣬0ҪѲ죻 1ҪѲ
function isNotNeedCheck()
{
    local node_service_type=$(egrep '[[]|^'node_service_type'=' /opt/huawei/snas/etc/snas.ini | tr -d '\n' | grep -Po '(?<=[[]'NODE'[]]'node_service_type'=)[0-9]+')
    if [ "X$node_service_type" == "X1" ];then
        return 1
    else
        return 0
    fi
}


#ȡip
LOCAL_BACK_IP=`GetLocalIp`
if [ -z "${LOCAL_BACK_IP}" ]; then
    isPass=1
    echo "[ERR]Node:$(hostname)||INFO:Can't get backend IP."  >>${RESULTFILE}
    echo "${CurInspectFun}_Pass $isPass" >>${RESULTFILE}
    exit 1
fi

#Ҫ飬ֱ˳,ͬʱisCheck:0,S3ڵ,û
isNotNeedCheck
if [ $? -eq 0 ];then
    echo "VFS Performance:${G_SEPARATOR}||VFS Performance:Do not involve(S3)." >> ${RESULTFILE}
    echo "${CurInspectFun}_Pass $isPass" >>${RESULTFILE}
    exit 1
fi

/usr/local/bin/nas_proto_pum -m nas_vfs -c get_request_stat >>${TMPFILE}
if [ $? != 0 ];then
    isPass=1
    echo "[ERR]NODE:${LOCAL_BACK_IP}||INFO:Can not get vfs Performance information from command(/usr/local/bin/nas_proto_pum -m nas_vfs -c get_request_stat)" >>  ${RESULTFILE}
    echo "${CurInspectFun}_Pass $isPass" >>${RESULTFILE}
    exit 1
fi

#ȥոкͿհ
sed -i 's/^ *//g' ${TMPFILE}
sed -i "/^$/d" ${TMPFILE}

Info=$(cat ${TMPFILE} | awk '{if($1~/Operation/){lens=split($0,T," ");colline[1]=T[1];colline[2]=T[2];colline[3]=T[3]" "T[4];colline[4]=T[5]" "T[6];printf ("%-20s %-20s %-20s %-20s\n",colline[1],colline[2],colline[3],colline[4])}else{printf ("%-20s %-20s %-20s %-20s\n",$1,$2,$3,$4)}}')
set_ifs
for line in $Info; do
    if [ "X" != "X${Result}" ]; then
        Result="$Result||VFS Performance:$line"
    else
        Result="VFS Performance:$line"
    fi
done

[ -f "${TMPFILE}" ]  && rm -f "${TMPFILE}"
Result="VFS Performance:${G_SEPARATOR}||VFS Performance:$LOCAL_BACK_IP||${Result}"

echo "${Result}" >> ${RESULTFILE}
echo "${CurInspectFun}_Pass $isPass" >>${RESULTFILE}



