지원되는 프레임워크 와 함께 New Relic for Java를 사용하는 경우 New Relic은 프레임워크에서 얻은 트랜잭션 이름을 기반으로 트랜잭션을 그룹화합니다. 그렇지 않으면 New Relic은 구성 요소를 기반으로 트랜잭션을 그룹화합니다. 구성 요소는 트랜잭션 중에 호출되는 JSP, 서블릿 및 필터입니다.
중요
거래 이름 끝에 대괄호 [suffix]
를 사용하지 마십시오. New Relic은 자동으로 이름에서 괄호를 제거합니다. 대신 필요한 경우 괄호 (suffix)
또는 기타 기호를 사용하십시오.
트랜잭션 그룹화
New Relic Java 에이전트는 유사한 트랜잭션을 단일 이름으로 그룹화합니다. New Relic이 트랜잭션을 그룹화하지 않은 경우 각각의 고유한 URI는 고유한 이름을 생성합니다. 예를 들어, 웹 애플리케이션은 다음과 같은 URI를 생성할 수 있습니다.
/user/123/control_panel.jhtml/user/456/control_panel.jhtml/user/789/control_panel.jhtml
그룹화하지 않으면 3개의(상당히 의미 없는) 개별 메트릭이 생성됩니다. 따라서 New Relic은 의미 있는 레이블로 트랜잭션을 그룹화하려고 시도합니다. 메트릭 그룹화에 대한 자세한 내용은 메트릭 그룹화 문제 를 참조하십시오.
트랜잭션 이름은 URI 형식을 사용합니다. 예를 들어:
MyTransactionName/MyTransactionName/MyServlet/MyTransactionName
지원되는 프레임워크를 사용하는 경우 New Relic은 프레임워크에서 트랜잭션 이름을 가져옵니다. 예를 들어, Spring의 경우 트랜잭션 이름은 일반적으로 org.springframework.web.servlet.ModelAndView
객체에 대한 getViewName
호출에서 나옵니다.
지원되는 프레임워크를 사용하지 않는 경우 New Relic은 구성 요소를 기반으로 트랜잭션의 이름을 지정합니다. 정확한 트랜잭션 이름은 우선 순위가 가장 높은 구성 요소에 의해 결정됩니다. 여러 구성 요소가 우선 순위를 공유하는 경우 에이전트는 호출된 첫 번째 구성 요소를 사용합니다.
명명 우선 순위
New Relic은 가장 높은 우선 순위에서 가장 낮은 우선 순위에 따라 각 트랜잭션에 이름을 할당합니다.
구성 요소 기반 이름 사용 안 함
일부 애플리케이션의 경우 구성 요소 기반 트랜잭션 이름 지정을 비활성화할 수 있습니다. newrelic.yml 파일에서 이 값을 설정하세요.
enable_auto_transaction_naming: false
주의
API 호출을 구현하여 트랜잭션 이름을 지정하지 않는 한 자동 트랜잭션 이름 지정을 비활성화하면 측정항목 그룹화 문제 가 발생할 가능성이 매우 높습니다.