in atlas-core/src/main/scala/com/netflix/atlas/core/model/Block.scala [219:238]
def sizeOf(value: Any): Int = value match {
case _: Boolean => 1
case _: Byte => 1
case _: Short => 2
case _: Int => 4
case _: Long => 8
case _: Float => 4
case _: Double => 8
// Assume integer length + size for each value
case vs: Array[Boolean] => 4 + vs.length
case vs: Array[Byte] => 4 + vs.length
case vs: Array[Short] => 4 + 2 * vs.length
case vs: Array[Int] => 4 + 4 * vs.length
case vs: Array[Long] => 4 + 8 * vs.length
case vs: Array[Float] => 4 + 4 * vs.length
case vs: Array[Double] => 4 + 8 * vs.length
case v => throw new MatchError(v)
}