메인 콘텐츠로 건너뛰기
이 페이지에서는 애플리케이션에서 W&B Weave tracing을 비활성화하는 방법을 설명합니다. 예를 들어 로컬 개발 중이거나 테스트 환경에서 작업할 때, 또는 tracing이 필요하지 않은 특정 코드 경로에서는 트레이스가 로깅되지 않도록 해야 할 수 있습니다. 이럴 때 이러한 옵션을 사용하세요. 필요한 제어 범위에 가장 잘 맞는 방법을 선택하세요. 프로그램 전체, 클라이언트별, 또는 코드 블록별로 선택할 수 있습니다.

환경 변수

애플리케이션 코드를 수정하지 않고 전체 프로그램에서 트레이싱을 비활성화하려는 경우 환경 변수를 사용하세요. 전체 프로그램에서 트레이싱을 무조건 비활성화하려면 환경 변수 WEAVE_DISABLED=true를 설정하면 됩니다. WEAVE_DISABLED는 함수 정의 시점에 한 번만 조회됩니다. 이 변수로는 런타임 중에 트레이싱을 표시/숨기기할 수 없습니다.

클라이언트 초기화

특정 Weave 클라이언트에 대해 조건부로 트레이싱을 비활성화하려면 init 설정에서 disabled 플래그를 사용해 클라이언트를 초기화하세요.
import weave

# 클라이언트 초기화
client = weave.init(..., settings={"disabled": True})

컨텍스트 관리자

특정 코드 블록 내에서만 조건부로 트레이싱을 비활성화하려면 트레이싱 컨텍스트 관리자를 사용할 수 있습니다. with tracing_disabled()를 사용하면 with 블록 내부에서 실행되는 함수 호출에 대해서만 트레이싱을 억제할 수 있습니다. 애플리케이션 코드에서 이를 사용해 어떤 호출을 로깅하지 않을지 범위를 지정하세요.
import weave
from weave.trace.context.call_context import tracing_disabled

client = weave.init('your-team/your-project-name')

@weave.op
def my_op():
    ...

with tracing_disabled():
    my_op()
함수가 정의될 때 트레이싱 동작은 고정되지만, 이를 애플리케이션 로직과 결합하면 런타임 시점에 제어할 수 있습니다. 예를 들어, 컨텍스트 관리자를 조건문으로 감싸 런타임 값을 기준으로 트레이싱을 동적으로 활성화하거나 비활성화할 수 있습니다.
if should_trace:
    my_op()
else:
    with tracing_disabled():
        my_op()