META-INF/
META-INF/MANIFEST.MF
com/
com/google/
com/google/monitoring/
com/google/monitoring/runtime/
com/google/monitoring/runtime/instrumentation/
com/google/monitoring/runtime/instrumentation/AllocationInstrumenter$AIClassAdapter.class
AllocationInstrumenter.java
package com.google.monitoring.runtime.instrumentation
com.google.monitoring.runtime.instrumentation.AllocationInstrumenter$AIClassAdapter extends org.objectweb.asm.ClassAdapter {
private final String recorderClass
private final String recorderMethod
public void <init> (org.objectweb.asm.ClassVisitor, java.lang.String, java.lang.String)
org.objectweb.asm.ClassVisitor cv
String recorderClass
String recorderMethod
public org.objectweb.asm.MethodVisitor visitMethod (int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
com.google.monitoring.runtime.instrumentation.AllocationMethodAdapter aimv
org.objectweb.asm.commons.LocalVariablesSorter lvs
int access
String base
String desc
String signature
String[] exceptions
org.objectweb.asm.MethodVisitor mv
}
com/google/monitoring/runtime/instrumentation/AllocationInstrumenter.class
AllocationInstrumenter.java
package com.google.monitoring.runtime.instrumentation
public com.google.monitoring.runtime.instrumentation.AllocationInstrumenter extends java.lang.Object implements java.lang.instrument.ClassFileTransformer {
static final java.util.logging.Logger logger
private static volatile boolean canRewriteBootstrap
void <init> ()
public static void premain (java.lang.String, java.lang.instrument.Instrumentation)
int i
java.lang.instrument.UnmodifiableClassException e
String agentArgs
java.lang.instrument.Instrumentation inst
Class[] classes
java.util.ArrayList classList
Class[] workaround
public byte[] transform (java.lang.ClassLoader, java.lang.String, java.lang.Class, java.security.ProtectionDomain, byte[])
ClassLoader loader
String className
Class classBeingRedefined
java.security.ProtectionDomain protectionDomain
byte[] origBytes
public static byte[] instrument (byte[], java.lang.String, java.lang.String)
org.objectweb.asm.ClassReader cr
org.objectweb.asm.ClassWriter cw
com.google.monitoring.runtime.instrumentation.VerifyingClassAdapter vcw
org.objectweb.asm.ClassAdapter adapter
RuntimeException e
Error e
byte[] originalBytes
String recorderClass
String recorderMethod
public static byte[] instrument (byte[])
byte[] originalBytes
static void <clinit> ()
}
com/google/monitoring/runtime/instrumentation/AllocationMethodAdapter$VariableScope.class
AllocationMethodAdapter.java
package com.google.monitoring.runtime.instrumentation
com.google.monitoring.runtime.instrumentation.AllocationMethodAdapter$VariableScope extends java.lang.Object {
public final int index
public final org.objectweb.asm.Label start
public final org.objectweb.asm.Label end
public final String desc
public void <init> (int, org.objectweb.asm.Label, org.objectweb.asm.Label, java.lang.String)
int index
org.objectweb.asm.Label start
org.objectweb.asm.Label end
String desc
}
com/google/monitoring/runtime/instrumentation/AllocationMethodAdapter.class
AllocationMethodAdapter.java
package com.google.monitoring.runtime.instrumentation
com.google.monitoring.runtime.instrumentation.AllocationMethodAdapter extends org.objectweb.asm.MethodAdapter {
public static final String RECORDER_SIGNATURE
public static final String CLASS_RECORDER_SIG
private static final String[] primitiveTypeNames
private int outstandingAllocs
private java.util.List localScopes
private final String recorderClass
private final String recorderMethod
public org.objectweb.asm.commons.LocalVariablesSorter lvs
private java.util.List getLocalScopes ()
public void <init> (org.objectweb.asm.MethodVisitor, java.lang.String, java.lang.String)
org.objectweb.asm.MethodVisitor mv
String recorderClass
String recorderMethod
public void visitIntInsn (int, int)
int opcode
int operand
private void pushClassNameOnStack ()
private void pushProductOfIntArrayOnStack ()
org.objectweb.asm.Label beginScopeLabel
org.objectweb.asm.Label endScopeLabel
int dimsArrayIndex
int counterIndex
int productIndex
org.objectweb.asm.Label loopLabel
org.objectweb.asm.Label endLabel
org.objectweb.asm.Label nonZeroDimension
public void visitMethodInsn (int, java.lang.String, java.lang.String, java.lang.String)
org.objectweb.asm.Label beginScopeLabel
org.objectweb.asm.Label endScopeLabel
int countIndex
int typeNameIndex
org.objectweb.asm.Label beginScopeLabel
org.objectweb.asm.Label endScopeLabel
int dimsArrayIndex
int productIndex
int typeNameIndex
int i
int opcode
String owner
String name
String signature
private void buildRecorderFromObject (int, java.lang.String, java.lang.String, java.lang.String)
int opcode
String owner
String name
String signature
private void dupStackElementBeforeSignatureArgs (java.lang.String)
int i
int i
String sig
org.objectweb.asm.Label beginScopeLabel
org.objectweb.asm.Label endScopeLabel
org.objectweb.asm.Type[] argTypes
int[] args
public void visitTypeInsn (int, java.lang.String)
int opcode
String typeName
public void visitMaxs (int, int)
com.google.monitoring.runtime.instrumentation.AllocationMethodAdapter$VariableScope scope
java.util.Iterator i$
int maxStack
int maxLocals
private int newLocal (org.objectweb.asm.Type, java.lang.String, org.objectweb.asm.Label, org.objectweb.asm.Label)
org.objectweb.asm.Type type
String typeDesc
org.objectweb.asm.Label begin
org.objectweb.asm.Label end
int newVar
private int newLocal (java.lang.String, org.objectweb.asm.Label, org.objectweb.asm.Label)
String typeDescriptor
org.objectweb.asm.Label begin
org.objectweb.asm.Label end
private int newLocal (org.objectweb.asm.Type, org.objectweb.asm.Label, org.objectweb.asm.Label)
org.objectweb.asm.Type type
org.objectweb.asm.Label begin
org.objectweb.asm.Label end
private void invokeRecordAllocation (java.lang.String)
String typeName
public void visitMultiANewArrayInsn (java.lang.String, int)
String typeName
int dimCount
void calculateArrayLengthAndDispatch (java.lang.String, int)
org.objectweb.asm.Label nonZeroDimension
int i
String typeName
int dimCount
org.objectweb.asm.Label zeroDimension
static void <clinit> ()
}
com/google/monitoring/runtime/instrumentation/AllocationRecorder$1.class
AllocationRecorder.java
package com.google.monitoring.runtime.instrumentation
final com.google.monitoring.runtime.instrumentation.AllocationRecorder$1 extends java.lang.Thread {
void <init> ()
public void run ()
}
com/google/monitoring/runtime/instrumentation/AllocationRecorder$2.class
AllocationRecorder.java
package com.google.monitoring.runtime.instrumentation
final com.google.monitoring.runtime.instrumentation.AllocationRecorder$2 extends com.google.common.collect.ForwardingMap {
private final java.util.concurrent.ConcurrentMap map
private static final int MAX_SIZE
private int approximateSize
void <init> ()
public java.util.Map delegate ()
public java.lang.Long put (java.lang.Class, java.lang.Long)
java.util.Iterator it
Class key
Long value
public volatile synthetic java.lang.Object put (java.lang.Object, java.lang.Object)
Object x0
Object x1
public volatile synthetic java.lang.Object delegate ()
}
com/google/monitoring/runtime/instrumentation/AllocationRecorder.class
AllocationRecorder.java
package com.google.monitoring.runtime.instrumentation
public com.google.monitoring.runtime.instrumentation.AllocationRecorder extends java.lang.Object {
private static volatile java.lang.instrument.Instrumentation instrumentation
private static volatile com.google.monitoring.runtime.instrumentation.Sampler[] additionalSamplers
private static final Object samplerLock
private static final java.util.List classNames
private static final ThreadLocal recordingAllocation
private static final com.google.common.collect.ForwardingMap classSizesMap
public void <init> ()
static java.lang.instrument.Instrumentation getInstrumentation ()
static void setInstrumentation (java.lang.instrument.Instrumentation)
java.lang.instrument.Instrumentation inst
public static void addSampler (com.google.monitoring.runtime.instrumentation.Sampler)
com.google.monitoring.runtime.instrumentation.Sampler[] newSamplers
com.google.monitoring.runtime.instrumentation.Sampler[] newSamplers
com.google.monitoring.runtime.instrumentation.Sampler[] samplers
com.google.monitoring.runtime.instrumentation.Sampler sampler
private static long getObjectSize (java.lang.Object, boolean)
Object obj
boolean isArray
Class clazz
Long classSize
public static void recordAllocation (java.lang.Class, java.lang.Object)
Class cls
Object newObj
String typename
public static void recordAllocation (int, java.lang.String, java.lang.Object)
com.google.monitoring.runtime.instrumentation.Sampler sampler
com.google.monitoring.runtime.instrumentation.Sampler[] arr$
int len$
int i$
long objectSize
com.google.monitoring.runtime.instrumentation.Sampler[] samplers
int count
String desc
Object newObj
public static void recordAllocationForceForTest (int, java.lang.String, java.lang.Object)
int count
String desc
Object newObj
public static void recordAllocationForceForTestReal (int, java.lang.String, java.lang.Object, int)
int count
String desc
Object newObj
int recurse
static void <clinit> ()
}
com/google/monitoring/runtime/instrumentation/Sampler.class
Sampler.java
package com.google.monitoring.runtime.instrumentation
public abstract com.google.monitoring.runtime.instrumentation.Sampler extends java.lang.Object {
public abstract void sampleAllocation (int, java.lang.String, java.lang.Object, long)
}
com/google/monitoring/runtime/instrumentation/VerifyingClassAdapter$1.class
VerifyingClassAdapter.java
package com.google.monitoring.runtime.instrumentation
com.google.monitoring.runtime.instrumentation.VerifyingClassAdapter$1 extends org.objectweb.asm.commons.CodeSizeEvaluator {
final synthetic String val$name
final synthetic com.google.monitoring.runtime.instrumentation.VerifyingClassAdapter this$0
void <init> (com.google.monitoring.runtime.instrumentation.VerifyingClassAdapter, org.objectweb.asm.MethodVisitor, java.lang.String)
org.objectweb.asm.MethodVisitor x0
public void visitEnd ()
}
com/google/monitoring/runtime/instrumentation/VerifyingClassAdapter$State.class
VerifyingClassAdapter.java
package com.google.monitoring.runtime.instrumentation
public final enum com.google.monitoring.runtime.instrumentation.VerifyingClassAdapter$State extends java.lang.Enum {
public static final enum com.google.monitoring.runtime.instrumentation.VerifyingClassAdapter$State PASS
public static final enum com.google.monitoring.runtime.instrumentation.VerifyingClassAdapter$State UNKNOWN
public static final enum com.google.monitoring.runtime.instrumentation.VerifyingClassAdapter$State FAIL_TOO_LONG
private static final synthetic com.google.monitoring.runtime.instrumentation.VerifyingClassAdapter$State[] $VALUES
public static com.google.monitoring.runtime.instrumentation.VerifyingClassAdapter$State[] values ()
public static com.google.monitoring.runtime.instrumentation.VerifyingClassAdapter$State valueOf (java.lang.String)
String name
private void <init> (java.lang.String, int)
static void <clinit> ()
}
com/google/monitoring/runtime/instrumentation/VerifyingClassAdapter.class
VerifyingClassAdapter.java
package com.google.monitoring.runtime.instrumentation
public com.google.monitoring.runtime.instrumentation.VerifyingClassAdapter extends org.objectweb.asm.ClassAdapter {
private static final java.util.logging.Logger logger
final org.objectweb.asm.ClassWriter cw
final byte[] original
final String className
String message
com.google.monitoring.runtime.instrumentation.VerifyingClassAdapter$State state
public void <init> (org.objectweb.asm.ClassWriter, byte[], java.lang.String)
org.objectweb.asm.ClassWriter cw
byte[] original
String className
public org.objectweb.asm.MethodVisitor visitMethod (int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
int access
String name
String desc
String signature
String[] exceptions
org.objectweb.asm.MethodVisitor mv
public void visitEnd ()
public boolean isVerified ()
public byte[] toByteArray ()
static void <clinit> ()
}
META-INF/maven/
META-INF/maven/com.google.code.java-allocation-instrumenter/
META-INF/maven/com.google.code.java-allocation-instrumenter/java-allocation-instrumenter/
META-INF/maven/com.google.code.java-allocation-instrumenter/java-allocation-instrumenter/pom.xml
META-INF/maven/com.google.code.java-allocation-instrumenter/java-allocation-instrumenter/pom.properties