This endpoint is intended for profiling and collecting code coverage, and for receiving the values of performance counters.
Information about methods of the endpoint is provided in the table below.
Method
|
Method purpose and parameters
|
Potential danger of the method
|
GetCoverageData
|
Purpose
Gets information about kernel code coverage.
Parameters
- [in]
index – index for enumerating object files containing instrumental code for receiving coverage data. Enumeration starts with zero. - [out]
buf – sequence containing information about the code coverage of an object file (in gcda format). - [out]
size – size (in bytes) of data containing information about the code coverage of an object file. - [out]
name – name of the *.gcda file that was assigned during compilation. - [out]
rc – return code.
|
N/A
|
FlushGcov
|
Purpose
Output of data on kernel code coverage in gcda format via I/O interface (for example, COM, USB).
Parameters
|
N/A
|
FlushGcovFile
|
Purpose
Output of data on user code coverage in gcda format via I/O interface (for example, COM, USB).
Parameters
- [in]
name – name of the *.gcda file that was assigned during compilation. - [in]
buf – pointer to the buffer containing information about code coverage in gcda format. - [in]
size – size of data containing code coverage information in bytes. - [out]
rc – return code.
|
N/A
|
GetCounters
|
Purpose
Gets the values of performance counters.
Parameters
- [in]
prefix – prefix for names of performance counters. - [in]
names – sequence containing the names of performance counters. - [out]
values – sequence containing the values of performance counters. - [out]
rc – return code.
|
N/A
|
ObjectGetStat
|
Purpose
Gets the values of performance counters associated with a system resource (process or thread).
Parameters
- [in]
handle – value whose binary representation consists of multiple fields, including a handle field and a handle permissions mask field. The handle identifies the system resource. - [in]
names – sequence containing the names of performance counters. - [out]
values – sequence containing the values of performance counters. - [out]
rc – return code.
|
N/A
|
SamplingStart
|
Purpose
Starts sample code profiling.
Parameters
- [in]
conf – flags that define the profiling settings. - [in]
cpus – processor mask indicating the set of processors (processor cores) that execute the profiled code. - [in]
contSize – size (in bytes) of the container used to store data containing the code execution statistics obtained from profiling. - [in]
interval – fictitious parameter. - [out]
rc – return code.
|
N/A
|
SamplingStop
|
Purpose
Stops sample code profiling.
Parameters
|
N/A
|
SamplingRead
|
Purpose
Gets data containing the code execution statistics received from sample profiling.
Parameters
- [in]
unsafeBuffer – pointer to the buffer used to save the data on the code execution statistics obtained from profiling. - [in]
size – size of the buffer whose pointer is defined through the unsafeBuffer parameter in bytes. - [out]
realSize – size of the saved data in bytes. - [in]
timeout – container filling timeout (in milliseconds). - [out]
rc – return code.
|
Gets the addresses and names of functions of other processes.
|
SamplingAddPidToList
|
Purpose
Adds a process to the set of processes in whose contexts the programs subject to sample profiling are running.
Parameters
- [in]
pid – process ID (PID). - [out]
rc – return code.
|
N/A
|
SamplingClearPidList
|
Purpose
Clears the set of processes in whose contexts the programs subject to sample profiling are running.
Parameters
|
N/A
|
LoadSegInfo
|
Purpose
Saves information about the loaded segment of the ELF image in the kernel.
Parameters
- [in]
task – value whose binary representation consists of multiple fields, including a handle field and a handle permissions mask field. The handle identifies the process. - [in]
addr – segment address in process memory. - [in]
size – segment size (in bytes). - [in]
offset – offset of the segment in the ELF file (in bytes). - [in]
flags – flags defining the access rights to the segment. - [in]
buildId – build ID. - [out]
rc – return code.
|
Allows the kernel memory to be used up by creating a multitude of objects within it.
|
UnloadSegInfo
|
Purpose
Deletes information about the loaded ELF image segment that was saved in the kernel using the LoadSegInfo method.
Parameters
- [in]
task – value whose binary representation consists of multiple fields, including a handle field and a handle permissions mask field. The handle identifies the process. - [in]
addr – segment address in process memory. - [in]
size – segment size (in bytes). - [out]
rc – return code.
|
N/A
|
KcovAlloc
|
Purpose
Allocates the resources required for collecting kernel code coverage data when handling system calls executed by the calling process.
Parameters
- [in]
numThreads – maximum number of threads whose kernel code coverage data will be collected. - [in]
maxPoints – maximum number of coverage points for one thread. - [out]
rc – return code.
|
Exhausts RAM.
|
KcovFree
|
Purpose
Frees the resources required for collecting kernel code coverage data when handling system calls executed by the calling process.
Parameters
|
N/A
|
KcovStart
|
Purpose
Starts the collection of kernel code coverage data when handling system calls executed by the calling thread.
Parameters
|
N/A
|
KcovStop
|
Purpose
Stops the collection of kernel code coverage data when handling system calls executed by the calling thread. Also gets information about kernel code coverage.
Parameters
- [in]
points – pointer to the buffer used to store the IDs of coverage points. - [in]
maxPoints – maximum number of coverage point IDs that can be stored in the buffer defined via the points parameter. - [out]
numPoints – actual number of coverage point IDs stored in the buffer defined via the points parameter. - [out]
rc – return code.
|
N/A
|