Skip to main content
때때로 큰 트레이스 데이터는 Weave UI에서 잘려 보일 수 있습니다. 이는 기본 트레이스 출력이 Weave가 직렬화할 수 없는 원시 맞춤형 Python 객체이기 때문입니다. 이 페이지에서는 전체 트레이스 데이터를 노출해 UI에 표시하는 방법을 설명합니다. 큰 트레이스 데이터가 잘리지 않도록 하려면, 모든 트레이스 데이터를 포함하는 문자열 딕셔너리를 반환하도록 to_dict 방법을 정의하세요. Weave는 딕셔너리를 직렬화할 수 있으므로, 이 접근 방식을 사용하면 UI가 객체의 전체 상태에 액세스할 수 있습니다. 다음 예시에서는 이 패턴을 보여줍니다.
import weave

class MyObj:
    def __init__(self, x: int):
        self.x = x

    def __repr__(self):
        return f"MyObj(x={self.x})"

    def to_dict(self):
        return {"x": self.x}

@weave.op()
def make_my_obj():
    x = "s" * 10_000
    return MyObj(x)
to_dict 방법을 사용하면 Weave가 객체를 직렬화하여, 가공되지 않은 표현을 잘라내는 대신 그 내용을 트레이스 UI에 표시할 수 있습니다.
트레이스 데이터