adds detailed tracing for ledger loads.
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
[com.walmartlabs.lacinia.util :refer [attach-resolvers]]
|
||||
[datomic.api :as d]
|
||||
[mount.core :as mount]
|
||||
[com.brunobonacci.mulog :as mu]
|
||||
[unilog.context :as lc]
|
||||
[yang.scheduler :as scheduler]
|
||||
[auto-ap.graphql.utils :refer [attach-tracing-resolvers]])
|
||||
@@ -291,13 +292,14 @@
|
||||
|
||||
(defn import-ledger [context args _]
|
||||
(assert-admin (:id context))
|
||||
(lc/with-context {:area "import ledger"}
|
||||
(let [all-vendors (->> (d/q '[:find [?e ...]
|
||||
(let [all-vendors (mu/trace ::get-all-vendors
|
||||
[]
|
||||
(->> (d/q '[:find [?e ...]
|
||||
:in $
|
||||
:where [?e :vendor/name]]
|
||||
(d/db conn))
|
||||
(d/pull-many (d/db conn) d-vendors/default-read)
|
||||
(by :vendor/name))
|
||||
(by :vendor/name)))
|
||||
all-clients (by :client/code (d-clients/get-all ))
|
||||
all-client-bank-accounts (reduce
|
||||
(fn [acc client]
|
||||
@@ -326,7 +328,9 @@
|
||||
:db/id vendor_name})))
|
||||
{}
|
||||
(:entries args))
|
||||
_ (audit-transact-batch (vec (vals new-hidden-vendors)) (:id context))
|
||||
_ (mu/trace ::upsert-new-vendors
|
||||
[]
|
||||
(audit-transact-batch (vec (vals new-hidden-vendors)) (:id context)))
|
||||
all-vendors (->> (d/q '[:find [?e ...]
|
||||
:in $
|
||||
:where [?e :vendor/name]]
|
||||
@@ -334,7 +338,9 @@
|
||||
(d/pull-many (d/db conn) d-vendors/default-read)
|
||||
(by :vendor/name))
|
||||
all-accounts (transduce (map (comp str :account/numeric-code)) conj #{} (a/get-accounts))
|
||||
transaction (doall (map
|
||||
transaction (mu/trace ::build-transaction
|
||||
[:count (count (:entries args))]
|
||||
(doall (map
|
||||
(assoc-error (fn [entry]
|
||||
(let [vendor (all-vendors (:vendor_name entry))]
|
||||
(when-not (all-clients (:client_code entry))
|
||||
@@ -429,7 +435,7 @@
|
||||
(:line_items entry))
|
||||
|
||||
:journal-entry/cleared true})))))
|
||||
(:entries args)))
|
||||
(:entries args))))
|
||||
errors (filter #(= (:status %) :error) transaction)
|
||||
ignored (filter #(= (:status %) :ignored) transaction)
|
||||
success (filter #(= (:status %) :success) transaction)
|
||||
@@ -447,11 +453,17 @@
|
||||
(log/info errors)
|
||||
|
||||
|
||||
(audit-transact-batch retraction (:id context))
|
||||
(mu/trace ::retraction-tx
|
||||
[:count (count retraction)]
|
||||
(audit-transact-batch retraction (:id context)))
|
||||
(mu/trace ::ignore-retraction-tx
|
||||
[:count (count ignore-retraction)]
|
||||
(when (seq ignore-retraction)
|
||||
(audit-transact-batch ignore-retraction (:id context)))
|
||||
(audit-transact-batch ignore-retraction (:id context))))
|
||||
#_(log/info (map :tx success))
|
||||
(audit-transact-batch (map :tx success) (:id context))
|
||||
(mu/trace ::success-tx
|
||||
[:count (count success)]
|
||||
(audit-transact-batch (map :tx success) (:id context)))
|
||||
|
||||
{:successful (map (fn [x] {:external_id (:external_id x)}) success)
|
||||
:ignored (map (fn [x]
|
||||
@@ -459,7 +471,7 @@
|
||||
ignored)
|
||||
:existing []
|
||||
:errors (map (fn [x] {:external_id (:external_id x)
|
||||
:error (:error x)}) errors)})))
|
||||
:error (:error x)}) errors)}))
|
||||
|
||||
(defn build-running-balance
|
||||
([lookup-account all-ledger-entries]
|
||||
|
||||
Reference in New Issue
Block a user