Thêm hoạt động giám sát tuỳ chỉnh cho mã ứng dụng cụ thể

Tính năng Giám sát hiệu suất thu thập dấu vết để giúp bạn giám sát hiệu suất của ứng dụng. Dấu vết là báo cáo về dữ liệu hiệu suất được thu thập giữa hai thời điểm trong ứng dụng của bạn.

Bạn có thể tạo dấu vết của riêng mình để theo dõi dữ liệu hiệu suất được liên kết với mã cụ thể trong ứng dụng của mình. Với dấu vết mã tuỳ chỉnh, bạn có thể đo lường thời gian cần thiết để ứng dụng hoàn thành một tác vụ cụ thể hoặc một nhóm công việc, ví dụ như tải một tập hợp hình ảnh hoặc truy vấn cơ sở dữ liệu của bạn.

Chỉ số mặc định cho dấu vết mã tuỳ chỉnh là "thời lượng" (thời gian giữa điểm bắt đầu và điểm kết thúc của dấu vết), nhưng bạn cũng có thể thêm chỉ số tuỳ chỉnh.

Trong mã, bạn xác định điểm bắt đầu và kết thúc của một dấu vết mã tuỳ chỉnh bằng cách sử dụng các API do SDK Giám sát hiệu suất cung cấp. Bạn có thể bắt đầu các dấu vết mã tuỳ chỉnh sau khi tạo và các dấu vết này an toàn cho chuỗi.

Vì chỉ số mặc định được thu thập cho các dấu vết này là "thời lượng", nên đôi khi chúng được gọi là "Dấu vết thời lượng".

Bạn có thể xem dữ liệu từ các dấu vết này trong thẻ phụ Dấu vết tùy chỉnh của bảng dấu vết, nằm ở cuối trang tổng quan Hiệu suất (tìm hiểu thêm về cách sử dụng bảng điều khiển sau trên trang này).

Thuộc tính mặc định, thuộc tính tuỳ chỉnh và chỉ số tuỳ chỉnh

Đối với dấu vết mã tuỳ chỉnh, tính năng Giám sát hiệu suất sẽ tự động ghi lại thuộc tính mặc định (siêu dữ liệu phổ biến như phiên bản ứng dụng, quốc gia, thiết bị, v.v.) để bạn có thể lọc dữ liệu cho dấu vết trong bảng điều khiển của Firebase. Bạn cũng có thể thêm và theo dõi thuộc tính tuỳ chỉnh (chẳng hạn như cấp độ trò chơi hoặc thuộc tính người dùng).

Bạn có thể định cấu hình thêm tính năng theo dõi mã tuỳ chỉnh để ghi lại chỉ số tuỳ chỉnh cho các sự kiện liên quan đến hiệu suất xảy ra trong phạm vi của dấu vết đó. Ví dụ: bạn có thể tạo một chỉ số tuỳ chỉnh về số lượt truy cập bộ nhớ đệm và số lần bỏ lỡ trong bộ nhớ đệm, hoặc số lần giao diện người dùng không phản hồi trong một khoảng thời gian đáng kể.

Các thuộc tính tuỳ chỉnh và chỉ số tuỳ chỉnh hiển thị trong bảng điều khiển của Firebase cùng với các thuộc tính mặc định và chỉ số mặc định cho dấu vết.

Thêm dấu vết mã tuỳ chỉnh

Sử dụng Performance Monitoring Trace API (Swift | Obj-C) để thêm dấu vết mã tuỳ chỉnh nhằm theo dõi mã xử lý ứng dụng cụ thể.

Lưu ý những điều sau:

  • Một ứng dụng có thể có nhiều dấu vết mã tuỳ chỉnh.
  • Có thể chạy nhiều dấu vết mã tuỳ chỉnh cùng lúc.
  • Tên cho dấu vết mã 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à 100 ký tự.
  • Dấu vết mã tuỳ chỉnh hỗ trợ việc thêm chỉ số tuỳ chỉnhthuộc tính tuỳ chỉnh.

Để bắt đầu và dừng một dấu vết mã tuỳ chỉnh, hãy gói đoạn mã bạn muốn theo dõi bằng các dòng mã tương tự như sau:

Swift

Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu macOS, Mac Catalyst, watchOS.
// Add the Performance Monitoring module to your header
import FirebasePerformance

let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

// code that you want to trace

trace.stop()

Objective-C

Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu macOS, Mac Catalyst, watchOS.
// Add the Performance Monitoring module to your header
@import FirebasePerformance;

FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

// code that you want to trace

[trace stop];

Thêm chỉ số tuỳ chỉnh vào dấu vết mã tuỳ chỉnh

Sử dụng API Theo dõi giám sát hiệu suất (Swift | Obj-C) để thêm chỉ số tuỳ chỉnh vào dấu vết mã tuỳ chỉnh.

Lưu ý những điều sau:

  • Tên cho 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à 100 ký tự.
  • Mỗi dấu vết mã tuỳ chỉnh có thể ghi lại tối đa 32 chỉ số (bao gồm cả chỉ số Thời lượng mặc định).

Để thêm chỉ số tuỳ chỉnh, hãy thêm một dòng mã tương tự như sau mỗi khi sự kiện xảy ra. Ví dụ: chỉ số tuỳ chỉnh này tính các sự kiện liên quan đến hiệu suất xảy ra trong ứng dụng của bạn, chẳng hạn như lượt truy cập bộ nhớ đệm hoặc lượt thử lại.

Swift

Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu macOS, Mac Catalyst, watchOS.
let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

trace.incrementMetric(named:"EVENT_NAME", by: 1)
// code that you want to trace (and log custom metrics)

trace.stop()

Objective-C

Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu macOS, Mac Catalyst, watchOS.
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

[trace incrementMetric:@"EVENT_NAME" byInt:1];
// code that you want to trace (and log custom metrics)

[trace stop];

Tạo thuộc tính tuỳ chỉnh cho dấu vết mã tuỳ chỉnh

Sử dụng Performance Monitoring Trace API (API Theo dõi giám sát hiệu suất) (Swift | Obj-C) để thêm các thuộc tính tuỳ chỉnh vào dấu vết mã tuỳ chỉnh.

Để sử dụng các thuộc tính tuỳ chỉnh, hãy thêm mã vào ứng dụng của bạn để xác định thuộc tính và liên kết thuộc tính đó với một dấu vết mã tuỳ chỉnh cụ thể. Bạn có thể đặt thuộc tính tuỳ chỉnh bất cứ lúc nào từ khi bắt đầu theo dõi cho đến khi kết thúc.

Lưu ý những điều sau:

  • Tên cho thuộc tính 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 (_)
    • Không có không gian
    • Độ dài tối đa là 32 ký tự
    • Các ký tự được phép sử dụng cho tên là A-Z, a-z_.
  • Mỗi dấu vết mã tuỳ chỉnh có thể ghi lại tối đa 5 thuộc tính tuỳ chỉnh.

  • Hãy đảm bảo rằng các thuộc tính tuỳ chỉnh không chứa bất kỳ thông tin nào dùng để nhận dạng cá nhân một cá nhân với Google.

    Tìm hiểu thêm về nguyên tắc này

Swift

Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu macOS, Mac Catalyst, watchOS.
let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

trace.setValue("A", forAttribute: "experiment")

// Update scenario.
trace.setValue("B", forAttribute: "experiment")

// Reading scenario.
let experimentValue:String? = trace.valueForAttribute("experiment")

// Delete scenario.
trace.removeAttribute("experiment")

// Read attributes.
let attributes:[String, String] = trace.attributes;

Objective-C

Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu macOS, Mac Catalyst, watchOS.
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

[trace setValue:@"A" forAttribute:@"experiment"];

// Update scenario.
[trace setValue:@"B" forAttribute:@"experiment"];

// Reading scenario.
NSString *experimentValue = [trace valueForAttribute:@"experiment"];

// Delete scenario.
[trace removeAttribute:@"experiment"];

// Read attributes.
NSDictionary <NSString *, NSString *> *attributes = [trace attributes];

Theo dõi, xem và lọc dữ liệu hiệu suất

Theo dõi các chỉ số cụ thể trên trang tổng quan

Để tìm hiểu xu hướng của các chỉ số chính, hãy thêm các chỉ số đó vào bảng chỉ số ở đầu trang tổng quan Hiệu suất. Bạn có thể nhanh chóng xác định các lỗi hồi quy bằng cách xem các thay đổi hằng tuần hoặc xác minh rằng những thay đổi gần đây trong mã của bạn đang giúp cải thiện hiệu suất.

hình ảnh bảng chỉ số trong trang tổng quan của tính năng Giám sát hiệu suất Firebase

