request-wrapper: add request counters
This commit is contained in:
parent
5b8d619a70
commit
c1b5317c1e
3 changed files with 35 additions and 4 deletions
|
|
@ -317,6 +317,10 @@ def includeme(config):
|
|||
'rhodecode.lib.partial_renderer.get_partial_renderer',
|
||||
'get_partial_renderer')
|
||||
|
||||
config.add_request_method(
|
||||
'rhodecode.lib.request_counter.get_request_counter',
|
||||
'request_count')
|
||||
|
||||
# Set the authorization policy.
|
||||
authz_policy = ACLAuthorizationPolicy()
|
||||
config.set_authorization_policy(authz_policy)
|
||||
|
|
|
|||
|
|
@ -18,11 +18,10 @@
|
|||
# RhodeCode Enterprise Edition, including its added features, Support services,
|
||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||
|
||||
|
||||
import gc
|
||||
import time
|
||||
import logging
|
||||
|
||||
|
||||
from rhodecode.lib.base import get_ip_addr, get_access_path, get_user_agent
|
||||
from rhodecode.lib.utils2 import safe_str
|
||||
|
||||
|
|
@ -44,9 +43,10 @@ class RequestWrapperTween(object):
|
|||
finally:
|
||||
end = time.time()
|
||||
total = end - start
|
||||
count = request.request_count()
|
||||
log.info(
|
||||
'IP: %s %s Request to %s time: %.4fs [%s]',
|
||||
get_ip_addr(request.environ), request.environ.get('REQUEST_METHOD'),
|
||||
'Req[%4s] IP: %s %s Request to %s time: %.4fs [%s]',
|
||||
count, get_ip_addr(request.environ), request.environ.get('REQUEST_METHOD'),
|
||||
safe_str(get_access_path(request.environ)), total,
|
||||
get_user_agent(request. environ)
|
||||
)
|
||||
|
|
|
|||
27
rhodecode/lib/request_counter.py
Normal file
27
rhodecode/lib/request_counter.py
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright (C) 2017-2019 RhodeCode GmbH
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License, version 3
|
||||
# (only), as published by the Free Software Foundation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# This program is dual-licensed. If you wish to learn more about the
|
||||
# RhodeCode Enterprise Edition, including its added features, Support services,
|
||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||
|
||||
counter = 0
|
||||
|
||||
|
||||
def get_request_counter(request):
|
||||
global counter
|
||||
counter += 1
|
||||
return counter
|
||||
Loading…
Add table
Add a link
Reference in a new issue