Skip to content

feat: observability via OpenTelemetry tracing - #230

Merged
malikzh merged 1 commit into
ncanode-kz:masterfrom
aidoskz:feature/trace
Sep 13, 2026
Merged

malikzh merged 1 commit into
ncanode-kz:masterfrom
aidoskz:feature/trace

Conversation

@aidoskz

@aidoskz aidoskz commented Sep 12, 2026 •

Copy link
Copy Markdown
Contributor

Трассировка

Зачем

Сейчас, если запрос отвечает долго или падает, понять причину можно только по логам. А основное время NCANode проводит не в криптографии, а в походах наружу — за CRL, OCSP, TSP и сертификатами УЦ.

Как выглядит

Реальная трасса /cms/sign с cadesLevel=LT:

http post /cms/sign             6577 мс
  cms sign                      6484 мс
    tsp add to signer             84 мс
      POST tsp.pki.gov.kz         82 мс   http://tsp.pki.gov.kz/
    ades validation data        2049 мс
      ca build chain                 0 мс
      ocsp fetch                     0 мс
      crl fetch                    988 мс
      crl fetch                   1061 мс
    tsp create                   161 мс
      POST tsp.pki.gov.kz         132 мс   http://tsp.pki.gov.kz/

Сразу читается, куда ушли 6.5 секунд.

Что внутри

Micrometer Observation → OpenTelemetry → OTLP. Три источника span-ов:

серверные — автоматически от Spring Boot;

сервисные — аннотация @Observed на методах, которые дёргают контроллеры, и на методах с походами наружу (ocsp verify, crl verify, ca build chain, tsp create);

исходящие HTTP — обёртка над Apache HttpClient (TracedHttpRequestExecutor), потому что Micrometer сам HttpClient 4.x не инструментирует, а это как раз самая долгая часть.

Служебные пути (/actuator/**, Swagger) из трассировки исключены

Инструкцию указал в TRACING.md

image

Где больше шагов
image

Где медленно
image

@aidoskz aidoskz changed the title feat: observability via OpenTelemetry tracing (Jaeger) feat: observability via OpenTelemetry tracing Sep 13, 2026
@malikzh
malikzh merged commit 01d65fd into ncanode-kz:master Sep 13, 2026
1 check failed
@aidoskz
aidoskz deleted the feature/trace branch September 13, 2026 22:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants