This commit is contained in:
zino
2025-08-14 19:30:50 +02:00
parent 44ab671c62
commit b60615302c

View File

@@ -13,39 +13,33 @@ gauge push_session_start by repo, user, node
registry_requests_total["pull_blob"][$repo][$node]++ registry_requests_total["pull_blob"][$repo][$node]++
} }
/"remote_address":"(?P<node>[^"]*)".*"remote_user":"(?P<user>[^"]*)".*"method":"POST".*"path":"\/v2\/(?P<repo>.+?)\/blobs\/uploads\/".*"status":202/
{
if push_session_start[$repo][$user][$node] == 0 {
push_session_start[$repo][$user][$node] = time()
}
registry_requests_total["push_upload"][$repo][$node]++
}
/"remote_address":"(?P<node>[^"]*)".*"remote_user":"(?P<user>[^"]*)".*"method":"PATCH".*"path":"\/v2\/(?P<repo>.+?)\/blobs\/uploads\/[a-f0-9-]+".*"upstream_range":"(?P<start>\d+)-(?P<end>\d+)".*"request_time":(?P<rt>[0-9.]+)"/ /"remote_address":"(?P<node>[^"]*)".*"remote_user":"(?P<user>[^"]*)".*"method":"PATCH".*"path":"\/v2\/(?P<repo>.+?)\/blobs\/uploads\/[a-f0-9-]+".*"upstream_range":"(?P<start>\d+)-(?P<end>\d+)".*"request_time":(?P<rt>[0-9.]+)"/
{ {
registry_push_upload_bytes_total[$repo][$user][$node] += int($end) - int($start) + 1 registry_push_upload_bytes_total[$repo][$user][$node] += int($end) - int($start) + 1
push_session_bytes[$repo][$user][$node] += int($end) - int($start) + 1 push_session_bytes[$repo][$user][$node] += int($end) - int($start) + 1
registry_requests_total["push_upload"][$repo][$node]++
if push_session_start[$repo][$user][$node] == 0 { if push_session_start[$repo][$user][$node] == 0 {
push_session_start[$repo][$user][$node] = time() push_session_start[$repo][$user][$node] = time()
} }
registry_requests_total["push_upload"][$repo][$node]++
} }
/"remote_address":"(?P<node>[^"]*)".*"remote_user":"(?P<user>[^"]*)".*"method":"PATCH".*"path":"\/v2\/(?P<repo>.+?)\/blobs\/uploads\/[a-f0-9-]+".*"upstream_range":"".*"request_length":(?P<req>\d+)/ /"remote_address":"(?P<node>[^"]*)".*"remote_user":"(?P<user>[^"]*)".*"method":"PATCH".*"path":"\/v2\/(?P<repo>.+?)\/blobs\/uploads\/[a-f0-9-]+".*"request_length":(?P<req>\d+)/
{ {
registry_push_upload_bytes_total[$repo][$user][$node] += $req registry_push_upload_bytes_total[$repo][$user][$node] += $req
push_session_bytes[$repo][$user][$node] += $req push_session_bytes[$repo][$user][$node] += $req
registry_requests_total["push_upload"][$repo][$node]++
if push_session_start[$repo][$user][$node] == 0 { if push_session_start[$repo][$user][$node] == 0 {
push_session_start[$repo][$user][$node] = time() push_session_start[$repo][$user][$node] = time()
} }
registry_requests_total["push_upload"][$repo][$node]++
} }
/"remote_address":"(?P<node>[^"]*)".*"method":"PUT".*"path":"\/v2\/(?P<repo>.+?)\/manifests\/[^"]+"/ /"remote_address":"(?P<node>[^"]*)".*"method":"PUT".*"path":"\/v2\/(?P<repo>.+?)\/manifests\/[^"]+"/
{ {
registry_requests_total["push_manifest"][$repo][$node]++ registry_requests_total["push_manifest"][$repo][$node]++
if push_session_start[$repo][$user][$node] > 0 && push_session_bytes[$repo][$user][$node] > 0 && time() - push_session_start[$repo][$user][$node] > 0 { if 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 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_bytes[$repo][$user][$node] = 0
push_session_start[$repo][$user][$node] = 0 push_session_start[$repo][$user][$node] = 0