PROFIL(2) | System Calls Manual | PROFIL(2) |
The buffer samples contains size bytes and is divided into a series of 16-bit bins. Each bin counts the number of times the program counter was in a particular address range in the process when a clock tick occurred while profiling was enabled. For a given program counter address, the number of the corresponding bin is given by the relation:
[(pc - offset) / 2] * scale / 65536
The offset parameter is the lowest address at which the kernel takes program counter samples. The scale parameter ranges from 1 to 65536 and can be used to change the span of the bins. A scale of 65536 maps each bin to 2 bytes of address range; a scale of 32768 gives 4 bytes, 16384 gives 8 bytes and so on. Intermediate values provide approximate intermediate ranges. A scale value of 0 disables profiling.
The samples argument should really be a vector of type unsigned short.
The format of the gmon.out file is undocumented.
June 4, 1993 | NetBSD 6.1 |