의 스크립팅 퍼포먼스 분석

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기5분
  • 퍼포먼스 분석 는 데이터 쿼리를 퍼포먼스 분석 위한 스크립트 및 API에 사용할 여러 스크립트 객체를 제공합니다. 스크립트는 세부 항목 매핑 역할을 하거나 표시기에서 값을 계산하는 데 사용됩니다.

    스크립트에 대한 팁

    • 일반적으로 스크립트는 score_start 및 score_end 변수를 사용하여 날짜 처리와 함께 연령과 같은 표시기를 지원할 때만 사용하십시오.
    • 불필요한 필드를 제한합니다. 추가 닷워킹 필드를 포함할 때마다 쿼리에 조인을 추가합니다.
    • 성능 향상을 위해 수동 세부 항목을 데이터베이스 뷰 로 대체하십시오.
    • 일반적인 기능에는 스크립트 포함을 사용해 보십시오. 자세한 내용은 스크립트 포함을 참조하십시오.
    • 데이터가 보고에 필요한 방식으로 구조화되어 있지 않으면 스크립트를 생성하는 대신 운영 테이블에 '보고 필드'를 추가해 보십시오. 자세한 내용은 이 커뮤니티 게시물을 참조하십시오.
    • 점수 또는 스냅샷 테이블을 쿼리 퍼포먼스 분석 하는 백그라운드 스크립트를 실행하는 경우 해당 애플리케이션에 대한 적절한 역할이 없으면 범위가 지정된 애플리케이션에 대한 데이터에 액세스할 수 없습니다.
    경고:
    퍼포먼스 분석 스크립트 또는 수식 표시기에서 GlideRecords 또는 GlideAggregates를 사용하지 마십시오. 이러한 작업을 사용하여 원하는 결과를 얻어야 하는 경우도 있지만 비용이 많이 들며, 실행 횟수가 수십만 번으로 늘어날 수 있습니다. 이 작업을 사용하기 전에 대안은 없는지 확인합니다.

    세부 항목 매핑 및 표시기 스크립트

    세부 항목 매핑 스크립트는 일반적으로 세부 항목 요소의 sys_id 또는 정수를 반환하여 버킷에 점수를 넣습니다. 표시기 스크립트는 하나 이상의 필드에서 계산된 점수를 반환합니다. 동일한 스크립트가 세부 항목 매핑 스크립트와 표시기 스크립트 역할을 모두 수행할 수 있습니다.

    세부 항목 스크립트

    예를 들어 인시던트 테이블의 opened_at 필드를 사용하는 제공된 Incident.Age.Days 스크립트를 생각해 보십시오. 이 스크립트는 인시던트 연령대(일) 버킷 그룹을 세부 항목 소스로 사용하는 연령 세분화에 대한 상세 항목 매핑 역할을 합니다.

    var diff=function(x,y){return y.dateNumericValue() - x.dateNumericValue();};
    var days=function(x,y){return diff(x,y)/(24*60*60*1000);};
    days(current.opened_at, score_end);

    이 예에서 current.opened_at 는 현재 평가된 기록이 열렸을 때의 타임스탬프를 가져옵니다. score_end 스크립트 변수는데이터 수집기에서 제공되며 수집되는 기간에 바인딩됩니다. 예를 들어 월별 표시기를 수집하는 경우 score_end 는 월말입니다. 여기서 인시던트가 오픈된 시간의 타임스탬프는 수집 기간 종료의 타임스탬프에서 차감되고 결과는 일로 변환됩니다.

    이 예시에는 이 스크립트의 필드 필드에 지정된 Incident.opened_at 필드가 포함되어 있습니다. 필드 필드에서 정의하지 않고도 score_startscore_end 사용할 수 있습니다.

    Performance Analytics에서 스크립트 생성

    스크립트를 만들려면 먼저 스크립트가 적용되는 팩트 테이블을 선택하고 필드를 명시적으로 선택합니다.

    시작하기 전에

    필요한 역할: admin, pa_admin. 테이블의 범위가 지정된 애플리케이션의 퍼포먼스 분석 데이터에 액세스하려면 해당 애플리케이션에 대한 적절한 관리자 역할도 필요합니다.

    프로시저

    1. 다음으로 이동 모두 > 퍼포먼스 분석 > 스크립트 을 클릭하고 신규를 클릭합니다.
    2. 스크립트에 설명적인 이름을 지정합니다.
    3. 스크립트가 적용되는 팩트 테이블을 선택합니다.
      동일한 팩트 테이블을 사용하는 표시기만 이 스크립트를 사용할 수 있습니다.
    4. 스크립트에 사용할 팩트 테이블 필드(있는 경우)를 선택합니다.
      레이블별로 필드를 선택합니다.
    5. 스크립트를 작성합니다.
      스크립트는 다음 관계 및 제한 사항을 준수해야 합니다.
      • 이 양식 및 스크립트 변수에서 선택한 필드만 포함할 수 있습니다. 자세한 내용은 퍼포먼스 분석 변수에 대한 섹션을 참조하십시오.
      • 스크립트에서 필드를 사용할 때는 열 이름을 사용합니다. 필요한 경우 팩트 테이블에서 열 이름을 조회합니다.
      • 데이터베이스 뷰에서 필드를 사용하는 경우 프리픽스를 포함해야 합니다. 예를 들어 incident_sla 데이터베이스 뷰에는 taskslatable 프리픽스가 있는 task_sla 테이블이 포함됩니다. Task_sla에는 business_duration 열이 포함됩니다. incident_sla 데이터베이스 뷰에서 business_duration 필드를 사용하려면 taskslatable_business_duration로 작성합니다. 데이터베이스 뷰에 액세스할 수 없는 경우 시스템 관리자에게 프리픽스를 찾아달라고 요청하십시오.

    다음에 수행할 작업

    스크립트를 생성한 후 스크립트를 사용하는 세부 항목 매핑 또는 표시기를 만듭니다. 세부 항목 매핑 또는 표시기 탭에서 새로 만들기를 클릭하여 세부 항목 매핑 또는 표시기 양식을 열 수 있습니다. 이 스크립트를 사용하는 세부 항목 매핑과 표시기가 해당 탭에 나열됩니다.

    퍼포먼스 분석 변수

    스크립트와 수식 표시기에 퍼포먼스 분석 여러 변수를 사용할 수 있습니다.

    스크립트와 수식에 퍼포먼스 분석 다음 변수를 사용할 수 있습니다.

    • score_start: 첫 번째 표시기 점수 수집 날짜의 첫 번째 초. 스크립트의 경우 수집 작업에 대한 실행 사용자의 시간대와 데이터베이스 시간대(GMT) 간의 차이를 기준으로 시간이 계산됩니다. 수식의 경우 시간은 수식을 실행하는 사용자의 시간대와 GMT 간의 차이를 기준으로 계산됩니다. 사용자는 대시보드 위젯 또는 에서 분석 허브수식 표시기를 보면서 수식을 실행합니다.
    • score_end: 마지막 표시기 점수 수집 날짜의 마지막 초입니다. 시간은 score_start와 동일한 방식으로 계산됩니다.
    • pa: 스크립트에서 사용할 수 없는 수식 변수로, 속성 및 메서드 집합을 분석 허브 제공합니다.

    스크립트에서 점수 컬렉션 시작 및 종료 변수는 GlideElementGlideObject 객체입니다. 다음 예제와 같이 getGlideObject()를 호출하여 이러한 변수에서 GlideDateTime 객체를 가져올 수 있습니다. gs.log("Score main = " + score_end.getGlideObject().getDayOfWeek());

    수식에서 점수 컬렉션 시작 및 종료 변수는 이미 GlideDateTime 객체입니다. 따라서 다음 예제와 같이 getGlideObject()를 호출하지 않고 변수를 직접 사용할 수 있습니다. gs.log("Score main = " + score_end.getDayOfWeek());

    시작 및 종료 변수의 값은 수집되는 기간에 바인딩됩니다. 예를 들어 월별 표시기를 수집하는 경우 score_end 는 월말입니다.

    score_startscore_end 값은 관련 사용자의 시간대를 기준으로 계산됩니다. 스크립트의 경우 퍼포먼스 분석 이 시간대는 수집 작업의 실행 시간대입니다. 수식의 경우 대시보드 위젯에서 수식 표시기를 보는 사용자의 시간대 또는 분석 허브. 따라서 시간대가 다른 사용자는 수식의 score_start 날짜와 score_end 서로 다를 수 있습니다.