Регистрация исключений с помощью Opentracing и Jaeger - PullRequest
0 голосов
/ 18 марта 2019

Я установил Jaeger с Opentracing в среде Java, и он прекрасно работает с регистрацией сообщений с интервалами и трассировкой. Но я немного застрял, когда дело доходит до обнаружения и регистрации исключений.

    try
    {
        span.log(ImmutableMap.of("Exeption", "ex"));
        throw new IllegalArgumentException("Expecting one argument");
    }
    catch(Exception ex)
    {
       span.log(ImmutableMap.of("Error", ex));
       span.log(ImmutableMap.of("Event", "error", "Error-object", ex, "message", ex.getStackTrace()));
    }

Но этот способ не позволяет хорошо отформатировать регистрацию ошибок.

Я искал информацию об этом, так как кажется довольно очевидным, что это должно быть, поскольку это один из его компонентов для ведения журнала. Но я как-то никогда не видел ничего об этом. Это в основном о создании и структурировании пролетов. Надеюсь, что кто-нибудь может помочь мне с этим, когда дело доходит до захвата и регистрации исключений.

1 Ответ

0 голосов
/ 21 марта 2019

Эта проблема больше связана с Java, чем с Opentracing и Jaeger. так как ex.getStackTrace() это еще проблема. Как и должно быть больше похоже на

StringWriter errors = new StringWriter();
ex.printStackTrace(new PrintWriter(errors));
span.setTag("error", true);
span.log(ImmutableMap.of("stack", errors));

Проблема решена.

...