Live Monitor를 사용한 캔버스 앱 디버깅
모든 캔버스 앱에서는 라이브 모니터가 기본적으로 제공됩니다. 라이브 모니터를 사용하면 Power Apps Studio 작성 과정에서 캔버스 앱에서 발생하는 이벤트를 추적하거나, 모니터를 사용하여 게시된 버전의 캔버스 앱을 디버깅할 수 있습니다. 자세한 정보: 라이브 모니터 개요
캔버스 앱에서 라이브 모니터 시작하기
앱을 작성할 때 모니터를 열려면
Power Apps에 로그인합니다.
새로운 앱을 생성하거나, 기존 앱을 편집하세요.
왼쪽 창에서 고급 도구를 선택하세요.
라이브 모니터 열기를 선택하세요.
이 작업을 수행하면 새 브라우저 탭에서 라이브 모니터가 열리고 기존 Power Apps Studio 세션에 연결됩니다.
현재 모니터링 세션을 Studio 세션으로 표시하는 알림이 상단에 나타납니다.
팁
라이브 모니터는 앱에 영향을 미치지 않습니다. 테스트 환경 또는 프로덕션 환경에서 모든 앱에 라이브 모니터를 사용할 수 있습니다.
게시된 앱에 대한 라이브 모니터 열기
라이브 모니터를 사용하여 웹 플레이어에 게시된 앱을 디버깅할 수도 있습니다.
게시된 앱에 대한 라이브 모니터를 열려면
Power Apps에 로그인합니다.
왼쪽 창에서 앱을 선택합니다.
목록에서 앱을 선택합니다.
세부정보 옆의 드롭다운 메뉴를 선택한 다음, 라이브 모니터를 선택하세요.
게시된 앱 재생을 선택하세요.
이 작업을 수행하면 게시된 앱이 새 브라우저 탭에서 열리고 현재 라이브 모니터 세션에 연결됩니다. 앱이 웹 플레이어에 로드되거나 게시된 앱과 상호 작용할 때 라이브 모니터에서 이벤트가 즉시 표시됩니다.
라이브 모니터는 현재 열려 있는 모니터링 세션이 앱의 게시된 버전을 위한 것이라는 알림도 표시합니다.
Power Apps 모바일에서 실행되는 앱의 경우(프리뷰)
따라와 위의 단계를 따르되, 게시된 앱 재생 대신 모니터 연결 복사를 선택하세요. 디바이스에서 복사된 링크를 사용하여 게시된 앱에 대한 모니터링 세션을 엽니다. 연결는 브라우저가 아닌 Power Apps 모바일을 사용하여 열어야 합니다.
참고
복사 모니터 연결 는 다음에서 사용 가능합니다. https://make.preview.powerapps.com
설정: 게시된 앱 디버그
게시된 앱의 Live Monitor에서 소스 표현식을 보려면 앱과 함께 표현식을 게시하도록 설정을 켜야 합니다. 이 설정은 기존 개발에서 디버그 파일을 생성하는 것과 유사합니다. 앱에 소스 식을 게시하는 것은 선택 사항입니다. 이 설정이 꺼져 있어도 앱에서 발생하는 이벤트를 볼 수 있지만 이러한 이벤트를 특정 식이나 수식에 매핑할 수는 없습니다.
이 설정을 사용하려면 파일>설정으로 이동한 다음 게시된 앱 디버그를 켭니다.
참고
이 설정을 사용하면 모든 사용자의 앱 성능에 부정적인 영향을 미칩니다. 영향을 최소화하려면 게시된 앱을 디버깅할 때 더 이상 소스 표현식을 볼 필요가 없는 즉시 이 설정을 사용 중단한 상태로 앱을 게시하세요.
라이브 모니터에서 이벤트 보기
앱에서 이벤트를 보려면 Power Apps Studio에서 앱을 재생하십시오. 라이브 모니터는 특정 세부 정보와 함께 발생하는 이벤트 표를 표시합니다.
예: 캔버스 앱과 함께 라이브 모니터 사용
이 예제에서는 Northwind 샘플 솔루션에 포함된 Northwind 샘플 데이터 앱을 사용합니다.
Northwind 샘플 솔루션 은 샘플 데이터를 로드하는 캔버스 앱입니다. Microsoft Dataverse 대신에 새로운 앱을 생성하거나 기존 앱을 사용할 수도 있습니다.
배경
앱이 배포되고 앱의 초기 버전의 성능 저하를 경험하는 시나리오를 고려하십시오. 이 앱은 명확한 패턴없이 간헐적으로 오류를 생성합니다. 앱에서 데이터 로드는 대부분 성공하지만 때때로 실패합니다.
라이브 모니터를 확인하면 예상대로 데이터 작업이 진행되는 것을 볼 수 있습니다. 그러나 특정 기간에 너무 많은 요청이 있음을 나타내는 HTTP 상태 코드 429를 가진 여러 응답도 표시됩니다.
이러한 이벤트를 선택하면 "속도 제한 초과. XX 초 후에 다시 시도하십시오."라는 오류가 표시됩니다.
분석
요청이 제한되는 이유를 이해하려면 문제에 대한 추가 분석이 필요합니다. 라이브 모니터에서 createRow 호출마다 ProgressCount.Text 속성에서 서로 다른 엔터티로 전송되는 여러 개의 getRows 요청이 있는 것을 확인할 수 있습니다. 이 엔터티는 앱이 행을 생성하는 엔터티가 아닙니다. ProgressCount.Text 수식은 다음 이미지에서 볼 수 있듯이 라이브 모니터에서 볼 수 있습니다.
추가된 각 레코드에 대해 수식이 다시 평가되고 여러 엔터티에서 CountRows 가 호출됩니다. 이 동작으로 인해 로그에 getRows 가 발생하는 이유는 CountRows 가 위임되지 않았기 때문입니다. Dataverse 레코드를 추가하라는 각 단일 요청에 대해 각 엔터티의 행을 계산하기 위해 잠재적으로 12개의 추가 요청을 할 수 있습니다.
이러한 추가 요청은 Dataverse 플랫폼이 서비스에 대한 요청을 제한하기 때문에 간헐적으로 오류를 발생시킵니다. 이것은 또한 전반적인 성능 문제를 설명합니다.