2012-05-08 22 views
2

私たちは、openerpのパフォーマンスをテストするために、devilサーバー上に新しい遺物(http://www.newrelic.com)を実装しようとしています。パフォーマンス監視Openerp

以下のnewrelicのインストール手順では、WSGIアプリケーションファイルを変更するように指示されています。私はopenerpには新しく、これを理解できないようです。どんな助力も高く評価されます。

同じWSGIアプリケーションファイル内で、 の実際のWSGIアプリケーションエントリポイントの周りにラッパーを追加する必要があります。 WSGIアプリケーションのエントリポイント がファイル自体で宣言された関数である場合、デコレータを使用できます。

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

WSGIアプリケーションのエントリポイントが 別のモジュールからインポート関数またはオブジェクトである場合は、事前デコレータのスタイルでそれをラップすることができます。

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

その後、 に使用しているメカニズムをホスティングしている特定のWSGIを再起動する必要がありWSGIスクリプトファイルまたはモジュールをリロードします。

答えて

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が該当する場合があります。

2

新しい遺物をテストしたとき、WSGIハンドラ(いくつかのものがあります)にパッチを当てるのは多すぎました。しかし、新しい遺物の指示を使用してサーバーをgunicornで実行し、コードを変更する必要は全くありませんでした。

+0

はい。しかし、この設定でopenerpを使用すると、私たちのexpによれば、エラーの数が多くなり、実際には使用できません。すべてのものの上に、彼らは今月バージョン7をリリースするつもりです –

関連する問題