У меня есть службы, использующие Thrift / Finagle и создающие сервер через tmux thriftMuxServer.serveIface(address, service)
.
Я хочу написать фильтр (Stack?), Который имеет доступ к имени метода службы, которыйменя зовут.
Я возился, но нахожу вещи из стека / модуля / парама, а не извращения ума ...
Моя цель - использовать это для создания диапазона OpenTracing,(Я знаю, что есть библиотека OpenCensus, но она не сработала для меня, она просто сообщила «НЕИЗВЕСТНО» как метод. И я знаю, что некоторые люди используют Zipkin, это не тот путь, по которому я иду.)
С другой стороны : Если вы знаете, почему OpenCensus ServerTraceContextFilter сообщает UNKNOWN для имени трассировки. Это тоже может сработать. Вот немного их кода. Возможно, label.label - «НЕИЗВЕСТНО»;что вызвало бы это?
def module[Req, Rep]: Stackable[ServiceFactory[Req, Rep]] =
new Stack.Module1[param.Label, ServiceFactory[Req, Rep]] {
def make(label: param.Label, next: ServiceFactory[Req, Rep]): ServiceFactory[Req, Rep] =
new ServerTraceContextFilter[Req, Rep](_ => label.label).andThen(next)