Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>

<config xmlns="urn:com.cohga.server.config#1.0" xmlns:statistics="urn:com.cohga.server.statistics.db#1.0">

....


	<statistics:config>
		<!-- datasource is required -->
		<!-- The name of the data source that the records will be written to -->
		<datasource>ds.users</datasource>

		<!-- table is optional and will default to wv_statistics -->
		<!-- This is the table where the records will be written -->
		<!-- Weave will attempt to create the table if it doesn't exist -->
		<table>weave.wv_statistics</table>

		<!-- maximumDelayInSeconds is optional and will default to 60 seconds -->
		<!-- The maximum time to wait before writing any pending records -->
		<maximumDelayInSeconds>60</maximumDelayInSeconds>

		<!-- count is optional and will default to 30 -->
		<!-- The minimum number of records that need to be available before they are written -->
		<count>30</count>
	</statistics:config>
...


</config>

Example of

...

outputs

All

SELECT * FROM weave.wv_statistics;

Totals

SELECT sum((duration+500)/1000) as seconds, count(*) FROM weave.wv_statistics;

Totals this week

SELECT sum((duration+500)/1000) as seconds, count(*) FROM weave.wv_statistics
where submitted > date_trunc('week', current_date);

Totals per user

SELECT userid, sum((duration+500)/1000) as seconds, count(*)  FROM weave.wv_statistics group by 1;

...

SELECT
CASE date_part('isodow',submitted) WHEN 1 THEN 'Måndag' WHEN 2 THEN 'Tisdag' WHEN 3 THEN 'Onsdag' WHEN 4 THEN 'Torsdag' WHEN 5 THEN 'Fredag' WHEN 6 THEN 'Lördag' WHEN 7 THEN 'Söndag' END as weekday,
count(distinct userid) as users,
sum((duration+500)/1000) as seconds,
count(*) as requests
FROM weave.wv_statistics
group by date_part('isodow',submitted)::int, 1
order by date_part('isodow',submitted)::int;

Statistics per

...

hour

SELECT
h.a as hour,
count(distinct userid) as users,
sum((duration+500)/1000) as seconds,
count(*)-1 as requests
FROM weave.wv_statistics
FULL JOIN (select unnest((array[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23])) as a) h ON h.a = date_part('hour',submitted)
group by 1
order by 1

...