사용률 하위 시스템을 사용하여 서비스의 느린 실행 모니터링
사용률 하위 시스템을 활성화하면 서비스 실행 기간에 대한 자세한 메트릭을 얻습니다. 이 하위 시스템의 서비스를 사용하여 다음 세부 정보를 검색합니다.
서비스가 실행을 완료하는 데 걸리는 시간(최소, 최대 및 평균 시간)
서비스가 실행된 횟수
통계는 서버가 마지막으로 재시작된 시간(밀리초)부터 기록되지만 통계 지속성 사용 옵션을 활성화하면 지속할 수 있습니다. WriteStatisticsReport 서비스를 사용하여 이러한 통계를 포함하는 CSV 파일을 만듭니다. ThingworxStorage 폴더에서 CSV 파일이 작성됩니다.
메트릭은 서비스가 완료된 후에만 수집됩니다. 서비스가 결국 서버를 다운시키는 무한 루프로 실행되는 경우 해당 서비스에 대한 시간은 기록되지 않습니다.
사용률 하위 시스템의 데이터를 내보내고 분석하여 장기 실행 서비스를 식별하는 것이 좋습니다. 느린 서비스를 식별한 경우 로깅 줄을 인쇄하도록 서비스를 업데이트합니다. 이러한 로그는 작업 기간을 검색할 수 있습니다. 특정 질의 또는 특정 매개 변수 집합에서 느린 동작을 담당하는 경우도 있습니다. 스크립트의 매개 변수를 로깅하는 것은 이 데이터를 쉽고 안전하게 캡처하는 방법입니다. 30초 넘게 걸리는 작업에 대한 세부 정보를 인쇄하도록 다음 스크립트를 확장할 수 있습니다. 필요에 따라 서비스 매개 변수 또는 기타 데이터를 인쇄하도록 스크립트를 추가로 업데이트할 수 있습니다.
var startTime= new Date();
// potentially slow operation
var endTime = new Date();
//calculate difference in seconds and print details only if operation takes over 30 seconds
var diff = (endTime.getTime() - startTime.getTime) / 1000 % 60;
if (diff > 30) logger.error("+++Slow operation: " + diff + "seconds "); // add any parameters or queries