2

nodejs の gremlin-javascript モジュールを使用して、titan データベースにクエリを実行しています。すべてが正常に機能していますが、実際に何が gremlin サーバーにヒットしているか、およびそのクエリについて知ることができるその他のことを監視したいと考えています。titan フォルダー内のログ フォルダーで gremlin-server ログを既に確認しました。これらのログに役立つものは何も見つかりません。この点に関するヘルプは非常に役立ちます。ありがとう

4

1 に答える 1

2

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

次のいずれかを実行できます。

  1. 呼び出す Gremlin クライアント メソッド (通常は ) への呼び出しをラップし、client.execute()引数をログに記録する独自の関数を実装します。Node.js v6 以降を使用している場合、これは ES2015Proxyオブジェクトの適切な使用例になる可能性があります。これは最も安全で、邪魔にならない方法です。
  2. メソッドにMonkeypatch をclient.prototype.messageStream適用し、パラメーターをログに記録します。v2.3.2 の時点で、この低レベルのメソッドは実行中client.execute()または実行中に呼び出されますclient.stream()。これはより危険でトリッキーです。
  3. クイック アンド ダーティ: ソース コードを編集し、./node_modules/gremlin/lib/GremlinClient.js405 行目の後にこれを追加します (prototype.messageStream定義):

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

現在、受信メッセージのログ記録に関する未解決の問題がありますが、これは送信メッセージ (パラメーターを含むクエリからプロトコル メッセージまで) も含めるように開発される可能性があります。

于 2016-05-19T09:30:13.583 に答える