'method not allowed']); exit; } function get_snowflake_connections() { $metric = 'tor_snowflake_proxy_connections_total'; $body = file_get_contents( 'http://127.0.0.1:9999/internal/metrics', false ); if (!$body) { return 0; } $conns = 0; foreach (preg_split('/\r\n|\n|\r/', $body) as $line) { $line = trim($line); if (!$line || $line[0] === '#') continue; if (preg_match( '/^' . preg_quote($metric, '/') . '(?:\{[^}]*\})?\s+([0-9]+(?:\.[0-9]+)?)$/', $line, $m )) { $conns = $m[1]; break; } } return $conns; } $snowflake_connections = get_snowflake_connections(); echo json_encode(['snowflake_connections' => $snowflake_connections]);