diff --git a/openerp/http.py b/openerp/http.py index 4a4aac9a7db..b59a4be86cb 100644 --- a/openerp/http.py +++ b/openerp/http.py @@ -25,7 +25,6 @@ import warnings from zlib import adler32 import babel.core -import psutil import psycopg2 import simplejson import werkzeug.contrib.sessions @@ -37,6 +36,11 @@ import werkzeug.wrappers import werkzeug.wsgi from werkzeug.wsgi import wrap_file +try: + import psutil +except ImportError: + psutil = None + import openerp from openerp import SUPERUSER_ID from openerp.service import security, model as service_model @@ -89,7 +93,8 @@ def dispatch_rpc(service_name, method, params): if rpc_request_flag or rpc_response_flag: start_time = time.time() start_rss, start_vms = 0, 0 - start_rss, start_vms = psutil.Process(os.getpid()).get_memory_info() + if psutil: + start_rss, start_vms = psutil.Process(os.getpid()).get_memory_info() if rpc_request and rpc_response_flag: openerp.netsvc.log(rpc_request, logging.DEBUG, '%s.%s' % (service_name, method), replace_request_password(params)) @@ -110,7 +115,8 @@ def dispatch_rpc(service_name, method, params): if rpc_request_flag or rpc_response_flag: end_time = time.time() end_rss, end_vms = 0, 0 - end_rss, end_vms = psutil.Process(os.getpid()).get_memory_info() + if psutil: + end_rss, end_vms = psutil.Process(os.getpid()).get_memory_info() logline = '%s.%s time:%.3fs mem: %sk -> %sk (diff: %sk)' % (service_name, method, end_time - start_time, start_vms / 1024, end_vms / 1024, (end_vms - start_vms)/1024) if rpc_response_flag: openerp.netsvc.log(rpc_response, logging.DEBUG, logline, result)