def edenMemoryUsageFrom()

in util-jvm/src/main/scala/com/twitter/jvm/Allocations.scala [116:140]


    def edenMemoryUsageFrom(any: Any): Option[MemoryUsage] = {
      if (!any.isInstanceOf[TabularData])
        return None

      val tabData = any.asInstanceOf[TabularData]
      val edenKeys: mutable.Set[juList[_]] = tabData.keySet.asScala.collect {
        case ks: juList[_] if ks.asScala.headOption.exists {
              case s: String => s.contains("Eden")
              case _ => false
            } =>
          ks
      }

      val memoryUsages = edenKeys.flatMap { k =>
        tabData.get(k.toArray) match {
          case cd: CompositeData if cd.containsKey("value") =>
            cd.get("value") match {
              case vcd: CompositeData => Some(MemoryUsage.from(vcd))
              case _ => None
            }
          case _ => None
        }
      }
      memoryUsages.headOption
    }