Câu trả lời:
Sampling
có nghĩa là lấy rất nhiều bãi chứa sợi và phân tích dấu vết ngăn xếp. Điều này thường nhanh hơn, không yêu cầu thay đổi thời gian chạy trong mã byte của bạn (có thể phá vỡ nó), nhưng cũng kém chính xác hơn.
Profiling
phương tiện instrumenting lớp học và phương pháp của bạn, vì vậy họ "báo cáo" bất cứ khi nào họ đang chạy. Điều này là chính xác hơn, vì nó đếm mọi lời gọi của phương thức cụ, không chỉ những người bị bắt khi kết xuất. Tuy nhiên, thiết bị có nghĩa là mã byte của các lớp của bạn bị thay đổi và điều này có thể phá vỡ chương trình của bạn. Trên thực tế, vì lý do đó, việc sử dụng hồ sơ trên các máy chủ ứng dụng lớn (như JBoss hoặc WebLogic) thường khiến mọi thứ bị chết hoặc treo.