Skip to content

Commit

Permalink
Merge pull request #68 from macalimlim/fix-when-not-2.x
Browse files Browse the repository at this point in the history
fix merge-tags
  • Loading branch information
theanirudhvyas committed Jul 2, 2019
2 parents 34d8a75 + 3246a80 commit b521a90
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 13 deletions.
9 changes: 6 additions & 3 deletions src/ziggurat/metrics.clj
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,11 @@
(defn- merge-tags
[additional-tags]
(let [default-tags {"actor" (:app-name (ziggurat-config))}]
(merge default-tags (when-not (seq additional-tags)
(stringify-keys additional-tags)))))
(merge default-tags (stringify-keys additional-tags))))

(defn- get-tagged-metric
[metric-name tags]
(.tagged ^MetricName metric-name tags))

(defn mk-meter
([category metric]
Expand All @@ -23,7 +26,7 @@
(let [namespace (str category "." metric)
metric-name (MetricRegistry/name ^String namespace nil)
tags (merge-tags additional-tags)
tagged-metric (.tagged ^MetricName metric-name tags)]
tagged-metric (get-tagged-metric metric-name tags)]
(.meter ^MetricRegistry metrics-registry ^MetricName tagged-metric))))

(defn mk-histogram
Expand Down
47 changes: 37 additions & 10 deletions test/ziggurat/metrics_test.clj
Original file line number Diff line number Diff line change
@@ -1,21 +1,48 @@
(ns ziggurat.metrics-test
(:require [clojure.test :refer :all]
[clojure.walk :refer [stringify-keys]]
[ziggurat.config :refer [ziggurat-config]]
[ziggurat.fixtures :as fix]
[ziggurat.metrics :as metrics])
(:import (io.dropwizard.metrics5 Meter Histogram UniformReservoir)))

(use-fixtures :once fix/mount-only-config)

(deftest mk-meter-test
(testing "returns a meter"
(let [category "category"
metric "metric1"
meter (metrics/mk-meter category metric)]
(is (instance? Meter meter)))))
(let [category "category"
metric "metric1"
service-name (:app-name (ziggurat-config))]
(testing "returns a meter"
(let [expected-tags {"actor" service-name}]
(with-redefs [metrics/get-tagged-metric (fn [metric-name tags]
(is (= tags expected-tags))
(.tagged metric-name tags))]
(is (instance? Meter (metrics/mk-meter category metric))))))
(testing "returns a meter - with additional-tags"
(let [additional-tags {:foo "bar"}
expected-tags (merge {"actor" service-name} (stringify-keys additional-tags))]
(with-redefs [metrics/get-tagged-metric (fn [metric-name tags]
(is (= tags expected-tags))
(.tagged metric-name tags))]
(is (instance? Meter (metrics/mk-meter category metric additional-tags))))))))

(deftest mk-histogram-test
(testing "returns a histogram"
(let [category "category"
metric "metric2"
meter (metrics/mk-histogram category metric)]
(is (instance? Histogram meter)))))
(let [category "category"
metric "metric2"
service-name (:app-name (ziggurat-config))]
(testing "returns a histogram"
(let [expected-tags {"actor" service-name}]
(with-redefs [metrics/get-tagged-metric (fn [metric-name tags]
(is (= tags expected-tags))
(.tagged metric-name tags))]
(is (instance? Histogram (metrics/mk-histogram category metric))))))
(testing "returns a histogram - with additional-tags"
(let [additional-tags {:foo "bar"}
expected-tags (merge {"actor" service-name} (stringify-keys additional-tags))]
(with-redefs [metrics/get-tagged-metric (fn [metric-name tags]
(is (= tags expected-tags))
(.tagged metric-name tags))]
(is (instance? Histogram (metrics/mk-histogram category metric additional-tags))))))))

(deftest increment-count-test
(let [metric "metric3"
Expand Down

0 comments on commit b521a90

Please sign in to comment.