Trang này cung cấp các mẹo khắc phục sự cố để bắt đầu với Giám sát hiệu suất hoặc sử dụng các tính năng và công cụ Giám sát hiệu suất.
Kiểm tra đầu tiên để khắc phục sự cố
Hai bước kiểm tra sau đây là các phương pháp chung tốt nhất được đề xuất cho bất kỳ ai trước khi khắc phục sự cố thêm.
1. Kiểm tra thông điệp tường trình cho các sự kiện hiệu suất
Kiểm tra thông điệp nhật ký của bạn để chắc chắn rằng SDK giám sát hiệu suất đang ghi lại các sự kiện hiệu suất.
Bật tính năng ghi nhật ký gỡ lỗi như sau:
- Trong Xcode (tối thiểu v14.1), chọn Sản phẩm > Lược đồ > Chỉnh sửa lược đồ .
- Chọn Chạy từ menu bên trái, sau đó chọn tab Đối số .
- Trong phần Đối số được truyền khi khởi chạy , hãy thêm
-FIRDebugEnabled
.
Kiểm tra thông điệp tường trình của bạn xem có thông báo lỗi nào không.
Giám sát hiệu suất gắn thẻ thông điệp tường trình của nó với
Firebase/Performance
để bạn có thể lọc thông điệp tường trình của mình.Kiểm tra các loại nhật ký sau để biết rằng Giám sát hiệu suất đang ghi nhật ký các sự kiện hiệu suất:
-
Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
-
Logging network request trace: URL
-
Nhấp vào URL để xem dữ liệu của bạn trong bảng điều khiển Firebase. Có thể mất vài phút để dữ liệu cập nhật trên trang tổng quan.
Nếu ứng dụng của bạn không ghi nhật ký các sự kiện hiệu suất, hãy xem lại mẹo khắc phục sự cố .
2. Kiểm tra Trang tổng quan trạng thái Firebase
Kiểm tra Trang tổng quan trạng thái Firebase trong trường hợp Firebase hoặc Giám sát hiệu suất bị ngừng hoạt động.
Bắt đầu với Giám sát hiệu suất
Nếu bạn đang bắt đầu với Giám sát hiệu suất ( iOS+ | Android | Web ), các mẹo khắc phục sự cố sau đây có thể giúp 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 của bạn trong bảng điều khiển Firebase.
Firebase có thể phát hiện xem bạn đã thêm SDK giám sát hiệu suất vào ứng dụng của mình thành công hay chưa khi ứng dụng nhận được thông tin sự kiện (như tương tác với ứng dụng) từ ứng dụng của bạn. Thông thường trong vòng 10 phút kể từ khi khởi động ứng dụng của bạn, Trang tổng quan hiệu suất của bảng điều khiển Firebase sẽ hiển thị thông báo "Đã phát hiện SDK". Sau đó, trong vòng 30 phút, bảng thông tin sẽ hiển thị dữ liệu được xử lý ban đầu.
Nếu đã hơn 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 mình mà bạn vẫn không thấy bất kỳ thay đổi nào, hãy kiểm tra thông báo nhật ký để đảm bảo rằng Giám sát hiệu suất đang ghi lại các sự kiện. Hãy thử các bước khắc phục sự cố thích hợp như được mô tả bên dưới để khắc phục sự cố thông báo phát hiện SDK bị trì hoãn.
Nếu bạn vẫn đang phát triển cục bộ, hãy thử tạo thêm sự kiện để thu thập dữ liệu:
Tiếp tục phát triển ứng dụng của bạn 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 của bạn giữa nền và nền trước nhiều lần, tương tác với ứng dụng của bạn bằng cách điều hướng 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 tệp cấu hình Firebase (
Google-Service-Info.plist
) được thêm chính xác vào ứng dụng của bạn và bạn chưa sửa đổi tệp. Cụ thể, hãy kiểm tra những điều sau:Tên tệp cấu hình không được thêm các ký tự bổ sung, như
(2)
.Tệp cấu hình nằm trong thư mục gốc của dự án XCode của bạn và được thêm vào đúng mục tiêu.
ID ứng dụng Apple 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 bạn. Tìm ID ứng dụng Firebase của bạn trong thẻ Ứng dụng của bạn trong đặt Cài đặt dự án .
Nếu có vấn đề gì xảy ra với tệp cấu hình trong ứng dụng của bạn, hãy thử cách sau:
Xóa tệp cấu hình mà bạn hiện có trong ứng dụng của mình.
Hãy làm theo các hướng dẫn sau để tải xuống tệp cấu hình mới và thêm tệp đó vào ứng dụng Apple của bạn.
Nếu SDK đang ghi nhật ký sự kiện và mọi thứ dường như được thiết lập chính xác 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 bộ phận Hỗ trợ Firebase .
Đảm bảo rằng SDK giám sát hiệu suất không bị tắt thông qua một trong các cờ sau trong tệp
Info.plist
của bạn:-
firebase_performance_collection_enabled
-
firebase_performance_collection_deactivated
-
Đảm bảo rằng Giám sát hiệu suất không bị tắt khi chạy ( Swift | Obj-C ).
Nếu bạn không tìm thấy bất kỳ thứ gì bị tắt trong ứng dụng của mình, hãy liên hệ với bộ phận Hỗ trợ Firebase .
Giám sát hiệu suất xử lý dữ liệu sự kiện hiệu suất trước khi hiển thị dữ liệu đó trong bảng điều khiển Hiệu suất .
Nếu đã hơn 24 giờ kể từ khi thông báo "Đã phát hiện SDK" xuất hiện và bạn vẫn không thấy dữ liệu thì hãy kiểm tra Trang tổng quan trạng thái Firebase trong trường hợp đã xảy ra sự cố ngừng hoạt động. Nếu không có sự cố ngừng hoạt động, hãy liên hệ với Bộ phận hỗ trợ của Firebase .
Khắc phục sự cố chung
Nếu bạn đã thêm SDK thành công và đang sử dụng Giám sát hiệu suất trong ứng dụng của mình thì 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ụ Giám sát hiệu suất.
Nếu bạn không thấy thông báo nhật ký cho các sự kiện hiệu suất , hãy thử các bước khắc phục sự cố sau:
Đảm bảo rằng SDK giám sát hiệu suất không bị tắt thông qua một trong các cờ sau trong tệp
Info.plist
của bạn:-
firebase_performance_collection_enabled
-
firebase_performance_collection_deactivated
-
Đảm bảo rằng Giám sát hiệu suất không bị tắt khi chạy ( Swift | Obj-C ).
Nếu bạn không tìm thấy bất kỳ thứ gì bị tắt trong ứng dụng của mình, hãy liên hệ với bộ phận Hỗ trợ Firebase .
Nếu bạn thiếu dữ liệu về dấu vết hiển thị màn hình, hãy thử các bước khắc phục sự cố sau:
Bạn có thấy dữ liệu hiệu suất cho dấu vết được thu thập tự động nhưng không thấy dữ liệu cho dấu vết mã tùy chỉnh không ? Hãy thử các bước khắc phục sự cố sau:
Kiểm tra quá trình thiết lập dấu vết mã tùy chỉnh được đo lường thông qua API theo dõi , đặc biệt là những điều sau:
- Tên cho dấu vết mã tùy chỉnh và số liệu tùy chỉnh phải đáp ứng các yêu cầu sau: không có khoảng trắng ở đầu hoặc cuối, không có ký tự gạch dưới (
_
) ở đầu và độ dài tối đa là 32 ký tự. - Tất cả các dấu vết phải được bắt đầu và dừng lại. Mọi dấu vết không được bắt đầu, không dừng hoặc dừng trước khi bắt đầu sẽ không được ghi lại.
- Tên cho dấu vết mã tùy chỉnh và số liệu tùy chỉnh phải đáp ứng các yêu cầu sau: không có khoảng trắng ở đầu hoặc cuối, không có ký tự gạch dưới (
Kiểm tra thông điệp nhật ký của bạn để đảm bảo rằng Giám sát hiệu suất đang ghi lại dấu vết mã tùy chỉnh dự kiến.
Nếu Giám sát hiệu suất đang ghi lại các sự kiện nhưng không có dữ liệu nào hiển thị sau 24 giờ, hãy liên hệ với Bộ phận hỗ trợ Firebase .
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:
Kiểm tra sự không tương thích của thư viện mạng. Giám sát hiệu suất tự động thu thập số liệu cho các yêu cầu mạng sử dụng các thư viện mạng sau:
- Đối với Swift: URLSession và URLConnection
- Đối với Objective-C: NSURLSession và NSURLConnection
Lưu ý rằng bạn có thể thêm giám sát tùy chỉnh cho các yêu cầu mạng .
Hãy nhận biết những điều sau:
Tùy thuộc vào hành vi của mã và thư viện mạng được mã của bạn sử dụng, Giám sát hiệu suất chỉ có thể báo cáo về các yêu cầu mạng đã hoàn thành. Điều này có nghĩa là các kết nối HTTP/S còn mở có thể không được báo cáo.
Giám sát hiệu suất không báo cáo về các yêu cầu mạng có tiêu đề
Content-Type
không hợp lệ. Tuy nhiên, các yêu cầu mạng không có tiêu đềContent-Type
vẫn sẽ được chấp nhận.
Tìm hiểu thêm về cách Giám sát hiệu suất tổng hợp dữ liệu yêu cầu mạng theo mẫu URL.
Bạn cũng có thể thử các mẫu URL tùy chỉnh !
Câu hỏi thường gặp
Chúng tôi đã thay thế Các vấn đề hàng đầu bằng Cảnh báo gần đây để tiếp nối phần giới thiệu cảnh báo gần đây của chúng tôi, cảnh báo này sẽ tự động thông báo cho bạn khi vượt qua ngưỡng bạn đặt. Các vấn đề hiện không còn được dùng nữa và được thay thế bằng cảnh báo.
Bộ chọn ứng dụng ở đầu thẻ Hiệu suất lọc các mục nhập cảnh báo trong Cảnh báo gần đây . Chỉ có ba cảnh báo gần đây nhất cho (các) ứng dụng đã chọn mới được hiển thị.
Để tìm hiểu thêm 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 .
Giám sát hiệu suất hỗ trợ cảnh báo các số liệu 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 số liệu hiệu suất, chúng tôi đã loại bỏ khả năng định cấu hình ngưỡng cho các vấn đề .
Chúng tôi đã thay thế các trang Chi tiết và Số liệu bằng giao diện người dùng (UI) tập trung, được thiết kế lại mới để cải thiện cách bạn khắc phục sự cố. Giao diện người dùng khắc phục sự cố mới này cung cấp chức năng cốt lõi giống như Chi tiết và Số liệu 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 cho một dấu vết cụ thể .
Giám sát hiệu suất thu thập dữ liệu hiệu suất từ thiết bị người dùng ứ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, Giám sát hiệu suất có thể giới hạn việc thu thập dữ liệu ở một tập hợp con thiết bị để giảm số lượng sự kiện được xử lý. Các giới hạn này đủ cao để ngay cả khi có ít sự kiện hơn, các giá trị chỉ số vẫn đại diện cho trải nghiệm ứng dụng của người dùng.
Để quản lý khối lượng dữ liệu mà chúng tôi thu thập, Giám sát hiệu suất sử dụng các tùy chọn lấy mẫu sau:
Giới hạn tốc độ trên thiết bị : Để ngăn thiết bị gửi các đợt dấu vết đột ngột, chúng tôi giới hạn số lượng dấu vết mã và yêu cầu mạng được gửi từ một thiết bị ở mức 300 sự kiện cứ sau 10 phút. Cách tiếp cận này bảo vệ thiết bị khỏi các thiết bị đo vòng lặp có thể gửi lượng lớn dữ liệu hiệu suất và ngăn chặn một thiết bị làm sai lệch các phép đo hiệu suất.
Lấy mẫu động : Giám sát hiệu suất thu thập giới hạn khoảng 100 triệu sự kiện cho dấu vết mã và 100 triệu sự kiện cho dấu vết yêu cầu mạng cho mỗi ứng dụng hàng ngày trên tất cả người dùng ứng dụng. Tốc độ lấy mẫu động được tìm nạp trên các thiết bị (sử dụng Cấu hình từ xa Firebase) để 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 hay không. Mộ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ốc độ lấy mẫu động dành riêng cho từng ứng dụng và được điều chỉnh để đảm bảo rằng tổng khối lượng dữ liệu được thu thập vẫn ở dưới mức giới hạn.
Phiên người dùng gửi dữ liệu bổ sung, chi tiết từ thiết bị của người dùng, 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 các phiên của người dùng, Giám sát hiệu suất cũng có thể hạn chế số lượng phiên.
Giới hạn tốc độ phía máy chủ : Để đảm bảo ứng dụng không vượt quá giới hạn lấy mẫu, Giám sát hiệu suất có thể sử dụng lấy mẫu phía máy chủ để loại bỏ một số sự kiện nhận được từ thiết bị. Mặc dù loại giới hạn này không làm thay đổi tính hiệu quả của các số liệu của chúng tôi nhưng nó có thể gây ra những thay đổi nhỏ về mô hình, bao gồm những thay đổi sau:
- Số lượng dấu vết có thể khác với số lần thực thi một đoạn mã.
- Mỗi dấu vết được liên kết chặt chẽ trong mã có thể có số lượng mẫu khác nhau.
Chúng tôi đã thay thế tab Sự cố bằng việc giới thiệu Cảnh báo, tính năng này tự động thông báo cho bạn khi vượt quá ngưỡng bạn đặt. Bạn không cần phải kiểm tra bảng điều khiển Firebase theo cách thủ công để xác định trạng thái của ngưỡng nữa. Để 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 .
Chúng tôi đã thiết kế lại phần Giám sát hiệu suất của bảng điều khiển Firebase để tab Trang tổng quan hiển thị các số liệu chính và tất cả dấu vết của bạn trong một không gian. Là một phần của quá trình thiết kế lại, chúng tôi đã xóa các trang Trên thiết bị và Mạng .
Bảng dấu vết ở cuối tab Trang tổng quan có tất cả thông tin giống như tab Trên thiết bị và Mạng hiển thị nhưng có thêm một số tính năng, bao gồm khả năng sắp xếp dấu vết của bạn theo phần trăm thay đổi cho một số liệu cụ thể. Để xem tất cả số liệu và dữ liệu của một dấu vết cụ thể, 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 tab phụ sau của bảng dấu vết:
- Dấu vết yêu cầu mạng (cả dùng ngay và tùy chỉnh) — tab 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
- Khởi động ứng dụng, dấu vết ứng dụng trong nền trước, dấu vết ứng dụng trong nền — tab phụ dấu vết tùy chỉnh
- Dấu vết hiển thị màn hình - tab phụ hiển thị màn hình
- Dấu vết tải trang — tab phụ tải trang
Để biết chi tiết về bảng dấu vết cũng như xem số liệu và dữ liệu, hãy truy cập trang tổng quan về bảng điều khiển ( iOS+ | Android | Web ).
Khung hình hiển thị 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 60Hz thì mỗi khung hình sẽ có thời gian hiển thị chậm hơn vì có ít khung hình được hiển thị mỗi giây hơn. Thời gian kết xuất chậm hơn có thể khiến nhiều khung hình chậm hơn hoặc bị treo được báo cáo vì nhiều khung hình hơn sẽ được kết xuất chậm hơn hoặc bị treo. Tuy nhiên, nếu tốc độ làm mới của thiết bị cao hơn 60Hz thì mỗi khung hình sẽ có thời gian hiển thị nhanh hơn. Điều này có thể khiến ít khung hình bị chậm hoặc bị treo được báo cáo hơn. Đây là giới hạn hiện tại trong SDK giám sát hiệu suất.
Nếu bạn đã bật tính năng tích hợp BigQuery cho Giám sát hiệu suất Firebase, dữ liệu của bạn sẽ được xuất sang BigQuery từ 12 đến 24 giờ sau cuối ngày (Giờ Thái Bình Dương).
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 giờ trưa đến nửa đêm (tất cả ngày và giờ đều theo Giờ Thái Bình Dương).
Gần xử lý và hiển thị dữ liệu thời gian thực
Các quy trình giám sát hiệu suất của Firebase được thu thập dữ liệu hiệu suất khi nó xuất hiện, dẫn đến việc hiển thị dữ liệu gần thời gian thực trong bảng điều khiển Firebase. Dữ liệu được xử lý hiển thị trong bảng điều khiển trong vòng vài phút sau khi thu thập, do đó thuật ngữ "gần thời gian thực".
Để tận dụng việc xử lý dữ liệu gần thời gian thực, hãy đảm bảo ứng dụng của bạn sử dụng phiên bản SDK tương thích thời gian thực .
Để tận dụng việc xử lý dữ liệu gần thời gian thực, bạn chỉ cần đảm bảo rằng ứng dụng của bạn sử dụng phiên bản SDK giám sát hiệu suất tương thích với xử lý dữ liệu thời gian thực.
Đây là các phiên bản SDK tương thích thời gian thực:
- iOS - v7.3.0 trở lên
- TVOS - V8.9.0 trở lên
- Android - V19.0.10 trở lên (hoặc Firebase Android Bom v26.1.0 trở lên)
- Web - V7.14.0 trở lên
Lưu ý rằng chúng tôi luôn khuyên 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ào được liệt kê ở trên sẽ cho phép giám sát hiệu suất để xử lý dữ liệu của bạn trong thời gian gần.
Đây là các phiên bản SDK tương thích với xử lý dữ liệu thời gian thực:
- iOS - v7.3.0 trở lên
- TVOS - V8.9.0 trở lên
- Android - V19.0.10 trở lên (hoặc Firebase Android Bom v26.1.0 trở lên)
- Web - V7.14.0 trở lên
Lưu ý rằng chúng tôi luôn khuyên 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ào được liệt kê ở trên sẽ cho phép giám sát hiệu suất để xử lý dữ liệu của bạn trong thời gian gần.
Nếu ứng dụng của bạn không sử dụng phiên bản SDK tương thích 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 của mình trong bảng điều khiển Firebase. Tuy nhiên, việc hiển thị dữ liệu hiệu suất sẽ bị trì hoãn khoảng 36 giờ kể từ thời điểm thu thập của nó.
Đúng! Bất kể phiên bản SDK nào một phiên bản ứng dụng sử dụng, bạn sẽ thấy dữ liệu hiệu suất từ tất cả người dùng của bạn.
Tuy nhiên, nếu bạn đang xem dữ liệu gần đây (chưa đầy 36 giờ), thì dữ liệu được hiển thị là từ người dùng của các trường hợp ứng dụng bằng phiên bản SDK tương thích thời gian thực. Mặc dù vậy, dữ liệu không tái hiện bao gồm dữ liệu hiệu suất từ tất cả các phiên bản của ứng dụng của bạn.
Liên hệ với hỗ trợ Firebase
Nếu bạn tiếp cận với hỗ trợ Firebase , hãy luôn bao gồm ID ứng dụng Firebase của bạn. Tìm ID ứng dụng Firebase của bạn trong thẻ ứng dụng của bạn trong cài đặt Cài đặt Cài của bạn.