Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Ruby

Làm chủ Custom Metrics: Hướng dẫn theo dõi nâng cao với AppSignal

Insight sâu hơn với custom metrics

Với gem AppSignal, bạn đã dùng custom instrumentation để lấy chi tiết hiệu suất app. Nhưng đôi khi muốn theo dõi metrics khác.

Với release 1.0 của gem, bạn có thể gửi custom metrics đến AppSignal. Các metrics này cho phép theo dõi bất cứ điều gì trong app, từ tài khoản mới đến disk usage database. Chúng không thay thế code instrumentation, mà là cách bổ sung để làm cho dữ liệu trong code dễ truy cập và đo lường theo thời gian.

Chúng tôi cung cấp ba loại metrics:

GaugeSố có thể ghi đè, hữu ích lưu user count.
CounterSố có thể tăng giá trị cho trước, hữu ích đếm số lần process chạy.
DistributionTập hợp số lưu average và count. Hữu ích theo dõi average sale amount.

Gem AppSignal có phương thức cho từng loại metric. Dùng để gửi dữ liệu đến hệ thống chúng tôi.

Gauge

Gauge lý tưởng cho metrics có thể tăng và giảm. Chúng tôi dùng gauge trong AppSignal để vẽ đồ thị số account active.

count = Account.active.count Appsignal.set_gauge('account_count', count)

Counter

Như tên gọi, counters cách tuyệt vời theo dõi số lần thứ gì xảy ra. Workers của chúng ta xử lý payload chứa nhiều data points. Nghĩa là count job không biểu diễn chính xác lượng data xử lý. Với counter, tăng cho mỗi data point xử lý.

minute.metrics.each do |metric| Appsignal.increment_counter('metric_count', metric.length) end

Distribution

Chúng tôi dùng distributions đo average thời gian đoạn code chạy. Ví dụ job chạy nhiều map/reduce jobs và dù track duration bằng instrumentation, vẫn muốn xem average duration mỗi job trên đồ thị đẹp.

Appsignal.add_distribution_value('mapreduce_duration', MapReduce::Minutely.new.run.time)

Chuyển metrics thành graphs

Gửi metrics đến AppSignal mới là nửa chuyện, sau khi gửi dữ liệu cần tạo graphs hiển thị metrics. Làm ở editor trang "custom metrics".

Tính năng custom metrics cho phép tạo nhiều màn hình với graphs. Định nghĩa màn hình và graphs bằng format YAML.

Ví dụ tạo màn hình với graphs liên quan account, hiển thị graph số account:

- title: Account overview graphs: - title: "Number of accounts" kind: gauge format: number fields: - account_count

Điều này tạo ra trang sau:

Thay vì list fields, bạn cũng có thể cung cấp regex khớp một hoặc nhiều metric names. Ví dụ dưới vẽ graph với lines cho từng API response code cho 3rd party API.

- title: API Responses graphs: - title: "API response codes" kind: count filter: "api_response_code_[0-9]+" format: number

Đây chỉ là một vài trong nhiều metrics hữu ích bạn có thể theo dõi với AppSignal. Xem documentation hoặc liên hệ nếu cần giúp setup cho account.