added autoskip for consecutive fails, corrected hash map addressing for pairs, should solve issue #1

This commit is contained in:
Karl-Wilfried Zimmer 2024-02-08 23:19:09 +01:00
parent a71cf2f949
commit f09e904fe3

View File

@ -49,6 +49,14 @@ function ProduceHashMap {
$timeStamp $timeStamp
if($HashTable.ContainsKey($vmName)){ if($HashTable.ContainsKey($vmName)){
$array = $HashTable[$vmName] $array = $HashTable[$vmName]
$lastState=($array[$array.Count-1]).state
Write-Host $lastState
Write-Host $backUpState
if (($lastState -eq 'Failed') -and ($backUpState -eq 'Failed')) {
Write-Host "skipping"
continue
}
Write-Host "continuing"
try { try {
$timeStamp = ConvertDate($date) $timeStamp = ConvertDate($date)
$array += New-Object psobject -Property @{ $array += New-Object psobject -Property @{
@ -58,10 +66,10 @@ function ProduceHashMap {
} }
catch { catch {
foreach ($i in (($array.Count-1)..0)){ foreach ($i in (($array.Count-1)..0)){
Write-Host $array[$i] #Write-Host $array[$i]
if ($array[$i]["state"] -eq 'Started') { if ($array[$i]["state"] -eq 'Started') {
Write-Host "found started" #Write-Host "found started"
$timeStamp = $array[$i]['ts'] $timeStamp = ($array[$i]).ts
} }
} }
$array += New-Object psobject -Property @{ $array += New-Object psobject -Property @{
@ -101,34 +109,3 @@ function ProcessLogToHash {
) )
ProduceHashMap -Elements $(getElems -Path $Path) ProduceHashMap -Elements $(getElems -Path $Path)
} }
<#$lines = Get-Content -Path .\log.txt | ForEach-Object {$_.SubString($_.IndexOf(":")+1)}
$elems = $lines | Out-String -Stream | Select-String -Pattern "VMware-Maschine" | Out-String -Stream
ProduceHashMap($elems)#>
<#$HashTable =@{}
foreach ($elem in $Elems){
$indexOfFirst = $elem.IndexOf(" ")
if($indexOfFirst -le 0){
continue
}
$date = $elem.SubString(0,$elem.IndexOf(" ",($indexOfFirst + 1)))
$timeStamp = ConvertDate($date)
$rest = $elem.Substring($elem.IndexOf(" ",($indexOfFirst + 1))+1)
$vmName = GetVMName($rest)
$backUpState = DeterminState($rest)
if($HashTable.ContainsKey($vmName)){
$array = $HashTable[$vmName]
$array += New-Object psobject -Property @{
state = $backUpState
ts = $timeStamp
}
$HashTable[$vmName]=$array
} else{
$HashTable += @{$vmName=@(New-Object psobject -Property @{
state = $backUpState
ts = $timeStamp
})}
}
}
$HashTable#>