Để thêm một chỉ số vào bảng chỉ số, hãy làm theo các bước sau:

  1. Chuyển đến trang tổng quan về Hiệu suất trong bảng điều khiển của Firebase.
  2. Nhấp vào một thẻ chỉ số trống, sau đó chọn một chỉ số hiện có để thêm vào bảng của bạn.
  3. Nhấp vào trên một thẻ chỉ số được điền sẵn để có thêm lựa chọn, ví dụ: để thay thế hoặc loại bỏ một chỉ số.

Bảng chỉ số cho biết dữ liệu chỉ số được thu thập theo thời gian, cả ở dạng biểu đồ và dưới dạng thay đổi theo tỷ lệ phần trăm về số.

Tìm hiểu thêm về cách sử dụng trang tổng quan.

Xem dấu vết và dữ liệu của chúng

Để xem dấu vết của bạn, hãy chuyển đến trang tổng quan về Hiệu suất trong bảng điều khiển của Firebase, di chuyển xuống bảng dấu vết, sau đó nhấp vào thẻ phụ thích hợp. Bảng này hiển thị một vài chỉ số hàng đầu cho mỗi dấu vết và thậm chí bạn có thể sắp xếp danh sách theo tỷ lệ phần trăm thay đổi của một chỉ số cụ thể.

Giám sát hiệu suất cung cấp một trang khắc phục sự cố trong bảng điều khiển của Firebase, trong đó nêu bật các thay đổi về chỉ số, giúp bạn dễ dàng giải quyết và giảm thiểu tác động của các vấn đề về hiệu suất đối với ứng dụng và người dùng của mình một cách nhanh chóng. Bạn có thể sử dụng trang khắc phục sự cố khi tìm hiểu về các vấn đề tiềm ẩn về hiệu suất, chẳng hạn như trong các trường hợp sau:

  • Bạn chọn các chỉ số có liên quan trên trang tổng quan và nhận thấy có sự chênh lệch lớn.
  • Trong bảng theo dõi, bạn sắp xếp để hiển thị các delta lớn nhất ở trên cùng và bạn sẽ thấy tỷ lệ phần trăm thay đổi đáng kể.
  • Bạn nhận được email thông báo vấn đề về hiệu suất.

Bạn có thể truy cập vào trang khắc phục sự cố theo các cách sau:

  • Trên trang tổng quan về chỉ số, hãy nhấp vào nút Xem chi tiết về chỉ số.
  • Trên thẻ chỉ số bất kỳ, hãy chọn => Xem chi tiết. Trang khắc phục sự cố hiển thị thông tin về chỉ số bạn đã chọn.
  • Trong bảng dấu vết, hãy nhấp vào tên dấu vết hoặc bất kỳ giá trị chỉ số nào trong hàng liên kết với dấu vết đó.
  • Trong thông báo qua email, hãy nhấp vào Điều tra ngay.

Khi nhấp vào tên dấu vết trong bảng dấu vết, bạn có thể xem chi tiết các chỉ số quan tâm. Nhấp vào nút Bộ lọc để lọc dữ liệu theo thuộc tính, ví dụ:

hình ảnh dữ liệu của tính năng Giám sát hiệu suất Firebase được lọc theo thuộc tính
  • Lọc theo Phiên bản ứng dụng để xem dữ liệu về một bản phát hành trước đây hoặc bản phát hành mới nhất của bạn
  • Lọc theo Thiết bị để tìm hiểu cách các thiết bị cũ xử lý ứng dụng của bạn
  • Lọc theo Quốc gia để đảm bảo vị trí cơ sở dữ liệu của bạn không ảnh hưởng đến một khu vực cụ thể

Tìm hiểu thêm về cách xem dữ liệu để tìm dấu vết.

Các bước tiếp theo

  • Tìm hiểu thêm về cách sử dụng thuộc tính để kiểm tra dữ liệu hiệu suất.

  • Tìm hiểu thêm về cách theo dõi các vấn đề về hiệu suất trong bảng điều khiển của Firebase.

  • Thiết lập cảnh báo cho những thay đổi về mã đang làm giảm hiệu suất của ứng dụng. Ví dụ: bạn có thể thiết lập một thông báo qua email cho nhóm của mình nếu thời lượng của một dấu vết mã tuỳ chỉnh cụ thể vượt quá ngưỡng bạn đã đặt.

  • Xem báo cáo chi tiết về phiên của người dùng, trong đó bạn có thể thấy dấu vết cụ thể trong ngữ cảnh dòng thời gian của các dấu vết khác được thu thập trong cùng phiên.