add caching calculation

This commit is contained in:
lelo 2025-04-01 20:28:14 +00:00
parent f5ed562ea9
commit 0a37764e34
2 changed files with 22 additions and 4 deletions

View File

@ -328,6 +328,16 @@ def dashboard():
cursor = log_db.execute(query, params_for_filter)
unique_user = cursor.fetchone()[0]
# Percentage of cached calls
query = f'''
SELECT (CAST(SUM(CASE WHEN cached = 1 THEN 1 ELSE 0 END) AS FLOAT) / COUNT(*)) * 100
FROM file_access_log
WHERE timestamp >= ? {filetype_filter_sql}
'''
with log_db:
cursor = log_db.execute(query, params_for_filter)
cached_percentage = cursor.fetchone()[0]
# 8. Process location data with GeoIP2
reader = geoip2.database.Reader('GeoLite2-City.mmdb')
location_data_dict = {}
@ -358,5 +368,6 @@ def dashboard():
total_accesses=total_accesses,
unique_files=unique_files,
unique_user=unique_user,
cached_percentage=f"{cached_percentage:.2f}",
timeframe_data=timeframe_data
)

View File

@ -38,7 +38,7 @@
<!-- Summary Cards -->
<div class="row mb-4">
<div class="col-md-4">
<div class="col-md-3">
<div class="card text-white bg-info">
<div class="card-body">
<h5 class="card-title">Alle Downloads</h5>
@ -46,7 +46,7 @@
</div>
</div>
</div>
<div class="col-md-4">
<div class="col-md-3">
<div class="card text-white bg-success">
<div class="card-body">
<h5 class="card-title">eindeutige Dateien</h5>
@ -54,7 +54,7 @@
</div>
</div>
</div>
<div class="col-md-4">
<div class="col-md-3">
<div class="card text-white bg-warning">
<div class="card-body">
<h5 class="card-title">eindeutige Nutzer</h5>
@ -62,6 +62,14 @@
</div>
</div>
</div>
<div class="col-md-3">
<div class="card text-white bg-secondary">
<div class="card-body">
<h5 class="card-title">beschleunigte Downloads</h5>
<p class="card-text">{{ cached_percentage }} %</p>
</div>
</div>
</div>
</div>
<!-- Charts Section -->
@ -171,7 +179,6 @@
<script>
// Data passed from the backend as JSON
const distinctDeviceData = {{ distinct_device_data|tojson }};
// Replace topFilesData usage with timeframeData for this chart
const timeframeData = {{ timeframe_data|tojson }};
const userAgentData = {{ user_agent_data|tojson }};
const folderData = {{ folder_data|tojson }};