public class org.apache.htrace.core.LocalFileSpanReceiver extends org.apache.htrace.core.SpanReceiver
{
private static final org.apache.htrace.shaded.commons.logging.Log LOG;
public static final java.lang.String PATH_KEY;
public static final java.lang.String CAPACITY_KEY;
public static final int CAPACITY_DEFAULT;
private static org.apache.htrace.shaded.fasterxml.jackson.databind.ObjectWriter JSON_WRITER;
private final java.lang.String path;
private byte[][] bufferedSpans;
private int bufferedSpansIndex;
private final java.util.concurrent.locks.ReentrantLock bufferLock;
private final java.io.FileOutputStream stream;
private final java.nio.channels.FileChannel channel;
private final java.util.concurrent.locks.ReentrantLock channelLock;
private final int WRITEV_SIZE;
private static final java.nio.ByteBuffer newlineBuf;
public void <init>(org.apache.htrace.core.HTraceConfiguration)
{
org.apache.htrace.core.HTraceConfiguration v;
boolean v, v;
org.apache.htrace.shaded.commons.logging.Log v, v, v, v, v;
byte[][] v;
org.apache.htrace.core.LocalFileSpanReceiver v;
int v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.concurrent.locks.ReentrantLock v, v;
java.io.FileOutputStream v, v, v;
java.io.IOException v, v;
java.lang.RuntimeException v, v;
java.lang.IllegalArgumentException v;
java.nio.channels.FileChannel v, v;
v := @this: org.apache.htrace.core.LocalFileSpanReceiver;
v := @parameter: org.apache.htrace.core.HTraceConfiguration;
specialinvoke v.<org.apache.htrace.core.SpanReceiver: void <init>()>();
v = new java.util.concurrent.locks.ReentrantLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void <init>()>();
v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock bufferLock> = v;
v = new java.util.concurrent.locks.ReentrantLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void <init>()>();
v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock channelLock> = v;
v.<org.apache.htrace.core.LocalFileSpanReceiver: int WRITEV_SIZE> = 20;
v = virtualinvoke v.<org.apache.htrace.core.HTraceConfiguration: int getInt(java.lang.String,int)>("local.file.span.receiver.capacity", 5000);
if v >= 1 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("local.file.span.receiver.capacity must not be less than 1.");
throw v;
label:
v = virtualinvoke v.<org.apache.htrace.core.HTraceConfiguration: java.lang.String get(java.lang.String)>("local.file.span.receiver.path");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = staticinvoke <org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String getUniqueLocalTraceFileName()>();
v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path> = v;
goto label;
label:
v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path> = v;
label:
v = new java.io.FileOutputStream;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
specialinvoke v.<java.io.FileOutputStream: void <init>(java.lang.String,boolean)>(v, 1);
v.<org.apache.htrace.core.LocalFileSpanReceiver: java.io.FileOutputStream stream> = v;
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.commons.logging.Log LOG>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Error opening \u0001: \u0001");
interfaceinvoke v.<org.apache.htrace.shaded.commons.logging.Log: void error(java.lang.Object)>(v);
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.io.FileOutputStream stream>;
v = virtualinvoke v.<java.io.FileOutputStream: java.nio.channels.FileChannel getChannel()>();
v.<org.apache.htrace.core.LocalFileSpanReceiver: java.nio.channels.FileChannel channel> = v;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.nio.channels.FileChannel channel>;
if v != null goto label;
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.io.FileOutputStream stream>;
virtualinvoke v.<java.io.FileOutputStream: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.commons.logging.Log LOG>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Error closing \u0001");
interfaceinvoke v.<org.apache.htrace.shaded.commons.logging.Log: void error(java.lang.Object,java.lang.Throwable)>(v, v);
label:
v = <org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.commons.logging.Log LOG>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to get channel for \u0001");
interfaceinvoke v.<org.apache.htrace.shaded.commons.logging.Log: void error(java.lang.Object)>(v);
v = new java.lang.RuntimeException;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to get channel for \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = newarray (byte[])[v];
v.<org.apache.htrace.core.LocalFileSpanReceiver: byte[][] bufferedSpans> = v;
v.<org.apache.htrace.core.LocalFileSpanReceiver: int bufferedSpansIndex> = 0;
v = <org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.commons.logging.Log LOG>;
v = interfaceinvoke v.<org.apache.htrace.shaded.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.commons.logging.Log LOG>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Created new LocalFileSpanReceiver with path = \u, capacity = \u0001");
interfaceinvoke v.<org.apache.htrace.shaded.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
return;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
}
private void doFlush(byte[][], int) throws java.io.IOException
{
byte[] v;
java.nio.ByteBuffer[] v;
org.apache.htrace.core.LocalFileSpanReceiver v;
java.nio.ByteBuffer v, v;
byte[][] v;
int v, v, v, v, v;
java.nio.channels.FileChannel v, v;
v := @this: org.apache.htrace.core.LocalFileSpanReceiver;
v := @parameter: byte[][];
v := @parameter: int;
v = 0;
v = 0;
v = newarray (java.nio.ByteBuffer)[40];
label:
v = lengthof v;
if v != v goto label;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.nio.channels.FileChannel channel>;
virtualinvoke v.<java.nio.channels.FileChannel: long write(java.nio.ByteBuffer[])>(v);
v = 0;
label:
if v == v goto label;
v = v[v];
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
v[v] = v;
v = v + 1;
v = <org.apache.htrace.core.LocalFileSpanReceiver: java.nio.ByteBuffer newlineBuf>;
v[v] = v;
v = v + 1;
v = v + 2;
goto label;
label:
if v <= 0 goto label;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.nio.channels.FileChannel channel>;
virtualinvoke v.<java.nio.channels.FileChannel: long write(java.nio.ByteBuffer[],int,int)>(v, 0, v);
label:
return;
}
public void receiveSpan(org.apache.htrace.core.Span)
{
byte[] v;
org.apache.htrace.shaded.fasterxml.jackson.core.JsonProcessingException v;
org.apache.htrace.shaded.fasterxml.jackson.databind.ObjectWriter v;
org.apache.htrace.shaded.commons.logging.Log v, v, v;
byte[][] v, v, v, v, v, v;
org.apache.htrace.core.Span v;
java.lang.Throwable v, v;
org.apache.htrace.core.LocalFileSpanReceiver v;
int v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
java.util.concurrent.locks.ReentrantLock v, v, v, v, v, v, v, v;
java.io.IOException v;
v := @this: org.apache.htrace.core.LocalFileSpanReceiver;
v := @parameter: org.apache.htrace.core.Span;
label:
v = <org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.fasterxml.jackson.databind.ObjectWriter JSON_WRITER>;
v = virtualinvoke v.<org.apache.htrace.shaded.fasterxml.jackson.databind.ObjectWriter: byte[] writeValueAsBytes(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.commons.logging.Log LOG>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
v = virtualinvoke v.<org.apache.htrace.shaded.fasterxml.jackson.core.JsonProcessingException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,org.apache.htrace.core.Span,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("receiveSpan(path=\u, span=\u): Json processing error: \u0001");
interfaceinvoke v.<org.apache.htrace.shaded.commons.logging.Log: void error(java.lang.Object)>(v);
return;
label:
v = (byte[][]) null;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock bufferLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void lock()>();
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: byte[][] bufferedSpans>;
if v != null goto label;
v = <org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.commons.logging.Log LOG>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,org.apache.htrace.core.Span,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("receiveSpan(path=\u, span=\u): LocalFileSpanReceiver for \u is closed.");
interfaceinvoke v.<org.apache.htrace.shaded.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock bufferLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
return;
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: byte[][] bufferedSpans>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: int bufferedSpansIndex>;
v[v] = v;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: int bufferedSpansIndex>;
v = v + 1;
v.<org.apache.htrace.core.LocalFileSpanReceiver: int bufferedSpansIndex> = v;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: int bufferedSpansIndex>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: byte[][] bufferedSpans>;
v = lengthof v;
if v != v goto label;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: byte[][] bufferedSpans>;
v.<org.apache.htrace.core.LocalFileSpanReceiver: int bufferedSpansIndex> = 0;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: byte[][] bufferedSpans>;
v = lengthof v;
v = newarray (byte[])[v];
v.<org.apache.htrace.core.LocalFileSpanReceiver: byte[][] bufferedSpans> = v;
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock bufferLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock bufferLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
throw v;
label:
if v == null goto label;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock channelLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void lock()>();
label:
v = lengthof v;
specialinvoke v.<org.apache.htrace.core.LocalFileSpanReceiver: void doFlush(byte[][],int)>(v, v);
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock channelLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = <org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.commons.logging.Log LOG>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Error flushing buffers to \u0001: \u0001");
interfaceinvoke v.<org.apache.htrace.shaded.commons.logging.Log: void error(java.lang.Object)>(v);
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock channelLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock channelLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
throw v;
label:
return;
catch org.apache.htrace.shaded.fasterxml.jackson.core.JsonProcessingException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void close() throws java.io.IOException
{
org.apache.htrace.shaded.commons.logging.Log v, v, v, v, v;
byte[][] v, v, v;
java.lang.Throwable v, v;
org.apache.htrace.core.LocalFileSpanReceiver v;
int v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
java.util.concurrent.locks.ReentrantLock v, v, v, v, v, v, v, v;
java.io.FileOutputStream v, v, v;
java.io.IOException v, v, v, v;
v := @this: org.apache.htrace.core.LocalFileSpanReceiver;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock bufferLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void lock()>();
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: byte[][] bufferedSpans>;
if v != null goto label;
v = <org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.commons.logging.Log LOG>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("LocalFileSpanReceiver for \u was already closed.");
interfaceinvoke v.<org.apache.htrace.shaded.commons.logging.Log: void info(java.lang.Object)>(v);
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock bufferLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
return;
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: int bufferedSpansIndex>;
v.<org.apache.htrace.core.LocalFileSpanReceiver: int bufferedSpansIndex> = 0;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: byte[][] bufferedSpans>;
v = (byte[][]) null;
v.<org.apache.htrace.core.LocalFileSpanReceiver: byte[][] bufferedSpans> = v;
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock bufferLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock bufferLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
throw v;
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock channelLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void lock()>();
label:
specialinvoke v.<org.apache.htrace.core.LocalFileSpanReceiver: void doFlush(byte[][],int)>(v, v);
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.io.FileOutputStream stream>;
virtualinvoke v.<java.io.FileOutputStream: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.commons.logging.Log LOG>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Error closing stream for \u0001");
interfaceinvoke v.<org.apache.htrace.shaded.commons.logging.Log: void error(java.lang.Object,java.lang.Throwable)>(v, v);
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock channelLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = <org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.commons.logging.Log LOG>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Error flushing buffers to \u0001: \u0001");
interfaceinvoke v.<org.apache.htrace.shaded.commons.logging.Log: void error(java.lang.Object)>(v);
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.io.FileOutputStream stream>;
virtualinvoke v.<java.io.FileOutputStream: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.commons.logging.Log LOG>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Error closing stream for \u0001");
interfaceinvoke v.<org.apache.htrace.shaded.commons.logging.Log: void error(java.lang.Object,java.lang.Throwable)>(v, v);
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock channelLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
goto label;
label:
v := @caughtexception;
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.io.FileOutputStream stream>;
virtualinvoke v.<java.io.FileOutputStream: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.commons.logging.Log LOG>;
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.lang.String path>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Error closing stream for \u0001");
interfaceinvoke v.<org.apache.htrace.shaded.commons.logging.Log: void error(java.lang.Object,java.lang.Throwable)>(v, v);
label:
v = v.<org.apache.htrace.core.LocalFileSpanReceiver: java.util.concurrent.locks.ReentrantLock channelLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.io.IOException from label to label with label;
}
public static java.lang.String getUniqueLocalTraceFileName()
{
java.lang.Throwable v;
java.io.IOException v;
java.lang.String[] v;
java.io.FileInputStream v;
java.util.UUID v;
java.io.EOFException v;
java.io.InputStreamReader v;
java.io.File v;
java.io.BufferedReader v, v;
java.lang.String v, v, v, v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("java.io.tmpdir", "/tmp");
v = null;
label:
v = new java.io.BufferedReader;
v = new java.io.InputStreamReader;
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.lang.String)>("/proc/self/stat");
specialinvoke v.<java.io.InputStreamReader: void <init>(java.io.InputStream,java.lang.String)>(v, "UTF-8");
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
if v != null goto label;
v = new java.io.EOFException;
specialinvoke v.<java.io.EOFException: void <init>()>();
throw v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(" ");
v = v[0];
label:
goto label;
label:
v := @caughtexception;
label:
goto label;
label:
v := @caughtexception;
throw v;
label:
if v != null goto label;
v = staticinvoke <java.util.UUID: java.util.UUID randomUUID()>();
v = virtualinvoke v.<java.util.UUID: java.lang.String toString()>();
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String,java.lang.String)>(v, v);
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
return v;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
byte[] v;
org.apache.htrace.shaded.fasterxml.jackson.databind.ObjectMapper v;
org.apache.htrace.shaded.fasterxml.jackson.databind.ObjectWriter v;
org.apache.htrace.shaded.commons.logging.Log v;
java.nio.ByteBuffer v;
v = staticinvoke <org.apache.htrace.shaded.commons.logging.LogFactory: org.apache.htrace.shaded.commons.logging.Log getLog(java.lang.Class)>(class "Lorg/apache/htrace/core/LocalFileSpanReceiver;");
<org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.commons.logging.Log LOG> = v;
v = new org.apache.htrace.shaded.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<org.apache.htrace.shaded.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
v = virtualinvoke v.<org.apache.htrace.shaded.fasterxml.jackson.databind.ObjectMapper: org.apache.htrace.shaded.fasterxml.jackson.databind.ObjectWriter writer()>();
<org.apache.htrace.core.LocalFileSpanReceiver: org.apache.htrace.shaded.fasterxml.jackson.databind.ObjectWriter JSON_WRITER> = v;
v = newarray (byte)[1];
v[0] = 10;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
<org.apache.htrace.core.LocalFileSpanReceiver: java.nio.ByteBuffer newlineBuf> = v;
return;
}
}