Я реализую OpenTelemetry в своем проекте, идентификатор трассировки повторяется после 10 итераций, как это исправить?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Я реализую OpenTelemetry в своем проекте, идентификатор трассировки повторяется после 10 итераций, как это исправить?

Сообщение Anonymous »

Я реализую OpenTelemetry в своем проекте и создал bean-компонент следующим образом:

Код: Выделить всё

@Bean
public static OpenTelemetry openTelemetry() {
Resource resource = Resource.getDefault();
SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder()
.addSpanProcessor(SimpleSpanProcessor.create(LoggingSpanExporter.create()))
.setResource(resource)
.build();

SdkMeterProvider sdkMeterProvider = SdkMeterProvider.builder()
.registerMetricReader(PeriodicMetricReader.builder(LoggingMetricExporter.create()).build())
.setResource(resource)
.build();

SdkLoggerProvider sdkLoggerProvider = SdkLoggerProvider.builder()
.addLogRecordProcessor(BatchLogRecordProcessor.builder(SystemOutLogRecordExporter.create()).build())
.setResource(resource)
.build();

OpenTelemetry openTelemetry = OpenTelemetrySdk.builder()
.setTracerProvider(sdkTracerProvider)
.setMeterProvider(sdkMeterProvider)
.setLoggerProvider(sdkLoggerProvider)
.setPropagators(ContextPropagators.create(TextMapPropagator.composite(W3CTraceContextPropagator.getInstance(), W3CBaggagePropagator.getInstance())))
.buildAndRegisterGlobal();

return openTelemetry;
}
Я добавил это в каждый контроллер и службу

Код: Выделить всё

private Tracer tracer;

private OpenTelemetry openTelemetry;

AccountInfoController(OpenTelemetry openTelemetry) {

tracer = openTelemetry.getTracer(AccountInfoController.class.getName(), "0.1.0");
}
и создал диапазон в контроллере, как показано ниже

Код: Выделить всё

Span span = tracer.spanBuilder(spanName).startSpan();
(где имя диапазона — это имя контроллера) и в классе обслуживания я создал диапазон

Код: Выделить всё

Context.current().with(parentSpan).makeCurrent();
Span serviceSpan = tracer.spanBuilder(spanName)
.setParent(Context.current().with(Span.current()))
.startSpan();
где родительский диапазон — это диапазон контроллера.
Однако я получаю идентификатор трассировки, повторяющийся после 10 итераций.
Как генерировать уникальные идентификаторы трассировки?

Подробнее здесь: https://stackoverflow.com/questions/788 ... d-after-10
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Невозможно отправить информацию об интервале трассировки opentelemetry в функции дескриптора класса Socketserver BaseReq
    Гость » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Гость
  • Трассировки PHP Opentelemetry не отображаются в кросс-приложении
    Anonymous » » в форуме Php
    0 Ответы
    82 Просмотры
    Последнее сообщение Anonymous
  • OpenTelemetry генерирует трассировки только при перезапуске службы
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Отфильтровать трассировки OpenTelemetry, не имеющие журналов.
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Отфильтровать трассировки OpenTelemetry, не имеющие журналов.
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»