Home » Ruby Tutorial Box » Sử dụng MiniProfiler để theo dõi Profile của Rails App

Sử dụng MiniProfiler để theo dõi Profile của Rails App

mini_profile_1


Giới thiệu

MiniProfiler là một công cụ đơn giản để theo dõi thời gian server xử lý và render các thành phần html, query database (server side), thời gian trình duyệt load trang, xử lý DOM, hiển thị nội dung (client side). Rất hữu ích cho việc lập profile cho rails app, kiểm tra và cải thiện performance của app (có thể dùng cho các ứng dụng ruby và .NET , tham khảo tại đây)


Cài đặt:

Với rails app, đặt vào trong gemfile, sau đó chạy lệnh cài đặt bunlde

Chú ý: Trong gem file, đặt dòng cài đặt rack-mini-profiler bên dưới dòng cài đặt pg hoặc mysql,

sẽ tự xác định và cài đặt phù hợp với kiểu database đang sử dụng ở Rails App. Nếu đặt

lên trên, MiniProfiler sẽ không theo dõi được các câu lệnh SQL.

Sử dụng rack-mini-profiler trong rails app

rack-mini-profiler có thể sử dụng được trên cả môi trường development và production. Để kích hoạt tính năng này trên production, chỉ việc chạy Rack::MiniProfiler.authorize_request đối với những request có quyền xem profile của app

Rack-mini-profiler hỗ trợ một số params sau
# pp=env : Hiển thị thông tin về môi trường đang chạy
# pp=skip : Bỏ qua MiniProfiler
# pp=no-backtrace : Không theo dõi các câu lệnh SQL (dùng  pp=normal-backtrace để bật lại tính năng này)
# pp=full-backtrace : Theo dõi một cách chi tiết về các câu lệnh SQL được thực thi (sử dụng pp=normal-backtrace để trở về bình thường)
# pp=disable : vô hiệu hóa Miniprofiler
# pp=enable : bật lại MiniProfiler ( nếu trước đó đã vô hiệu hóa)

Database

Hiện tại rack-mini-profiler hỗ trợ các loại Database sau: Mysql2, Postgres, and Mongoid3

mini_profile_2


Tùy chỉnh cài đặt

Với rack-mini-profiler, có thể tùy chỉnh một số cài đặt sau

Hiển thị profile của trang ở bên góc phải (thay vì góc trái như mặc định)

Để mặc định không hiển thị profile khi load trang ( Dùng phím tắt Alt + P để hiện bảng profile lên )

Không hiển thị những câu lệnh SQL có thời gian thực thi nhỏ hơn 5 mili giây

Không theo dõi query đến database nữa

Có thể xem thêm tại  đây