Ứng dụng của chúng tôi có ~ 10 chủ đề thực hiện các tác vụ riêng biệt (không có nhóm luồng). Chúng tôi không gặp phải bế tắc, nhưng luôn cố gắng giảm độ trễ để phản hồi yêu cầu, vì vậy chúng tôi quan tâm đến việc xác định khóa nào là bị tranh cãi nhất. jconsole cho thấy tần suất các luồng bị chặn, và nó không phải là rất thường xuyên, nhưng chúng ta vẫn muốn biết những khóa nào là bị khóa nhất.Xác định khóa nào được tranh luận nhiều nhất?
Chúng tôi đang chạy bằng Sun JVM, vì vậy JLA của IBM không hữu ích và chúng tôi không chạy trên Solaris nên chúng tôi không thể sử dụng dTrace.
CHỈNH SỬA: Tôi muốn thực hiện quan sát này trong sản xuất, nơi một trình hồ sơ sẽ làm chậm ứng dụng một cách không thể chấp nhận được. Đây là một hệ thống giao dịch, nếu chúng ta chậm, chúng ta mất tiền, vì vậy chúng tôi không chạy profilers trong sản xuất. Nó cũng là khá khó để mô phỏng nhiều trao đổi, chúng tôi nói chuyện trong một bài kiểm tra hiệu suất.
dTrace là hệ thống duy nhất mà cá nhân tôi biết về điều đó thực hiện những gì bạn muốn mà không cần công cụ lược tả. – aperkins
Suy nghĩ thêm về điều này, tôi cảm thấy thiết bị đo đạc là cách tiếp cận tốt nhất. Bạn có thể đăng nhập yêu cầu khóa cá nhân hoặc giữ các bộ đếm toàn cầu. –