本文整理了Java中net.openhft.chronicle.core.Jvm.trimStackTrace()
方法的一些代码示例,展示了Jvm.trimStackTrace()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Jvm.trimStackTrace()
方法的具体详情如下:
包路径:net.openhft.chronicle.core.Jvm
类名称:Jvm
方法名:trimStackTrace
[英]Append the StackTraceElements to the StringBuilder trimming some internal methods.
[中]将StackTraceElements附加到StringBuilder中并修剪一些内部方法。
代码示例来源:origin: OpenHFT/Chronicle-Queue
@Override
public boolean action() {
long time = timeSupplier.getAsLong();
if (time == Long.MIN_VALUE)
return false;
long latency = System.nanoTime() - time;
if (latency > timeLimit) {
Thread thread = threadSupplier.get();
if (thread != null && thread.isAlive() && LOG.isInfoEnabled()) {
String type = (time == lastTime) ? "re-reporting" : "new report";
StringBuilder out = new StringBuilder().append("THIS IS NOT AN ERROR, but a profile of the thread, ").append(description).append(" thread ").append(thread.getName()).append(" blocked for ").append(latency / 1000000).append(" ms. ").append(type);
Jvm.trimStackTrace(out, thread.getStackTrace());
LOG.info(out.toString());
lastTime = time;
}
}
return false;
}
}
代码示例来源:origin: OpenHFT/Chronicle-Queue
StringBuilder sb = new StringBuilder();
sb.append("Reader: profile of the thread");
Jvm.trimStackTrace(sb, reader.getStackTrace());
System.out.println(sb);
代码示例来源:origin: OpenHFT/Chronicle-Threads
public void dumpRunningState(@NotNull String message, @NotNull BooleanSupplier finalCheck) {
Thread thread = this.thread;
if (thread == null) return;
StringBuilder out = new StringBuilder(message);
Jvm.trimStackTrace(out, thread.getStackTrace());
if (finalCheck.getAsBoolean() && LOG.isInfoEnabled())
LOG.info(out.toString());
}
代码示例来源:origin: net.openhft/chronicle-engine
private void dumpThreads() {
for (@NotNull Map.Entry<Thread, StackTraceElement[]> entry : Thread.getAllStackTraces().entrySet()) {
Thread thread = entry.getKey();
if (thread.getThreadGroup().getName().equals("system"))
continue;
@NotNull StringBuilder sb = new StringBuilder();
sb.append(thread).append(" ").append(thread.getState());
Jvm.trimStackTrace(sb, entry.getValue());
sb.append("\n");
Jvm.warn().on(getClass(), "\n========= THREAD DUMP =========\n" + sb.toString());
}
}
代码示例来源:origin: OpenHFT/Chronicle-Core
/**
* Log the stack trace of the thread holding a lock.
*
* @param lock to log
* @return the lock.toString plus a stack trace.
*/
public static String lockWithStack(@NotNull ReentrantLock lock) {
@Nullable Thread t = getValue(lock, "sync/exclusiveOwnerThread");
if (t == null) {
return lock.toString();
}
@NotNull StringBuilder ret = new StringBuilder();
ret.append(lock).append(" running at");
trimStackTrace(ret, t.getStackTrace());
return ret.toString();
}
代码示例来源:origin: net.openhft/chronicle-core
/**
* Log the stack trace of the thread holding a lock.
*
* @param lock to log
* @return the lock.toString plus a stack trace.
*/
public static String lockWithStack(@NotNull ReentrantLock lock) {
@Nullable Thread t = getValue(lock, "sync/exclusiveOwnerThread");
if (t == null) {
return lock.toString();
}
@NotNull StringBuilder ret = new StringBuilder();
ret.append(lock).append(" running at");
trimStackTrace(ret, t.getStackTrace());
return ret.toString();
}
代码示例来源:origin: net.openhft/chronicle-core
public void assertNoNewThreads() {
@Nullable Map<Thread, StackTraceElement[]> allStackTraces = null;
for (int i = 1; i < 5; i++) {
Jvm.pause(i * i * 50);
allStackTraces = Thread.getAllStackTraces();
allStackTraces.keySet().removeAll(threads);
if (allStackTraces.isEmpty())
return;
allStackTraces.keySet().removeIf(next -> ignored.stream().anyMatch(item -> next.getName().contains(item)));
if (allStackTraces.isEmpty())
return;
for (@NotNull Map.Entry<Thread, StackTraceElement[]> threadEntry : allStackTraces.entrySet()) {
@NotNull StringBuilder sb = new StringBuilder();
sb.append("Thread still running ").append(threadEntry.getKey());
Jvm.trimStackTrace(sb, threadEntry.getValue());
System.err.println(sb);
}
}
throw new AssertionError("Threads still running " + allStackTraces.keySet());
}
}
代码示例来源:origin: OpenHFT/Chronicle-Core
public void assertNoNewThreads() {
@Nullable Map<Thread, StackTraceElement[]> allStackTraces = null;
for (int i = 1; i < 5; i++) {
Jvm.pause(i * i * 50);
allStackTraces = Thread.getAllStackTraces();
allStackTraces.keySet().removeAll(threads);
if (allStackTraces.isEmpty())
return;
allStackTraces.keySet().removeIf(next -> ignored.stream().anyMatch(item -> next.getName().contains(item)));
if (allStackTraces.isEmpty())
return;
for (@NotNull Map.Entry<Thread, StackTraceElement[]> threadEntry : allStackTraces.entrySet()) {
@NotNull StringBuilder sb = new StringBuilder();
sb.append("Thread still running ").append(threadEntry.getKey());
Jvm.trimStackTrace(sb, threadEntry.getValue());
System.err.println(sb);
}
}
throw new AssertionError("Threads still running " + allStackTraces.keySet());
}
}
代码示例来源:origin: OpenHFT/Chronicle-Threads
.append(" blocked for ").append(TimeUnit.NANOSECONDS.toMillis(latency))
.append(" ms. ").append(type);
Jvm.trimStackTrace(out, thread.getStackTrace());
logConsumer.accept(out.toString());
代码示例来源:origin: OpenHFT/Chronicle-Threads
sb.append("Shutting down thread is executing ").append(thread)
.append(", " + "handlerCount=").append(handlerCount()).append("\n");
Jvm.trimStackTrace(sb, thread.getStackTrace());
Jvm.warn().on(getClass(), sb.toString());
dumpRunningHandlers();
代码示例来源:origin: net.openhft/chronicle-queue
StringBuilder sb = new StringBuilder();
sb.append("Reader: profile of the thread");
Jvm.trimStackTrace(sb, reader.getStackTrace());
System.out.println(sb);
内容来源于网络,如有侵权,请联系作者删除!