Catch up on highlights from Firebase at Google I/O 2023. Learn more

Thêm giám sát tùy chỉnh cho mã ứng dụng cụ thể

Giám sát hiệu suất thu thập dấu vết để giúp bạn theo dõi 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 ghi lại 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 bạn. Với theo dõi mã tùy chỉnh , bạn có thể đo thời gian ứng dụng của mình hoàn thành một tác vụ cụ thể hoặc một nhóm tác vụ, chẳng hạn như tải một nhóm hình ảnh hoặc truy vấn cơ sở dữ liệu của bạn.

Số liệu mặc định cho theo dõi mã tùy chỉnh là "thời lượng" của nó (thời gian giữa điểm bắt đầu và điểm dừng của theo dõi), nhưng bạn cũng có thể thêm số liệu tùy chỉnh .

Trong mã của mình, bạn xác định phần đầu và phần cuối của một lần theo dõi mã tùy chỉnh bằng cách sử dụng API do SDK giám sát hiệu suất cung cấp.Đối với ứng dụng Android, bạn cũng có thể theo dõi các phương thức cụ thể bằng cách sử dụng chú thích @AddTrace .Dấu vết mã tùy chỉnh có thể được bắt đầu bất cứ lúc nào sau khi chúng được tạo và chúng là luồng an toàn.

Vì số liệu 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 tab phụ Dấu vết tùy chỉnh của bảng dấu vết, ở cuối bảng điều khiển 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 tùy chỉnh và chỉ số tùy chỉnh

Đối với dấu vết mã tùy chỉnh, Giám sát hiệu suất tự động ghi lại các thuộc tính mặc định (siêu dữ liệu chung 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 Firebase. Bạn cũng có thể thêm và theo dõi các thuộc tính tùy 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 một theo dõi mã tùy chỉnh để ghi lại các số liệu tùy 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 theo dõi. Ví dụ: bạn có thể tạo số liệu tùy chỉnh cho số lần truy cập và bỏ lỡ bộ đệ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 chú ý.

Thuộc tính tùy chỉnh và chỉ số tùy chỉnh hiển thị trong bảng điều khiển Firebase cùng với thuộc tính mặc định và chỉ số mặc định cho theo dõi.

Thêm dấu vết mã tùy chỉnh

Sử dụng API theo dõi giám sát hiệu suất để thêm dấu vết mã tùy chỉnh nhằm giám sát mã ứng dụng cụ thể.

Lưu ý những điều dưới đây:

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

Để bắt đầu và dừng theo dõi mã tùy chỉnh, hãy bọc mã mà bạn muốn theo dõi bằng các dòng mã tương tự như sau (ví dụ này sử dụng tên theo dõi tùy chỉnh là test_trace ):

Kotlin+KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace

myTrace.stop()

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace

myTrace.stop();

(Tùy chọn) Theo dõi các phương pháp cụ thể bằng cách sử dụng @AddTrace

Các ứng dụng Android cũng hỗ trợ chú thích @AddTrace cho các dấu vết mã tùy chỉnh của công cụ. Sử dụng tính năng này, dấu vết bắt đầu ở phần đầu của phương thức đã chỉ định và dừng khi phương thức hoàn thành, bao gồm mọi thứ được gọi bởi phương thức.

Ví dụ: bạn có thể tạo theo dõi mã tùy chỉnh có tên onCreateTrace chạy khi phương thức onCreate() được gọi.

Kotlin+KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
// the `enabled` argument is optional and defaults to true
@AddTrace(name = "onCreateTrace", enabled = true)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
}

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
@Override
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

Thêm số liệu tùy chỉnh vào dấu vết mã tùy chỉnh

Sử dụng API theo dõi giám sát hiệu suất để thêm số liệu tùy chỉnh vào dấu vết mã tùy chỉnh.

Lưu ý những điều dưới đây:

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

Để thêm số liệu tùy 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ụ: số liệu tùy 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ư số lần truy cập và số lần bỏ lỡ bộ nhớ cache (sử dụng tên sự kiện ví dụ item_cache_hititem_cache_miss và số gia là 1 ).

Kotlin+KTX

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace (and log custom metrics)
val item = cache.fetch("item")
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1)
} else {
    myTrace.incrementMetric("item_cache_miss", 1)
}

myTrace.stop()

Java

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace (and log custom metrics)
Item item = cache.fetch("item");
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1);
} else {
    myTrace.incrementMetric("item_cache_miss", 1);
}

