OpenCensus не показывает следы на Google App Engine в стеке драйвера
Я использую OpenCensus в соответствии с рекомендациями Google Cloud для запуска StackDriver Trace ( https://cloud.google.com/trace/docs/setup/java). Моя конфигурация работает на Google App Engine Standard Java 8. Я убедился, что API включен в проекте, использовал код инициализации и создал промежутки, которые я пытаюсь отследить.
Я просто создаю промежуток с
Span span = tracer.spanBuilder(spanName).startSpan();
а затем закончите с
span.end();
Это кажется прямым, но ни одна из моих пользовательских трассировок не была видна в консоли Google Cloud Trace, только вызовы RPC по умолчанию, отслеживаемые Google. Затем я попытался использовать Scopes вместо Span, инициализировав StackdriverTraceExporter с именем проекта и без него, но ничего не привело к созданию пользовательских трассировок.
Будем очень благодарны за любые рекомендации или предложения о том, где искать, так как я впервые использую OpenCensus.
1 ответ
Я обнаружил, что OpenCensus имеет 5-секундную задержку, прежде чем очищать кэш для записи в папку экспортера. Это означает, что следы должны появиться, вы должны поддерживать поток в течение как минимум 5 секунд. У меня возникла проблема в многопоточной среде, потоки умирали слишком быстро.
OpenCensus предлагает шанс, который позволит вам программно очистить кэш, что позволит разработчикам очистить кэш перед возвратом ответа, который должен обеспечить надежную запись данных диапазона.