트레이스 샘플링은 선택된 요청 트레이스만 유지하여 스토리지와 처리 부담을 줄이지만, 진단에 필요한 정확한 워크플로 경로가 손실될 위험이 있습니다.
로컬 AI 요청은 게이트웨이, 모델 라우터, 벡터 검색 서비스, 도구 샌드박스, 홈 오토메이션 브리지를 차례로 거치며 상호작용 하나당 많은 스팬을 생성할 수 있습니다. 모든 경로를 무기한 기록하는 것은 비용이 많이 듭니다. 샘플링은 어떤 완전한 트레이스 또는 부분 관찰 정보를 보존할지 결정하지만, 그 결정의 시점과 기준에 따라 드문 타임아웃, 거부된 도구 호출, 또는 조용한 폴백이 계속 확인 가능한지가 달라집니다.
트레이스 샘플링은 개별 사실이 아니라 요청 이력을 선택합니다
트레이스는 서비스 전반에 걸쳐 서로 연관된 스팬으로 하나의 요청을 나타냅니다. 샘플링은 일반적으로 확률, 속성 또는 정책에 따라 해당 요청 이력을 기록하거나 내보낼지 선택합니다. 메트릭과 로그가 여전히 존재할 수 있지만, 호환되는 식별자를 유지하지 않는 한 동일한 인과 경로를 재구성할 수는 없습니다.
샘플링 개념 문서는 요청 시작 직전에 결정되는 헤드 샘플링과 대부분의 스팬이 도착한 후 결정되는 테일 샘플링을 구분합니다. 헤드 샘플링은 단순하고 저렴한 반면, 테일 샘플링은 최종 지연 시간, 오류 상태 또는 나중에 발견된 속성에 따라 트레이스를 보존할 수 있습니다.
따라서 샘플링은 애플리케이션 동작이 아니라 진단 범위를 바꿉니다. 트레이스가 보존되는지와 관계없이 요청은 동일하게 완료되거나 실패할 수 있지만, 이벤트 이후 운영자가 확인하는 증거의 범위는 달라집니다. 이러한 차이는 이후의 가정용 테스트에서도 확인할 수 있습니다.
헤드 결정은 나중에 발생하는 오류를 볼 수 없습니다
루트 스팬에서 확률에 따라 내린 결정은 최종 도구 호출이 타임아웃되거나 다운스트림 서비스가 오류를 반환할 것임을 알 수 없습니다. 헤드 단계에서 요청이 삭제되면 운영상 중요한 이벤트라 하더라도 이후의 모든 스팬을 사용할 수 없게 될 수 있습니다.
OpenTelemetry의 테일 기반 보존 예시는 테일 중심 접근 방식으로 실패한 활동을 보존하는 방법을 설명합니다. 이는 핵심적인 장점을 보여 줍니다. 즉, 시작 시점에 존재하는 속성으로 중요도를 추측하는 대신 완료된 결과를 사용해 결정할 수 있습니다.
헤드 샘플링은 비율이 안정적이고 식별자가 일관되게 전파될 때 광범위한 성능 추세를 파악하는 데 여전히 유용합니다. 하지만 실패가 드물거나, 트래픽이 적은 경로에 집중되거나, 여러 에이전트 단계가 지난 후에야 발견되는 경우에는 위험해집니다.
테일 정책은 상태와 지연, 그리고 자체적인 사각지대를 추가합니다
테일 샘플링은 결정 창이 닫힐 때까지 스팬을 버퍼링하고, 트레이스 ID별로 그룹화한 다음 순서가 지정된 정책을 적용합니다. 늦게 도착하는 스팬, 분리된 라우팅, 컬렉터 재시작, 메모리 압박 또는 워크플로보다 짧은 결정 창으로 인해 샘플러가 불완전한 트레이스만 확보할 수 있습니다.
컬렉터 요구 사항에는 트레이스의 모든 스팬이 동일한 컬렉터 인스턴스에 도달해야 하며 대기 중인 스팬이 메모리를 사용한다는 경고가 있습니다. 이러한 요구 사항은 소규모 홈 서버에서 관측 프로세스가 추론 작업과 RAM을 두고 경쟁할 때 중요합니다.
실패 지점은 결정적인 오류 스팬이 샘플러의 결정 이후에 도착하거나, 다른 컬렉터에 도달하거나, 정책에서 사용하는 상태 속성이 없는 워크플로입니다. 테일 샘플링은 트레이스 조립 자체가 안정적으로 유지될 때만 선택 품질을 높입니다.
알려진 실패 트레이스의 커버리지 테스트 실행
라우터, 검색 서비스, 모델 서버, 도구 샌드박스, 최종 홈 오토메이션 호출에서 각각 실패하는 제어된 워크플로를 만듭니다. 테스트 상관관계 ID를 할당하고 예상 스팬 순서를 기록한 다음, 구성된 확률 및 테일 정책을 충분히 시험할 수 있도록 각 실패를 여러 번 반복합니다.
엔드투엔드 트레이싱의 서비스 맵을 사용하여 보존된 모든 실패 트레이스에 루트, 중간 호출, 최종 오류 및 관련 정책 속성이 포함되어 있는지 확인합니다. 이와 별도로 샘플링되지 않은 메트릭에서 실패한 요청 수를 집계하여, 누락된 트레이스를 실패가 없었던 것으로 잘못 판단하지 않도록 합니다.
중요한 실패가 요구되는 비율로 보존되고 불완전한 트레이스를 명시적으로 측정할 수 있을 때만 통과로 간주합니다. 가치가 높은 오류 클래스에는 항상 샘플링 규칙을 적용하고, 버퍼 메모리를 제한하며, 트레이스를 인시던트 재구성에 의존하기 전에 컬렉터 재시작과 늦게 도착하는 스팬 조건을 테스트합니다.
기술 및 AI 허브
더 읽어보기

로컬 LLM은 프로세스가 다시 시작된 후 생성을 재개할 수 있나요?
LLM 생성 재개의 메커니즘 중심 설명, 공유 리소스의 트레이드오프, 쿼리 팬아웃 관련 자주 묻는 질문 3가지, 실용적인 검증 프로토콜.

홈 서버에서 하나의 통합 GPU로 임베딩과 동영상 트랜스코딩을 동시에 실행할 수 있나요?
공유 iGPU 임베딩과 트랜스코딩에 대한 메커니즘 중심 설명, 공유 리소스의 트레이드오프, 쿼리 팬아웃 관련 자주 묻는 질문 3가지, 그리고 실용적인 검증 방법.

액세스 토큰 수명이 보안과 가정 내 불편에 어떤 영향을 미치나요?
액세스 토큰 수명의 작동 원리를 우선으로 설명하고, 공유 리소스와의 트레이드오프, 쿼리 팬아웃에 관한 자주 묻는 질문 3가지, 실용적인 검증 프로토콜을 다룹니다.

