in http-server/src/main/scala/com/twitter/finatra/http/filters/StatsFilter.scala [32:59]
def mk(statsReceiver: StatsReceiver, statusCode: Int, perEndpoint: Boolean): Stats = {
val statusClass = s"${statusCode / 100}XX"
Stats(
requestCount = if (perEndpoint) Some(statsReceiver.counter("requests")) else None,
statusCodeCount = statsReceiver
.hierarchicalScope("status").hierarchicalScope(statusCode.toString)
.dimensionalScope("response").label("status", statusCode.toString)
.counter(),
statusClassCount = statsReceiver
.scope("status")
.counter(MetricBuilder.forCounter.withHierarchicalOnly.withName(statusClass)),
requestTime =
if (perEndpoint)
Some(statsReceiver.stat(MetricBuilder.forStat.withHierarchicalOnly.withName("time")))
else None,
statusCodeTime = statsReceiver
.scope("time")
.hierarchicalScope(statusCode.toString)
.label("status", statusCode.toString)
.stat(),
statusClassTime = statsReceiver
.scope("time")
.stat(MetricBuilder.forStat.withHierarchicalOnly.withName(statusClass)),
successCount = if (perEndpoint) Some(statsReceiver.counter("success")) else None,
failuresCount = if (perEndpoint) Some(statsReceiver.counter("failures")) else None,
ignoredCount = if (perEndpoint) Some(statsReceiver.counter("ignored")) else None
)
}