Khắc phục sự cố và câu hỏi thường gặp về tính năng Giám sát hiệu suất
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Trang này cung cấp các mẹo khắc phục sự cố để bắt đầu sử dụng Performance Monitoring hoặc
sử dụng các tính năng và công cụ của Performance Monitoring.
Những bước 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 hay nhất chung được đề xuất cho mọi người trước khi khắc phục sự cố thêm.
1. Kiểm tra thông điệp nhật ký để biết các sự kiện về hiệu suất
Kiểm tra thông điệp nhật ký để đảm bảo rằng SDK Performance Monitoring đang ghi lại các 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
Kiểm tra thông điệp nhật ký để xem có thông báo lỗi nào không.
Sau vài giây, hãy tìm lệnh gọi mạng đến firebaselogging.googleapis.com trong công cụ cho nhà phát triển của trình duyệt. Sự hiện diện của lệnh gọi mạng đó cho thấy trình duyệt đang gửi dữ liệu hiệu suất đến Firebase.
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 mẹo khắc phục sự cố.
2. Kiểm tra Trang tổng quan về trạng thái Firebase
Nếu bạn mới bắt đầu sử dụng Performance Monitoring
(iOS+ |
Android |
Web), thì các mẹo khắc phục sự cố sau đây có thể giúp bạn 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.
Đã thêm SDK vào ứng dụng, nhưng bảng điều khiển vẫn yêu cầu thêm SDK
Firebase có thể phát hiện xem bạn đã thêm thành công SDK Performance Monitoring vào ứng dụng hay chưa khi nhận được thông tin sự kiện (chẳng hạn như hoạt động tương tác với ứng dụng) từ ứng dụng của bạn.
Thường thì trong vòng 10 phút kể từ khi bạn khởi động ứng dụng, 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, trang tổng quan sẽ hiển thị dữ liệu đã 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 mà vẫn không thấy thay đổi nào, hãy kiểm tra thông điệp nhật ký để đảm bảo rằng Performance Monitoring đ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ư mô tả bên dưới để
khắc phục sự cố thông báo phát hiện SDK bị trễ.
Ứng dụng đang ghi nhật ký sự kiện: các bước khắc phục sự cố
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:
Phân phát và xem ứng dụng web của bạn trong môi trường cục bộ.
Tạo sự kiện bằng cách tải các trang phụ cho trang web, tương tác với ứng dụng và/hoặc kích hoạt yêu cầu mạng. Hãy nhớ mở thẻ trình duyệt trong ít nhất 10 giây sau khi trang tải xong.
Đảm bảo rằng đối tượng cấu hình Firebase được thêm chính xác vào ứng dụng của bạn và bạn chưa sửa đổi đối tượng đó. Cụ thể, hãy kiểm tra những điều sau:
Mã ứng dụng web Firebase (appId) trong đối tượng cấu hình là chính xác cho ứng dụng của bạn. Tìm Mã ứng dụng Firebase trong thẻ Ứng dụng của bạn trong phần settingsCài đặt dự án.
Nếu có vấn đề xảy ra với đối tượng cấu hình trong ứng dụng, hãy thử làm như sau:
Xoá đối tượng cấu hình hiện có trong ứng dụng.
Làm theo các hướng dẫn này để lấy đối tượng cấu hình mới và thêm đối tượng đó vào ứng dụng web 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 Nhóm 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ố
Đảm bảo rằng SDK Performance Monitoring được khởi chạy đúng cách trong ứng dụng của bạn.
Đảm bảo rằng SDK Performance Monitoringkhông bị tắt thông qua cờ sau:
performance.instrumentationEnabled
Đảm bảo rằng bạn đã tắt tính năng lưu vào bộ nhớ đệm của trình duyệt , nếu không, trình duyệt có thể không nhận được bất kỳ chế độ cài đặt đo lường mới nào.
Đóng rồi mở lại thẻ trang web. Hãy kiểm tra lại để xem có ghi nhật ký không.
Nếu vừa thêm SDK Performance Monitoring vào ứng dụng, bạn có thể cần phải khởi động lại hoàn toàn ứng dụng để SDK bắt đầu hoạt động.
Nếu bạn đã thêm thành công SDK và đang sử dụng Performance Monitoring trong ứng dụng, thì các mẹo khắc phục sự cố sau đây có thể giúp bạn 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 Performance Monitoring.
Đảm bảo rằng SDK Performance Monitoring được khởi chạy đúng cách trong ứng dụng của bạn.
Đảm bảo rằng SDK Performance Monitoringkhông bị tắt thông qua cờ sau:
performance.instrumentationEnabled
Đảm bảo rằng bạn đã tắt tính năng lưu vào bộ nhớ đệm của trình duyệt , nếu không, trình duyệt có thể không nhận được bất kỳ chế độ cài đặt đo lường mới nào.
Đóng rồi mở lại thẻ trang web. Hãy kiểm tra lại để xem có ghi nhật ký không.
Nếu vừa thêm SDK Performance Monitoring vào ứng dụng, bạn có thể cần phải khởi động lại hoàn toàn ứng dụng để SDK bắt đầu hoạt động.
Xác nhận rằng người dùng tương tác với trang trong vòng 5 giây kể từ khi tải.
Performance Monitoring chỉ ghi lại FID trong khoảng thời gian này.
Trang tổng quan về hiệu suất
thiếu dữ liệu dấu vết 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 thấy dữ liệu hiệu suất cho các dấu vết mã tuỳ chỉnh không? Hãy thử các bước khắc phục sự cố sau:
Kiểm tra chế độ thiết lập của dấu vết mã tuỳ chỉnh được đo lường thông qua
Trace API,
đặc biệt là những thông tin sau:
Tên của dấu vết mã tuỳ chỉnh và chỉ số tuỳ 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ự dấu gạch dưới (_) ở đầu 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 lại. Mọi dấu vết không được bắt đầu, không được dừng hoặc dừng trước khi bắt đầu sẽ không được ghi lại.
Lưu ý rằng nếu đang sử dụng phương thức record(), thì bạn không cần phải bắt đầu hoặc dừng dấu vết một cách rõ ràng.
Cờ này chỉ kiểm soát việc thu thập dữ liệu cho dấu vết mã tuỳ chỉnh (không phải
tất cả dữ liệu).
Kiểm tra thông điệp nhật ký để đảm bảo rằng Performance Monitoring đang ghi lại dấu vết mã tuỳ chỉnh như mong đợi.
Nếu Performance Monitoring đang ghi nhật ký sự kiện nhưng không có dữ liệu nào xuất hiện sau 24 giờ, hãy liên hệ với Nhóm 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 lưu ý những điều sau:
Performance Monitoring tự động thu thập các chỉ số cho yêu cầu mạng do API trình duyệt báo cáo. Các báo cáo này không bao gồm những yêu cầu mạng không thành công.
Tuỳ 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, Performance Monitoring có thể chỉ báo cáo về các yêu cầu mạng đã hoàn tất.
Đ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.
Dữ liệu yêu cầu mạng không được tổng hợp như dự kiến
Điều gì đã xảy ra với phần Vấn đề hàng đầu trong thẻ Hiệu suất trên Trang chủ dự án?
Chúng tôi đã thay thế Vấn đề hàng đầu bằng Cảnh báo gần đây để tiếp nối việc ra mắt tính năng cảnh báo gần đây, tính năng này sẽ tự động thông báo cho bạn khi vượt quá ngưỡng bạn đặt. Vấn đề hiện không còn được dùng và được thay thế bằng cảnh báo.
Bộ chọn ứng dụng ở đầu thẻ Hiệu suất sẽ lọc các mục cảnh báo trong phần Cảnh báo gần đây. Chỉ có 3 cảnh báo gần đây nhất cho(các) ứng dụng đã chọn được hiển thị.
Tính năng đặt ngưỡng cho các vấn đề trong bảng điều khiển đã bị loại bỏ phải không?
Performance Monitoring 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 đã xoá 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 Firebase?
Chúng tôi đã thay thế trang Chi tiết và Chỉ số bằng một giao diện người dùng (UI) tập trung, được thiết kế lại để giúp bạn khắc phục sự cố hiệu quả hơn. Giao diện người dùng mới để khắc phục sự cố này cung cấp chức năng cốt lõi giống như các trang Chi tiết và Chỉ số. Để tìm hiểu thêm về cách khắc phục sự cố, hãy xem phần Xem thêm dữ liệu cho một dấu vết cụ thể.
Tại sao số lượng mẫu không như tôi mong đợi?
Performance Monitoring thu thập dữ liệu hiệu suất từ thiết bị của người dùng ứng dụng. 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ì Performance Monitoring 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 thể hiện được trải nghiệm trong ứng dụng của người dùng.
Để quản lý lượng dữ liệu mà chúng tôi thu thập, Performance Monitoring sử dụng các lựa 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 đột ngột các dấu vết, chúng tôi giới hạn số lượng dấu vết 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 sau mỗi 10 phút. Phương pháp này bảo vệ thiết bị khỏi
các công cụ đo lường lặp lại có thể gửi một lượng lớn dữ liệu hiệu suất, đồng thời
ngă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: Performance Monitoring thu thập một số lượng giới hạn dấu vết mã và 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 thiết bị (bằng cách sử dụng Firebase Remote Config) để 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. 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 là
dành riêng cho ứng dụng và điều chỉ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 của người dùng gửi thêm dữ liệu chi tiết từ thiết bị của người dùng, đòi hỏi
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, Performance Monitoring 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, Performance Monitoring có thể sử dụng tính nă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ù kiểu giới hạn này không làm thay đổi hiệu quả của các chỉ số, nhưng có thể gây ra những thay đổi nhỏ về mẫu, bao gồm:
Số lượng 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 liên kết chặt chẽ trong mã có thể có số lượng mẫu khác nhau.
Chuyện gì đã xảy ra với thẻ Vấn đề trong Play Console?
Chúng tôi đã thay thế thẻ Vấn đề bằng tính năng Cảnh báo. Tính năng này sẽ 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 một ngưỡng nữa. Để tìm hiểu về Google Alerts, hãy xem bài viết Thiết lập Google Alerts về 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 cách nào để xem dấu vết trên các trang đó?
Chúng tôi đã thiết kế lại phần Performance Monitoring của bảng điều khiển 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 ở cùng một nơi. Trong quá trình thiết kế lại, chúng tôi đã xoá các trang Trên thiết bị và Mạng.
Bảng dấu vết ở cuối thẻ Trang tổng quan có tất cả thông tin giống như thông tin mà thẻ 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 cả khả năng sắp xếp dấu vết theo tỷ lệ phần trăm thay đổi cho một chỉ số cụ thể. Để xem tất 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 thẻ con sau đây của bảng dấu vết:
Dấu vết yêu cầu mạng (cả dấu vết có sẵn và dấu vết tuỳ chỉnh) — Thẻ con Yêu cầu mạng
Dấu vết mã tuỳ chỉnh — Thẻ con Dấu vết tuỳ chỉnh
Dấu vết khởi động ứng dụng, ứng dụng chạy trên nền trước, ứng dụng chạy trong nền — Thẻ con Dấu vết tuỳ chỉnh
Dấu vết kết xuất màn hình – Thẻ con Kết xuất màn hình
Dấu vết tải trang — Thẻ con Tải trang
Để biết thông tin chi tiết về bảng dấu vết cũng như cách xem các chỉ số và dữ liệu, hãy truy cập vào trang tổng quan về bảng điều khiển (iOS+ | Android | Web).
Tại sao số lượng 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 dựa trên tốc độ làm mới giả định của thiết bị là 60Hz. Nếu tốc độ làm mới của thiết bị thấp hơn 60 Hz, thì mỗi khung hình sẽ có thời gian kết xuất chậm hơn vì số khung hình được kết xuất mỗi giây ít hơn.
Thời gian kết xuất 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 kết xuất chậm hơn hoặc sẽ bị treo. Tuy nhiên, nếu tốc độ làm mới của thiết bị cao hơn 60 Hz, thì mỗi khung hình sẽ có thời gian kết xuất nhanh hơn.
Điều này có thể khiến số lượng khung hình chậm hoặc bị treo được báo cáo ít hơn. Đây là một hạn chế hiện tại trong SDK Performance Monitoring.
Làm cách nào để thêm SDK JS Performance Monitoring nhỏ hơn, có không gian tên (SDK "độc lập") vào ứng dụng web của tôi?
Nếu Performance Monitoring là sản phẩm Firebase duy nhất trong ứng dụng, thì bạn có thể sử dụng SDK Performance Monitoring độc lập (và tập lệnh tiêu đề được đề xuất bên dưới) nếu bạn quan tâm đến:
sử dụng thư viện không gian tên
giảm kích thước gói SDK
trì hoãn việc khởi chạy SDK cho đến khi trang của bạn tải xong
Cách đưa SDK Performance Monitoring độc lập vào ứng dụng và trì hoãn quá trình khởi chạy SDK này cho đến sau khi trang tải xong:
Đoạn mã trên tải SDK độc lập không đồng bộ, sau đó khởi chạy Firebase sau khi sự kiện onload của cửa sổ kích hoạt. Chiến thuật này giúp giảm
tác động của SDK đối với
chỉ số tải trang vì trình duyệt đã
báo cáo chỉ số tải khi bạn khởi chạy SDK.
Tìm hiểu về SDK Performance Monitoring độc lập và tập lệnh tiêu đề
SDK độc lập này được tối ưu hoá về kích thước; khi được nén bằng Gzip, kích thước của SDK này là khoảng 10 KB. Thư viện này có tất cả chức năng của Firebase Performance Monitoring cùng với một số chức năng tối thiểu của SDK Firebase chính.
Firebase Performance Monitoring sử dụng các API fetch và Promise không có trên các trình duyệt cũ. Polyfill cho các API này được đưa vào SDK JS Firebase Performance Monitoring tiêu chuẩn, nhưng bị bỏ qua trong SDK độc lập để giảm kích thước.
SDK Performance Monitoring dựa một phần vào
API Thời gian tải tài nguyên
để lấy các chỉ số về thời gian tải trang từ trình duyệt.
Đoạn mã sau đây phân tích tập lệnh tiêu đề bao gồm, sau đó trì hoãn việc khởi chạy SDK:
(function(sdkSource,firebaseConfigObject){functionload(f,c){//CreatesascripttagtoloadthestandaloneSDKvarsdkScript=document.createElement('script');//Setsittoanasyncscriptsothatitdoesn't interfere with page loadsdkScript.async=1;//SetsthesourceofthescriptsdkScript.src=f;//Insertsthescriptintotheheadofthepagevars=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(sdkScript,s);}//Callstheloadmethodload(sdkSource);//InitializestheSDKonlywhentheonloadmethodiscalledwindow.addEventListener('load',function(){firebase.initializeApp(firebaseConfigObject).performance();});})(performance_standalone,firebaseConfig);
ở đâu,
performance_standalone là 'https://www.gstatic.com/firebasejs/13.0.0/firebase-performance-standalone.js'
Bạn có thể tạo tổng cộng tối đa 400 mẫu URL tuỳ chỉnh cho mỗi ứng dụng và tối đa 100 mẫu URL tuỳ chỉnh cho mỗi miền của ứng dụng đó.
Xử lý và hiển thị dữ liệu gần như theo thời gian thực
Dữ liệu hiệu suất "gần như theo thời gian thực" có nghĩa là gì?
Firebase Performance Monitoring xử lý dữ liệu hiệu suất đã thu thập khi dữ liệu đó được gửi đến, nhờ đó, dữ liệu sẽ hiển thị gần như theo thời gian thực trong bảng điều khiển Firebase. Dữ liệu đã xử lý sẽ xuất hiện trong bảng điều khiển trong vòng vài phút sau khi thu thập, do đó có thuật ngữ "gần theo thời gian thực".
Làm cách nào để nhận dữ liệu hiệu suất gần theo thời gian thực cho ứng dụng của tôi?
Để tận dụng tính năng xử lý dữ liệu gần như theo thời gian thực, bạn chỉ cần đảm bảo rằng ứng dụng của mình sử dụng phiên bản SDK Performance Monitoring tương thích với tính năng xử lý dữ liệu theo thời gian thực.
Sau đây là các phiên bản SDK tương thích 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 phiên bản 26.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 mọi phiên bản nêu trên đều cho phép Performance Monitoring xử lý dữ liệu của bạn gần như theo thời gian thực.
Những phiên bản nào của SDK Performance Monitoring được coi là tương thích theo thời gian thực?
Sau đâ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 phiên bản 26.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 mọi phiên bản nêu trên đều cho phép Performance Monitoring xử lý dữ liệu của bạn gần như theo thời gian thực.
Điều gì sẽ xảy ra nếu tôi không cập nhật ứng dụng để sử dụng phiên bản SDK tương thích theo thời gian thực?
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, thì 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 Firebase. Tuy nhiên, dữ liệu hiệu suất sẽ hiển thị chậm hơn khoảng 36 giờ so với thời điểm thu thậ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 vẫn đang sử dụng phiên bản cũ của ứng dụng. Tôi có tiếp tục thấy dữ liệu hiệu suất của họ trong bảng điều khiển Firebase không?
Có! Bất kể phiên bản SDK mà một phiên bản ứng dụng sử dụng là gì, bạn sẽ thấy 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 (dưới khoảng 36 giờ),
thì dữ liệu hiển thị là của người dùng các phiên bản ứng dụng sử dụng phiên bản SDK
tương thích theo thời gian thực. Tuy nhiên, dữ liệu không phải gần đây bao gồm dữ liệu hiệu suất của tất cả các phiên bản ứng dụng.
Tại sao tôi không thấy dữ liệu hiệu suất theo thời gian thực?
Để xem dữ liệu hiệu suất theo thời gian thực, hãy đảm bảo rằng ứng dụng của bạn sử dụng một phiên bản SDK Performance Monitoring tương thích với quy trình 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 phiên bản 26.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 mọi phiên bản nêu trên đều cho phép Performance Monitoring xử lý dữ liệu của bạn gần như theo thời gian thực.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2026-10-16 UTC."],[],[]]