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 gauge registry_push_session_speed_mbps by repo, user, node hidden push_session_bytes by repo, user, node hidden push_session_start 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.]+)/ { 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.]+)/ { bytes = int($end) - int($start) + 1 registry_push_upload_bytes_total[$repo][$user][$node] += bytes push_session_bytes[$repo][$user][$node] += bytes 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[^"]*)".*"remote_user":"(?P[^"]*)".*"method":"PATCH".*"path":"\/v2\/(?P.+?)\/blobs\/uploads\/[a-f0-9-]+".*"upstream_range":"" .*"request_length":(?P\d+)/ { registry_push_upload_bytes_total[$repo][$user][$node] += $req push_session_bytes[$repo][$user][$node] += $req 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[^"]*)".*"method":"PUT".*"path":"\/v2\/(?P.+?)\/manifests\/[^"]+"/ { registry_requests_total["push_manifest"][$repo][$node]++ duration = time() - push_session_start[$repo][$user][$node] if duration > 0 && push_session_bytes[$repo][$user][$node] > 0 { registry_push_session_speed_mbps[$repo][$user][$node] = (push_session_bytes[$repo][$user][$node] * 8) / duration / 1e6 } push_session_bytes[$repo][$user][$node] = 0 push_session_start[$repo][$user][$node] = 0 } /"remote_address":"(?P[^"]*)".*"method":"GET".*"path":"\/v2\/(?P.+?)\/manifests\/[^"]+"/ { registry_requests_total["pull_manifest"][$repo][$node]++ } /"remote_address":"(?P[^"]*)".*"path":"\/v2\/".*"method":"\w+"/ { registry_requests_total["v2_root"]["none"][$node]++ }