Catch up on everthing we announced at this year's Firebase Summit. Learn more

Xuất dữ liệu Giám sát hiệu suất sang BigQuery

Bạn có thể xuất dữ liệu hiệu suất giám sát từ Apple và Android apps vào BigQuery để phân tích thêm. BigQuery cho phép bạn phân tích dữ liệu bằng cách sử dụng BigQuery SQL, xuất dữ liệu đó sang một nhà cung cấp đám mây khác và thậm chí sử dụng dữ liệu cho các mô hình ML tùy chỉnh của bạn.

Bật xuất BigQuery

  1. Đi đến Tích hợp trang trong căn cứ hỏa lực điều khiển, sau đó nhấp vào liên kết trong thẻ BigQuery.

  2. Làm theo hướng dẫn trên màn hình để bật BigQuery.

Khi bạn liên kết dự án của mình với BiqQuery:

  • Căn cứ hỏa lực xuất khẩu một bản sao của dữ liệu hiện có của bạn để BigQuery.

    • Ở lần liên kết đầu tiên, Firebase tự động lập lịch cho các bảng BigQuery của bạn để chèn lấp dữ liệu từ 7 ngày qua để bạn có thể bắt đầu thử nghiệm ngay lập tức. Chờ một vài giờ để dữ liệu ban đầu có sẵn trong BigQuery.

    • Bạn cũng có thể tự chèn lấp dữ liệu lịch cho đến vòng 30 ngày qua.

  • Firebase thiết lập đồng bộ hàng ngày dữ liệu của bạn từ dự án Firebase sang BigQuery.

  • Theo mặc định, tất cả các ứng dụng trong dự án của bạn đều được liên kết với BigQuery và bất kỳ ứng dụng nào bạn thêm vào dự án sau này sẽ tự động được liên kết với BigQuery. Bạn có thể quản lý mà các ứng dụng gửi dữ liệu .

Để vô hiệu hóa xuất khẩu BigQuery, bỏ liên kết dự án của bạn trong căn cứ hỏa lực console.

Dữ liệu nào được xuất sang BigQuery?

Đối với mỗi ứng dụng trong dự án, việc xuất sẽ tạo ra một bảng bao gồm tất cả các sự kiện hiệu suất đã ghi lại. Mỗi hàng trong bảng là một sự kiện hiệu suất duy nhất có thể là một trong các sự kiện sau:

  • Thời gian theo dõi - dấu vết thu thập, theo mặc định, các số liệu của "duration", trong đó bao gồm khởi động ứng dụng, ứng dụng trong foreground, và ứng dụng trong nền, cũng như bất kỳ dấu vết mã tùy chỉnh phát triển-instrumented

    • event_typeDURATION_TRACE
    • event_name là giống như tên dấu vết
  • Theo dõi số liệu - chỉ số tùy chỉnh có liên quan đến dấu vết mã tùy chỉnh phát triển-instrumented

    • event_typeTRACE_METRIC
    • event_name là tên của số liệu
    • parent_trace_name là tên dấu vết có chứa số liệu này
  • Màn hình theo dõi - dấu vết kéo dài tuổi thọ của màn hình (dấu vết màn hình vẽ)

    • event_typeSCREEN_TRACE
    • event_name là tiền tố _st_ cộng với tên màn hình thực tế
  • Mạng yêu cầu - dấu vết kéo dài tuổi thọ của một yêu cầu mạng (HTTP yêu cầu mạng dấu vết)

    • event_typeNETWORK_REQUEST
    • event_name là mô hình phân loại của URL yêu cầu mạng

Mỗi sự kiện hiệu suất chứa các thuộc tính của sự kiện (chẳng hạn như quốc gia và nhà cung cấp dịch vụ của thiết bị khách), cũng như thông tin về sự kiện cụ thể:

  • Dấu vết thời gian, số liệu theo dõi, và dấu vết màn hình chứa trace_info
  • Số liệu dấu vết chứa trace_info.metric_info
  • Màn hình dấu vết chứa trace_info.screen_info
  • Dấu vết mạng chứa network_info

Lược đồ dữ liệu chi tiết

