Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

속성을 사용하여 데이터 필터링

성능 모니터링을 사용하면 특성을 사용하여 성능 데이터를 세분화하고 다양한 실제 시나리오에서 앱 성능에 집중할 수 있습니다.

추적 테이블( 성능 대시보드 하단에 있음)에서 추적 이름을 클릭하면 관심 있는 메트릭으로 드릴다운할 수 있습니다. 필터 버튼(화면 왼쪽 상단)을 사용하여 속성별로 데이터를 필터링합니다. 예를 들면 다음과 같습니다.

속성별로 필터링되는 Firebase Performance Monitoring 데이터의 이미지

  • 앱 버전 별로 필터링하여 과거 릴리스 또는 최신 릴리스에 대한 데이터 보기
  • 기기 별로 필터링하여 구형 기기에서 앱을 처리하는 방법 알아보기
  • 국가 별로 필터링하여 데이터베이스 위치가 특정 지역에 영향을 미치지 않도록 합니다.

속성을 기반으로 하는 훨씬 더 강력한 분석을 위해 성능 데이터를 BigQuery로 내보냅니다 .

기본 속성

Performance Monitoring은 추적 유형에 따라 다양한 기본 속성을 자동으로 수집합니다.

이러한 기본 속성 외에도 사용자 지정 코드 추적 에 사용자 지정 속성을 만들어 앱과 관련된 범주별로 데이터를 분할할 수도 있습니다. 예를 들어 게임에서 게임 수준별로 데이터를 분류할 수 있습니다.

Apple 및 Android 앱의 기본 속성

Apple 및 Android 앱에 대한 모든 추적은 기본적으로 다음 속성을 수집합니다.

  • 앱 버전
  • 국가
  • OS 수준
  • 장치
  • 라디오
  • 담체

또한 네트워크 요청 추적은 다음 속성도 수집합니다.

  • MIME 유형

사용자 데이터 수집

사용자 정의 속성 만들기

계측된 모든 사용자 지정 코드 추적 에서 사용자 지정 특성을 만들 수 있습니다.

성능 모니터링 추적 API( Swift | Obj-C )를 사용하여 사용자 정의 코드 추적에 사용자 정의 속성을 추가하십시오.

사용자 지정 속성을 사용하려면 속성을 정의하고 이를 특정 사용자 지정 코드 추적과 연결하는 코드를 앱에 추가합니다. 추적이 시작될 때와 추적이 중지될 때 사이에 언제든지 사용자 정의 속성을 설정할 수 있습니다.

다음 사항에 유의하십시오.

  • 사용자 정의 속성의 이름은 다음 요구 사항을 충족해야 합니다.

    • 선행 또는 후행 공백 없음, 선행 밑줄( _ ) 문자 없음
    • 공백 없음
    • 최대 길이는 32자입니다.
    • 이름에 허용되는 문자는 AZ , az_ 입니다.
  • 각 사용자 정의 코드 추적은 최대 5개의 사용자 정의 속성을 기록할 수 있습니다.

  • 맞춤 속성에 Google에서 개인을 식별하는 정보가 포함되어 있지 않은지 확인하세요.

    이 지침에 대해 자세히 알아보기

빠른

참고: 이 Firebase 제품은 macOS, Mac Catalyst, watchOS 대상에서 사용할 수 없습니다.
let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

trace.setValue("A", forAttribute: "experiment")

// Update scenario.
trace.setValue("B", forAttribute: "experiment")

// Reading scenario.
let experimentValue:String? = trace.valueForAttribute("experiment")

// Delete scenario.
trace.removeAttribute("experiment")

// Read attributes.
let attributes:[String, String] = trace.attributes;

오브젝티브-C

참고: 이 Firebase 제품은 macOS, Mac Catalyst, watchOS 대상에서 사용할 수 없습니다.
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

[trace setValue:@"A" forAttribute:@"experiment"];

// Update scenario.
[trace setValue:@"B" forAttribute:@"experiment"];

// Reading scenario.
NSString *experimentValue = [trace valueForAttribute:@"experiment"];

// Delete scenario.
[trace removeAttribute:@"experiment"];

// Read attributes.
NSDictionary <NSString *, NSString *> *attributes = [trace attributes];