有谁知道如何在Java中创建一个新的性能计数器(perfmon工具) ?
例如:用于监控用户操作数量/持续时间的新性能计数器。
我在C#中创建了这样的性能计数器,这很容易,但是我找不到任何有助于在Java中创建它的东西......
答案 0 :(得分:3)
答案 1 :(得分:1)
不确定你期望这个工具做什么,但我会创建一些数据结构来记录这些时间并计算如
class UserActionStats {
int count;
long durationMS;
long start = 0;
public void startAction() {
start = System.currentTimeMillis();
}
public void endAction() {
durationMS += System.currentTimeMillis() - start;
count++;
}
}
这些的集合可能看起来像
private static final Map<String, UserActionStats> map =
new HashMap<String, UserActionStats>();
public static UserActionStats forUser(String userName) {
synchronized(map) {
UserActionStats uas = map.get(userName);
if (uas == null)
map.put(userName, uas = new UserActionStats());
return uas;
}
}
答案 2 :(得分:1)
Java不会立即使用perfmon(但您应该在Solaris下看到DTrace。)
请参阅此问题以获取建议:Java app performance counters viewed in Perfmon