diff --git a/src/clj/auto_ap/graphql.clj b/src/clj/auto_ap/graphql.clj index f117dee5..9b4dca01 100644 --- a/src/clj/auto_ap/graphql.clj +++ b/src/clj/auto_ap/graphql.clj @@ -835,31 +835,35 @@ ([id q v] (statsd/increment "query.graphql.count" {:tags #{(str "query:" (query-name q))}}) (statsd/time! [(str "query.graphql.time" ) {:tags #{(str "query:" (query-name q))}}] - (lc/with-context {:query q} - (log/info "executing query name" (query-name 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) + (mu/with-context {:query q} + (mu/trace + ::user-query + [] + (lc/with-context {:query q} + (log/info "executing query name" (query-name 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 - (alog/warn ::query-validation - :exception e) - (warn-event "validation error" {:validation-error v - :data (ex-data e)}) - (throw e) - #_{:errors [{:message v}]}) - (do - (error-event "query error" {:error e}) - (alog/error ::query-error - :exception e) + (catch Exception e + (if-let [v (or (:validation-error (ex-data e)) + (:validation-error (ex-data (.getCause e))))] + + (do + (alog/warn ::query-validation + :exception e) + (warn-event "validation error" {:validation-error v + :data (ex-data e)}) + (throw e) + #_{:errors [{:message v}]}) + (do + (error-event "query error" {:error e}) + (alog/error ::query-error + :exception e) - (throw e))))))))) + (throw e)))))))))))