From 82e0bdbad58db8180e344b7f2ee5c96b626509b7 Mon Sep 17 00:00:00 2001 From: Mikhail Bezoyan Date: Thu, 25 Jan 2024 17:08:32 +0000 Subject: [PATCH] [finagle-stats] Do not allocate a new IndexedSeq on every metric lookup Differential Revision: https://phabricator.twitter.biz/D1121923 --- .../main/scala/com/twitter/finagle/stats/MetricBuilder.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-stats/src/main/scala/com/twitter/finagle/stats/MetricBuilder.scala b/util-stats/src/main/scala/com/twitter/finagle/stats/MetricBuilder.scala index 12ba7bb94e..de95e7b5d1 100644 --- a/util-stats/src/main/scala/com/twitter/finagle/stats/MetricBuilder.scala +++ b/util-stats/src/main/scala/com/twitter/finagle/stats/MetricBuilder.scala @@ -78,6 +78,8 @@ object MetricBuilder { val NoDescription: String = "No description provided" + private[this] val EmptyPercentiles = IndexedSeq.empty + /** * Construct a MethodBuilder. * @@ -105,7 +107,8 @@ object MetricBuilder { relativeName: Seq[String] = Seq.empty, processPath: Option[String] = None, histogramFormat: HistogramFormat = HistogramFormat.Default, - percentiles: IndexedSeq[Double] = IndexedSeq.empty, + percentiles: IndexedSeq[Double] = + EmptyPercentiles, // IndexedSeq.empty creates a new collection on every call isStandard: Boolean = false, metricType: MetricType, ): MetricBuilder = {