ch.epfl.lamp.grading

instrumented

package instrumented

Visibility
  1. Public
  2. All

Type Members

  1. trait InstrumentedSuite extends AnyRef

  2. case class MethodCallTrace(className: String, methodName: String, methodDescriptor: String) extends Product with Serializable

  3. class Profiler extends AnyRef

Value Members

  1. object Instrumentation

    An object that controls profiling of instrumented byte-code.

    An object that controls profiling of instrumented byte-code.

    The instrumentation is achieved by using the java.lang.instrument package. The instrumentation agent can be found in the ch.epfl.lamp.instragent package.

    At the moment the following classes are being instrumented: * all classes with empty package * all classes from scala package (except for classes responsible for instrumentation)

    The following code in main:

    import ch.epfl.lamp.grading.instrumented.Instrumentation._
    def main(args: Array[String]): Unit = {
      startProfiling()
      // should box the boolean
      println(true)
      stopProfiling()
      printStatistics()
    }

    should print:

    true
    Method call statistics:
    scala/Predef$.println(Ljava/lang/Object;)V: 1
    scala/runtime/BoxesRunTime.boxToBoolean(Z)Ljava/lang/Boolean;: 1
  2. object MethodCallTrace extends Serializable

Ungrouped