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 bản ghi cho các sự kiện hiệu suất
Kiểm tra thông báo nhật ký của bạn để đảm bảo 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 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 báo nhật ký của bạn để biết bất kỳ thông báo lỗi nào.
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 đây cho biết 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 để cập nhật dữ liệu trong trang tổng quan.
Nếu ứng dụng của bạn không ghi lại các sự kiện hiệu suất, hãy xem lại các mẹo khắc phục sự cố .
2. Kiểm tra Bảng điều khiển 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 đã biết có sự cố 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 sự cố 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 thành công SDK giám sát hiệu suất vào ứng dụng hay chưa khi Firebase nhận được thông tin sự kiện (chẳng hạ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 sau khi khởi động ứng dụng của bạn, bảng điều khiển 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 điều khiển 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à 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ý của bạn để đảm bảo rằng Giám sát hiệu suất đang ghi nhật ký 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ị chậm.
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 thiết bị mô phỏng hoặc thử nghiệm.
Tạo sự kiện bằng cách chuyển ứ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 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ể kiểm tra như 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 của bạn Cài đặt dự án .
Nếu có bất kỳ 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ác 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.
Thực hiện theo các hướng dẫn này để 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ợ của Firebase .
Đảm bảo rằng SDK giám sát hiệu suất không bị vô hiệu hóa 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 thể tìm thấy bất kỳ thứ gì bị vô hiệu hóa trong ứng dụng của mình, hãy liên hệ với Bộ phận hỗ trợ của 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ị nó 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 mà 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 có sự cố ngừng hoạt động đã biết. 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 thành công SDK 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 sự cố chung liên quan đến công cụ và tính năng Giám sát hiệu suất.
Nếu bạn không nhìn thấy thông báo bản ghi 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ị vô hiệu hóa 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 thể tìm thấy bất kỳ thứ gì bị vô hiệu hóa trong ứng dụng của mình, hãy liên hệ với Bộ phận hỗ trợ của Firebase .
Nếu bạn đang thiếu dữ liệu cho dấu vết kết xuất 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 phải 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 việc thiết lập các dấu vết mã tùy chỉnh được cung cấp thông qua Trace API , đặc biệt là các dấu vết sau:
- Tên cho dấu vết mã tùy chỉnh và chỉ số 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. Bất kỳ dấu vết nào không 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à chỉ số 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 báo nhật ký của bạn để đảm bảo rằng Giám sát hiệu suất đang ghi lại các dấu vết mã tùy chỉnh dự kiến.
Nếu Giám sát hiệu suất đang ghi nhật ký 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ợ của 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 Mục tiêu-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 đây:
Tùy thuộc vào hành vi của mã và thư viện mạng mà mã của bạn sử dụng, Giám sát hiệu suất có thể chỉ 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 đang 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
sẽ vẫn đượ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 các 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 như là phần tiếp theo của việc 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 các ngưỡng bạn đặt bị vượt qua. Sự cố hiện không đượ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 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 đượ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 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ỉ số hiệu suất, chúng tôi đã loại bỏ khả năng định cấu hình các ngưỡng cho sự cố .
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 cùng chức năng cốt lõi mà Chi tiết và Chỉ số đã 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ừ các thiết bị người dùng của ứ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ì Giám sát hiệu suất có thể giới hạn việc thu thập dữ liệu ở một nhóm nhỏ 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 dấu vết đột ngột, chúng tôi giới hạn số lượng mã và dấu vết 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 một lượng lớn dữ liệu hiệu suất và ngăn không cho 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 khoảng 100 triệu sự kiện cho dấu vết mã và 100 triệu cho dấu vết yêu cầu mạng trên mỗi ứng dụng 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 chụ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 ứng dụng và đ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 phiên 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 rằng các ứ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 phương pháp 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 thay đổi hiệu quả của các chỉ số 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 điều sau:
- Số dấu vết có thể khác với số lần một đoạn mã được thực thi.
- Mỗi dấu vết được kết hợp 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ự động thông báo cho bạn khi vượt quá ngưỡng bạn đặt. Bạn không còn 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. Để 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 chỉ số chính và tất cả các dấu vết của bạn trong một không gian. Là một phần của thiết kế lại, chúng tôi đã xóa các trang Trên thiết bị và Mạng .
Bảng theo dõi ở 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 được 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 các dấu vết của bạn theo phần trăm thay đổi đối với một số liệu cụ thể. Để xem tất cả các chỉ số và dữ liệu cho 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 con sau của bảng dấu vết:
- Dấu vết yêu cầu mạng (cả có sẵn và tùy chỉnh) — Tab phụ yêu cầu mạng
- Dấu vết mã tùy chỉnh — Tab con dấu vết tùy chỉnh
- Dấu vết khởi động ứng dụng, ứng dụng ở nền trước, ứng dụng ở chế độ nền — Tab phụ Dấu vết tùy chỉnh
- Dấu vết kết xuất màn hình — Tab con kết xuất màn hình
- Dấu vết tải trang — Tab 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 trang tổng quan về bảng điều khiển ( iOS+ | Android | Web ).
Khung 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 60Hz, thì 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 mỗi giây. Thời gian hiển thị chậm hơn có thể khiến nhiều khung hình bị chậm hoặc bị treo hơn được báo cáo vì nhiều khung hình sẽ được hiển thị 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, mỗi khung hình sẽ có thời gian kết xuất nhanh hơn. Điều này có thể làm cho số khung hình bị chậm hoặc bị treo ít hơn được báo cáo. Đâ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í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 khi kết thúc ngày (Giờ Thái Bình Dương).
Ví dụ: dữ liệu cho ngày 19 tháng 4 sẽ có sẵn 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 là 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. Tìm ID ứng dụng Firebase của bạn trong thẻ Ứng dụng của bạn trong của bạn Cài đặt dự án .