Tên trường Kiểu Sự miêu tả
event_timestamp dấu thời gian Dấu thời gian kể từ Epoch khi sự kiện bắt đầu trên thiết bị khách (bắt đầu theo dõi, bắt đầu mạng, v.v.)
app_display_version dây Hiển thị phiên bản của ứng dụng (ví dụ: "4.1.7")
  • Đối với Android - VersionName
  • For iOS - CFBundleShortVersionString
app_build_version dây Phiên bản xây dựng của ứng dụng (ví dụ: "1523456")
  • Đối với Android - VersionCode
  • For iOS - CFBundleVersion
phiên bản của hệ điều hành dây Phiên bản hệ điều hành của thiết bị khách
  • Đối với Android - Cấp API Android (ví dụ: "26")
  • Đối với iOS - phiên bản iOS (ví dụ: "11.4")
Tên thiết bị dây Tên của thiết bị khách (ví dụ: "Google Pixel")
Quốc gia dây Mã quốc gia gồm hai chữ cái của quốc gia nơi diễn ra sự kiện (ví dụ: "Hoa Kỳ" hoặc "ZZ" cho quốc gia không xác định)
vận chuyển dây Nhà cung cấp thiết bị khách
radio_type dây Loại radio hoạt động khi sự kiện diễn ra (ví dụ: "WIFI")
custom_attributes ARRAY <RECORD> Tất cả các thuộc tính tùy chỉnh được đính kèm với sự kiện này
custom_attributes.key dây Khóa của thuộc tính tùy chỉnh
custom_attributes.value dây Giá trị của thuộc tính tùy chỉnh
loại sự kiện dây Loại sự kiện; những giá trị khả thi:
  • DURATION_TRACE - dấu vết thu thập, theo mặc định, các số liệu của "duration", trong đó bao gồm khởi động ứng dụng, ứng dụng trong foreground, và ứng dụng trong nền, cũng như bất kỳ dấu vết mã tùy chỉnh phát triển-instrumented
  • SCREEN_TRACE - dấu vết kéo dài tuổi thọ của màn hình (dấu vết màn hình vẽ)
  • TRACE_METRIC chỉ số tùy chỉnh có liên quan đến dấu vết mã tùy chỉnh phát triển-instrumented -
  • NETWORK_REQUEST - dấu vết kéo dài tuổi thọ của một yêu cầu mạng (HTTP yêu cầu mạng dấu vết)
event_name dây Tên của sự kiện
  • Đối với DURATION_TRACE - tên dấu vết
  • Đối với TRACE_METRIC - tùy chỉnh tên metric
  • Đối với SCREEN_TRACE - _st_ theo sau là tên dấu vết
  • Đối với NETWORK_REQUEST - mạng mẫu yêu cầu URL
parent_trace_name dây Tên của dấu vết mẹ mang chỉ số dấu vết
Chỉ xuất hiện cho TRACE_METRIC
trace_info GHI Chỉ xuất hiện cho DURATION_TRACE , SCREEN_TRACE , và TRACE_METRIC
trace_info.duration_us int64
  • Đối với DURATION_TRACESCREEN_TRACE - Chiều dài của thời gian ( "duration") từ đầu đến cuối của các dấu vết
  • Đối với TRACE_METRIC - khoảng thời gian ( "duration") từ đầu đến cuối của các dấu vết mẹ
Đơn vị: micro giây
trace_info.screen_info GHI Chỉ xuất hiện cho SCREEN_TRACE
trace_info.screen_info.slow_frame_ratio float64 Tỷ lệ khung hình chậm cho dấu vết màn hình này, từ 0 đến 1 (ví dụ: giá trị 0,05 có nghĩa là 5% khung hình cho trường hợp màn hình này mất hơn 16 mili giây để hiển thị)
trace_info.screen_info.frozen_frame_ratio float64 Tỷ lệ khung hình cố định cho dấu vết màn hình này, từ 0 đến 1 (ví dụ: giá trị 0,05 có nghĩa là 5% khung hình cho trường hợp màn hình này mất hơn 700 mili giây để hiển thị)
trace_info.metric_info GHI Chỉ xuất hiện cho TRACE_METRIC
trace_info.metric_info.metric_value int64 Giá trị của số liệu theo dõi
thông tin mạng GHI Chỉ xuất hiện cho NETWORK_REQUEST
network_info.response_code int64 Mã phản hồi HTTP cho phản hồi mạng (ví dụ: 200, 404)
network_info.response_mime_type dây Loại MIME của phản hồi mạng (ví dụ: "text / html")
network_info.request_http_method dây Phương thức HTTP của yêu cầu mạng (ví dụ: "GET" hoặc "POST")
network_info.request_payload_bytes int64 Kích thước của tải trọng yêu cầu mạng
Đơn vị: byte
network_info.response_payload_bytes int64 Kích thước của trọng tải phản hồi mạng
Đơn vị: byte
network_info.request_completed_time_us int64 Micro sau event_timestamp khi yêu cầu mạng gửi hoàn tất
Đơn vị: micro giây
network_info.response_initiated_time_us int64 Micro sau event_timestamp khi phản ứng của mạng được khởi xướng
Đơn vị: micro giây
network_info.response_completed_time_us int64 Micro sau event_timestamp khi phản ứng của mạng được hoàn thành
Đơn vị: micro giây

