Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Arch Linux
aurweb
Commits
5bfc1e90
Verified
Commit
5bfc1e90
authored
Oct 15, 2021
by
Kevin Morris
Browse files
Revert "fix(PHP): sanitize and produce metrics at shutdown"
This reverts commit
22b3af61
.
parent
22b3af61
Changes
2
Hide whitespace changes
Inline
Side-by-side
web/html/index.php
View file @
5bfc1e90
...
...
@@ -13,8 +13,28 @@ $query_string = $_SERVER['QUERY_STRING'];
// If no options.cache is configured, we no-op metric storage operations.
$is_cached
=
defined
(
'EXTENSION_LOADED_APC'
)
||
defined
(
'EXTENSION_LOADED_MEMCACHE'
);
if
(
$is_cached
)
register_shutdown_function
(
'update_metrics'
);
if
(
$is_cached
)
{
$method
=
$_SERVER
[
'REQUEST_METHOD'
];
// We'll always add +1 to our total request count to this $path,
// unless this path == /metrics.
if
(
$path
!==
"/metrics"
)
add_metric
(
"http_requests_count"
,
$method
,
$path
);
// Extract $type out of $query_string, if we can.
$type
=
null
;
$query
=
array
();
if
(
$query_string
)
parse_str
(
$query_string
,
$query
);
$type
=
$query
[
'type'
];
// Only store RPC metrics for valid types.
$good_types
=
[
"info"
,
"multiinfo"
,
"search"
,
"msearch"
,
"suggest"
,
"suggest-pkgbase"
,
"get-comment-form"
];
if
(
$path
===
"/rpc"
&&
in_array
(
$type
,
$good_types
))
add_metric
(
"api_requests_count"
,
$method
,
$path
,
$type
);
}
if
(
config_get_bool
(
'options'
,
'enable-maintenance'
)
&&
(
empty
(
$tokens
[
1
])
||
(
$tokens
[
1
]
!=
"css"
&&
$tokens
[
1
]
!=
"images"
)))
{
if
(
!
in_array
(
$_SERVER
[
'REMOTE_ADDR'
],
explode
(
" "
,
config_get
(
'options'
,
'maintenance-exceptions'
))))
{
...
...
web/lib/metricfuncs.inc.php
View file @
5bfc1e90
...
...
@@ -13,44 +13,6 @@ use \Prometheus\RenderTextFormat;
// and will start again at 0 if it's restarted.
$registry
=
new
CollectorRegistry
(
new
InMemory
());
function
update_metrics
()
{
// With no code given to http_response_code, it gets the current
// response code set (via http_response_code or header).
if
(
http_response_code
()
==
404
)
return
;
$path
=
$_SERVER
[
'PATH_INFO'
];
$method
=
$_SERVER
[
'REQUEST_METHOD'
];
$query_string
=
$_SERVER
[
'QUERY_STRING'
];
// If $path is at least 1 character, strip / off the end.
// This turns $paths like '/packages/' into '/packages'.
if
(
strlen
(
$path
)
>
1
)
$path
=
rtrim
(
$path
,
"/"
);
// We'll always add +1 to our total request count to this $path,
// unless this path == /metrics.
if
(
$path
!==
"/metrics"
)
add_metric
(
"http_requests_count"
,
$method
,
$path
);
// Extract $type out of $query_string, if we can.
$type
=
null
;
$query
=
array
();
if
(
$query_string
)
parse_str
(
$query_string
,
$query
);
if
(
array_key_exists
(
"type"
,
$query
))
$type
=
$query
[
"type"
];
// Only store RPC metrics for valid types.
$good_types
=
[
"info"
,
"multiinfo"
,
"search"
,
"msearch"
,
"suggest"
,
"suggest-pkgbase"
,
"get-comment-form"
];
if
(
$path
===
"/rpc"
&&
in_array
(
$type
,
$good_types
))
add_metric
(
"api_requests_count"
,
$method
,
$path
,
$type
);
}
function
add_metric
(
$anchor
,
$method
,
$path
,
$type
=
null
)
{
global
$registry
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment