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).
Near real-time data processing and display
Firebase Performance Monitoring processes collected performance data as it comes in, which results in near real-time data display in the Firebase console. Processed data displays in the console within a few minutes of its collection, hence the term "near real-time".
To take advantage of near real-time data processing, make sure your app uses a real-time compatible SDK version .
To take advantage of near real-time data processing, you only need to make sure that your app uses a Performance Monitoring SDK version that's compatible with real-time data processing.
These are the real-time compatible SDK versions:
- iOS — v7.3.0 or later
- tvOS — v8.9.0 or later
- Android — v19.0.10 or later (or Firebase Android BoM v26.1.0 or later)
- Web — v7.14.0 or later
Note that we always recommend using the latest version of SDK, but any version listed above will enable Performance Monitoring to process your data in near real time.
These are the SDK versions compatible with real-time data processing:
- iOS — v7.3.0 or later
- tvOS — v8.9.0 or later
- Android — v19.0.10 or later (or Firebase Android BoM v26.1.0 or later)
- Web — v7.14.0 or later
Note that we always recommend using the latest version of SDK, but any version listed above will enable Performance Monitoring to process your data in near real time.
If your app doesn't use a real-time compatible SDK version, you will still see all your app's performance data in the Firebase console. However, the display of performance data will be delayed by roughly 36 hours from the time of its collection.
Yes! Regardless of which SDK version an app instance uses, you'll see performance data from all your users.
However, if you're looking at recent data (less than roughly 36 hours old), then the displayed data is from users of app instances using a real-time compatible SDK version. The non-recent data, though, includes performance data from all versions of your app.
Contacting Firebase Support
If you reach out to Firebase Support , always include your Firebase App ID. Find your Firebase App ID in the Your apps card of your Project settings .