Skip to main content
W&B Weave의 트레이싱 시스템은 Op, Call, 트레이스, 스레드라는 서로 연관된 네 가지 개념을 기반으로 합니다. 이 페이지에서는 각 개념을 정의하고 개념 간의 관계를 설명합니다. 이를 통해 애플리케이션을 계측하고 실행할 때 Weave가 캡처하는 내용을 이해할 수 있습니다.

Op

Op은 버전이 관리되고 추적되는 함수입니다. 함수를 @weave.op()(Python)로 데코레이트하거나 weave.op()(TypeScript)로 래핑하면 Weave가 해당 함수의 코드, 입력, 출력, 실행 메타데이터를 자동으로 캡처합니다. Op는 트레이싱, 평가 Scorer를 비롯해 추적되는 모든 연산의 기본 구성 요소입니다.

Call

Call은 Op의 실행을 로깅한 기록입니다. Op가 실행될 때마다 Weave는 다음 정보를 캡처하는 Call을 생성합니다.
  • 입력 인수
  • 출력 값
  • 실행 시간 및 지연 시간
  • 부모-자식 관계(중첩된 Call의 경우)
  • 발생한 모든 오류
Call은 Weights & Biases UI에서 트레이스로 표시되며, 디버깅, 분석, 평가에 필요한 데이터를 제공합니다. Call 객체의 전체 구조와 속성은 Call 스키마 레퍼런스를 참조하세요. Call은 OpenTelemetry 데이터 모델의 span과 비슷합니다. Call은 다음과 같은 특징이 있습니다.
  • 동일한 실행 컨텍스트에 속한 Call의 컬렉션인 트레이스에 포함될 수 있습니다.
  • 부모 Call과 자식 Call을 가질 수 있으며, 이들이 트리 구조를 이룹니다.

트레이스

트레이스는 동일한 실행 컨텍스트를 공유하는 Call들로 이루어진 전체 트리입니다. 각 트레이스에는 ID(trace_id)가 있으며, 이 ID로 Call의 전체 트리를 조회할 수 있습니다. Call의 ID로 Call 정보를 조회하면 Weave는 지정한 Call의 데이터만 반환하고 하위 Call의 데이터는 반환하지 않습니다.

스레드

스레드는 하나의 세션 또는 대화와 관련된 트레이스의 모음입니다. 스레드를 사용하면 개별 Call 단위가 아니라 대화 전체를 분석하거나 점수를 매길 수 있습니다. 다음 다이어그램은 스레드, 트레이스, Call 간의 관계를 보여줍니다.
마지막 수정일 2026년 9월 30일