myTrace.stop();

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

Sử dụng API theo dõi giám sát hiệu suất để thêm thuộc tính tùy chỉnh vào dấu vết mã tùy chỉnh.

Để sử dụng thuộc tính tùy 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ã tùy chỉnh cụ thể. Bạn có thể đặt thuộc tính tùy chỉnh bất kỳ lúc nào trong khoảng thời gian từ khi quá trình theo dõi bắt đầu cho đến khi quá trình theo dõi kết thúc.

Lưu ý những điều dưới đây:

  • Tên cho các thuộc tính 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
    • Không có khoảng trắng
    • Độ dài tối đa là 32 ký tự
    • Các ký tự được phép cho tên là AZ , az_ .
  • Mỗi dấu vết mã tùy chỉnh có thể ghi tối đa 5 thuộc tính tùy chỉnh.

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

    Tìm hiểu thêm về hướng dẫn này

Kotlin+KTX

Firebase.performance.newTrace("test_trace").trace {
    // Update scenario.
    putAttribute("experiment", "A")

    // Reading scenario.
    val experimentValue = getAttribute("experiment")

    // Delete scenario.
    removeAttribute("experiment")

    // Read attributes.
    val traceAttributes = this.attributes
}

Java

Trace trace = FirebasePerformance.getInstance().newTrace("test_trace");

// Update scenario.
trace.putAttribute("experiment", "A");

// Reading scenario.
String experimentValue = trace.getAttribute("experiment");

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

// Read attributes.
Map<String, String> traceAttributes = trace.getAttributes();

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

Theo dõi số liệu cụ thể trong bảng điều khiển của bạn

Để tìm hiểu xem các chỉ số chính của bạn đang có xu hướng như thế nào, hãy thêm chúng vào bảng chỉ số của bạn ở đầu Bảng điều khiển hiệu suất . Bạn có thể nhanh chóng xác định 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 cải thiện hiệu suất.

hình ảnh của bảng chỉ số trong bảng điều khiển Giám sát hiệu suất Firebase

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

  1. Chuyển đến bảng điều khiển Hiệu suất trong bảng điều khiển 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 thẻ chỉ số đã điền để có thêm tùy chọn, chẳng hạn như để thay thế hoặc xóa chỉ số.

Bảng chỉ số hiển thị dữ liệu chỉ số được thu thập theo thời gian, cả ở dạng đồ họa và dưới dạng phần trăm thay đổi bằng số.

Tìm hiểu thêm về cách sử dụng bảng điều khiển .

Xem dấu vết và dữ liệu của họ

Để xem dấu vết của bạn, hãy chuyển đến Bảng điều khiển hiệu suất trong bảng điều khiển Firebase, cuộn xuống bảng dấu vết, sau đó nhấp vào tab phụ thích hợp. Bảng hiển thị một số chỉ số hàng đầu cho từng dấu vết và thậm chí bạn có thể sắp xếp danh sách theo phần trăm thay đổi cho 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 Firebase làm nổi bật các thay đổi về chỉ số, giúp dễ dàng giải quyết nhanh chóng 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 bạn. 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 số liệu có liên quan trên bảng điều khiển và bạn nhận thấy một đồng bằng lớn.
  • Trong bảng theo dõi, bạn sắp xếp để hiển thị vùng đồng bằng lớn nhất ở trên cùng và bạn sẽ thấy phần trăm thay đổi đáng kể.
  • Bạn nhận được thông báo qua email thông báo cho bạn về vấn đề hiệu suất.

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

  • Trên bảng điều khiển số liệu, nhấp vào nút Xem chi tiết số liệu .
  • Trên bất kỳ thẻ số liệu nào, 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 theo dõi, hãy nhấp vào tên theo dõi hoặc bất kỳ giá trị chỉ số nào trong hàng được liên kết với dấu vết đó.
  • Trong một cảnh báo qua email, hãy nhấp vào Điều tra ngay bây giờ .

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

hình ảnh về dữ liệu Giám sát hiệu suất Firebase đang được lọc theo thuộc tính
  • Lọc theo phiên bản Ứng dụng để xem dữ liệu về 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ũ hơn 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 cho dấu vết của bạn .

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 Firebase.

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

  • Xem báo cáo chi tiết về các phiên của người dùng , trong đó bạn có thể thấy một 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 một phiên.