개요
트레이싱(tracing)은 영어 동사 "trace"(따라가다, 추적하다, 베끼다)에서 파생된 명사로, 한국어에서 여러 분야에 걸쳐 서로 다른 의미로 사용되는 외래어 개념이다. 가장 널리 알려진 의미는 미술·제도 분야에서 원본의 선을 그대로 따라 그리는 복사 기법을 가리키며, 소프트웨어 공학과 컴퓨터 그래픽 분야에서도 각각 독자적인 의미로 쓰인다.
미술·제도 분야에서의 트레이싱
미술과 제도 분야에서 트레이싱은 원본 도면이나 그림 위에 반투명한 얇은 종이(트레이싱 페이퍼, 투사지)를 올려놓고 원본의 선을 그대로 따라 그려 복사하는 기법을 의미한다. 디지털 작업 환경에서는 원본 이미지의 투명도를 조절하거나 별도의 레이어를 사용하여 원본의 형태를 따라 그리는 방식이 일반적이다.
이러한 트레이싱은 초보자의 드로잉 연습, 스케치·밑그림·레이아웃 제작, 일러스트와 애니메이션 작업에서 정확한 형태나 동작을 재현하는 데 활용된다. 트레이싱은 원본을 보면서 옆에 새로 그리는 모작(模寫)과는 방식상 차이가 있으며, 원본 위에 종이나 레이어를 올려 직접 선을 따라 그린다는 점에서 구분된다.
원본 저작물을 원작자의 허가 없이 트레이싱하여 공개하거나 상업적으로 이용하는 행위는 저작권 침해 및 표절 문제로 이어질 수 있으며, 국내에서는 이를 "무단 트레이싱"이라 부르기도 한다.
설계·공학 분야에서의 트레이싱
기계 설계, 건축, 전기·전자 분야 등에서 트레이싱은 원도(原圖) 위에 트레이싱 페이퍼를 포갠 뒤 원도의 선을 트레이싱 페이퍼에 복사하는 작업을 뜻한다. 이 방식은 청사진 제작, 도면 복사, 현장용 작업지 준비 등에 전통적으로 사용되어 왔다.
소프트웨어 분야에서의 트레이싱
소프트웨어 공학에서 트레이싱은 프로그램 실행 과정에서 발생하는 정보를 기록하기 위한 로깅(logging)의 특수한 용법을 가리킨다. 한국어 위키백과의 "트레이싱" 문서는 주로 이 의미를 다루고 있는데, 이에 따르면 트레이싱 정보는 주로 프로그래머의 디버깅 목적이나 시스템 관리자·기술 지원 인력·소프트웨어 감시 도구가 소프트웨어의 일반적인 문제를 진단하는 데 사용된다.
트레이싱과 일반적인 이벤트 로깅은 구분이 명확하지 않은 경우도 있으나, 트레이싱은 주로 개발자가 저수준의 상세한 실행 정보를 기록하는 데 쓰이는 반면, 이벤트 로깅은 시스템 관리자가 고수준의 감사·진단 정보를 얻는 데 초점을 둔다는 점에서 차이가 있다.
이와 관련된 구체적인 기술로는 리눅스 커널의 ftrace, LTTng 등이 있다.
컴퓨터 그래픽 분야에서의 트레이싱
컴퓨터 그래픽 분야에서 레이 트레이싱(ray tracing)과 패스 트레이싱(path tracing)은 빛의 경로를 물리적으로 시뮬레이션하여 사실적인 이미지를 생성하는 렌더링 기법을 의미한다. 이 경우 트레이싱은 "빛의 궤적을 따라가며 계산한다"는 의미로 사용된다.
분산 시스템에서의 트레이싱
최신 소프트웨어 아키텍처 분야에서는 마이크로서비스 환경에서 하나의 요청이 여러 서비스를 거치는 경로를 추적하는 분산 트레이싱(distributed tracing)이라는 개념이 존재한다. 이는 2010년대 초반 Google의 Dapper 논문에서 비롯되었으며, 현재는 OpenTelemetry 등의 표준 도구가 널리 사용되고 있다.
어원
트레이싱은 라틴어계 영어 동사 "trace"에서 파생된 명사형으로, "trace"는 흔적을 따라가다 또는 선을 따라 그리다는 의미를 지닌다. 한국어에서 "트레이싱"은 이 영어 단어가 외래어로 유입되어 사용되고 있는 것이다.