Nếu bạn đang bắt đầu sử dụng Performance Monitoring
(iOS+ |
Android |
Web), các mẹo khắc phục sự cố sau đây
có thể giúp bạn giải quyết các vấn đề liên quan đến việc Firebase phát hiện SDK hoặc hiển thị
dữ liệu hiệu suất đầu tiên trong bảng điều khiển Firebase.
Thêm SDK vào ứng dụng nhưng thêm vào bảng điều khiển
vẫn nói là thêm SDK
Firebase có thể phát hiện xem bạn đã thêm thành công SDK Performance Monitoring vào ứng dụng hay chưa
khi ứng dụng nhận được thông tin sự kiện (như lượt tương tác với ứng dụng) từ ứng dụng của bạn.
Thường trong vòng 10 phút sau khi khởi động ứng dụng, Hiệu suất
trang tổng quan
trên bảng điều khiển Firebase hiển thị thông báo "Đã phát hiện SDK" . Sau đó, trong vòng 30 phút, trang tổng quan sẽ hiển thị dữ liệu đã xử lý ban đầu.
Nếu đã quá 10 phút kể từ khi bạn thêm phiên bản SDK mới nhất vào
ứng dụng của bạn mà bạn vẫn không thấy bất kỳ thay đổi nào, hãy kiểm tra nhật ký
messages để đảm bảo rằng Performance Monitoring đang ghi nhật ký
sự kiện. Hãy thử các bước khắc phục sự cố phù hợp như mô tả dưới đây để
khắc phục sự cố thông báo phát hiện SDK bị trì hoãn.
Ứng dụng đang ghi nhật ký sự kiện: khắc phục sự cố
các bước
Nếu bạn vẫn đang phát triển cục bộ, hãy thử tạo thêm sự kiện cho dữ liệu
bộ sưu tập:
Tiếp tục phát triển ứng dụng bằng trình mô phỏng hoặc thiết bị thử nghiệm.
Tạo sự kiện bằng cách chuyển đổi ứng dụng giữa nền và nền trước
nhiều lần, tương tác với ứng dụng
bằng cách di chuyển trên các màn hình,
và/hoặc kích hoạt các yêu cầu mạng.
Đảm bảo rằng cấu hình Firebase của bạn
tệp (Google-Service-Info.plist) là
được thêm chính xác vào ứng dụng của bạn mà bạn chưa sửa đổi tệp.
Cụ thể, hãy kiểm tra những vấn đề sau:
Tên của tệp cấu hình không được thêm các ký tự bổ sung, chẳng hạn như
(2).
Tệp cấu hình nằm trong gốc của dự án XCode và được thêm vào
mục tiêu chính xác.
Mã ứng dụng Apple của Firebase (GOOGLE_APP_ID) được liệt kê trong tệp cấu hình là
chính xác cho ứng dụng của mình. Tìm mã ứng dụng Firebase trong thẻ Ứng dụng của bạn
thuộc Dự án settingscủa bạn
cài đặt.
Nếu có vấn đề với tệp cấu hình trong ứng dụng của bạn, hãy thử các cách sau:
Xoá tệp cấu hình mà bạn hiện có trong ứng dụng của mình.
Làm theo hướng dẫn này để tải tệp cấu hình mới xuống và thêm tệp đó vào ứng dụng của bạn trên Apple.
Nếu SDK đang ghi lại sự kiện và mọi thứ có vẻ như đã được thiết lập đúng cách, nhưng bạn vẫn không thấy thông báo phát hiện SDK hoặc dữ liệu đã xử lý (sau 2 giờ), hãy liên hệ với Nhóm hỗ trợ Firebase.
Ứng dụng không ghi nhật ký sự kiện:
các bước khắc phục sự cố
Nếu bạn đã thêm thành công SDK và đang sử dụng Performance Monitoring trong ứng dụng, thì giá trị
các mẹo khắc phục sự cố sau đây có thể giúp giải quyết các vấn đề chung liên quan đến
Các tính năng và công cụ của Performance Monitoring.
Trang tổng quan về hiệu suất là
thiếu dữ liệu theo dõi màn hình
Nếu bạn thiếu dữ liệu cho dấu vết kết xuất màn hình, hãy thử các cách sau
các bước khắc phục sự cố:
Trang tổng quan về hiệu suất là
thiếu dữ liệu theo dõi tuỳ chỉnh
Bạn có thấy dữ liệu hiệu suất cho các dấu vết được thu thập tự động nhưng không thấy dữ liệu hiệu suất cho các dấu vết mã tuỳ chỉnh không? Hãy thử các bước khắc phục sự cố sau đây:
Kiểm tra việc thiết lập dấu vết mã tuỳ chỉnh được đo lường qua
Trace API,
đặc biệt là những tính năng sau:
Tên cho dấu vết mã và chỉ số tuỳ chỉnh phải đáp ứng các yêu cầu sau
yêu cầu: không có khoảng trắng ở đầu hoặc ở cuối, không có dấu gạch dưới ở đầu
(_) ký tự và độ dài tối đa là 32 ký tự.
Tất cả dấu vết phải được bắt đầu và dừng. Mọi dấu vết chưa bắt đầu
đã dừng hoặc đã ngừng trước khi bắt đầu sẽ không được ghi nhật ký.
Kiểm tra thông điệp nhật ký để đảm bảo rằng
Performance Monitoring đang ghi lại dấu vết mã tuỳ chỉnh dự kiến.
Nếu Performance Monitoring đang ghi nhật ký sự kiện, nhưng không có dữ liệu nào hiển thị sau 24 giờ,
liên hệ với Nhóm hỗ trợ Firebase.
Trang tổng quan về hiệu suất
thiếu dữ liệu yêu cầu mạng
Nếu bạn thiếu dữ liệu yêu cầu mạng, hãy thử các bước khắc phục sự cố sau:
Tuỳ thuộc vào hành vi của mã và thư viện mạng mà
mã của bạn, Performance Monitoring chỉ có thể báo cáo về các yêu cầu mạng
đã hoàn tất. Điều này có nghĩa là các kết nối HTTP/S đang mở có thể không được báo cáo.
Performance Monitoring không báo cáo về các yêu cầu mạng có kết quả không hợp lệ
Tiêu đề Content-Type. Tuy nhiên, yêu cầu mạng không có
Content-Type tiêu đề vẫn sẽ được chấp nhận.
Dữ liệu về yêu cầu mạng không tổng hợp như dự kiến
Điều gì đã xảy ra với Các vấn đề hàng đầu trong thẻ Hiệu suất trên trang chủ Dự án?
Chúng tôi đã thay thế Các vấn đề hàng đầu bằng Cảnh báo gần đây để cập nhật thông tin cho
gần đây là các cảnh báo tự động thông báo cho bạn khi
ngưỡng bạn đặt ra đã vượt qua. Chúng tôi hiện không còn sử dụng vấn đề mà thay vào đó là cảnh báo.
Bộ chọn ứng dụng ở đầu thẻ Hiệu suất sẽ lọc cảnh báo
mục nhập trong Cảnh báo gần đây. Chỉ ba cảnh báo gần đây nhất cho
(các) ứng dụng đã chọn sẽ được hiển thị.
Khả năng đặt ngưỡng cho các vấn đề trong bảng điều khiển đã bị gì?
Performance Monitoring hỗ trợ cảnh báo cho các chỉ số vượt quá
ngưỡng xác định. Để tránh nhầm lẫn với các ngưỡng có thể định cấu hình này cho
chúng tôi đã xóa khả năng định cấu hình ngưỡng cho
vấn đề.
Điều gì đã xảy ra với thông tin Chi tiết và chỉ số trong bảng điều khiển Firebase?
Chúng tôi đã thay thế các trang Chi tiết và Chỉ số bằng một giao diện mới được thiết kế lại, tập trung ở
giao diện người dùng (UI) để cải thiện cách bạn khắc phục sự cố. Thông tin mới này
Giao diện người dùng khắc phục sự cố cung cấp chức năng cốt lõi giống với tính năng Chi tiết và
Chỉ số được cung cấp. Để tìm hiểu thêm về cách khắc phục sự cố, hãy xem
Xem thêm dữ liệu về một dấu vết cụ thể.
Tại sao số lượng mẫu không phải là số lượng tôi mong đợi?
Performance Monitoring thu thập dữ liệu hiệu suất từ các thiết bị của người dùng trong ứng dụng của bạn. Nếu ứng dụng của bạn có nhiều người dùng hoặc nếu ứng dụng tạo ra một lượng lớn hoạt động hiệu suất, thì Performance Monitoring có thể giới hạn việc thu thập dữ liệu ở một số thiết bị để giảm số lượng sự kiện được xử lý. Các hạn mức này đủ cao để ngay cả khi có ít sự kiện hơn, các giá trị chỉ số vẫn phản ánh trải nghiệm ứng dụng của người dùng.
Để quản lý lượng dữ liệu chúng tôi thu thập, Performance Monitoring sử dụng các phương thức sau
tuỳ chọn lấy mẫu:
Giới hạn tốc độ trên thiết bị: Để ngăn một thiết bị gửi các cụm từ đột ngột
chúng tôi sẽ giới hạn số lượng mã và dấu vết yêu cầu mạng được gửi từ
thiết bị của bạn lên 300 sự kiện cứ 10 phút một lần. Phương pháp này bảo vệ thiết bị khỏi
những thiết bị đo lường theo vòng lặp có thể gửi một lượng lớn dữ liệu về hiệu suất, và
giúp ngăn một thiết bị làm sai lệch kết quả đo lường hiệu suất.
Lấy mẫu động: Performance Monitoring thu thập giới hạn khoảng 100 triệu
các sự kiện đối với dấu vết mã và 100 triệu sự kiện đối với dấu vết yêu cầu mạng cho mỗi ứng dụng mỗi ngày
cho tất cả người dùng ứng dụng. Tốc độ lấy mẫu động được tìm nạp trên thiết bị (sử dụng
Firebase Remote Config) để xác định xem một thiết bị ngẫu nhiên có nên
thu thập và gửi dấu vết. Thiết bị không được chọn để lấy mẫu sẽ không
gửi bất kỳ sự kiện nào. Tỷ lệ lấy mẫu động là tuỳ theo ứng dụng và điều chỉnh thành
đảm bảo rằng tổng lượng dữ liệu được thu thập vẫn ở dưới giới hạn.
Phiên hoạt động của người dùng sẽ gửi dữ liệu bổ sung, chi tiết từ thiết bị của người dùng và yêu cầu
nhiều tài nguyên hơn để thu thập và gửi dữ liệu. Để giảm thiểu tác động của người dùng
thì Performance Monitoring cũng có thể hạn chế số phiên.
Giới hạn số lượng yêu cầu phía máy chủ: Để đảm bảo rằng các ứng dụng không vượt quá tần suất lấy mẫu
hạn mức, Performance Monitoring có thể sử dụng phương thức lấy mẫu phía máy chủ để bỏ một số sự kiện
nhận được từ các thiết bị. Mặc dù loại giới hạn này không thay đổi
mức độ hiệu quả của các chỉ số, điều đó có thể gây ra những thay đổi nhỏ về mẫu hình, bao gồm
sau:
Số lượng dấu vết có thể khác với số lần một đoạn mã được thực thi.
Các dấu vết được kết hợp chặt chẽ trong mã, mỗi dấu vết có thể có số lượng
mẫu.
Điều gì đã xảy ra với thẻ Vấn đề trong bảng điều khiển?
Chúng tôi đã thay thế thẻ Vấn đề bằng thẻ Cảnh báo. Thẻ này sẽ tự động thông báo cho bạn khi bạn vượt quá ngưỡng đã đặt. Bạn không
cần phải kiểm tra thủ công bảng điều khiển Firebase để xác định trạng thái của
ngưỡng. Để tìm hiểu về Cảnh báo, hãy xem Thiết lập cảnh báo cho các vấn đề về hiệu suất.
Điều gì đã xảy ra với thẻ Trên thiết bị và Mạng trong bảng điều khiển?
Làm cách nào để xem dấu vết trên các trang đó?
Chúng tôi đã thiết kế lại phần Performance Monitoring của bảng điều khiển Firebase để
Thẻ Trang tổng quan cho thấy các chỉ số chính và tất cả dấu vết của bạn trong cùng một không gian. Như
trong thiết kế mới, chúng tôi đã xoá trang Trên thiết bị và Mạng.
Bảng dấu vết ở cuối thẻ Trang tổng quan có toàn bộ thông tin
thông tin mà thẻ Trên thiết bị và Mạng hiển thị, nhưng kèm theo một số
các tính năng đã thêm, bao gồm khả năng sắp xếp dấu vết của bạn theo tỷ lệ phần trăm
thay đổi đối với một chỉ số cụ thể. Để xem tất cả chỉ số và dữ liệu cho một
dấu vết, hãy nhấp vào tên dấu vết trong bảng dấu vết.
Xem dấu vết của bạn trong các thẻ phụ sau của bảng dấu vết:
Dấu vết yêu cầu mạng (cả ngay lập tức và tùy chỉnh) — phụ Yêu cầu mạng
Dấu vết mã tùy chỉnh — tab phụ Dấu vết tùy chỉnh
Bắt đầu ứng dụng, trong nền trước ứng dụng, dấu vết trong nền ứng dụng — thẻ phụ Dấu vết tuỳ chỉnh
Dấu vết kết xuất màn hình — Thẻ con Kết xuất màn hình
Dấu vết tải trang — thẻ phụ Tải trang
Để biết chi tiết về bảng theo dõi cũng như xem số liệu và dữ liệu, hãy truy cập vào
trang tổng quan của bảng điều khiển
(iOS+ |
Android |
Web).
Tại sao số khung hình chậm và bị treo không như tôi mong đợi?
Khung hình kết xuất chậm và khung hình bị treo được tính toán với tốc độ làm mới thiết bị giả định là 60Hz. Nếu tốc độ làm mới của thiết bị thấp hơn 60 Hz, mỗi khung hình
sẽ có thời gian kết xuất chậm hơn vì có ít khung hình hơn được kết xuất trên mỗi giây.
Thời gian kết xuất chậm hơn có thể khiến nhiều khung hình chậm hoặc bị treo được báo cáo
vì có nhiều khung hình hơn sẽ kết xuất chậm hơn hoặc sẽ bị treo. Tuy nhiên, nếu tốc độ làm mới của thiết bị cao hơn 60 Hz, thì mỗi khung hình sẽ có thời gian kết xuất nhanh hơn.
Việc này có thể khiến báo cáo ít khung hình chậm hoặc bị treo hơn. Đây là một
giới hạn trong SDK Performance Monitoring.
Dữ liệu Performance Monitoring của tôi mất nhiều thời gian hơn dự kiến để xuất sang
BigQuery. Đó không phải là thời gian thực?
Nếu bạn đã bật tính năng tích hợp BigQuery cho Firebase Performance Monitoring, thì dữ liệu của bạn
sẽ được xuất sang BigQuery sau 12 đến 24 giờ kể từ cuối ngày (theo giờ Thái Bình Dương)
Thời gian).
Ví dụ: dữ liệu cho ngày 19 tháng 4 sẽ có trong BigQuery vào ngày 20 tháng 4 từ 12:00 trưa đến nửa đêm (tất cả ngày và giờ đều theo Giờ Thái Bình Dương).
Xử lý và hiển thị dữ liệu gần như theo thời gian thực
"Gần thời gian thực" có nghĩa là gì dữ liệu hiệu suất có nghĩa là gì?
Firebase Performance Monitoring xử lý dữ liệu hiệu suất đã thu thập ngay khi có dữ liệu
dẫn đến việc hiển thị dữ liệu gần như theo thời gian thực trong bảng điều khiển Firebase. Dữ liệu đã xử lý sẽ hiển thị trong bảng điều khiển trong vòng vài phút sau khi thu thập, do đó có thuật ngữ "gần như theo thời gian thực".
Làm cách nào để nhận dữ liệu hiệu suất gần với thời gian thực cho ứng dụng của tôi?
Để tận dụng khả năng xử lý dữ liệu gần như theo thời gian thực, bạn chỉ cần đảm bảo
ứng dụng của bạn sử dụng phiên bản SDK Performance Monitoring tương thích với ứng dụng theo thời gian thực
xử lý dữ liệu.
Dưới đây là các phiên bản SDK tương thích với thời gian thực:
iOS – phiên bản 7.3.0 trở lên
tvOS – Phiên bản 8.9.0 trở lên
Android – phiên bản 19.0.10 trở lên (hoặc Firebase Android BoM phiên bản 26.1.0 trở lên)
Web – phiên bản 7.14.0 trở lên
Xin lưu ý rằng bạn luôn nên sử dụng phiên bản SDK mới nhất, nhưng mọi phiên bản nêu trên đều cho phép Performance Monitoring xử lý dữ liệu của bạn gần như theo thời gian thực.
Những phiên bản nào của SDK Performance Monitoring được coi là tương thích theo thời gian thực?
Sau đây là các phiên bản SDK tương thích với tính năng xử lý dữ liệu theo thời gian thực:
iOS – phiên bản 7.3.0 trở lên
tvOS – Phiên bản 8.9.0 trở lên
Android – phiên bản 19.0.10 trở lên (hoặc Firebase Android BoM phiên bản 26.1.0 trở lên)
Web – phiên bản 7.14.0 trở lên
Xin lưu ý rằng bạn nên sử dụng phiên bản SDK mới nhất, nhưng bất kỳ
phiên bản nêu trên sẽ cho phép Performance Monitoring xử lý dữ liệu của bạn gần như
bất cứ lúc nào.
Nếu tôi không cập nhật ứng dụng để dùng phiên bản SDK tương thích theo thời gian thực thì sao?
Nếu ứng dụng của bạn không sử dụng phiên bản SDK tương thích theo thời gian thực, bạn vẫn sẽ thấy
tất cả dữ liệu hiệu suất của ứng dụng trong bảng điều khiển Firebase. Tuy nhiên, màn hình
dữ liệu hiệu suất sẽ bị trễ khoảng 36 giờ kể từ thời điểm
bộ sưu tập.
Tôi đã cập nhật lên phiên bản SDK tương thích theo thời gian thực, nhưng một số người dùng của tôi
trên các phiên bản cũ của ứng dụng. Tôi có tiếp tục thấy hiệu suất của chúng không
trong bảng điều khiển Firebase?
Có! Bất kể phiên bản SDK nào sử dụng, bạn đều thấy rằng
dữ liệu hiệu suất của tất cả người dùng.
Tuy nhiên, nếu bạn đang xem dữ liệu gần đây (cách đây chưa đầy 36 giờ),
thì dữ liệu hiển thị là dữ liệu từ người dùng của các phiên bản ứng dụng theo thời gian thực
phiên bản SDK tương thích. Tuy nhiên, dữ liệu không gần đây bao gồm cả dữ liệu hiệu suất
từ mọi phiên bản ứng dụng.
Liên hệ với Nhóm hỗ trợ Firebase
Nếu bạn
liên hệ với Nhóm hỗ trợ Firebase,
luôn bao gồm mã ứng dụng Firebase của bạn. Tìm mã ứng dụng Firebase trong
Thẻ Ứng dụng của bạn trong
settingsDự án
.