Files
GenAIExamples/EdgeCraftRAG/tests/common.sh
Zhu Yongbo 6169ea4921 add new feature and bug fix for EC-RAG (#1324)
Signed-off-by: Zhu, Yongbo <yongbo.zhu@intel.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-02 09:25:20 +08:00

54 lines
2.1 KiB
Bash

#!/bin/bash
# Copyright (C) 2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
function validate_services() {
local URL="$1"
local EXPECTED_RESULT="$2"
local SERVICE_NAME="$3"
local DOCKER_NAME="$4"
local INPUT_DATA="$5"
echo "[ $SERVICE_NAME ] Validating $SERVICE_NAME service..."
local RESPONSE=$(curl -s -w "%{http_code}" -o ${LOG_PATH}/${SERVICE_NAME}.log -X POST -d "$INPUT_DATA" -H 'Content-Type: application/json' "$URL")
while [ ! -f ${LOG_PATH}/${SERVICE_NAME}.log ]; do
sleep 1
done
local HTTP_STATUS="${RESPONSE: -3}"
local CONTENT=$(cat ${LOG_PATH}/${SERVICE_NAME}.log)
if [ "$HTTP_STATUS" -eq 200 ]; then
echo "[ $SERVICE_NAME ] HTTP status is 200. Checking content..."
if echo "$CONTENT" | grep -q "$EXPECTED_RESULT"; then
echo "[ $SERVICE_NAME ] Content is as expected."
else
echo "[ $SERVICE_NAME ] Content does not match the expected result: $CONTENT"
docker logs ${DOCKER_NAME} >> ${LOG_PATH}/${SERVICE_NAME}_${DOCKER_NAME}.log
exit 1
fi
else
echo "[ $SERVICE_NAME ] HTTP status is not 200. Received status was $HTTP_STATUS"
docker logs ${DOCKER_NAME} >> ${LOG_PATH}/${SERVICE_NAME}_${DOCKER_NAME}.log
exit 1
fi
sleep 1s
}
function check_gpu_usage() {
echo $date > ${LOG_PATH}/gpu.log
pci_address=$(lspci | grep -i '56a0' | awk '{print $1}')
gpu_stats=$(sudo xpu-smi stats -d 0000:"$pci_address") #TODO need sudo
gpu_utilization=$(echo "$gpu_stats" | grep -i "GPU Utilization" | awk -F'|' '{print $3}' | awk '{print $1}')
memory_used=$(echo "$gpu_stats" | grep -i "GPU Memory Used" | awk -F'|' '{print $3}' | awk '{print $1}')
memory_util=$(echo "$gpu_stats" | grep -i "GPU Memory Util" | awk -F'|' '{print $3}' | awk '{print $1}')
echo "GPU Utilization (%): $gpu_utilization" >> ${LOG_PATH}/gpu.log
echo "GPU Memory Used (MiB): $memory_used" >> ${LOG_PATH}/gpu.log
echo "GPU Memory Util (%): $memory_util" >> ${LOG_PATH}/gpu.log
if [ "$memory_used" -lt 1024 ]; then
echo "GPU Memory Used is less than 1G. Please check."
exit 1
fi
}