From 9f73802a8240fb9adf8c863f7583a5cc40028fa8 Mon Sep 17 00:00:00 2001 From: zino Date: Thu, 14 Aug 2025 19:32:36 +0200 Subject: [PATCH] m --- progs/registry.mtail | 55 ++++++++++++++++---------------------------- 1 file changed, 20 insertions(+), 35 deletions(-) diff --git a/progs/registry.mtail b/progs/registry.mtail index 343e659..a3d2df1 100644 --- a/progs/registry.mtail +++ b/progs/registry.mtail @@ -2,55 +2,40 @@ counter registry_requests_total by path_class, repo, node counter registry_pull_blob_bytes_total by repo, user, node counter registry_pull_blob_seconds_total by repo, user, node counter registry_push_upload_bytes_total by repo, user, node -counter registry_push_session_speed_mbps by repo, user, node -gauge push_session_bytes by repo, user, node -gauge push_session_start by repo, user, node +counter registry_push_upload_seconds_total by repo, user, node +counter registry_push_session_bytes_total by repo, user, node +counter registry_push_session_seconds_total by repo, user, node -/"remote_address":"(?P[^"]*)".*"remote_user":"(?P[^"]*)".*"method":"GET".*"path":"\/v2\/(?P.+?)\/blobs\/sha256:[a-f0-9]+".*"body_bytes_sent":(?P\d+).*"request_time":(?P[0-9.]+)"/ -{ +/"remote_address":"(?P[^"]*)".*"remote_user":"(?P[^"]*)".*"method":"GET".*"path":"\/v2\/(?P.+?)\/blobs\/sha256:[a-f0-9]+".*"body_bytes_sent":(?P\d+).*"request_time":(?P[0-9.]+)/ { registry_pull_blob_bytes_total[$repo][$user][$node] += $body registry_pull_blob_seconds_total[$repo][$user][$node] += $rt registry_requests_total["pull_blob"][$repo][$node]++ } -/"remote_address":"(?P[^"]*)".*"remote_user":"(?P[^"]*)".*"method":"PATCH".*"path":"\/v2\/(?P.+?)\/blobs\/uploads\/[a-f0-9-]+".*"upstream_range":"(?P\d+)-(?P\d+)".*"request_time":(?P[0-9.]+)"/ -{ - registry_push_upload_bytes_total[$repo][$user][$node] += int($end) - int($start) + 1 - push_session_bytes[$repo][$user][$node] += int($end) - int($start) + 1 +/"remote_address":"(?P[^"]*)".*"remote_user":"(?P[^"]*)".*"method":"PATCH".*"path":"\/v2\/(?P.+?)\/blobs\/uploads\/[a-f0-9-]+".*"upstream_range":"(?P\d+)-(?P\d+)".*"request_time":(?P[0-9.]+)/ { + registry_push_upload_bytes_total[$repo][$user][$node] += int($end1) + 1 + registry_push_upload_seconds_total[$repo][$user][$node] += $rt1 + registry_push_session_bytes_total[$repo][$user][$node] += int($end1) + 1 + registry_push_session_seconds_total[$repo][$user][$node] += $rt1 registry_requests_total["push_upload"][$repo][$node]++ - if push_session_start[$repo][$user][$node] == 0 { - push_session_start[$repo][$user][$node] = time() - } } -/"remote_address":"(?P[^"]*)".*"remote_user":"(?P[^"]*)".*"method":"PATCH".*"path":"\/v2\/(?P.+?)\/blobs\/uploads\/[a-f0-9-]+".*"request_length":(?P\d+)/ -{ - registry_push_upload_bytes_total[$repo][$user][$node] += $req - push_session_bytes[$repo][$user][$node] += $req +/"remote_address":"(?P[^"]*)".*"remote_user":"(?P[^"]*)".*"method":"PATCH".*"path":"\/v2\/(?P.+?)\/blobs\/uploads\/[a-f0-9-]+".*"request_time":(?P[0-9.]+).*"upstream_range":"(?P\d+)-(?P\d+)"/ { + registry_push_upload_bytes_total[$repo][$user][$node] += int($end2) + 1 + registry_push_upload_seconds_total[$repo][$user][$node] += $rt2 + registry_push_session_bytes_total[$repo][$user][$node] += int($end2) + 1 + registry_push_session_seconds_total[$repo][$user][$node] += $rt2 registry_requests_total["push_upload"][$repo][$node]++ - if push_session_start[$repo][$user][$node] == 0 { - push_session_start[$repo][$user][$node] = time() - } } -/"remote_address":"(?P[^"]*)".*"method":"PUT".*"path":"\/v2\/(?P.+?)\/manifests\/[^"]+"/ -{ - registry_requests_total["push_manifest"][$repo][$node]++ - if push_session_start[$repo][$user][$node] > 0 { - if time() - push_session_start[$repo][$user][$node] > 0 { - registry_push_session_speed_mbps[$repo][$user][$node] = (push_session_bytes[$repo][$user][$node] * 8) / (time() - push_session_start[$repo][$user][$node]) / 1000000 - } - } - push_session_bytes[$repo][$user][$node] = 0 - push_session_start[$repo][$user][$node] = 0 -} - -/"remote_address":"(?P[^"]*)".*"method":"GET".*"path":"\/v2\/(?P.+?)\/manifests\/[^"]+"/ -{ +/"remote_address":"(?P[^"]*)".*"method":"GET".*"path":"\/v2\/(?P.+?)\/manifests\/[^"]+"/ { registry_requests_total["pull_manifest"][$repo][$node]++ } -/"remote_address":"(?P[^"]*)".*"path":"\/v2\/".*"method":"\w+"/ -{ +/"remote_address":"(?P[^"]*)".*"method":"PUT".*"path":"\/v2\/(?P.+?)\/manifests\/[^"]+"/ { + registry_requests_total["push_manifest"][$repo][$node]++ +} + +/"remote_address":"(?P[^"]*)".*"path":"\/v2\/".*"method":"\w+"/ { registry_requests_total["v2_root"]["none"][$node]++ }