private[this] def toTunableMapView()

in server/src/main/scala/com/twitter/server/handler/TunableHandler.scala [132:156]


  private[this] def toTunableMapView(id: String, tunableMap: TunableMap): TunableMapView = {

    val currentsMap: Map[String, TunableMap.Entry[_]] = tunableMap.entries.map {
      case entry @ TunableMap.Entry(key, _, _) => key.id -> entry
    }.toMap

    val componentsMap = mutable.Map.empty[String, mutable.ArrayBuffer[Component]]

    for {
      map <- TunableMap.components(tunableMap)
      entry <- map.entries
    } yield {
      val components: mutable.ArrayBuffer[Component] =
        componentsMap.getOrElse(entry.key.id, mutable.ArrayBuffer.empty[Component])
      componentsMap.put(entry.key.id, components += Component(entry.source, entry.value.toString))
    }

    val tunables = componentsMap.map {
      case (id, components) =>
        val md = currentsMap(id)
        TunableView(id, md.value.toString, components.toSeq)
    }.toSeq

    TunableMapView(id, tunables)
  }