Make metrics optional on http server.

This commit is contained in:
Andrey Antukh 2021-01-19 16:48:30 +01:00
parent 412a3c923b
commit 9cfefbdb86

View file

@ -34,8 +34,8 @@
(s/def ::name ::us/string) (s/def ::name ::us/string)
(defmethod ig/pre-init-spec ::server [_] (defmethod ig/pre-init-spec ::server [_]
(s/keys :req-un [::handler ::port ::mtx/metrics] (s/keys :req-un [::handler ::port]
:opt-un [::ws ::name])) :opt-un [::ws ::name ::mtx/metrics]))
(defmethod ig/prep-key ::server (defmethod ig/prep-key ::server
[_ cfg] [_ cfg]
@ -48,12 +48,13 @@
(let [pre-start (fn [^Server server] (let [pre-start (fn [^Server server]
(let [handler (doto (ErrorHandler.) (let [handler (doto (ErrorHandler.)
(.setShowStacks true) (.setShowStacks true)
(.setServer server)) (.setServer server))]
stats (new StatisticsHandler)]
(.setHandler ^StatisticsHandler stats (.getHandler server))
(.setHandler server stats)
(.setErrorHandler server ^ErrorHandler handler) (.setErrorHandler server ^ErrorHandler handler)
(mtx/instrument-jetty! (:registry metrics) stats))) (when metrics
(let [stats (new StatisticsHandler)]
(.setHandler ^StatisticsHandler stats (.getHandler server))
(.setHandler server stats)
(mtx/instrument-jetty! (:registry metrics) stats)))))
options (merge options (merge
{:port port {:port port