---
# System prepended metadata

title: API Guide - traceMan
tags: [Guide, API]

---

## Methods that TBot can call in getTestInput().
For query and control the app under test and system under test from inside the TBot execution.

==path=API.traceMan==

## Description
API group for trace managements.

## Group Methods
1. **startNewTrace**, path=API.traceMan.startNewTrace
	* Description: start a new test (not registered) trace.
2. **queryTraceCounts**, path=API.traceMan.queryTraceCounts
	* Description: query the number of test traces have been executed in this TestDragon session. Note that some traces might not be registered yet.
	* Return Value: the number of traces accumulated in this test session.
3. **queryCurrentTraceIndex**, path=API.traceMan.queryCurrentTraceIndex
	* Description: query the index of the current executing trace. Note that the current executing trace might not be registered yet.
	* Return Value: the index of the current test trace.
4. **queryCurrentTrace**, path=API.traceMan.queryCurrentTrace
	* Description: query for the current test trace.
	* Return Value: the current test trace.
5. **queryAllStepCounts**, path=API.traceMan.queryAllStepCounts
	* Description: query the total number of all test steps in the current test session, the number of test steps in the current test trace, and the number of test steps of the current TBot's execution.
	* Return Values form a list.
        1. The 1st element is the total number of all test steps in the current test session.
        2. The 2nd element is the number of test steps in the current test trace.
        3. The 3rd element is the number of test steps of the current TBot's execution.
6. **queryRegisteredTraces**, path=API.traceMan.queryRegisteredTraces
	* Description: query for the registered traces
	* 	* Description:
        1. *appPackagename* : an app name. If this is None, then registered traces of all apps are returned. Default is None.
        2. *versionNum* : the version number of the app. If this is None, then registered of all versions are returned. Default is None.
	* Return Value: a list of registered traces.
7. **startRecording**, path=API.traceMan.startRecording
	* Description: Start recording a trace. After recording, the trace is automatically registered.
8. **stopRecording**, path=API.traceMan.stopRecording
	* Description: stop recording a trace. This method then asks a few questions about the trace and then registers it automatically.
9. **queryRecording**, path=API.traceMan.queryRecording
	* Description: check if a trace recording session is going on.
	* Return Value: True if trace recording is ongoing. False otherwise.
10. **queryLastRecordedTrace**, path=API.traceMan.queryLastRecordedTrace
	* Description: get the recording of the last recorded trace.
	* Return Value: the last recorded trace.