2016-05-19 19 views
2

私はtitabデータベースを照会するためにnodejsのgremlin-javascriptモジュールを使用しています。すべてうまくいっていますが、実際にgremlinサーバーに何が起きているのか、そしてそのクエリについて知ることができる何かを監視したいと思います。私は既にtitanフォルダ内のlogsフォルダのgremlin-serverログを確認しました。私はそれらのログには何も使用できません。この点に関する助けは非常に便利です。ありがとうgremlin-javascript経由でgremlinサーバーにアクセスするクエリを見つける場所

答えて

2

gremlin-javascriptを使用したクライアント側のソリューションでは、現在のところ、Gremlin Serverに送信されるコンソールの送信クエリまたはプロトコルメッセージに簡単かつ簡単にログする方法はありません。

あなたは可能性があり、次のいずれか

  1. あなたは(通常はclient.execute())を呼び出しグレムリンクライアントメソッドの呼び出しをラップし、引数をログに記録し、独自の機能を実装します。 Node.js v6 +を使用している場合、これはES2015 Proxyオブジェクトの役に立つユースケースです。これは最も安全で非侵入的なアプローチです。
  2. Monkeypatch client.prototype.messageStreamメソッドとログパラメータ。 v2.3.2以降、この低レベルメソッドは、client.execute()またはclient.stream()のいずれであっても呼び出されます。これはリスクが高く扱いにくいです。
  3. クイックと汚い:./node_modules/gremlin/lib/GremlinClient.jsでソースコードを編集して、ライン405(prototype.messageStream定義)した後にこれを追加します。

    console.log('query:', script); 
    console.log('params:', bindings); 
    

現在ありますopen issue about logging of ingoing messagesが、これも同様に送信メッセージを含めるように開発することができ(パラメータ付きのクエリ、プロトコルメッセージまでのクエリ)。

+0

もう一度jbmussoに感謝します。素早くプロトタイプを作成するためにクイックで汚れたものを選んでください。 –

関連する問題