Made statsd work\?

This commit is contained in:
Bryce Covert
2022-01-04 07:35:00 -08:00
parent 03d0f8257e
commit 07b6e69c26
7 changed files with 474 additions and 133 deletions

View File

@@ -34,7 +34,8 @@
[com.walmartlabs.lacinia.util :refer [attach-resolvers]]
[datomic.api :as d]
[unilog.context :as lc]
[yang.time :refer [time-it]])
[yang.time :refer [time-it]]
[com.unbounce.dogstatsd.core :as statsd])
(:import
(clojure.lang IPersistentMap)))
@@ -1329,27 +1330,29 @@
([id q]
(query id q nil))
([id q v]
(lc/with-context {:query q}
(log/info "Executing query" q)
(try
(let [[result time] (time-it (simplify (execute schema q v {:id id})))]
(info-event "Query completed"
{:time (:time time)
:errors (seq (:errors result))})
(when (seq (:errors result))
(throw (ex-info "GraphQL error" {:result result})))
result)
(statsd/increment "queries")
(statsd/time! [(subs q 0 (min 50 (count q))) {}]
(lc/with-context {:query q}
(log/info "Executing query" q)
(try
(let [[result time] (time-it (simplify (execute schema q v {:id id})))]
(info-event "Query completed"
{:time (:time time)
:errors (seq (:errors result))})
(when (seq (:errors result))
(throw (ex-info "GraphQL error" {:result result})))
result)
(catch Exception e
(if-let [v (or (:validation-error (ex-data e))
(:validation-error (ex-data (.getCause e))))]
(do
(warn-event "validation error" {:validation-error v
:data (ex-data e)})
(throw e)
#_{:errors [{:message v}]})
(do
(error-event "query error" {:error e})
(catch Exception e
(if-let [v (or (:validation-error (ex-data e))
(:validation-error (ex-data (.getCause e))))]
(do
(warn-event "validation error" {:validation-error v
:data (ex-data e)})
(throw e)
#_{:errors [{:message v}]})
(do
(error-event "query error" {:error e})
(throw e))))))))
(throw e)))))))))

View File

@@ -7,6 +7,7 @@
[auto-ap.background.requests :as requests]
[auto-ap.background.sysco :as sysco]
[auto-ap.background.vendor :as vendor]
[auto-ap.background.metrics :as metrics]
[auto-ap.square.core :as square]
[auto-ap.datomic.migrate :as migrate]
[auto-ap.import.yodlee :as yodlee]