Bạn có thể làm gì với dữ liệu đã xuất?

Các phần sau cung cấp ví dụ về các truy vấn mà bạn có thể chạy trong BigQuery dựa trên dữ liệu Giám sát hiệu suất đã xuất của bạn.

Xem phân tích độ trễ bắt đầu ứng dụng trung bình theo quốc gia

SELECT AVG(trace_info.duration_us), country
FROM `TABLE_NAME`
WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD")
AND event_type = "DURATION_TRACE"
AND event_name = "_app_start"
GROUP BY 2;

Kiểm tra tỷ lệ khung hình cố định trong các điều kiện khác nhau

Ví dụ: bạn có thể kiểm tra tỷ lệ khung hình cố định cùng với lượng thời gian người dùng dành cho mỗi màn hình ứng dụng của bạn khi sử dụng các loại radio khác nhau (WiFi, 4G, v.v.).

SELECT
  AVG(trace_info.duration_us / 1000000) AS seconds_on_screen,
  AVG(trace_info.screen_info.frozen_frame_ratio) AS frozen_frame_ratio,
  event_name,
  radio_type
FROM `TABLE_NAME`
WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD")
AND event_type = "SCREEN_TRACE"
GROUP BY event_name, radio_type
ORDER BY event_name, radio_type;

Tính toán tỷ lệ truy cập bộ nhớ cache để tải một số loại tệp nhất định từ đĩa

Phân tích này giả định rằng bạn instrumented mã dấu vết tùy chỉnh cho tải từ đĩa với một thuộc tính tùy chỉnh tên file-extension và chỉ số tùy chỉnh (một TRACE_METRIC ) tên là cache-hit được thiết lập để 1 nếu bộ nhớ cache hit và 0 nếu bộ nhớ cache bỏ lỡ.

Ví dụ: bạn có thể tính toán tỷ lệ truy cập bộ nhớ cache để tải tệp PNG từ đĩa:

SELECT AVG(trace_info.metric_info.metric_value) AS cache_hit_rate
FROM `TABLE_NAME`
WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD")
AND event_type = "TRACE_METRIC"
AND event_name = "cache-hit"
AND parent_trace_name = "loadFromDisk"
AND STRUCT("file-extension", "png") IN UNNEST(custom_attributes);

Kiểm tra thời gian trong ngày mà người dùng đưa ra yêu cầu mạng

Ví dụ: bạn có thể kiểm tra xem người dùng từ Hoa Kỳ gửi yêu cầu mạng từ ứng dụng của bạn vào giờ nào trong ngày:

SELECT
  count(1) AS hourly_count,
  EXTRACT(HOUR FROM event_timestamp) AS hour_of_day
FROM `TABLE_NAME`
WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD")
AND event_type = "NETWORK_REQUEST"
AND country = "US"
GROUP BY 2 ORDER BY 2;

Mang theo dữ liệu Giám sát hiệu suất của bạn ở bất cứ đâu

Đôi khi bạn muốn truy cập dữ liệu Giám sát hiệu suất của mình từ phía máy chủ hoặc đẩy nó sang một giải pháp của bên thứ ba khác. Hiện tại không có phí xuất dữ liệu.

Bạn có thể xuất dữ liệu của mình bằng cách:

Định giá

Miễn phí xuất dữ liệu từ Giám sát hiệu suất và BigQuery cung cấp giới hạn sử dụng miễn phí rộng rãi. Để biết thông tin chi tiết, tham khảo BigQuery giá hoặc sandbox BigQuery .