Skip to content
Snippets Groups Projects
Commit 131added authored by Cam Saül's avatar Cam Saül Committed by GitHub
Browse files

Merge pull request #5010 from metabase/add-anonymous-backend-cache-metrics

Add cache to anonymous backend metrics
parents 14c6a669 0faeec45
No related branches found
No related tags found
No related merge requests found
......@@ -26,6 +26,7 @@
[pulse :refer [Pulse]]
[pulse-card :refer [PulseCard]]
[pulse-channel :refer [PulseChannel]]
[query-cache :refer [QueryCache]]
[query-execution :refer [QueryExecution]]
[segment :refer [Segment]]
[table :refer [Table]]
......@@ -62,7 +63,7 @@
2 "2"
"3+"))
#_(defn- bin-small-number
(defn- bin-small-number
"Return small bin number. Assumes positive inputs."
[x]
(cond
......@@ -337,24 +338,37 @@
(update :num_per_user summarize-executions-per-user)))
;;; Cache Metrics
(defn- cache-metrics
"Metrics based on use of the QueryCache."
[]
(let [{:keys [length count]} (db/select-one [QueryCache [:%avg.%length.results :length] [:%count.* :count]])]
{:average_entry_size (int (or length 0))
:num_queries_cached (bin-small-number count)}))
;;; Combined Stats & Logic for sending them in
(defn anonymous-usage-stats
"generate a map of the usage stats for this instance"
[]
(merge (instance-settings)
{:uuid anonymous-id, :timestamp (Date.)}
{:stats {:user (user-metrics)
:question (question-metrics)
{:stats {:cache (cache-metrics)
:collection (collection-metrics)
:dashboard (dashboard-metrics)
:database (database-metrics)
:table (table-metrics)
:execution (execution-metrics)
:field (field-metrics)
:pulse (pulse-metrics)
:segment (segment-metrics)
:metric (metric-metrics)
:group (group-metrics)
:label (label-metrics)
:collection (collection-metrics)
:execution (execution-metrics)}}))
:metric (metric-metrics)
:pulse (pulse-metrics)
:question (question-metrics)
:segment (segment-metrics)
:table (table-metrics)
:user (user-metrics)}}))
(defn- send-stats!
......
......@@ -6,7 +6,7 @@
[toucan.db :as db]))
(tu/resolve-private-vars metabase.util.stats
bin-micro-number bin-medium-number bin-large-number)
bin-micro-number bin-small-number bin-medium-number bin-large-number)
(expect "0" (bin-micro-number 0))
......@@ -15,15 +15,15 @@
(expect "3+" (bin-micro-number 3))
(expect "3+" (bin-micro-number 100))
#_(expect "0" (bin-small-number 0))
#_(expect "1-5" (bin-small-number 1))
#_(expect "1-5" (bin-small-number 5))
#_(expect "6-10" (bin-small-number 6))
#_(expect "6-10" (bin-small-number 10))
#_(expect "11-25" (bin-small-number 11))
#_(expect "11-25" (bin-small-number 25))
#_(expect "25+" (bin-small-number 26))
#_(expect "25+" (bin-small-number 500))
(expect "0" (bin-small-number 0))
(expect "1-5" (bin-small-number 1))
(expect "1-5" (bin-small-number 5))
(expect "6-10" (bin-small-number 6))
(expect "6-10" (bin-small-number 10))
(expect "11-25" (bin-small-number 11))
(expect "11-25" (bin-small-number 25))
(expect "25+" (bin-small-number 26))
(expect "25+" (bin-small-number 500))
(expect "0" (bin-medium-number 0))
(expect "1-5" (bin-medium-number 1))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment