Я использую модуль gremlin-javascript nodejs для запроса базы данных титанов. Все работает нормально, но я хочу следить за тем, что на самом деле происходит с сервером гремлинов, и за всем, что я могу узнать об этом запросе. Я уже проверил журнал gremlin-server в папке logs внутри папки titan. Я не могу найти ничего полезного в этих журналах. Любая помощь в этом отношении будет чрезвычайно полезной. спасибо
Где узнать, какие запросы попадают на сервер Gremlin через gremlin-javascript
Ответы (1)
Для решения на стороне клиента с помощью gremlin-javascript в настоящее время нет быстрого и простого способа регистрировать в консоли исходящие запросы или протокольные сообщения, отправляемые на сервер Gremlin.
Вы можете:
- Реализуйте свою собственную функцию, которая упаковывает вызовы вызываемых вами клиентских методов Gremlin (обычно
client.execute()
) и регистрирует аргументы. При использовании Node.js v6+ это может быть хорошим вариантом использования объектаProxy
ES2015. Это самый безопасный, ненавязчивый подход. - Monkeypatch метод
client.prototype.messageStream
и параметры журнала. Начиная с версии 2.3.2, этот низкоуровневый метод вызывается независимо от того, делаете ли выclient.execute()
илиclient.stream()
. Это рискованнее и хитрее. Быстро и грязно: отредактируйте исходный код в
./node_modules/gremlin/lib/GremlinClient.js
и добавьте это после строки 405 (определениеprototype.messageStream
):console.log('query:', script); console.log('params:', bindings);
В настоящее время существует открытая проблема с ведением журнала входящих сообщений, но ее можно было бы доработать, включив также исходящие сообщения (запросы с параметрами, вплоть до протокольных сообщений).
person
jbmusso
schedule
19.05.2016
еще раз спасибо jbmusso, выбрав быстрый и грязный вариант для более быстрого прототипирования.
- person palash kulshreshtha; 19.05.2016