Commit 2605eec1 authored by Steven Murdoch's avatar Steven Murdoch
Browse files

Print out node running percentage

parent e63844a6
Loading
Loading
Loading
Loading
+16 −6
Original line number Diff line number Diff line
@@ -11,16 +11,23 @@ class Status(mRunningRouters: Set[AutoPromotion.RouterName]) {
  def runningRouters = mRunningRouters
}

object RouterInfo {
  var totalSamples = -1
}

class RouterInfo {
  var runningDates: List[Date] = Nil
  var lastDate = 0L
  var samplesRunning = 0

  def addDate(d: Date) {
    runningDates = d :: runningDates
    assert (d.getTime > lastDate)
    lastDate = d.getTime
    samplesRunning += 1
  }

  override def toString = {
    val sortedDates = runningDates.reverse
    sortedDates.toString + "\n"
    val percent = samplesRunning.toDouble/RouterInfo.totalSamples.toDouble*100
    "Running %d out of %d (%5.5f%%)".format(samplesRunning, RouterInfo.totalSamples, percent)
  }
}

@@ -120,8 +127,11 @@ object AutoPromotion {
    val inDir = new File(args(0)) // Directory to search
    val allFiles = getAllFiles(inDir) // All files to read
    val runningNodes = getRunningNodes(allFiles) // Mapping of date -> running nodes
    val nodeInfo = invertMapping(runningNodes) // Mapping of node -> dates when running
    System.out.println(nodeInfo)

    RouterInfo.totalSamples = allFiles.size
    val nodeInfo = invertMapping(runningNodes) // Mapping of node -> node information
    for ((k,v) <- nodeInfo)
      System.out.println(k + " -- " + v)
  }
}