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 cho Giám sát hiệu suất tại thời điểm xây dựng bằng cách thêm phần tử
<meta-data>
vào tệpAndroidManifest.xml
của ứng dụng, như sau:<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>
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
FirebasePerformance
. Bằng cách sử dụng tính năng lọc logcat, bạn có thể xem cụ thể dấu vết thời lượng và ghi nhật ký yêu cầu mạng HTTP/S bằng cách chạy lệnh sau:adb logcat -s FirebasePerformance
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.
Đả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 Firebase BoM 26.3.0 trở lên), hãy xem 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 để thu thập dữ liệu:
- 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-services.json
) đượ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 mô-đun (cấp ứng dụng) của ứng dụng của bạn.
ID ứng dụng Android Firebase (
mobilesdk_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 Android 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 10 phút), hãy liên hệ với bộ phận Hỗ trợ Firebase .
Kiểm tra quá trình thiết lập plugin Giám sát hiệu suất của Gradle như sau:
Đảm bảo rằng bạn đã thêm plugin chính xác. Cụ thể, hãy kiểm tra những điều sau:
- Bạn đã thêm plugin (
) trong tệpapply plugin: 'com.google.firebase.firebase-perf' build.gradle
mô-đun (cấp ứng dụng) của mình. - Bạn đã bao gồm phần phụ thuộc đường dẫn lớp cho plugin (
) trong tệpclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
cấp dự án của bạn.
- Bạn đã thêm plugin (
Đảm bảo rằng plugin không bị tắt thông qua một trong các cờ sau:
- thiết
instrumentationEnabled
trong tệpbuild.gradle
mô-đun (cấp ứng dụng) của bạn -
firebasePerformanceInstrumentationEnabled
trong tệpgradle.properties
của bạn
- thiết
Kiểm tra xem SDK giám sát hiệu suất có bị tắt thông qua một trong các cờ sau trong tệp
AndroidManifest.xml
của bạn hay không:-
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 .
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:
Kiểm tra quá trình thiết lập plugin Giám sát hiệu suất của Gradle như sau:
Đảm bảo rằng bạn đã thêm plugin chính xác. Cụ thể, hãy kiểm tra những điều sau:
- Bạn đã thêm plugin (
) trong tệpapply plugin: 'com.google.firebase.firebase-perf' build.gradle
mô-đun (cấp ứng dụng) của mình. - Bạn đã bao gồm phần phụ thuộc đường dẫn lớp cho plugin (
) trong tệpclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
cấp dự án của bạn.
- Bạn đã thêm plugin (
Đảm bảo rằng plugin không bị tắt thông qua một trong các cờ sau:
- thiết
instrumentationEnabled
trong tệpbuild.gradle
mô-đun (cấp ứng dụng) của bạn -
firebasePerformanceInstrumentationEnabled
trong tệpgradle.properties
của bạn
- thiết
Kiểm tra xem SDK giám sát hiệu suất có bị tắt thông qua một trong các cờ sau trong tệp
AndroidManifest.xml
của bạn hay không:-
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 .
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:
Đảm bảo rằng bạn đang sử dụng phiên bản SDK Android mới nhất (v20.5.1). Dấu vết hiển thị màn hình chỉ khả dụng với v15.2.0 trở lên.
Đảm bảo rằng bạn chưa tắt Tăng tốc phần cứng cho màn hình theo cách thủ công.
Đảm bảo rằng bạn không sử dụng DexGuard hoặc Jack. Giám sát hiệu suất không tương thích với các chuỗi công cụ này.
DexGuard vô hiệu hóa việc tự động thu thập dấu vết khởi động ứng dụng, ứng dụng ở nền trước và ứng dụng ở chế độ nền. Tuy nhiên, mọi dấu vết mã tùy 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 được sử dụng trong ứng dụng của bạn.
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:
Nếu bạn thiết lập các dấu vết mã tùy chỉnh thông qua API theo dõi , hãy kiểm tra quá trình thiết lập dấu vết, đặ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 (
Nếu bạn thiết lập dấu vết mã tùy chỉnh thông qua ký hiệu
@AddTrace
, hãy kiểm tra quá trình thiết lập plugin Gradle giám sát hiệu suất:Đảm bảo rằng bạn đã thêm plugin chính xác. Cụ thể, hãy kiểm tra những điều sau:
- Bạn đã thêm plugin (
) trong tệpapply plugin: 'com.google.firebase.firebase-perf' build.gradle
mô-đun (cấp ứng dụng) của mình. - Bạn đã bao gồm phần phụ thuộc đường dẫn lớp cho plugin (
) trong tệpclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
cấp dự án của bạn.
- Bạn đã thêm plugin (
Đảm bảo rằng plugin không bị tắt thông qua một trong các cờ sau:
- thiết
instrumentationEnabled
trong tệpbuild.gradle
mô-đun (cấp ứng dụng) của bạn -
firebasePerformanceInstrumentationEnabled
trong tệpgradle.properties
của bạn
- thiết
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:
Đối với các ứng dụng Android, plugin Gradle giám sát hiệu suất sẽ kích hoạt công cụ cung cấp khả năng giám sát tự động các yêu cầu mạng HTTP/S . Kiểm tra lượt theo dõi:
Đảm bảo rằng bạn đã thêm plugin chính xác. Cụ thể, hãy kiểm tra những điều sau:
- Bạn đã thêm plugin (
) trong tệpapply plugin: 'com.google.firebase.firebase-perf' build.gradle
mô-đun (cấp ứng dụng) của mình. - Bạn đã bao gồm phần phụ thuộc đường dẫn lớp cho plugin (
) trong tệpclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
cấp dự án của bạn.
- Bạn đã thêm plugin (
Đảm bảo rằng plugin không bị tắt thông qua một trong các cờ sau:
- thiết
instrumentationEnabled
trong tệpbuild.gradle
mô-đun (cấp ứng dụng) của bạn -
firebasePerformanceInstrumentationEnabled
trong tệpgradle.properties
của bạn
- thiết
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: OkHttp 3.xx, URLConnection của Java và Apache HttpClient.
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 tương thích với DexGuard và Jack.
- DexGuard vô hiệu hóa việc 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 được sử dụng trong ứng dụng của bạn.
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.
Để xem hiệu suất của các mảnh ngoài hoạt động ứng dụng, hãy đảm bảo rằng ứng dụng của bạn đang sử dụng SDK Android theo dõi hiệu suất phiên bản 20.1.0 trở lên. Để tìm hiểu thêm, hãy xem Thêm giám sát hiệu suất vào ứng dụng của bạn .
Mỗi đoạn và dấu vết hoạt động đều dựa trên tên lớp của nó như được 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 của lớp. Trên bảng điều khiển Firebase, tiền tố sẽ bị xóa. Để tìm hiểu thêm, hãy xem Tìm hiểu về dữ liệu hiệu suất hiển thị màn hình (ứng dụng Apple và Android) .
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ị. Cách tiếp cận này cho phép chúng tôi thu thập các sự kiện tối thiểu cần thiết từ thiết bị của người dùng để cung cấp số liệu hiệu suất.
Giám sát hiệu suất cho phép bạn thiết lập cảnh báo cho các số liệu mà bạn quan tâm. Đối với dấu vết hiển thị màn hình được tạo, 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 bạn đặt.
Giám sát hiệu suất dành cho Android sử dụng công cụ mã byte để cung cấp một số 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 tất cả các lớp trong ứng dụng của bạn (bao gồm cả các lớp phụ thuộc) để tạo mã có vai trò quan trọng trong việc đo lường hiệu suất yêu cầu mạng của ứng dụng của bạn.
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ượng lớp hoặc tập tin
- Kích thước của mỗi 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 nhanh hơn bản dựng ban đầu)
Để tối ưu hóa thời gian xây dựng, hãy xem xét việc mô-đun hóa mã của bạn .
Bắt đầu với v1.3.3 của plugin Giám sát hiệu suất, chúng tôi đã tập trung vào việc thực hiện những cải tiến đáng kể trong quá trình xử lý bản dựng tăng dần và lưu vào bộ nhớ đệm của đầu vào thư viện. Để nhận được những cải tiến mới nhất về thời gian xây dựng, hãy đảm bảo sử dụng phiên bản mới nhất của plugin (v1.4.2) .
Lưu ý rằng bạn có thể tắt plugin Giám sát hiệu suất cho các bản dựng gỡ lỗi cục bộ nếu muốn tránh thời gian xây dựng lâu. Tuy nhiên, phương pháp này không được khuyến khích cho các bản dựng chính thức vì nó có thể dẫn đến việc bỏ lỡ các phép đo hiệu suất đối với các yêu cầu mạng trong ứng dụng của bạn.
Giám sát hiệu suất dành cho Android sử dụng công cụ mã byte để cung cấp một số 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 tất cả các lớp trong ứng dụng của bạn (bao gồm cả các lớp phụ thuộc) để tạo mã có vai trò quan trọng trong việc đo lường hiệu suất yêu cầu mạng của ứng dụng của bạn.
Nếu bạn gặp lỗi xây 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 plugin Giám sát hiệu suất, điều này có thể là do bạn cũng có sự phụ thuộc vào thư viện không tương thích với plugin Gradle giám sát hiệu suất.
Để giải quyết 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 việc trang bị công cụ 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 plugin Giám sát hiệu suất cho Gradle (tối thiểu v1.4.0 ).
- Cập nhật phiên bản plugin Android cho Gradle của bạn lên v7.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 khỏi công cụ: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 plugin Android Gradle, hãy xem Instrumentation .
Vui lòng gửi vấn đề trên Github khi bạn gặp phải lỗi xây dựng do thư viện không tương thích để chúng cũng có thể được loại trừ khỏi việc đưa vào plugin 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.