2014-01-13 2 views
2

Screenshot from New RelicNew Relic의 Play Framework 2.0 웹 트랜잭션 추적에서 Actor [akka : \ play deadLetters] .tell()은 무엇을 의미합니까?

나는 Heroku에서 호스팅되는 Play Framework 2.0 Java 응용 프로그램을 가지고 있으며 자유 계층 New Relic Addon을 사용하여 모니터링하고 있습니다. 대부분의 거래에서 대부분의 시간은 New Relic 레이블에 Actor[akka:\\play\deadLetters].tell()으로 사용됩니다. 이 시간에 응용 프로그램이 실제로 수행하는 작업은 무엇입니까?

답변

0

간단한 설명으로 Akka (http://en.wikipedia.org/wiki/Akka_(toolkit); http://akka.io/)는 통합 중 하나 인 Play 프레임 워크의 일부입니다. Play의 애플리케이션이 모니터링을 위해 인스트루먼트되어 있으므로 Akka가 웹 트랜잭션으로 추적 한 HTTP 요청이 있습니다. 즉, 우리는 그것을 측정합니다. 구체적으로 무엇을하는지에 관해서는 첫 번째 문장에서 Play 문서 또는 Akka 링크를 확인하는 것이 좋습니다.

당신이 3.2.0보다 자바 에이전트 버전 이전의 경우, 자바 에이전트를 업그레이드하는 것은 당신에게 다음과 같이 변경 줄 것이다 :

akka.actor.ActorKilledException은 기본적

ActorKilledException에 의해 무시됩니다 일반적으로 정상적으로 작동하는 응용 프로그램에서 제어 메커니즘으로 Play 응용 프로그램에 발생합니다. 이전 버전에서이 예외는보고 된 오류율을 증가 시켰습니다. 이제 예외가 기본적으로 채워집니다. 자신의 예외를 제공하거나 ActorKilledException을 생략하기 위해 기본 ignore_errors 목록을 무시할 수 있습니다.

이 정보가 도움이되는지 또는 도움이 더 필요한 경우 알려주십시오.

지니 백조 새로운 유물 지원 내가 NewRelic 데이터를 수집하는 방법을 잘 알고 아니에요

+0

안녕하세요 Jeanie, stackoverflow에서 나를 찾아 주셔서 고마워요. 나는 New Relic 에이전트를 3.3.2 버전으로 업그레이드했는데, 여전히 같은 것을 보았다. –

+0

에이전트 업그레이드와 함께 JVM을 다시 시작 했습니까? 그렇지 않으면 새 버전을 선택하지 않습니다. – Jeanie

+0

예, 모든 Heroku 배포가 JVM을 다시 시작합니다. 가장 좋은 점은 내 응용 프로그램 코드의 일부가 이번에는 사용되지만, New Relic 에이전트는 적어도 Play Framework 2 응용 프로그램에서 그 내용을 보여줄 정도로 자세한 내용을보고하지 않는 것으로 보입니다. –

0

그러나 deadLetters 수신 특별한 배우가 "죽은 (또는 존재하지 않는)에 배우를 보낸 모든 메시지" . dead letters in the official docs에 대한 자세한 내용을 볼 수 있습니다.

예를 들어 subscribe to these dead letters and print them (소스를 추적하여 고칠 수있는 충분한 정보를 제공 할 수 있음)입니다. 많은 데드 레터가 발생할 수있는 전형적인 경우는 정지 한 액터로 메시지를 보낼 때 누군가가 메시지를 계속 보내고있는 경우입니다.이 메시지는 데드 레터 인쇄 후에는 감지 할 수 있어야합니다.

관련 문제