Adding a print statement to the beginning of a method:

public class PrintVisitor extends ClassAdapter implements Opcodes {
  private String className;

  public PrintVisitor(ClassVisitor cv, String className) {
    super(cv);
    this.className = className;
  }

  public MethodVisitor visitMethod(int access, String name, String desc,
      String signature, String[] excpetions) {
    MethodVisitor mv = cv.visitMethod(access, name, desc, signature, 
        exceptions);  

    mv.visitFieldInsn(GETSTATIC, "java/lang/System", "out",
        "Ljava/io/PrintStream;");
    mv.visitLdcInsn("Now inside method " + className + "." + name);
    mv.visitMethodInsn(INVOKEVIRTUAL, "java/io/PrintStream", "println",
        "(Ljava/lang/String;)V");

    return mv;
  }
}