e-valuation / EvaP

a university course evaluation system written in Python using Django
Other
97 stars 145 forks source link

Server-side usage statistics #1135

Open karyon opened 6 years ago

karyon commented 6 years ago

It would be nice to have any non-anecdotal data on how the site is used. A solid start would be page views per view, a second thing could be page load times (server-side aka be how long the view takes to be processed)

karyon commented 6 years ago

another approach would be goaccess, which analyzes apache's access.log

2018_09_19_22_36_40_

using it was as simple as apt-get install goaccess and then goaccess access.log --log-format="%h %^[%d:%t %^] \"%r\" %s %b \"%R\" \"%u\"" --date-format=%d/%b/%Y --time-format=%H:%M:%S -o --all-static-files -o /vagrant/report.html

one can add a %D to the apache logging config (and to goaccess' format string), and the time to process each request will be logged and reported. (however, if i understood correctly, this is the time to serve a request (including all the network stuff, so this also depends on the user's connection), not the time django needs to process the request. but it's something.

tiny-fish-T commented 4 years ago

I tried to set up server side piwik from https://gitlab.com/burke-software/django-server-side-piwik but it is very poorly documented, which makes it impossible to set up. Also piwik depends on a fully set up version of Celery, a data broker application which also has very very bad documentation. Seems like server side piwik is out of the equation.

felixrindt commented 4 years ago

I tried go_access and liked it. It's probably an easy solution for the beginning, but it would still be nice to have stats on view performance (esp. because go_access doesnt distinguish views, but paths afaik)