Eine Möglichkeit zur Ermittlung der Information über den Start und die Beendigung von Threads stellt in Version 1.2 des Java Development Kits (JDK) das sogenannte Java Virtual Machine Profiler Interface (JVMPI) [#!jvmpi99!#] bereit. Dies befindet sich aktuell allerdings noch in einem experimentellen Stadium und kann auch nur einen Teil der gewünschten Information liefern. Beispielsweise ist es mit Hilfe des JVMPI nicht möglich, das in einem neu gestarteten Thread auszuführende Objekt zu ermitteln.
Aus diesen Gründen wurde auf eine Verwendung des JVMPI verzichtet und stattdessen eine Instrumentierung der Klasse java.lang.Thread der JVM vorgenommen. Die Firma Sun stellt den Source Code der JVM zu derartigen Zwecken uneingeschränkt zur Verfügung [#!java2cs!#]. Vereinfacht ausgedrückt wurde die Methode start der Klasse java.lang.Thread dahingehend erweitert, daß sie einen Aufruf der Methode addControlFlow des Meßobjekts durchführt. So kann jeder Start eines Threads mit Sicherheit erkannt werden. Da die Methode start noch im aufrufenden Thread ausgeführt wird, ist eine Zuordnung des gestarteten Threads zu einer Instanz einer BTA zu diesem Zeitpunkt möglich. Desweiteren wurde in die Methode exit der Klasse java.lang.Thread ein Aufruf der Methode removeControlFlow eingefügt. Die Methode exit wird immer bei Beendigung eines Threads von der JVM aufgerufen und ermöglicht somit die sichere Identifikation der Beendigung beliebiger Threads.
Wenn zukünftig mit Hilfe des JVMPI (oder einer anderen Schnittstelle) neben der Benachrichtigung über den Start und das Ende von Threads auch das im neu gestarteten Thread auszuführende Objekt ermittelt werden kann, kann auf eine derartige Instrumentierung vollständig verzichtet werden und stattdessen eine Implementierung auf Basis des JVMPI eingesetzt werden.