또한 사용자 지정 트랜잭션을 사용하여 앱 내의 주기적 작업 또는 요청이 완료된 후 계속되는 작업과 같은 백그라운드 작업을 계측할 수 있습니다. 백그라운드 작업을 계측하려면 계측하려는 핸들러를createBackgroundTransaction() 으로 래핑합니다. 트랜잭션이 끝날 때 endTransaction() 을(를) 호출해야 합니다.
또한 사용자 지정 계측을 사용하여 이미 계측된 웹 트랜잭션에 대한 가시성을 높이거나 자동으로 계측되지 않는 데이터베이스 및 기타 트랜잭션 내 작업에 대한 통찰력을 얻을 수 있습니다. 이렇게 하려면 사용자 지정 추적 프로그램에서 콜백을 래핑합니다. 사용자 지정 추적기는 특정 기능 또는 데이터베이스 호출과 같은 기존 트랜잭션 내의 추가 세그먼트에 대한 특정 메트릭을 생성하고 수집합니다.
// Some error handler that will end the response for us
if(util.handleError(err, res)){
return;
}
res.write(JSON.stringify(result.rows[0].id));
res.write('\n');
res.end();
}));
이 예는 pg.connect 및 client.query 모두를 래핑합니다. 이는 client.query 가 비동기 상위 함수( pg.connect )에 의해 호출되기 때문입니다. 그렇지 않으면 client.query 에서 데이터를 얻을 수 없습니다. 이렇게 하면 createTracer() 가 이러한 비동기 경계를 넘어 활성 트랜잭션을 전파할 수 있습니다.