Last active
June 18, 2021 17:22
-
-
Save cdoan1/985d57b80ff38b1acf4b02f9b78c4750 to your computer and use it in GitHub Desktop.
AppSub Testing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
datestring() { | |
sdate=$(date -j -f "%Y-%m-%dT%H:%M:%SZ" $1 "+%s") | |
edate=$(date -j -f "%Y-%m-%dT%H:%M:%SZ" $2 "+%s") | |
delta=$(( (edate - sdate) / 60 )) | |
echo "$delta" | |
} | |
extract() { | |
appsub_name_local=$1 | |
appsub_name=$(echo $1 | sed 's/-local//g') | |
appsub_ns=$2 | |
appsub=$(oc get appsub $appsub_name_local -o yaml -n $appsub_ns) | |
appsub_creation_base=$(oc get appsub $appsub_name -o yaml -n $appsub_ns | grep "creationTimestamp" | awk '{print $2}' | xargs) | |
appsub_creation_local=$(oc get appsub $appsub_name_local -o yaml -n $appsub_ns | grep "creationTimestamp" | awk '{print $2}' | xargs) | |
appsub_lastUpdateTime=$(echo $appsub | grep " lastUpdateTime:" | sed 's/^[ \t]*//' | sort -u | tail -n 1) | |
first=$(oc get appsub $appsub_name_local -o yaml -n $appsub_ns | grep " lastUpdateTime:" | sed 's/^[ \t]*//' | sort -u | head -n 1 | awk '{print $2}' | xargs) | |
second=$(oc get appsub $appsub_name_local -o yaml -n $appsub_ns | grep " lastUpdateTime:" | sed 's/^[ \t]*//' | sort -u | tail -n 1 | awk '{print $2}' | xargs) | |
echo "appsub creation : $appsub_creation_base" | |
echo "appsub creation local : $appsub_creation_local" | |
echo "first resource lastUpdateTime : $first" | |
echo "last resource lastUpdateTIme : $second" | |
echo "duration to subscribe all resources : "$(datestring $first $second) | |
echo "duration from appsub local to final subscribe : "$(datestring $appsub_creation_local $second) | |
echo "duration from appsub to final subscribe : "$(datestring $appsub_creation_base $second) | |
echo "resources created (cm) : "$(oc get cm -n $3 | wc -l | xargs ) | |
echo "---" | |
} | |
extract appsub-scale-test-1k-subscription-1-local appsub-scale-test-1k scale-default | |
extract appsub-scale-test-1k2-subscription-1-local appsub-scale-test-1k2 scale-default-2 | |
extract appsub-scale-test-1k3-subscription-1-local appsub-scale-test-1k3 scale-default-3 | |
extract appsub-scale-test-1k4-subscription-1-local appsub-scale-test-1k4 appsub-scale-test-1k4 | |
extract appsub-scale-test-1k5-subscription-1-local appsub-scale-test-1k5 appsub-scale-test-1k5 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
datestring() { | |
sdate=$(date -j -f "%Y-%m-%dT%H:%M:%SZ" $1 "+%s") | |
edate=$(date -j -f "%Y-%m-%dT%H:%M:%SZ" $2 "+%s") | |
delta=$(( (edate - sdate) / 60 )) | |
echo "$delta" | |
} | |
resource_list=( | |
"Namespace" | |
"NMStateConfig" | |
"AgentClusterInstall" | |
"ClusterDeployment" | |
"KlusterletAddonConfig" | |
"ManagedCluster" | |
"InfraEnv" | |
"BareMetalHost" | |
) | |
for resource in ${resource_list[*]}; do | |
echo $resource | |
count=`oc get $resource -A --sort-by={.metadata.creationTimestamp} --no-headers -o custom-columns=NAME:.metadata.name,CREATED:.metadata.creationTimestamp | grep sno | wc -l` | |
all=`oc get $resource -A --sort-by={.metadata.creationTimestamp} --no-headers -o custom-columns=NAME:.metadata.name,CREATED:.metadata.creationTimestamp | grep sno` | |
SA=(`echo $all | head -n 1`) | |
L1="${#SA[@]}" | |
FA=(`echo $all | tail -n 1`) | |
L2="${#FA[@]}" | |
echo "COUNT: $count" | |
echo "first start: ${SA[1]}" | |
echo "last start: ${SA[$L1 - 1]}" | |
echo "first finish: ${FA[1]}" | |
echo "last finish: ${FA[$L2 - 1]}" | |
echo "first delta: $(datestring ${SA[1]} ${FA[1]}) min" | |
echo "resource delta: $(datestring ${SA[1]} ${FA[$L2 - 1]}) min" | |
done | |
appsub_name=appsub ai-gitops-t2-subscription-1-local | |
appsub_ns=ai-gitops-t2 | |
appsub=$(oc get appsub $appsub_name -o yaml -n $appsub_ns) | |
appsub_creation=$(oc get appsub $appsub_name -o yaml -n $appsub_ns | grep creationTimestamp | awk '{print $2}') | |
appsub_lastUpdateTime=$(echo $appsub | grep lastUpdateTime | sed 's/^[ \t]*//' | sort -u | tail -n 1) | |
appsub_lastTransitionTime=$(echo $appsub | grep lastTransitionTime | sed 's/^[ \t]*//' | sort -u | tail -n 1) | |
echo "appsub start: $appsub_creation" | |
echo "appsub start: $appsub_lastUpdateTime" | |
echo "appsub start: $appsub_lastTransitionTime" | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
NOTE: developed and run on macos