Source

metrics-clojure / src / metrics / utils.clj

Diff from to

File src/metrics/utils.clj

 (ns metrics.utils
-  (import (com.yammer.metrics.core MetricName)))
+  (import (com.yammer.metrics.core Sampling MetricName)))
 
 
-(defn metric-name [title]
+(defn get-percentile [^Sampling metric ^double percentile]
+  (-> metric
+    .getSnapshot
+    (.getValue percentile)))
+
+(defn get-percentiles [metric percentiles]
+  (zipmap percentiles
+           (map (partial get-percentile metric)
+                percentiles)))
+
+(defn metric-name ^MetricName [title]
   (if (string? title)
-    (new MetricName "default" "default" title)
-    (new MetricName (first title) (second title) (last title))))
+    (new MetricName "default" "default" ^String title)
+    (new MetricName
+         ^String (first title)
+         ^String (second title)
+         ^String (last title))))