55 Commits

Author SHA1 Message Date
Danny
6f45edc790 fix groupby with null values 2018-06-01 11:43:59 +02:00
Danny
b856477d2a fix sqlite datastore compat, concat does note xist there 2018-05-30 13:29:20 +02:00
Danny
071ea5ace0 split hostname and pathname in referrers table 2018-05-30 12:50:28 +02:00
Danny
df7496a80d add known_durations column and use that for calculating duration averages, instead of total # pageviews 2018-05-28 15:31:40 +02:00
Danny
eddb1e9566 write info level after connecting to database 2018-05-25 14:12:32 +02:00
Danny
fc35d68926 output log messages during bootstrap, eg with config file location 2018-05-23 09:03:42 +02:00
Danny
7c3cecad09 use errorf log when database migrations fail 2018-05-22 16:20:43 +02:00
Danny
7adc5d3bec wip on chart implementation using d3 2018-05-22 12:23:17 +02:00
Danny van Kooten
3b8a884991 godoc improvements 2018-05-21 11:54:01 +02:00
Danny
c30e5b3120 introduce datastore interface & stop relying on package var to retrieve db conn. relates to #29 2018-05-15 13:30:37 +02:00
Danny
8b639d348d lowercase all log messages and strip newlines 2018-05-15 10:26:35 +02:00
Danny
4aac79c7f9 coalesce query results to handle nil 2018-05-14 10:17:58 +02:00
Danny van Kooten
7d111a8372 Merge branch 'master' of https://github.com/usefathom/fathom
* 'master' of https://github.com/usefathom/fathom:
  fire off request for fetching totals earlier
  use pageviews sum to show green percentage bar in pseudo-element
  add api routes for getting aggregated pageview sum for pages & referrers
  ignore prerendered pages, #13
  don't send unneeded var in collect request
  derive tracker URL from script element if not explicitly set
  restyle login page
  weight multi-day average for pages & referrers too. #23
  weight site averages when calculating multi-day average. closes #23
  only update average duration if we know time on page.
2018-05-12 14:49:23 +02:00
Danny van Kooten
618e85e53b unique index on daily_page_stats should include hostname 2018-05-12 14:49:21 +02:00
Danny
dbcc0545a2 add api routes for getting aggregated pageview sum for pages & referrers 2018-05-11 15:49:37 +02:00
Danny
3991665a72 weight multi-day average for pages & referrers too. #23 2018-05-11 10:54:41 +02:00
Danny
88a59e75ab weight site averages when calculating multi-day average. closes #23 2018-05-11 10:48:25 +02:00
Danny
840956bfbd set precision for duration & bounce rate when storing & retrieving data from datastore 2018-05-09 10:35:16 +02:00
Danny
3e22efc5f7 when getting stats for a given period; date should larger than start date, but not equal 2018-05-09 08:36:29 +02:00
Danny
8ed076dd02 use correct groupby parameter for aggregated stats 2018-05-09 08:34:58 +02:00
Danny van Kooten
a8edcee54e store avg time on site as float to not race to 0 2018-05-08 20:16:31 +02:00
Danny van Kooten
27e1d5d368 set packr box dir dynamically to ensure all drivers are packrd 2018-05-08 18:49:56 +02:00
Danny
3493bb1e9e default to actual driver name instead of alias 2018-05-08 16:21:22 +02:00
Danny
60cca7d40f add support for postgres too. closes #9 2018-05-08 15:41:48 +02:00
Danny
0683cac2bf use packr to embed migration files & web assets into binary. closes #8 2018-05-08 14:57:08 +02:00
Danny
b4c7de0880 store hostname for each pageview & page stat 2018-05-08 13:21:36 +02:00
Danny
b8ceff621d store hostname so we can track multiple subdomains in one fathom instance, if needed 2018-05-08 13:08:16 +02:00
Danny
02bcfbf503 generate default value for secret so that fathom can run using only default values 2018-05-08 12:45:24 +02:00
Danny
2ceaaeb9f5 add support for sqlite. #9 2018-05-08 12:31:51 +02:00
Danny
0a0476b5ae store accurate new session count & use that to determine bounce rate 2018-05-08 11:52:01 +02:00
Danny
fe7eee2b73 clean-up data structure & add indices 2018-05-08 10:45:17 +02:00
Danny van Kooten
5e0ac22fe4 and finally, delete pageviews after processing to keep pageviews table nice & small 2018-05-07 19:45:42 +02:00
Danny van Kooten
95cd0e4053 implement referrers table 2018-05-07 19:33:52 +02:00
Danny van Kooten
9a9ea1687c imment referrer stats api route 2018-05-07 19:20:58 +02:00
Danny van Kooten
872bdd6141 define struct for all api params 2018-05-07 18:59:52 +02:00
Danny
dac50c3da9 start cleaning up & implement page stats again 2018-05-07 17:01:20 +02:00
Danny
433c6e2f4d get general data flow up & running again for site stats 2018-05-07 16:05:53 +02:00
Danny van Kooten
082073afb8 [wip] move bulk of storage to client-side for improved scalability, simplicity and privacy. see #14. 2018-05-06 11:53:19 +02:00
Danny
5a403d536a first stab at time on site tracking. #20 2018-05-04 15:43:05 +02:00
Danny
86e5a7a957 simple bounce rate implementation. #21 2018-05-04 12:20:37 +02:00
Danny
d76cb6f24d stop storing ip address & browser version details. 2018-05-02 15:33:01 +02:00
Danny
47d8347ef1 universal handling of retrieving totals from datastore, incl. uniques. 2018-05-02 14:52:52 +02:00
Danny
c238a2abc3 use COALESCE instead of IFNULL, get rid of backticks. First steps towards Postgres compliance 2018-04-30 16:11:47 +02:00
Danny van Kooten
ac15507023 stop exporting DB instance in datastore pkg. yay 2018-04-27 17:32:16 +02:00
Danny van Kooten
a20e2b1227 move remaining queries to datastore pkg & bubble up errors to http handlers 2018-04-27 17:28:03 +02:00
Danny van Kooten
b0d16b648b move remainder of aggregation funcs from count pkg to datastore pkg 2018-04-27 16:25:01 +02:00
Danny van Kooten
94b5a03d8e refactor part of count package to datastore, needs more work for other metrics besides pageviews 2018-04-26 20:40:00 +02:00
Danny van Kooten
80254ee4ee move pageview queries to datastore pkg & rebind query for other db engines than mysql 2018-04-26 19:30:15 +02:00
Danny
bcfca8138b rewrite remaining queries in datastore pkg to use sqlx 2018-04-25 14:29:32 +02:00
Danny
f317603da3 rewrite datastore page funcs to use sqlx scanning 2018-04-25 14:01:42 +02:00