Trang này cung cấp các mẹo khắc phục sự cố để bắt đầu sử dụng tính năng Giám sát hiệu suất hoặc thông qua 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à những phương pháp chung hay nhất nên áp dụng cho mọi người trước khi tiếp tục khắc phục sự cố.
1. Kiểm tra thông điệp nhật ký để xem các sự kiện về hiệu suất
Kiểm tra thông điệp 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 sự kiện hiệu suất.
Cách xem thông điệp nhật ký cho các sự kiện hiệu suất
Bật tính năng ghi nhật ký gỡ lỗi cho tính năng Giám sát hiệu suất tại thời điểm xây dựng bằng cách thêm
<meta-data>
vào tệpAndroidManifest.xml
của ứng dụng, chẳng hạn như:<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>
Kiểm tra thông điệp nhật ký của bạn để xem có thông báo lỗi nào không.
Dịch vụ Giám sát hiệu suất gắn thẻ thông điệp nhật ký bằng
FirebasePerformance
. Sử dụng logcat bạn có thể xem cụ thể dấu vết thời lượng và mạng HTTP/S yêu cầu ghi nhật ký bằng cách chạy lệnh sau:adb logcat -s FirebasePerformance
Kiểm tra các loại nhật ký sau đây để biết chức năng Giám sát hiệu suất ghi nhật ký 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 của Firebase. Quá trình này có thể mất vài phút thời điểm để dữ liệu cập nhật trong trang tổng quan.
Nếu ứng dụng của bạn không ghi lại các sự kiện về hiệu suất, hãy xem phần khắc phục sự cố .
2. Kiểm tra Trang tổng quan về trạng thái Firebase
Xem Trang tổng quan trạng thái Firebase trong trường hợp đã xác định là có sự cố ngừng dịch vụ của Firebase hoặc tính năng Giám sát hiệu suất.
Bắt đầu sử dụng tính năng Giám sát hiệu suất
Nếu bạn đang bắt đầu sử dụng tính năng Giám sát hiệu suất (iOS+ | Android | Web), thì trình khắc phục sự cố sau đây các mẹo 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 trong bảng điều khiển của 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 giám sát hiệu suất vào ứng dụng của mình 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 kể từ khi khởi động ứng dụng, chỉ số Hiệu suất trang tổng quan trên bảng điều khiển của Firebase hiển thị thông báo "SDK đã phát hiện" . Sau đó, trong vòng 30 phút, trang tổng quan 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 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ý thông báo để đảm bảo rằng tính nă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ố 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
Đảm bảo rằng bạn đang sử dụng SDK Android Giám sát hiệu suất 19.1.0 trở lên (hoặc BoM của Firebase 26.3.0 trở lên), hãy xem phần Ghi chú phát hành.
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:
- 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-services.json
) 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 mục 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 thư mục mô-đun (cấp ứng dụng) của ứng dụng.
Mã ứng dụng Android trên Firebase (
mobilesdk_app_id
) được liệt kê trong tệp cấu hình chính xác đối với ứng dụng của bạn. Tìm mã ứng dụng Firebase trong mục Ứng dụng của bạn thẻ của Dự án settings củ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.
Hãy làm theo các hướng dẫn này để tải một tệp cấu hình mới xuống rồi thêm tệp đó vào ứng dụng Android.
Nếu SDK đang ghi nhật ký các sự kiện và mọi thứ có vẻ đã đượ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 hay dữ liệu đã xử lý (sau 10 phút), hãy liên hệ với Bộ phận 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ố
Kiểm tra cách thiết lập trình bổ trợ Gradle cho tính năng Giám sát hiệu suất như sau:
Đảm bảo rằng bạn đã thêm trình bổ trợ một cách chính xác. Cụ thể, hãy kiểm tra những mục sau:
- Bạn đã thêm trình bổ trợ
(
) inch tệpapply plugin: 'com.google.firebase.firebase-perf' build.gradle
mô-đun (cấp ứng dụng) của bạn. - Bạn đã thêm phần phụ thuộc classpath cho trình bổ trợ
(
) trong tệpclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
cấp dự án.
- Bạn đã thêm trình bổ trợ
(
Hãy đảm bảo rằng trình bổ trợ không bị tắt thông qua một trong các sản phẩm sau cờ:
instrumentationEnabled
trong mô-đun của bạn (cấp ứng dụng) Tệpbuild.gradle
firebasePerformanceInstrumentationEnabled
trong Tệpgradle.properties
Kiểm tra để đảm bảo rằng SDK giám sát hiệu suất không phải bị vô hiệu hoá thông qua một trong những cờ sau trong tệp
AndroidManifest.xml
:firebase_performance_collection_enabled
firebase_performance_collection_deactivated
Đảm bảo rằng chế độ Giám sát hiệu suất không bị tắt ở thời gian chạy.
Nếu bạn không tìm thấy tính năng nào bị tắt trong ứng dụng của mình, liên hệ với Bộ phận hỗ trợ Firebase.
Bảng điều khiển cho biết SDK là đã phát hiện, nhưng không có dữ liệu nào được hiển thị
Dịch vụ Giám sát hiệu suất xử lý dữ liệu sự kiện về hiệu suất trước khi hiển thị dữ liệu đó trong Trang tổng quan về Hiệu suất.
Nếu đã hơn 24 giờ kể từ khi "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 về trạng thái Firebase trong trường hợp có sự cố ngừng dịch vụ đã biết. Nếu không có sự cố ngừng dịch vụ, liên hệ với Bộ phận hỗ trợ Firebase.
Khắc phục vấn đề chung
Nếu bạn đã thêm thành công SDK và đang sử dụng tính năng Giám sát hiệu suất trong ứng dụng, 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ụ của Giám sát hiệu suất.
Ứng dụng không ghi nhật ký sự kiện hiệu suất
Nếu bạn không thấy thông báo nhật ký về hiệu suất sự kiện, hãy thử các bước khắc phục sự cố sau đây:
Kiểm tra cách thiết lập trình bổ trợ Gradle cho tính năng Giám sát hiệu suất như sau:
Đảm bảo rằng bạn đã thêm trình bổ trợ một cách chính xác. Cụ thể, hãy kiểm tra những mục sau:
- Bạn đã thêm trình bổ trợ
(
) inch tệpapply plugin: 'com.google.firebase.firebase-perf' build.gradle
mô-đun (cấp ứng dụng) của bạn. - Bạn đã thêm phần phụ thuộc classpath cho trình bổ trợ
(
) trong tệpclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
cấp dự án.
- Bạn đã thêm trình bổ trợ
(
Hãy đảm bảo rằng trình bổ trợ không bị tắt thông qua một trong các sản phẩm sau cờ:
instrumentationEnabled
trong mô-đun của bạn (cấp ứng dụng) Tệpbuild.gradle
firebasePerformanceInstrumentationEnabled
trong Tệpgradle.properties
Kiểm tra để đảm bảo rằng SDK giám sát hiệu suất không phải bị vô hiệu hoá thông qua một trong những cờ sau trong tệp
AndroidManifest.xml
:firebase_performance_collection_enabled
firebase_performance_collection_deactivated
Đảm bảo rằng chế độ Giám sát hiệu suất không bị tắt ở thời gian chạy.
Nếu bạn không tìm thấy tính năng nào bị tắt trong ứng dụng của mình, liên hệ với Bộ phận hỗ trợ Firebase.
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ố:
Đảm bảo rằng bạn đang sử dụng phiên bản SDK Android mới nhất (Phiên bản 21.0.1). Dấu vết kết xuất màn hình chỉ có sẵn với phiên bản 15.2.0 trở lên.
Đảm bảo rằng bạn chưa tắt tuỳ chọn Phần cứng theo cách thủ công Tăng tốc cho màn hình.
Đảm bảo bạn không sử dụng DexGuard hoặc Jack. Giám sát hiệu suất mới là không tương thích với các chuỗi công cụ này.
DexGuard tắt tính năng tự động thu thập khi bắt đầu ứng dụng, ứng dụng trong nền trước, và dấu vết ứng dụng trong nền. Tuy nhiên, bất kỳ dấu vết mã tuỳ chỉnh sẽ hoạt động bình thường nếu ứng dụng của bạn sử dụng DexGuard.
Jack không được dùng nữa và thường không nên được sử dụng trong ứng dụng của bạn.
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 phải cho dấu vết mã tuỳ chỉnh? Hãy thử các bước khắc phục sự cố sau đây:
Nếu bạn đo lường các dấu vết mã tuỳ chỉnh thông qua Trace API, hãy kiểm tra cách thiết lập các dấu vết, đặc biệt là các dấu vết 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ý.
- 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
(
Nếu bạn đã đo lường các dấu vết mã tuỳ chỉnh thông qua
@AddTrace
ký hiệu, hãy kiểm tra thông tin thiết lập của trình bổ trợ Gradle Giám sát hiệu suất:Đảm bảo rằng bạn đã thêm trình bổ trợ một cách chính xác. Cụ thể, hãy kiểm tra những mục sau:
- Bạn đã thêm trình bổ trợ
(
) inch tệpapply plugin: 'com.google.firebase.firebase-perf' build.gradle
mô-đun (cấp ứng dụng) của bạn. - Bạn đã thêm phần phụ thuộc classpath cho trình bổ trợ
(
) trong tệpclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
cấp dự án.
- Bạn đã thêm trình bổ trợ
(
Hãy đảm bảo rằng trình bổ trợ không bị tắt thông qua một trong các sản phẩm sau cờ:
instrumentationEnabled
trong mô-đun của bạn (cấp ứng dụng) Tệpbuild.gradle
firebasePerformanceInstrumentationEnabled
trong Tệpgradle.properties
Kiểm tra thông điệp nhật ký để đảm bảo rằng Tính năng Giám sát hiệu suất đang ghi lại các dấu vết mã tuỳ chỉnh dự kiến.
Nếu tính năng Giám sát hiệu suất đang ghi nhật ký các sự kiện, nhưng không có dữ liệu nào hiển thị sau 24 giờ, liên hệ với Bộ phận 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 bị 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:
Đối với các ứng dụng Android, trình bổ trợ Gradle Giám sát hiệu suất cho phép đo lường cung cấp tự động giám sát Yêu cầu mạng HTTP/S. Hãy kiểm tra những hạng mục sau:
Đảm bảo rằng bạn đã thêm trình bổ trợ một cách chính xác. Cụ thể, hãy kiểm tra những mục sau:
- Bạn đã thêm trình bổ trợ
(
) inch tệpapply plugin: 'com.google.firebase.firebase-perf' build.gradle
mô-đun (cấp ứng dụng) của bạn. - Bạn đã thêm phần phụ thuộc classpath cho trình bổ trợ
(
) trong tệpclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
cấp dự án.
- Bạn đã thêm trình bổ trợ
(
Hãy đảm bảo rằng trình bổ trợ không bị tắt thông qua một trong các sản phẩm sau cờ:
instrumentationEnabled
trong mô-đun của bạn (cấp ứng dụng) Tệpbuild.gradle
firebasePerformanceInstrumentationEnabled
trong Tệpgradle.properties
Kiểm tra tính không tương thích của thư viện mạng. Tự động Giám sát hiệu suất thu thập chỉ số cho các yêu cầu mạng sử dụng các thư viện: OkHttp 3.x.x, URLConnection của Java và Apache HttpClient.
Xin lưu ý rằng bạn có thể thêm tính năng giám sát tuỳ chỉnh cho mạng .
Hãy lưu ý những điều sau:
Tuỳ thuộc vào hành vi của mã và thư viện mạng mà mã của bạn, thì tính nă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 tất. Tức là có thể các kết nối HTTP/S vẫn chưa được mở bị báo cáo.
Tính năng Giám sát hiệu suất không tương thích với DexGuard và Jack.
- DexGuard tắt tính năng giám sát các yêu cầu mạng HTTP/S.
- Jack không được dùng nữa và thường không nên được sử dụng trong ứng dụng của bạn.
Tính năng Giám sát hiệu suất không báo cáo các yêu cầu về mạng có kết quả không hợp lệ
Content-Type
tiêu đề. 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
Tìm hiểu thêm về cách Giám sát hiệu suất tổng hợp các yêu cầu về mạng trong mẫu URL.
Bạn cũng có thể thử URL tuỳ chỉnh mẫu!
Câu hỏi thường gặp
Đ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 các ngưỡng bạn đặt ra đã bị vượt qua. Các vấn đề hiện đã ngừng hoạt động và được thay thế bằng các 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ị.
Để tìm hiểu thêm về các 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 khả năng đặt ngưỡng cho các vấn đề trong bảng điều khiển?
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ú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 của 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?
Tính năng Giám sát hiệu suất 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ó nhiều người dùng hoặc nếu ứng dụng tạo ra hiệu suất cao hoạt động, thì tính năng 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ị để hãy 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, giá trị của chỉ số vẫn đại diện cho trải nghiệm của người dùng trên ứng dụng.
Để quản lý khối lượng dữ liệu chúng tôi thu thập, tính năng Giám sát hiệu suất sử dụng 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: Tính năng Giám sát hiệu suất 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 Cấu hình từ xa Firebase) để xác định xem một thiết bị ngẫu nhiên có nên ghi lại 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ì tính năng Giám sát hiệu suất cũng có thể hạn chế số phiên hoạt động.
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 thì tính năng Giám sát hiệu suất 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 phần thực thi mã.
- 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 việc ra mắt thẻ Cảnh báo, tự động thông báo cho bạn khi vượt quá các ngưỡng bạn đã đặt. Bạn không cần phải kiểm tra bảng điều khiển của Firebase theo cách thủ công để xác định trạng thái 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 thế nào để xem dấu vết trên các trang đó?
Chúng tôi đã thiết kế lại phần Giám sát hiệu suất trên bảng điều khiển của Firebase để Thẻ Trang tổng quan hiển thị các chỉ số chính và tất cả dấu vết của bạn trong 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 hiển thị màn hình — Thẻ phụ Hiển thị 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 bằng một thiết bị giả định tốc độ làm mới 60 Hz. 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 được kết xuất trên 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 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 thiết bị tốc độ làm mới cao hơn 60Hz, 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 giám sát hiệu suất.
Tại sao tôi không thấy dấu vết mảnh?
Để xem hiệu suất của các mảnh cùng với hoạt động trong ứng dụng, hãy đảm bảo rằng ứng dụng của bạn đang sử dụng SDK Android Giám sát hiệu suất phiên bản 20.1.0 trở lên. Để tìm hiểu thêm, hãy xem bài viết Thêm tính năng Giám sát hiệu suất vào ứng dụng.
Làm cách nào để biết dấu vết nào liên quan đến các mảnh và hoạt động?
Mỗi mảnh và dấu vết hoạt động dựa trên tên lớp như đã xác định trong ứng dụng của bạn. Mỗi dấu vết trên màn hình chứa tiền tố st theo sau là tên lớp. Trên bảng điều khiển của Firebase, tiền tố là đã bị xóa. Để tìm hiểu thêm, hãy xem Tìm hiểu về dữ liệu hiệu suất kết xuất màn hình (ứng dụng Apple và Android) .
Tại sao tôi thấy ít dấu vết mảnh hơn so với các dấu vết khác?
Tính năng Giám sát hiệu suất tiến hành lấy mẫu sự kiện trên tất cả các sự kiện được thu thập trên thiết bị. Phương pháp này cho phép chúng tôi thu thập số lượng sự kiện tối thiểu cần thiết từ thiết bị của người dùng để cung cấp các chỉ số về hiệu suất.
Tôi sẽ được thông báo như thế nào khi có vấn đề về hiệu suất kết xuất của ứng dụng của bạn không?
Tính năng Giám sát hiệu suất cho phép bạn thiết lập cảnh báo cho các chỉ số mà bạn quan tâm. Đối với phần tử được tạo dấu vết kết xuất màn hình, bạn có thể thiết lập cảnh báo để thông báo cho bạn khi tỷ lệ phần trăm khung hình chậm và bị treo vượt quá ngưỡng mà bạn đặt.
Thời gian xây dựng của tôi cao sau khi bật trình bổ trợ Gradle giám sát hiệu suất. Cách thức tôi có thể cải thiện vấn đề này không?
Giải pháp Giám sát hiệu suất cho Android sử dụng khả năng đo lường mã byte để cung cấp một số các tính năng có sẵn như giám sát các yêu cầu mạng HTTP/S. Là một phần của quá trình biên dịch, quy trình này yêu cầu lặp lại qua tất cả các lớp của ứng dụng (bao gồm cả các phần phụ thuộc) để đo lường mã quan trọng trong đo lường hiệu suất yêu cầu mạng của ứng dụng.
Dưới đây là một số yếu tố chính góp phần làm tăng thời gian xây dựng:
- Số lớp hoặc tệp
- Kích thước của từng lớp đó (dòng mã)
- Cấu hình máy của bạn
- Bản dựng ban đầu so với bản dựng tiếp theo (các bản dựng tiếp theo thường là nhanh hơn bản dựng ban đầu)
Để tối ưu hoá thời gian xây dựng, hãy cân nhắc mô-đun hoá mã.
Kể từ phiên bản 1.3.3 của trình bổ trợ Giám sát hiệu suất, chúng tôi đã tập trung vào việc đảm bảo những điểm cải tiến về quá trình xử lý bản dựng gia tăng và lưu vào bộ nhớ đệm dữ liệu đầu vào của thư viện. Để nhận được những điểm cải tiến mới nhất về thời gian xây dựng, hãy nhớ sử dụng phiên bản mới nhất của trình bổ trợ (Phiên bản 1.4.2).
Xin lưu ý rằng bạn có thể vô hiệu hoá Trình bổ trợ Giám sát hiệu suất cho các bản gỡ lỗi cục bộ nếu bạn muốn tránh thời gian xây dựng lâu. Tuy nhiên, bạn không nên dùng phương pháp này cho các bản dựng phát hành công khai vì có thể dẫn đến đã bỏ lỡ số liệu đo lường hiệu suất cho các yêu cầu mạng trong ứng dụng của bạn.
Tôi phải làm gì nếu gặp lỗi bản dựng do các thư viện không tương thích với trình bổ trợ Gradle giám sát hiệu suất?
Giải pháp Giám sát hiệu suất cho Android sử dụng khả năng đo lường mã byte để cung cấp một số các tính năng có sẵn như giám sát các yêu cầu mạng HTTP/S. Là một phần của quá trình biên dịch, quy trình này yêu cầu lặp lại qua tất cả các lớp của ứng dụng (bao gồm cả các phần phụ thuộc) để đo lường mã quan trọng trong đo lường hiệu suất yêu cầu mạng của ứng dụng.
Nếu bạn gặp lỗi bản dựng như JSR/RET are not supported with
computeFrames option
hoặc các lỗi tương tự sau khi tích hợp với trình bổ trợ Giám sát hiệu suất,
điều này có thể là do bạn cũng có một phần phụ thuộc trên một thư viện không tương thích
bằng trình bổ trợ Gradle Giám sát hiệu suất.
Để khắc phục vấn đề này, bạn có thể loại trừ các lớp/thư viện không tương thích khỏi hoạt động đo lường bằng cách làm theo các bước sau:
- Cập nhật lên phiên bản mới nhất của trình bổ trợ Gradle cho tính năng Giám sát hiệu suất (tối thiểu là phiên bản 1.4.0).
- Cập nhật phiên bản trình bổ trợ Android cho Gradle lên phiên bản 7.2.0 trở lên.
- Thêm cờ sau vào tệp
build.gradle
của mô-đun (ở cấp ứng dụng) để loại trừ các lớp/thư viện không tương thích được đo lường:android { // ... androidComponents { onVariants(selector().all(), { instrumentation.excludes.add("example.incompatible.library") }) } }
Để tìm hiểu thêm về thuộc tínhexclude
của APIInstrumentation
của trình bổ trợ Android cho Gradle, hãy xem phần Instrumentation.
Vui lòng gửi vấn đề trên GitHub khi bạn gặp lỗi bản dựng do các thư viện không tương thích để chúng cũng có thể không được đo lường trong trình bổ trợ Giám sát hiệu suất.
Quá trình xuất dữ liệu của giải pháp Theo dõi hiệu suất của tôi mất nhiều thời gian hơn dự kiến 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 tính năng Giám sát hiệu suất của Firebase, 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 giờ đêm đế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ì?
Giám sát hiệu suất Firebase thu thập dữ liệu hiệu suất ngay khi có 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 của Firebase. Đã xử lý dữ liệu sẽ hiển thị trong bảng điều khiển trong vòng vài phút kể từ khi thu thập, do đó cụm từ "gần thời gian thực".
Để tận dụng quy trình xử lý dữ liệu gần như theo thời gian thực, hãy đảm bảo ứng dụng của bạn sử dụng SDK tương thích theo thời gian thực phiên bản.
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 giám sát hiệu suất tương thích với 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 v26.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ỳ đượ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 gần như thực bất cứ lúc nào.
Những phiên bản nào của SDK giám sát hiệu suất được coi là tương thích theo thời gian thực?
Dưới đâ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 v26.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ỳ đượ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 gần như thực 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 của 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 của 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 settings Dự án .