improving query.
This commit is contained in:
@@ -35,7 +35,8 @@
|
|||||||
[datomic.api :as d]
|
[datomic.api :as d]
|
||||||
[unilog.context :as lc]
|
[unilog.context :as lc]
|
||||||
[yang.time :refer [time-it]]
|
[yang.time :refer [time-it]]
|
||||||
[com.unbounce.dogstatsd.core :as statsd])
|
[com.unbounce.dogstatsd.core :as statsd]
|
||||||
|
[com.walmartlabs.lacinia.parser :as p])
|
||||||
(:import
|
(:import
|
||||||
(clojure.lang IPersistentMap)))
|
(clojure.lang IPersistentMap)))
|
||||||
|
|
||||||
@@ -1326,14 +1327,21 @@
|
|||||||
node))
|
node))
|
||||||
m))
|
m))
|
||||||
|
|
||||||
|
(defn query-name [q]
|
||||||
|
(try
|
||||||
|
(str/join "," (map name (:operations (p/operations (p/parse-query schema q)))))
|
||||||
|
(catch Exception e
|
||||||
|
"unknown query")))
|
||||||
|
|
||||||
(defn query
|
(defn query
|
||||||
([id q]
|
([id q]
|
||||||
(query id q nil))
|
(query id q nil))
|
||||||
([id q v]
|
([id q v]
|
||||||
(statsd/increment "queries")
|
(statsd/increment "queries")
|
||||||
(statsd/time! [(subs q 0 (min 50 (count q))) {}]
|
(statsd/increment (query-name q))
|
||||||
|
(statsd/time! [(query-name q) {}]
|
||||||
(lc/with-context {:query q}
|
(lc/with-context {:query q}
|
||||||
(log/info "Executing query" q)
|
(log/info "executing query name" (query-name q))
|
||||||
(try
|
(try
|
||||||
(let [[result time] (time-it (simplify (execute schema q v {:id id})))]
|
(let [[result time] (time-it (simplify (execute schema q v {:id id})))]
|
||||||
(info-event "Query completed"
|
(info-event "Query completed"
|
||||||
|
|||||||
Reference in New Issue
Block a user