def fill_request(self, stat_request, call_result): """ Remplir requests """ dt = datetime.utcnow() stat_request.request_date = int(time.mktime(dt.timetuple())) # Note: for stat we don't want to abort if no token has been # given (it's up to the authentication process) user = get_user(token=get_token(), abort_if_no_token=False) if user is not None: stat_request.user_id = user.id stat_request.user_name = user.login if user.end_point_id: stat_request.end_point_id = user.end_point_id stat_request.end_point_name = user.end_point.name stat_request.application_id = -1 app_name = get_app_name(get_token()) if app_name: stat_request.application_name = app_name else: stat_request.application_name = '' stat_request.api = request.endpoint stat_request.host = request.host_url if request.remote_addr and \ not request.headers.getlist("X-Forwarded-For"): stat_request.client = request.remote_addr elif request.headers.getlist("X-Forwarded-For"): stat_request.client = request.headers.getlist("X-Forwarded-For")[0] stat_request.path = request.path stat_request.response_size = sys.getsizeof(call_result[0])
def fill_request(self, stat_request, start_time, call_result): """ fill stat requests message (protobuf) """ stat_request.request_date = int(start_time) # Note: for stat we don't want to abort if no token has been # given (it's up to the authentication process) token = get_token() user = get_user(token=token, abort_if_no_token=False) if user is not None: stat_request.user_id = user.id stat_request.user_name = user.login if user.end_point_id: stat_request.end_point_id = user.end_point_id stat_request.end_point_name = user.end_point.name if token is not None: stat_request.token = token stat_request.application_id = -1 app_name = get_app_name(token) if app_name: stat_request.application_name = app_name else: stat_request.application_name = '' stat_request.api = request.endpoint stat_request.host = request.host_url if request.remote_addr and not request.headers.getlist("X-Forwarded-For"): stat_request.client = request.remote_addr elif request.headers.getlist("X-Forwarded-For"): stat_request.client = request.headers.getlist("X-Forwarded-For")[0] stat_request.path = request.path stat_request.response_size = sys.getsizeof(call_result[0]) self.fill_info_response(stat_request.info_response, call_result)
def add_info_newrelic(response, *args, **kwargs): try: record_custom_parameter('navitia-request-id', request.id) token = get_token() user = get_user(token=token, abort_if_no_token=False) app_name = get_app_name(token) if user: record_custom_parameter('user_id', str(user.id)) record_custom_parameter('token_name', app_name) coverages = get_used_coverages() if coverages: record_custom_parameter('coverage', coverages[0]) except: logger = logging.getLogger(__name__) logger.exception('error while reporting to newrelic:') return response