Packages

object Instrumentation

An object that controls profiling of instrumented byte-code. The instrumentation is achieved by using java.lang.instrument package. The instrumentation agent can be found in scala.tools.partest.javaagent 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 canonical way of using instrumentation is have a test-case in files/instrumented directory. The following code in main:

import scala.tools.partest.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
Source
Instrumentation.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Instrumentation
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type Statistics = Map[MethodCallTrace, Int]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def getStatistics: Statistics
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. def isProfiling(): Boolean
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. def printStatistics(stats: Statistics = getStatistics, filter: (MethodCallTrace) => Boolean = standardFilter): Unit
  18. def resetProfiling(): Unit
  19. val standardFilter: (MethodCallTrace) => Boolean
  20. def startProfiling(): Unit
  21. def stopProfiling(): Unit
  22. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped