Tech
Tracing 이해하기 (5) – Java Agent vs Library Instrumentation
Micrometer 방식(Library)과 OTel Java Agent 방식(바이트코드 조작)의 동작 원리를 비교. premain과 Instrumentation API, ByteBuddy 코드 주입까지 내부를 들여다본다.
Tech › Tracing
5개의 글
Micrometer 방식(Library)과 OTel Java Agent 방식(바이트코드 조작)의 동작 원리를 비교. premain과 Instrumentation API, ByteBuddy 코드 주입까지 내부를 들여다본다.
suspend 지점마다 스레드가 바뀌는 코루틴에서 컨텍스트를 전파하는 법 — CoroutineContext 구조, ThreadContextElement, asContextElement()로 ThreadLocal을 잇는 방법까지.
WebFlux 이벤트 루프에서 ThreadLocal 기반 traceId 전파가 실패하는 이유와, Reactor Context의 Bottom-Up 전파 모델로 이를 해결하는 방법을 실전 예제로 다룬다.
ThreadLocal의 내부 구조와 사용법, MDC가 로그에 traceId를 심는 원리, 그리고 Spring MVC에서 스레드가 바뀌는 순간 — 비동기로 가기 전에 알아야 할 기초.
Observability 세 기둥과 Distributed Tracing이 필요한 이유, Zipkin B3에서 OpenTracing/OpenCensus 분열을 거쳐 OpenTelemetry로 통합되기까지의 역사, 그리고 Spring 생태계의 현재.