Changeset 266caa08a0ea…
Parent 3ac204ef9f66…
by Ben McCormack <benm@fogcreek.com>
Changes to 2 files · Browse files at 266caa08a0ea Showing diff from parent 3ac204ef9f66 Diff from another changeset...
@@ -7,7 +7,7 @@
function LogOrWrite($msg, $logFile = ""){
if ($logFile -ne "") {
- write $msg | out-file -append $logFile
+ write "$(Get-Date -format o) $msg" | out-file -append $logFile
}
else {
write $msg
@@ -35,13 +35,13 @@ }
}
-function Log-ServiceStats([string] $service, [string] $logFile){
+function Get-ServiceStats([string] $service, [string] $logFile){
try {
$measure = get-process $service -ErrorAction Stop | Measure-Object WorkingSet -sum
- write "$(Get-Date -format o) The service $service has $($measure.Count) instances with a total WorkingSet of: $($measure.Sum)" | out-file -append $logFile
+ LogOrWrite "The service $service has $($measure.Count) instances with a total WorkingSet of: $($measure.Sum)" $logFile
}
catch {
- write "$(Get-Date -format o) The service $service is not currently running." | out-file -append $logFile
+ LogOrWrite "The service $service is not currently running." $logFile
}
}
@@ -66,12 +66,12 @@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 "$(Get-Date -format o) Something is wrong. Restarting Kiln Storage Service" $logFile
+ LogOrWrite "Something is wrong. Restarting Kiln Storage Service" $logFile
Restart-Service "KilnStorageService"
return $False
}
else {
- LogOrWrite "$(Get-Date -format o) Kiln backend is OK" $logFile
+ LogOrWrite "Kiln backend is OK" $logFile
return $True
}
}
|
@@ -3,15 +3,25 @@ $sChangeset1 = 'f181ad06356697b8676868fec36fbe13167081dd'
$sChangeset2 = 'ed5f14291c3ab9d9bf24dee8e1b4761799509d15'
$logFile = "C:\code\checkKiln\checkBackend.log"
+$kilnRepositories = "C:\KilnRepositories"
$smtpServer = "testmail.example.com"
$from = "ben@example.com"
$to = "ben@example.com"
+$maxMiniRedisSize = 3000000 #3MB
-Log-ServiceStats "backend" $logFile
-Log-ServiceStats "memcached" $logFile
-Log-ServiceStats "QueueService" $logFile
-Log-ServiceStats "redis-server" $logFile
+Get-ServiceStats "backend" $logFile
+Get-ServiceStats "memcached" $logFile
+Get-ServiceStats "QueueService" $logFile
+Get-ServiceStats "redis-server" $logFile
$passed = Check-KilnBackend $sRepoGUID $sChangeset1 $sChangeset2 $logFile
if (-not $passed) {
Send-MailMessage -From $from -To $to -SmtpServer $SmtpServer -Subject "The Kiln Backend Had To Be Restarted" #-Attachment $logFile
+}
+$lenMiniRedis = Get-MiniRedisSize $kilnRepositories $logFile
+$intLenMiniRedis = 0
+if ([System.Int64]::TryParse($lenMiniRedis, [ref]$intLenMiniRedis)) {
+ if ($intLenMiniRedis -gt $maxMiniRedisSize) {
+ $strLenMiniRedisKb = "{0:N0}" -f ($intLenMiniRedis / 1024)
+ Send-MailMessage -From $from -To $to -SmtpServer $SmtpServer -Subject "The Kiln MiniRedis.db is too large" -Body "MiniRedis.db is $strLenMiniRedisKB KB"
+ }
}
\ No newline at end of file |
Loading...