Bạn có thể xuất dữ liệu Performance Monitoring từ các ứng dụng của Apple và Android sang BigQuery để xem thêm bản phân tích. BigQuery cho phép bạn phân tích dữ liệu bằng cách sử dụng BigQuery SQL, xuất sang một nhà cung cấp dịch vụ đám mây khác và thậm chí sử dụng cho mô hình học máy tuỳ chỉnh.
Bật tính năng xuất BigQuery
Chuyển đến Các công cụ tích hợp trong bảng điều khiển Firebase, rồi nhấp vào Liên kết trong BigQuery .
Làm theo hướng dẫn trên màn hình để bật BigQuery.
Khi bạn bật tính năng xuất BigQuery cho Performance Monitoring, điều sau sẽ xảy ra:
Firebase xuất một bản sao dữ liệu hiện có của bạn sang BigQuery. Quá trình truyền dữ liệu ban đầu để xuất có thể mất đến 48 giờ để hoàn tất.
- Bạn có thể lên lịch bổ sung dữ liệu theo cách thủ công tối đa 30 ngày qua hoặc cho ngày gần đây nhất khi bạn bật BigQuery xuất (bất kỳ tệp nào gần đây nhất).
Sau khi tập dữ liệu được tạo, vị trí không thể thay đổi, nhưng bạn có thể sao chép tập dữ liệu sang một vị trí khác hoặc di chuyển (tạo lại) tập dữ liệu ở một vị trí khác theo cách thủ công. Để tìm hiểu khác, hãy xem phần Thay đổi vị trí tập dữ liệu.
Firebase thiết lập quá trình đồng bộ hoá dữ liệu thường xuyên từ dự án Firebase của bạn để BigQuery. Các thao tác xuất dữ liệu hằng ngày này thường hoàn tất trong vòng 24 giờ sau khi được lên lịch.
Theo mặc định, tất cả ứng dụng trong dự án của bạn đều được liên kết với BigQuery. Bất kỳ hạng nào mà sau này bạn thêm vào dự án sẽ tự động được liên kết BigQuery. Bạn có thể quản lý ứng dụng gửi dữ liệu.
Để huỷ kích hoạt tính năng xuất BigQuery, hãy huỷ liên kết dự án của bạn trong bảng điều khiển Firebase.
Dữ liệu nào được xuất sang BigQuery?
Đối với mỗi ứng dụng trong dự án, thao tác xuất sẽ tạo một bảng bao gồm tất 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 những trạng thái sau:
Theo dõi thời lượng — các dấu vết thu thập, theo mặc định, chỉ số "thời lượng", bao gồm thời gian bắt đầu ứng dụng, ứng dụng trong nền trước và ứng dụng trong nền, cũng như mọi dấu vết mã tuỳ chỉnh do nhà phát triển đo lường
event_type
làDURATION_TRACE
event_name
giống với tên dấu vết
Chỉ số theo dõi — các chỉ số tuỳ chỉnh được liên kết với dấu vết mã tuỳ chỉnh do nhà phát triển đo lường
event_type
làTRACE_METRIC
event_name
là tên của chỉ sốparent_trace_name
là tên theo dõi chứa chỉ số này
Dấu vết màn hình — dấu vết trong suốt thời gian hoạt động của màn hình (kết xuất màn hình) dấu vết)
event_type
làSCREEN_TRACE
event_name
là tiền tố_st_
cộng với tên màn hình thực tế
Yêu cầu mạng – dấu vết trải dài trong suốt thời gian của một yêu cầu mạng (dấu vết yêu cầu mạng HTTP)
event_type
làNETWORK_REQUEST
event_name
là mẫu được phân loại của URL yêu cầu mạng
Mỗi sự kiện hiệu suất đều chứa các thuộc tính của sự kiện đó (chẳng hạn như quốc gia và nhà mạng của thiết bị khách) cũng như thông tin cụ thể về sự kiện:
- Dấu vết thời lượng, chỉ số theo dõi và dấu vết màn hình chứa
trace_info
- Chỉ số theo dõi chứa
trace_info.metric_info
- Dấu vết màn hình chứa
trace_info.screen_info
- Dấu vết mạng chứa
network_info
Giản đồ dữ liệu chi tiết
Tên trường | Loại | Nội dung mô tả |
---|---|---|
event_timestamp | dấu thời gian | Dấu thời gian kể từ thời điểm bắt đầu sự kiện trên thiết bị khách (bắt đầu theo dõi, bắt đầu mạng, v.v.) |
phiên_bản_hiển_thị_ứng_dụng | chuỗi | Phiên bản hiển thị của ứng dụng (ví dụ: "4.1.7")
|
phiên bản_bản_sử_dụng_ứng_dụng | chuỗi | Phiên bản của ứng dụng (ví dụ: "1523456")
|
phiên bản hệ điều hành | chuỗi | Phiên bản hệ điều hành của thiết bị khách
|
tên_thiết_bị | chuỗi | Tên của thiết bị khách (ví dụ: "Google Pixel") |
country | chuỗi | Mã quốc gia gồm hai chữ cái của quốc gia có sự kiện đã diễn ra (ví dụ: "US" hoặc "ZZ" cho quốc gia không xác định) |
hãng vận tải | chuỗi | Nhà mạng của thiết bị khách |
loại_vô tuyến | chuỗi | Loại đài đang hoạt động khi sự kiện diễn ra (ví dụ: "Wi-Fi") |
custom_attributes | Hàm ARRAY<RECORD> | Tất cả thuộc tính tùy chỉnh được đính kèm vào sự kiện này |
custom_attributes.key | chuỗi | Khoá của thuộc tính tuỳ chỉnh |
custom_attributes.value | chuỗi | Giá trị của thuộc tính tuỳ chỉnh |
loại sự kiện | chuỗi | Loại sự kiện; các giá trị có thể có:
|
event_name | chuỗi | Tên sự kiện
|
tên_dấu_do_cha_mẹ | chuỗi | Tên của dấu vết mẹ chứa chỉ số theo dõi Chỉ trình bày cho TRACE_METRIC |
thông_tin_theo_dấu | RECORD | Chỉ hiển thị đối với DURATION_TRACE ,
SCREEN_TRACE và TRACE_METRIC |
trace_info.duration_vn | int64 |
|
Thông_tin_theo_dõi.screen_info | RECORD | Chỉ trình bày cho SCREEN_TRACE |
dấu vết_thông tin.screen_info.slow_frame_ratio | độ chính xác đơn 64 | 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% số khung hình của màn hình này thực thể mất hơn 16 mili giây để kết xuất) |
dấu vết_thông tin.screen_info.frozen_frame_ratio | độ chính xác đơn 64 | Tỷ lệ khung hình bị treo 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% số khung hình của màn hình này thực thể mất hơn 700 mili giây để kết xuất) |
thông tin_theo_dõi.số_lượng_thông_tin | RECORD | Chỉ trình bày cho TRACE_METRIC |
trace_info.metric_info.metric_value | int64 | Giá trị của chỉ số theo dõi |
network_info | RECORD | Chỉ trình bày cho NETWORK_REQUEST |
mạng_info.response_code | int64 | mã phản hồi HTTP cho phản hồi mạng (ví dụ: 200, 404) |
mạng_info.response_mime_type | chuỗi | Loại MIME của phản hồi mạng (ví dụ: "text/html") |
phương thức mạng_info.request_http_method | chuỗi | Phương thức HTTP của yêu cầu mạng (ví dụ: "GET" hoặc "POST") |
mạng_info.request_payload_bytes | int64 | Kích thước của tải trọng yêu cầu mạng Đơn vị: byte |
mạng_info.response_payload_bytes | int64 | Kích thước tải trọng phản hồi mạng Đơn vị: byte |
mạng_info.request_complete_time_us | int64 | Phần triệu giây sau event_timestamp khi yêu cầu mạng
đã gửi xongĐơn vị: micrô giây |
mạng_info.response_initiated_time_us | int64 | Micro giây sau event_timestamp khi phản hồi mạng được bắt đầuĐơn vị: micro giây |
mạng_info.response_complete_time_us | int64 | Micro giây sau event_timestamp khi phản hồi mạng hoàn tấtĐơn vị: micro giây |
Bạn có thể làm gì với dữ liệu đã xuất?
Các phần sau đây 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 Performance Monitoring đã xuất.
Xem thông tin chi tiết về độ trễ trung bình khi khởi động ứng dụng 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 bị treo so với các điều kiện
Ví dụ: bạn có thể kiểm tra tỷ lệ khung hình bị treo cùng với số lượng thời gian người dùng sử dụng trên mỗi màn hình của ứng dụng khi sử dụng các loại đài phát 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 vào bộ nhớ đệm để tải một số loại tệp nhất định từ ổ đĩa
Bản phân tích này giả định rằng bạn đã đo lường một dấu vết mã tuỳ chỉnh để tải từ
ổ đĩa có thuộc tính tùy chỉnh có tên là file-extension
và chỉ số tùy chỉnh (a
TRACE_METRIC
) có tên là cache-hit
, được đặt thành 1
nếu có lượt truy cập vào bộ nhớ đệm và 0
nếu
thiếu bộ nhớ đệm.
Ví dụ: bạn có thể tính tỷ lệ truy cập bộ nhớ đệm để 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 điểm 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 người dùng ở Hoa Kỳ vào giờ nào trong ngày đưa ra yêu cầu mạng qua ứng dụng của bạn:
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 của bạn trên Performance Monitoring ở bất cứ đâu
Đôi khi, bạn muốn truy cập phía máy chủ dữ liệu của Performance Monitoring hoặc đẩy dữ liệu đó lên một giải pháp khác của bên thứ ba. Hiện tại, bạn không phải trả phí cho việc xuất dữ liệu.
Bạn có thể xuất dữ liệu của mình bằng cách:
Sử dụng giao diện người dùng web BigQuery
Chạy lệnh CLI
bq extract
Gửi một công việc trích xuất thông qua API hoặc thư viện ứng dụng.
Giá
Bạn sẽ không bị tính phí khi xuất dữ liệu từ Performance Monitoring và BigQuery cung cấp các hạn mức sử dụng miễn phí rất hào phóng. Để biết thông tin chi tiết, hãy tham khảo Giá BigQuery hoặc hộp cát BigQuery.