{% extends "layout.html" %} {% set title = "Usage stats" %} {% block header %} {% endblock %} {% set sample_time = '1H' %} {% set sample_last = 24 %} {% block container %}
Page hits
{{ barplot(access_log['browser_hash'].resample(sample_time).count().tail(sample_last)[::-1], color='primary') }}Estimated unique visitors
{{ barplot(access_log['browser_hash'].resample(sample_time).nunique().tail(sample_last)[::-1]) }}Unique page visits
{{ barplot(access_log_trimmed.groupby('endpoint_name')['browser_hash'].nunique()) }}Total submissions
{{ barplot(submission_log['num_inputs'].resample(sample_time).count().tail(sample_last)[::-1], color='primary', key_width=5) }}Total sequences
{{ barplot(submission_log['num_inputs'].resample(sample_time).sum().tail(sample_last)[::-1], color='primary', key_width=5) }}Unique submissions
{{ barplot(submission_log['input_hash'].resample(sample_time).nunique().tail(sample_last)[::-1], key_width=5) }}Unique submissions by page
{{ barplot(submission_log_trimmed.groupby('endpoint_name')['browser_hash'].nunique()) }}Avg task duration
{{ barplot(task_log['running_seconds'].resample(sample_time).mean().tail(sample_last)[::-1], color='warning', fmt='{:.1f} seconds') }}Max task duration
{{ barplot(task_log['running_seconds'].resample(sample_time).max().tail(sample_last)[::-1], color='warning', fmt='{:.1f} seconds') }}Request errors
{{ barplot(access_log['exception'].dropna().resample(sample_time).count().tail(sample_last)[::-1], color='danger', key_width=5) }}Last request errors
{% for i, row in access_log[access_log['exception'].isna() == False][::-1].head().iterrows() %}Common request errors
{{ barplot(access_log['exception'].str.slice(0, 50).value_counts(), key_width=10, color='danger') }}Task errors
{{ barplot(task_log['exception'].dropna().resample(sample_time).count().tail(sample_last)[::-1], color='danger', key_width=5) }}Last task errors
{% for i, row in task_log[task_log['exception'].isna() == False][::-1].head().iterrows() %}Common task errors
{{ barplot(task_log['exception'].str.slice(0, 50).value_counts(), key_width=10, color='danger') }}