refactor file system operations

the most notable improvement is that uploads are now using streams so
they no longer require the entire file to be stored in memory
This commit is contained in:
2025-07-28 22:38:28 +02:00
parent bb79ea56f8
commit 23fdd55612
36 changed files with 1567 additions and 2088 deletions

View File

@@ -52,114 +52,104 @@ impl WarrenMetrics for MetricsDebugLogger {
tracing::debug!("[Metrics] Fetch warrens failed");
}
async fn record_warren_fetch_file_success(&self) {
tracing::debug!("[Metrics] Fetch warren file succeeded");
}
async fn record_warren_fetch_file_failure(&self) {
tracing::debug!("[Metrics] Fetch warren file failed");
}
async fn record_list_warren_files_success(&self) {
async fn record_warren_ls_success(&self) {
tracing::debug!("[Metrics] Warren list files succeeded");
}
async fn record_list_warren_files_failure(&self) {
async fn record_warren_ls_failure(&self) {
tracing::debug!("[Metrics] Warren list files failed");
}
async fn record_warren_directory_creation_success(&self) {
tracing::debug!("[Metrics] Warren directory creation succeeded");
async fn record_warren_cat_success(&self) {
tracing::debug!("[Metrics] Fetch warren file succeeded");
}
async fn record_warren_cat_failure(&self) {
tracing::debug!("[Metrics] Fetch warren file failed");
}
async fn record_warren_directory_creation_failure(&self) {
async fn record_warren_mkdir_success(&self) {
tracing::debug!("[Metrics] Warren directory creation succeeded");
}
async fn record_warren_mkdir_failure(&self) {
tracing::debug!("[Metrics] Warren directory creation failed");
}
async fn record_warren_directory_deletion_success(&self) {
tracing::debug!("[Metrics] Warren directory deletion succeeded");
}
async fn record_warren_directory_deletion_failure(&self) {
tracing::debug!("[Metrics] Warren directory deletion failed");
}
async fn record_warren_file_upload_success(&self) {
tracing::debug!("[Metrics] Warren file upload succeeded");
}
async fn record_warren_file_upload_failure(&self) {
tracing::debug!("[Metrics] Warren file upload failed");
}
async fn record_warren_files_upload_success(&self) {
tracing::debug!("[Metrics] Warren files upload succeded");
}
async fn record_warren_files_upload_failure(&self) {
tracing::debug!("[Metrics] Warren files upload failed at least partially");
}
async fn record_warren_file_deletion_success(&self) {
async fn record_warren_rm_success(&self) {
tracing::debug!("[Metrics] Warren file deletion succeeded");
}
async fn record_warren_file_deletion_failure(&self) {
async fn record_warren_rm_failure(&self) {
tracing::debug!("[Metrics] Warren file deletion failed");
}
async fn record_warren_entry_rename_success(&self) {
async fn record_warren_mv_success(&self) {
tracing::debug!("[Metrics] Warren entry rename succeeded");
}
async fn record_warren_entry_rename_failure(&self) {
async fn record_warren_mv_failure(&self) {
tracing::debug!("[Metrics] Warren entry rename failed");
}
async fn record_warren_save_success(&self) {
tracing::debug!("[Metrics] Warren file upload succeeded");
}
async fn record_warren_save_failure(&self) {
tracing::debug!("[Metrics] Warren file upload failed");
}
async fn record_warren_touch_success(&self) {
tracing::debug!("[Metrics] Warren entry touch succeeded");
}
async fn record_warren_touch_failure(&self) {
tracing::debug!("[Metrics] Warren entry touch failed");
}
}
impl FileSystemMetrics for MetricsDebugLogger {
async fn record_list_files_success(&self) {
tracing::debug!("[Metrics] File list succeeded");
async fn record_ls_success(&self) {
tracing::debug!("[Metrics] Ls succeeded");
}
async fn record_list_files_failure(&self) {
tracing::debug!("[Metrics] File list failed");
async fn record_ls_failure(&self) {
tracing::debug!("[Metrics] Ls failed");
}
async fn record_directory_creation_success(&self) {
tracing::debug!("[Metrics] Directory creation succeeded");
async fn record_cat_success(&self) {
tracing::debug!("[Metrics] Cat succeeded");
}
async fn record_directory_creation_failure(&self) {
tracing::debug!("[Metrics] Directory creation failed");
async fn record_cat_failure(&self) {
tracing::debug!("[Metrics] Cat failed");
}
async fn record_directory_deletion_success(&self) {
tracing::debug!("[Metrics] Directory deletion succeeded");
async fn record_mkdir_success(&self) {
tracing::debug!("[Metrics] Mkdir succeeded");
}
async fn record_directory_deletion_failure(&self) {
tracing::debug!("[Metrics] Directory deletion failed");
async fn record_mkdir_failure(&self) {
tracing::debug!("[Metrics] Mkdir failed");
}
async fn record_file_creation_success(&self) {
tracing::debug!("[Metrics] File creation succeeded");
async fn record_rm_success(&self) {
tracing::debug!("[Metrics] Rm succeeded");
}
async fn record_file_creation_failure(&self) {
tracing::debug!("[Metrics] File creation failed");
async fn record_rm_failure(&self) {
tracing::debug!("[Metrics] Rm failed");
}
async fn record_file_fetch_success(&self) {
tracing::debug!("[Metrics] File fetch succeeded");
async fn record_mv_success(&self) {
tracing::debug!("[Metrics] Mv succeeded");
}
async fn record_file_fetch_failure(&self) {
tracing::debug!("[Metrics] File fetch failed");
async fn record_mv_failure(&self) {
tracing::debug!("[Metrics] Mv failed");
}
async fn record_file_deletion_success(&self) {
tracing::debug!("[Metrics] File deletion succeeded");
async fn record_save_success(&self) {
tracing::debug!("[Metrics] Save succeeded");
}
async fn record_file_deletion_failure(&self) {
tracing::debug!("[Metrics] File deletion failed");
async fn record_save_failure(&self) {
tracing::debug!("[Metrics] Save failed");
}
async fn record_entry_rename_success(&self) {
tracing::debug!("[Metrics] Entry rename succeeded");
async fn record_touch_success(&self) {
tracing::debug!("[Metrics] Touch succeeded");
}
async fn record_entry_rename_failure(&self) {
tracing::debug!("[Metrics] Entry rename failed");
async fn record_touch_failure(&self) {
tracing::debug!("[Metrics] Touch failed");
}
}
@@ -269,13 +259,6 @@ impl AuthMetrics for MetricsDebugLogger {
tracing::debug!("[Metrics] User warren deletion failed");
}
async fn record_auth_warren_fetch_file_success(&self) {
tracing::debug!("[Metrics] Warren file fetch succeeded");
}
async fn record_auth_warren_fetch_file_failure(&self) {
tracing::debug!("[Metrics] Warren file fetch failed");
}
async fn record_auth_fetch_user_warren_list_success(&self) {
tracing::debug!("[Metrics] Auth warren list succeeded");
}
@@ -297,45 +280,52 @@ impl AuthMetrics for MetricsDebugLogger {
tracing::debug!("[Metrics] Auth warren fetch failed");
}
async fn record_auth_warren_file_list_success(&self) {
tracing::debug!("[Metrics] Auth warren file list succeeded");
async fn record_auth_warren_ls_success(&self) {
tracing::debug!("[Metrics] Auth warren ls succeeded");
}
async fn record_auth_warren_file_list_failure(&self) {
tracing::debug!("[Metrics] Auth warren file list failed");
async fn record_auth_warren_ls_failure(&self) {
tracing::debug!("[Metrics] Auth warren ls failed");
}
async fn record_auth_warren_directory_creation_success(&self) {
tracing::debug!("[Metrics] Auth warren directory creation succeeded");
async fn record_auth_warren_cat_success(&self) {
tracing::debug!("[Metrics] Warren file fetch succeeded");
}
async fn record_auth_warren_directory_creation_failure(&self) {
tracing::debug!("[Metrics] Auth warren directory creation failed");
async fn record_auth_warren_cat_failure(&self) {
tracing::debug!("[Metrics] Warren file fetch failed");
}
async fn record_auth_warren_directory_deletion_success(&self) {
tracing::debug!("[Metrics] Auth warren directory deletion succeeded");
async fn record_auth_warren_mkdir_success(&self) {
tracing::debug!("[Metrics] Auth warren mkdir succeeded");
}
async fn record_auth_warren_directory_deletion_failure(&self) {
tracing::debug!("[Metrics] Auth warren directory deletion failed");
async fn record_auth_warren_mkdir_failure(&self) {
tracing::debug!("[Metrics] Auth warren mkdir failed");
}
async fn record_auth_warren_file_deletion_success(&self) {
tracing::debug!("[Metrics] Auth warren file deletion succeeded");
async fn record_auth_warren_rm_success(&self) {
tracing::debug!("[Metrics] Auth warren rm succeeded");
}
async fn record_auth_warren_file_deletion_failure(&self) {
tracing::debug!("[Metrics] Auth warren file deletion failed");
async fn record_auth_warren_rm_failure(&self) {
tracing::debug!("[Metrics] Auth warren rm failed");
}
async fn record_auth_warren_entry_rename_success(&self) {
tracing::debug!("[Metrics] Auth warren entry rename succeeded");
async fn record_auth_warren_mv_success(&self) {
tracing::debug!("[Metrics] Auth warren mv succeeded");
}
async fn record_auth_warren_entry_rename_failure(&self) {
tracing::debug!("[Metrics] Auth warren entry rename failed");
async fn record_auth_warren_mv_failure(&self) {
tracing::debug!("[Metrics] Auth warren mv failed");
}
async fn record_auth_warren_files_upload_success(&self) {
tracing::debug!("[Metrics] Auth warren files upload succeeded");
async fn record_auth_warren_save_success(&self) {
tracing::debug!("[Metrics] Auth warren save succeeded");
}
async fn record_auth_warren_files_upload_failure(&self) {
tracing::debug!("[Metrics] Auth warren files upload failed");
async fn record_auth_warren_save_failure(&self) {
tracing::debug!("[Metrics] Auth warren save failed");
}
async fn record_auth_warren_touch_success(&self) {
tracing::debug!("[Metrics] Auth warren touch succeeded");
}
async fn record_auth_warren_touch_failure(&self) {
tracing::debug!("[Metrics] Auth warren touch failed");
}
}