Datadog cung cấp hàng triệu thông tin chi tiết chuyên sâu về hiệu suất nhờ ProfilingManager
4 phút đọc
Lỗi hồi quy hiệu suất nổi tiếng là khó tái hiện, khiến lỗi hồi quy trở thành một điểm tắc nghẽn lớn đối với các nhà phát triển thiết bị di động. Mặc dù các tín hiệu như tỷ lệ ANR cho biết vấn đề nào xảy ra trong môi trường thực tế, nhưng trước đây, việc xác định chính xác dòng mã dẫn đến vấn đề về hiệu suất đòi hỏi phải tái hiện lỗi theo cách thủ công hoặc thử nghiệm phỏng đoán.
Datadog đã hợp tác với Google để giảm thiểu sự bất tiện này bằng cách tích hợp API ProfilingManager (có trên các thiết bị Android 15 trở lên) vào nền tảng Giám sát người dùng thực (RUM) và Lập hồ sơ liên tục. Tính năng tích hợp này giúp chuyển đổi quy trình gỡ lỗi, cho phép nhà phát triển không chỉ xem các triệu chứng bề nổi mà còn có thể phát hiện nguyên nhân gây ra điểm tắc nghẽn về hiệu suất.
Bằng cách tận dụng API cấp hệ thống này, Datadog hiện xử lý hàng triệu hồ sơ sản xuất hằng tuần trên toàn cầu theo dữ liệu nội bộ của Datadog vào tháng 6 năm 2026. Công cụ này cung cấp cho các nhóm kỹ thuật một mức độ hiển thị mới về hiệu suất thực tế, đồng thời duy trì mức hao tổn thời gian chạy thấp để giám sát hiệu suất ở quy mô sản xuất.
Tác động của ProfilingManager
ProfilingManager là một dịch vụ hệ thống được ra mắt trong Android 15, cho phép các ứng dụng thu thập dữ liệu hiệu suất theo phương thức lập trình, chẳng hạn như mẫu ngăn xếp lệnh gọi, dấu vết trường và tệp báo lỗi vùng nhớ khối xếp trực tiếp từ môi trường thực tế. Tính năng này chuyển đổi mô hình kỹ thuật từ tái tạo thủ công theo cách ứng phó sang phân tích thực địa chủ động.
Ví dụ: một ứng dụng liên lạc của Google đã sử dụng dấu vết thực địa để điều tra lý do thời gian khởi động nguội chậm hơn trên phần cứng mới hơn, mạnh hơn. Bằng cách tìm hiểu kỹ các dấu vết thu thập được tại hiện trường và so sánh dấu vết trên nhiều loại thiết bị, kỹ sư đã phát hiện ra một vấn đề tiềm ẩn về việc lập lịch: dịch vụ chuyển văn bản sang lời nói ở chế độ nền đã được khởi động trước một cách không cần thiết trong quá trình khởi động ứng dụng. Dấu vết cho thấy tiến trình nền này đang độc chiếm lõi CPU lớn có hiệu suất cao nhất của thiết bị, buộc luồng chính của ứng dụng phải ở trạng thái ngủ trong khi quá trình khởi động trước diễn ra.
Giải quyết thách thức về khả năng hiển thị ở cấp mã Android
Trước khi triển khai ProfilingManager, tính năng Giám sát người dùng thực (RUM) của Datadog tập trung vào tình trạng ứng dụng cấp cao và dữ liệu đo từ xa cấp phiên để đánh giá hành trình của người dùng. Nhóm kỹ thuật có thể theo dõi các tín hiệu về hiệu suất của Android như thời gian hiển thị ban đầu, Tỷ lệ ANR, mức tải CPU và khung hình bị treo. Những thông tin chi tiết này mở rộng đến các hoạt động tương tác chi tiết, chẳng hạn như độ trễ mạng, sự kiện chạm và tình trạng treo luồng chính. Tuy nhiên, mặc dù dữ liệu này nêu bật một cách hiệu quả những điểm tắc nghẽn về hiệu suất đang xuất hiện trong thực tế, nhưng lại không cung cấp lộ trình rõ ràng để xác định nguyên nhân gốc của những lỗi này.
Để giải quyết vấn đề này, Datadog cần một công cụ phân tích tài nguyên có khả năng thu thập dấu vết Android trực tiếp từ các thiết bị trong môi trường thực tế mà không ảnh hưởng nhiều đến hiệu suất. Sau khi đánh giá các phương pháp thay thế, chẳng hạn như viết trình xử lý dấu vết riêng bằng API gỡ lỗi Android, nhóm đã chọn ProfilingManager vì đây là giải pháp hiệu quả nhất trong số các lựa chọn phân tích mà họ đánh giá và giảm bớt gánh nặng quyết định lấy mẫu cho hệ điều hành.
ProfilingManager hỗ trợ nhiều phương thức thu thập, bao gồm cả dấu vết CPU, lấy mẫu ngăn xếp lệnh gọi, phân tích bộ nhớ thông qua tệp báo lỗi vùng nhớ khối xếp Java và hồ sơ ảnh chụp nhanh của vùng nhớ khối xếp gốc. Công cụ này cho phép nhà phát triển lập hồ sơ bản dựng chính thức, tải tệp theo dõi lên bộ nhớ ngoài và xem xét các tệp đó trong giao diện người dùng của trình phân tích dấu vết Perfetto. Là một nhà cung cấp SaaS, Datadog tải lên, trực quan hoá và phân tích các hồ sơ thu thập được thông qua SDK của mình, từ đó cung cấp một chế độ xem hợp nhất về tình trạng của ứng dụng.
Bằng cách tập trung dữ liệu đo từ xa có độ chân thực cao trong một API khả năng ghi nhận hợp nhất, ProfilingManager giúp Datadog và khách hàng chủ động theo dõi, điều tra và khắc phục các vấn đề phức tạp về hiệu suất Android thông qua các lợi thế kỹ thuật chính:
- Chẩn đoán phiên chi tiết: ProfilingManager cải thiện khả năng gỡ lỗi bằng cách cung cấp dữ liệu theo dõi trực tiếp ở cấp hệ điều hành, vượt qua các thách thức về khả năng hiển thị và căn chỉnh thường gặp khi ghi nhật ký tuỳ chỉnh bằng các dịch vụ hệ thống. Để tìm hiểu sâu hơn, nhà phát triển có thể tải các dấu vết này xuống từ Datadog để điều tra thêm trong các công cụ trực quan hoá như Giao diện người dùng Perfetto.
- Trình kích hoạt đo từ xa tự động: Bằng cách tận dụng các sự kiện hệ thống gốc để bắt đầu ghi lại dấu vết tại các điểm tối ưu hoá chính, Datadog giảm bớt nhu cầu xây dựng logic thu thập tuỳ chỉnh. Mặc dù lần ra mắt đầu tiên tập trung vào tín hiệu APP_FULLY_DRAWN, nhưng chúng tôi đã có kế hoạch mở rộng khả năng ghi nhận này để bao gồm cả các điều kiện kích hoạt ANR, OOM và COLD_START.
- Ảnh chụp nhanh dấu vết chủ động: Bằng cách giao tiếp trực tiếp với dịch vụ Perfetto ở cấp hệ thống (được theo dõi), ProfilingManager sử dụng mô hình ghi nền chủ động được thiết kế để ghi lại các vấn đề không lường trước được. Điều này đảm bảo rằng nhà phát triển nhận được hình ảnh trực quan chính xác về các sự kiện dẫn đến điểm bất thường về hiệu suất, cung cấp thông tin chi tiết vượt trội so với những gì có thể thực hiện thông qua đo lường thủ công.
- Phát hiện điểm tắc nghẽn trên quy mô lớn: Datadog có thể tổng hợp dữ liệu đo từ xa từ cơ sở khách hàng toàn cầu của Datadog để phát hiện những điểm hồi quy chỉ xuất hiện trong các cấu hình phần cứng riêng biệt và môi trường mạng biến thiên.
- Tính ổn định của tài nguyên do hệ thống thực thi: API này tận dụng tính năng thu thập dấu vết lấy mẫu để đảm bảo tác động đến hiệu suất và trải nghiệm người dùng không đáng kể.
- Chế độ kiểm soát dữ liệu trên thiết bị: ProfilingManager lọc ra thông tin không liên quan từ các quy trình khác trên thiết bị trước khi hồ sơ được phân phối đến ứng dụng. Điều này giúp giảm thiểu kích thước tệp và đảm bảo chỉ cung cấp dữ liệu liên quan đến các quy trình của ứng dụng.
Xử lý hàng triệu hồ sơ hằng tuần để tối ưu hoá các ứng dụng thực tế
Việc tích hợp API phân tích tài nguyên cấp hệ thống vào SDK giám sát toàn cầu đòi hỏi phải giải quyết các thách thức về cơ sở hạ tầng. Vì ProfilingManager tạo ra các dấu vết hiệu suất rất chi tiết, nên nhóm kỹ thuật của Datadog phải xây dựng một quy trình có khả năng phân tích cú pháp và phân tích các hồ sơ này trên máy chủ ở quy mô lớn. Ngoài việc thu thập hồ sơ, Datadog cũng nhấn mạnh tầm quan trọng của việc cân bằng tần suất lấy mẫu với việc thu thập đủ dữ liệu để tạo thông tin chi tiết có ý nghĩa về ứng dụng của bạn. Datadog dựa vào tính năng giới hạn tốc độ tích hợp sẵn của ProfilingManager như một biện pháp bảo vệ quan trọng để đảm bảo độ ổn định, ngăn chặn các yêu cầu đo từ xa quá mức gây quá tải cho thiết bị của người dùng.
Nhóm đã lập hồ sơ ứng dụng Android gốc của Datadog và một số ứng dụng của người sử dụng sớm trong nhiều tháng, thu thập hàng triệu hồ sơ để đảm bảo trải nghiệm khởi chạy nhanh, không có lỗi và tinh chỉnh thuật toán phát hiện hiệu suất. Ngày nay, quá trình tích hợp trong môi trường thực tế có thể mở rộng quy mô một cách liền mạch trên nhiều thiết bị Android.
Kết luận
Bằng cách tích hợp API ProfilingManager của Android, Datadog đã thu hẹp thành công khoảng cách về khả năng hiển thị giữa hệ thống phụ trợ và ứng dụng di động cho khách hàng của họ. Bằng cách xử lý hàng triệu hồ sơ hằng tuần với mức hao tổn không đáng kể cho thiết bị, Datadog cung cấp cho nhà phát triển Android thông tin chi tiết ở cấp mã cần thiết để chẩn đoán ngay các lỗi hiệu suất phức tạp, giúp nhà phát triển xây dựng ứng dụng mượt mà hơn và cải thiện tín hiệu hiệu suất của ứng dụng trong Cửa hàng Play. Để áp dụng API ProfilingManager trực tiếp vào khung khả năng ghi nhận hiệu suất, hãy xem tài liệu của chúng tôi.
Trong tương lai, Datadog đặt mục tiêu biến dữ liệu phân tích tài nguyên Android thành dữ liệu đầu vào hàng đầu cho các tác nhân lập trình để tự động giải quyết các điểm tắc nghẽn về hiệu suất, từ đó hoàn tất vòng hồi tiếp giữa việc phát hiện và khắc phục. Datadog đang nỗ lực để cung cấp rộng rãi tính năng phân tích Android cho các nhà phát triển.
Để bắt đầu sử dụng tính năng giám sát người dùng thực của Datadog dựa trên ProfilingManager, hãy truy cập vào Giám sát người dùng thực trên thiết bị di động của Datadog.
-
Nghiên cứu điển hìnhKarrot là một ứng dụng thị trường ngang hàng theo từng khu vực cụ thể, do cộng đồng xây dựng, cho phép người dùng mua, bán và trao đổi các mặt hàng với những người dùng đã xác minh khác. Kể từ khi ra mắt tại Hàn Quốc vào năm 2015, nền tảng này đã mở rộng sang các thị trường toàn cầu và thu hút hơn 43 triệu người dùng đã đăng ký.
Thomas Ezan, Tracy Agyemang • Thời gian đọc: 2 phút -
Nghiên cứu điển hìnhGrab là siêu ứng dụng hàng đầu Đông Nam Á, cung cấp dịch vụ giao hàng, di chuyển và dịch vụ tài chính cho hàng triệu người dùng tại 8 quốc gia thông qua một ứng dụng duy nhất.
Ajesh Pai, Nguyen Van Minh, Tracy Agyemang • Thời gian đọc: 5 phút -
Nghiên cứu điển hìnhNhóm đã xây dựng một toàn bộ mã nguồn giao diện người dùng dựa trên AI, nhỏ hơn 50% so với phiên bản triển khai ban đầu, đồng thời giảm 35% thời gian thực thi của tác nhân AI, giảm 32% số lần trao đổi giữa kỹ sư và tác nhân, và giảm 33% chi phí mã thông báo.
Pavlo Stavytskyi, Rebecca Franks • Thời gian đọc: 11 phút
Nhận thông tin chi tiết mới nhất về hoạt động phát triển Android trong hộp thư đến của bạn hằng tuần.