Java iş parçacığı oluşturma ve kullanım ömrünü izlemek için kullanılabilecek araçlar var mı? Ben Aşağıdakilerden tüm ilgi olacağını:() yöntemi çalışmasının() İzleme Java iş parçacığı oluşturma ve kullanım ömrü
- çağrı yığını
Java iş parçacığı oluşturma ve kullanım ömrünü izlemek için kullanılabilecek araçlar var mı? Ben Aşağıdakilerden tüm ilgi olacağını:() yöntemi çalışmasının() İzleme Java iş parçacığı oluşturma ve kullanım ömrü
yazdım izlemek ve bu soruyu cevaplamak için bir açık kaynak aracı yayınladı olmayacaktır.
Ben aracı here blogged var.
Böyle bir çerçeve bilmiyorum. Kesinlikle Thread
sınıfını alt sınıflara ayırabilir ve bu bilgileri aşağıdaki gibi kendi başınıza saklayabilirsiniz. Bu ancak vb Executor
s gibi diğer sınıflara ayrılır Thread
s ..
public class MyThread extends Thread {
StackTraceElement[] constructorTrace;
StackTraceElement[] startTrace;
long runStartTimeMillis;
long runFinishTimeMillis;
// you'll need to duplicate the constructors you need
public MyThread() {
super();
constructorTrace = Thread.currentThread().getStacktrace();
}
@Override
public void start() {
super.start();
startTrace = Thread.currentThread().getStacktrace();
}
@Override
public void run() {
runStartTimeMillis = System.currentTimeMillis();
super.run();
runFinishTimeMillis = System.currentTimeMillis();
}
}
Ayrıca, zamanlama için 'Thread.currentThread(). GetStacktrace()' ve 'System.nanoTime()' işlevlerini de kullanabilirsiniz. Ayrıca, sadece "Yeni Atılır" ı saklayabilir ve sadece ihtiyacınız olursa StackTrace'i alabilirsiniz. –
Teşekkürler @Peter re: 'Thread.getStacktrace() '. Bunu unutmuştum. Stacktrace 'Throwable' yapıcısında doldurulur, bu yüzden hiçbir şeyden tasarruf etmeyi düşünmüyorum. – Gray
Yığın izleme öğesi dizisi, ilk kez çağrılana kadar doldurulmaz. –
VisualVM şimdi (*)
belirli bir ortamda bir seçenek sınıflara mı ne zamandan beri iş parçacığı
(*) Emin değilim bir sekmesi vardır? – Java42