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 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 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 báo nhật ký của nó với
FirebasePerformance
. Sử dụng tính năng lọc logcat, bạn có thể xem cụ thể nhật ký theo dõi 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 đâ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.
Đảm bảo rằng bạn đang sử dụng Android SDK Giám sát hiệu suất 19.1.0 trở lên (hoặc Firebase BoM 26.3.0 trở lên), 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 ứ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-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ể 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 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 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 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ợ của Firebase .
Kiểm tra thiết lập của plugin Cấp độ giám sát hiệu suất, như sau:
Đảm bảo rằng bạn đã thêm plugin chính xác. Cụ thể kiểm tra như 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 mình.
- Bạn đã thêm plugin (
Đảm bảo rằng plugin không bị vô hiệu hóa thông qua một trong các cờ sau:
-
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
-
Kiểm tra để đả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
AndroidManifest.xml
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 trong thời gian chạy .
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:
Kiểm tra thiết lập của plugin Cấp độ giám sát hiệu suất, như sau:
Đảm bảo rằng bạn đã thêm plugin chính xác. Cụ thể kiểm tra như 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 mình.
- Bạn đã thêm plugin (
Đảm bảo rằng plugin không bị vô hiệu hóa thông qua một trong các cờ sau:
-
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
-
Kiểm tra để đả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
AndroidManifest.xml
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 trong thời gian chạy .
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:
Đảm bảo rằng bạn đang sử dụng phiên bản SDK Android mới nhất (v20.3.2). Dấu vết kết xuất 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ính năng Tăng tốc phần cứng theo cách thủ công cho màn hình.
Đảm bảo rằng bạn hiệ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 các 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 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:
Nếu bạn đã cung cấp các dấu vết mã tùy chỉnh thông qua Trace API , hãy kiểm tra việc 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ã 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 (
Nếu bạn đã cung cấp các dấu vết mã tùy chỉnh thông qua ký hiệu
@AddTrace
, hãy kiểm tra thiết lập plugin Cấp độ giám sát hiệu suất:Đảm bảo rằng bạn đã thêm plugin chính xác. Cụ thể kiểm tra như 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 mình.
- Bạn đã thêm plugin (
Đảm bảo rằng plugin không bị vô hiệu hóa thông qua một trong các cờ sau:
-
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
-
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:
Đối với các ứng dụng Android, plugin Lớp giám sát hiệu suất cho phép 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ể kiểm tra như 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 mình.
- Bạn đã thêm plugin (
Đảm bảo rằng plugin không bị vô hiệu hóa thông qua một trong các cờ sau:
-
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
-
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, Java's URLConnection 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 đâ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 tương thích với DexGuard và Jack.
- DexGuard vô hiệu hóa 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
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 số liệu 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.
Để xem hiệu suất của các đoạn ngoài hoạt động của ứ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 Thêm Giám sát hiệu suất vào ứng dụng của bạn .
Mỗi dấu vết phân đoạn và hoạt động dựa trên tên lớp của nó như được định nghĩa 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ố 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) .
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 một 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 về 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 chỉ số mà bạn quan tâm. Đối với dấu vết kết xuất 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 bị chậm và bị treo vượt quá ngưỡng mà 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 vượt trội 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 yêu cầu lặp lại qua tất cả các lớp trong ứng dụng của bạn (bao gồm cả các phần phụ thuộc) để tạo công cụ mã 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ớp hoặc tệp
- 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 (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 của bạn, hãy xem xét mô đun hóa mã của bạn .
Bắt đầu với phiên bản 1.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 gia tăng 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ủa mình cục bộ nếu bạn 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 nghị cho các bản dựng sản xuất vì nó có thể dẫn đến việc bỏ lỡ các phép đo hiệu suất cho 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 vượt trội 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 yêu cầu lặp lại qua tất cả các lớp trong ứng dụng của bạn (bao gồm cả các phần phụ thuộc) để tạo công cụ mã 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 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 plugin Giám sát hiệu suất, thì điều này có thể là do bạn cũng phụ thuộc vào thư viện không tương thích với plugin Lớp 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 công cụ bằng cách thực hiện theo các bước sau:
- Cập nhật lên phiên bản mới nhất của plugin Cấp độ giám sát hiệu suất (tối thiểu v1.4.0 ).
- Cập nhật phiên bản plugin Android Gradle của bạn lên v7.2.0 trở lên.
- Thêm cờ sau vào tệp
build.gradle
mô-đun (cấp ứng dụng) của bạn để 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 Công cụ .
Vui lòng gửi sự cố 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ể bị loại trừ khỏi việc được cung cấp trong plugin 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. Find your Firebase App ID in the Your apps card of your Project settings .