性能监控Openerp

时间:2012-05-08 10:46:59

标签: python openerp newrelic

我们正在尝试在开发服务器上实现新文件(http://www.newrelic.com)来测试openerp的性能。

newrelic的以下安装步骤要求我们修改WSGI应用程序文件。我是对openerp的新手,我似乎无法弄清楚这一点。任何帮助将受到高度赞赏。

  

在同一个WSGI应用程序文件中,您需要添加一个包装器   实际的WSGI应用程序入口点。如果WSGI应用程序入口点   是文件本身声明的函数,然后你可以使用装饰器。

    @newrelic.agent.wsgi_application()
    def application(environ, start_response):
        ...
  

如果WSGI应用程序入口点是从a导入的函数或对象       不同的模块,然后你可以用预装饰风格包装它。

    import django.core.handlers.wsgi
    application = django.core.handlers.wsgi.WSGIHandler()
    application = newrelic.agent.wsgi_application()(application)
  

然后,您应该重新启动您正在使用的特定WSGI托管机制       重新加载WSGI脚本文件或模块。

2 个答案:

答案 0 :(得分:2)

当我们测试新的遗物时,修补WSGI处理程序(其中有一些)需要付出太多努力。但是,使用新的relic指令和监视在gunicorn下运行服务器时,根本不需要更改代码。

答案 1 :(得分:0)

我对WSGI一无所知,但this method in server/openerp/wsgi/core.py看起来很有希望。

def wsgi_xmlrpc_1(environ, start_response):
    """ The main OpenERP WSGI handler."""
    if environ['REQUEST_METHOD'] == 'POST' and environ['PATH_INFO'].startswith(
            XML_RPC_PATH_1):
        length = int(environ['CONTENT_LENGTH'])
        data = environ['wsgi.input'].read(length)

您也可能会发现blog post on Gunicorn相关。