Kiln » KilnSupportScripts Powershell Scripts to help monitor a Kiln environment. Contact Fog Creek support before using. Read More
Clone URL:  
Pushed to one repository · View In Graph Contained in tip

if we catch the exception, return.

Changeset f463f3a47be7

Parent b458cec4be8a

by Profile picture of User 476Ben McCormack <benm@fogcreek.com>

Changes to one file · Browse files at f463f3a47be7 Showing diff from parent b458cec4be8a Diff from another changeset...

Change 1 of 1 Show Changes Only checkBackend.ps1 Stacked
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 
54
55
56
57
58
59
 
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 $g_backendUrl = "http://localhost:56783/"  $g_kilnRepositories = "C:\KilnRepositories"    function Get-URL([string] $url){   (New-Object net.webclient).DownloadString($url)  }    function LogOrWrite($msg, $logFile = ""){   if ($logFile -ne "") {   write "$(Get-Date -format o) $msg" | out-file -append $logFile   }   else {   write $msg   }  }    function Test-KilnVersion(){   try {   $resp = Get-Url(($g_backendUrl + "version"))   return ($resp.length -gt 0)   }   catch {   return $False   }  }    function Test-KilnDiff([string] $sRepoGUID, [string] $sChangeset1, [string] $sChangeset2){   try {   $url =$g_backendUrl + "repo/" + $sRepoGUID + "/diff/" + $sChangeset1 + ":" + $sChangeset2 + "?format=json&ignorews=True&maxsize=100000&timeout=10"   $resp = Get-Url($url)   return ($resp.length -gt 0)   }   catch {   return $False   }  }    function Get-ProcessStats([string] $service, [string] $logFile){   try {   $measure = get-process $service -ErrorAction Stop | Measure-Object WorkingSet -sum   LogOrWrite "The process $service has $($measure.Count) instances with a total WorkingSet of: $($measure.Sum)" $logFile   }   catch {   LogOrWrite "The process $service is not currently running." $logFile   }  }    function Get-MiniRedisSize([string] $kilnRepositoriesDir = $g_kilnrepositories, [string] $logFile = ""){   try {   $kilnRepo = (Resolve-Path $kilnRepositoriesDir -ErrorAction Stop).path   }   catch {   LogOrWrite "Could not find Kiln Repositories Directory: $kilnRepositoriesDir" $logFile + return   }   try {   $miniRedis = (Resolve-Path ($kilnRepo + "\miniredis.db") -ErrorAction Stop).path   }   catch {   LogOrWrite "Could not find miniredis.db file in $kilnRepo" $logFile + return   }   $lenMiniRedis = (get-childitem -path $miniRedis).length   LogOrWrite "The size of miniredis.db is: $lenMiniRedis" $logFile   return $lenMiniRedis  }    function Check-KilnBackend([string] $sRepoGUID, [string] $sChangeset1, [string] $sChangeset2, [string] $logFile = ""){   if (-Not ((Test-KilnVersion) -and (Test-KilnDiff $sRepoGUID $sChangeset1 $sChangeset2))){   #Restart the Kiln storage Service because something bad happened   LogOrWrite "Something is wrong. Restarting Kiln Storage Service" $logFile   Restart-Service "KilnStorageService"   return $False   }   else {   LogOrWrite "Kiln backend is OK" $logFile   return $True   }  }