Firebase Performance Monitoring은 유사한 네트워크 요청에 대한 데이터를 자동으로 집계하여 네트워크 요청 성능의 추세를 파악하는 데 도움을 줍니다.
하지만 앱의 사용 사례를 더 효과적으로 지원하기 위해 Firebase가 특정 네트워크 요청 데이터를 집계하는 방식을 맞춤설정해야 하는 경우도 있습니다. 네트워크 요청의 데이터 집계를 맞춤설정하는 두 가지 방법으로 커스텀 URL 패턴으로 데이터 집계와 성공률 계산 방식 맞춤설정이 있습니다.
커스텀 URL 패턴으로 데이터 집계
각 요청에 대해 Firebase는 네트워크 요청의 URL이 URL 패턴과 일치하는지 확인합니다. 요청 URL이 URL 패턴과 일치하면 Firebase에서 자동으로 요청의 데이터를 해당 URL 패턴으로 집계합니다.
커스텀 URL 패턴을 만들어 Firebase가 파생된 자동 URL 패턴 매칭으로 캡처하지 않는 특정 URL 패턴을 모니터링할 수 있습니다. 예를 들어 커스텀 URL 패턴을 사용하여 특정 URL의 문제를 해결하거나 시간의 경과에 따라 특정 URL 집합을 모니터링할 수 있습니다.
Firebase에서는 모든 URL 패턴(커스텀 URL 패턴 포함)과 집계된 데이터를 trace 테이블의 네트워크 요청 하위 탭에 표시하며 trace 테이블은 Firebase Console의 성능 대시보드 하단에서 확인할 수 있습니다.
커스텀 URL 패턴 매칭은 어떻게 작동하나요?
Firebase는 구성된 모든 커스텀 URL 패턴과 요청 URL의 매칭을 시도한 후 자동 URL 패턴 매칭으로 돌아갑니다. 커스텀 URL 패턴과 일치하는 요청이 있는 경우 Firebase는 이러한 요청의 데이터를 커스텀 URL 패턴으로 집계합니다.
요청의 URL이 둘 이상의 커스텀 URL 패턴과 일치하는 경우 Firebase는 경로의 왼쪽에서 오른쪽으로 일반 텍스트 > *
> **
의 구체성 순서에 따라 요청을 가장 구체적인 커스텀 URL 패턴에만 매핑합니다. 예를 들어 example.com/books/dog
에 대한 요청은 두 개의 커스텀 URL 패턴과 일치합니다.
example.com/books/*
example.com/*/dog
그러나 example.com/books/*
의 맨 왼쪽 세그먼트 books
가 example.com/*/dog
의 맨 왼쪽 세그먼트 *
보다 우선하므로 example.com/books/*
패턴이 가장 구체적인 일치 URL 패턴입니다.
새 커스텀 URL 패턴을 만들 때는 다음 사항에 유의하세요.
새 커스텀 URL 패턴을 만들어도 이전 요청의 일치 항목 및 집계된 데이터는 영향을 받지 않습니다. Firebase는 요청 데이터를 소급하여 다시 집계하지 않습니다.
새 커스텀 URL 패턴을 만들면 이후 요청에만 적용됩니다. Performance Monitoring이 새 커스텀 URL 패턴으로 데이터를 수집하고 집계하는 데는 최대 12시간이 걸릴 수 있습니다.
커스텀 URL 패턴 만들기
Firebase Console의 성능 대시보드 하단에 있는 trace 테이블의 네트워크 요청 하위 탭에서 커스텀 URL 패턴을 만들 수 있습니다.
새 커스텀 URL 패턴을 만들려면 프로젝트 구성원이 소유자 또는 편집자여야 하지만, 커스텀 URL 패턴과 집계된 데이터는 모든 프로젝트 구성원이 볼 수 있습니다.
앱당 최대 총 400개의 커스텀 URL 패턴을 만들 수 있으며 해당 앱의 도메인당 최대 100개의 커스텀 URL 패턴을 만들 수 있습니다.
커스텀 URL 패턴을 만들려면 호스트 이름으로 시작하고 그 뒤에 경로 세그먼트가 뒤따라야 합니다. 호스트 이름은 유효한 도메인을 포함해야 하며 필요에 따라 하위 도메인을 포함할 수 있습니다. 다음 경로 세그먼트 구문을 사용하여 URL과 일치할 수 있는 패턴을 만드세요.
- 일반 텍스트 - 정확한 문자열과 일치합니다.
*
- 첫 번째 하위 도메인 세그먼트 또는 단일 경로 세그먼트 내 임의 문자열과 일치합니다.**
- 임의 경로 서픽스와 일치합니다.
다음 표에는 몇 가지 가능한 커스텀 URL 패턴 매칭에 대한 설명이 나와 있습니다.
매칭 대상 | 커스텀 URL 패턴 예시 | 이 URL 패턴과 일치하는 항목의 예시 |
---|---|---|
정확한 URL | example.com/foo/baz |
example.com/foo/baz
|
임의 단일 경로 세그먼트(* ) |
example.com/*/baz |
example.com/foo/baz example.com/bar/baz
|
example.com/*/*/baz |
example.com/foo/bar/baz example.com/bah/qux/baz
|
|
example.com/foo/* |
example.com/foo/baz example.com/foo/bar
참고: 이 패턴은 |
|
임의 경로 서픽스(** ) |
example.com/foo/** |
example.com/foo example.com/foo/baz example.com/foo/baz/more/segments
|
subdomain.example.com/foo.bar/** |
subdomain.example.com/foo.bar subdomain.example.com/foo.bar/baz subdomain.example.com/foo.bar/baz/more/segments
|
|
첫 번째 하위 도메인 세그먼트(* ) |
*.example.com/foo |
bar.example.com/foo baz.example.com/foo |
커스텀 URL 패턴 및 해당 데이터 보기
Firebase에서는 모든 URL 패턴(커스텀 URL 패턴 포함)과 집계된 데이터를 trace 테이블의 네트워크 요청 하위 탭에 표시하며 trace 테이블은 Firebase Console의 성능 대시보드 하단에서 확인할 수 있습니다.
커스텀 URL 패턴만 보려면 trace 테이블의 네트워크 요청 하위 탭에 있는 드롭다운 메뉴에서 커스텀 패턴을 선택합니다. 커스텀 URL 패턴으로 집계된 데이터가 없는 경우에는 이 목록에만 표시됩니다.
URL 패턴으로 집계된 데이터의 데이터 보관 기간이 종료되면 URL 패턴에서 해당 데이터가 삭제됩니다. 커스텀 URL 패턴으로 집계된 모든 데이터가 만료되어도 Firebase Console에서 커스텀 URL 패턴이 삭제되지는 않습니다. 대신 Firebase에서는 trace 테이블의 네트워크 요청 하위 탭에 있는 커스텀 패턴 목록에 '빈' 커스텀 URL 패턴을 계속 표시합니다.
커스텀 URL 패턴 삭제
프로젝트에서 커스텀 URL 패턴을 삭제할 수 있으나 자동 URL 패턴은 삭제할 수 없습니다.
성능 대시보드에서 trace 테이블까지 아래로 스크롤한 다음 네트워크 요청 하위 탭을 선택합니다.
네트워크 요청 하위 탭의 드롭다운 메뉴에서 커스텀 패턴을 선택합니다.
삭제하려는 커스텀 URL 패턴의 행으로 마우스를 가져갑니다.
행의 맨 오른쪽에 있는
를 클릭하고 커스텀 패턴 삭제를 선택한 다음 대화상자에서 삭제를 확인합니다.
커스텀 URL 패턴을 삭제할 때는 다음 사항에 유의하세요.
이후의 모든 요청이 일치하는 커스텀 URL 패턴 중 두 번째로 구체적인 패턴에 매핑됩니다. Firebase는 일치하는 커스텀 URL 패턴을 찾지 못한 경우 자동 URL 패턴 매칭으로 되돌아갑니다.
이전 요청의 일치 항목 및 집계된 데이터는 커스텀 URL 패턴을 삭제해도 영향을 받지 않습니다.
해당하는 데이터 보관 기간이 종료될 때까지 네트워크 요청 하위 탭(모든 네트워크 요청 선택)에서 삭제된 커스텀 URL 패턴과 패턴의 집계된 데이터에 계속 액세스할 수 있습니다. 삭제된 커스텀 URL 패턴의 집계된 데이터가 모두 만료되면 커스텀 URL 패턴이 삭제됩니다.
네트워크 요청 하위 탭(커스텀 패턴 선택)에는 삭제된 커스텀 URL 패턴이 표시되지 않습니다.
다음 단계
- 앱 성능을 저하시키는 네트워크 요청에 대한 알림을 설정합니다. 예를 들어 특정 URL 패턴의 응답 시간이 설정된 기준을 초과하면 팀에 이메일 알림을 보내도록 구성할 수 있습니다.
성공률 계산 방식 맞춤설정
Firebase가 각 네트워크 요청과 관련하여 모니터링하는 측정항목 중 하나는 요청의 성공률입니다. 성공률은 전체 응답 대비 성공한 응답의 비율입니다. 이 측정항목을 사용하면 네트워크 및 서버 장애를 측정할 수 있습니다.
특히 Firebase는 100~399 범위의 응답 코드가 있는 네트워크 요청을 성공한 응답으로 자동 집계합니다.
Firebase에서 성공으로 자동 집계되는 응답 코드 외에 특정 오류 코드를 '성공적 응답'으로 집계하는 방법으로 성공률 계산을 맞춤설정할 수 있습니다.
예를 들어 앱에 검색 엔드포인트 API가 있는 경우 검색 엔드포인트에 404 응답이 예상되므로 404 응답을 '성공'으로 집계할 수 있습니다. 이 검색 엔드포인트에 매시간 100개의 샘플이 있고 그 중 60개는 200 응답, 40개는 404 응답이라고 가정해 보겠습니다. 성공률을 구성하기 전에는 성공률이 60%입니다. 404 응답을 성공으로 집계하도록 성공률 계산을 구성하면 성공률은 100%가 됩니다.
성공률 계산 구성
네트워크 URL 패턴에 대해 성공률 계산을 구성하려면 firebaseperformance.config.update
권한이 있어야 합니다. 기본적으로 Firebase 성능 관리자, Firebase 품질 관리자, Firebase 관리자, 프로젝트 소유자 또는 편집자 역할에 이 권한이 포함되어 있습니다.
- Firebase Console의 Performance Monitoring 대시보드 탭으로 이동한 후 성공률 계산을 구성할 앱을 선택합니다.
- 화면 하단의 trace 테이블까지 아래로 스크롤하고 네트워크 요청 탭을 선택합니다.
- 성공률 계산을 구성할 URL 패턴을 찾습니다.
- 행의 맨 오른쪽에 있는 더보기 메뉴( )를 열고 성공률 구성을 선택합니다.
- 화면에 표시된 안내에 따라 성공적인 응답 코드로 집계할 응답 코드를 선택합니다.