IO profiling APIs allows applications to obtain statistics of IO channel utilization over specific period of time. The statistics could be used to identify IO utilization characteristics and bottlenecks for applications. Cafe IO consists of the following IO channels and the total IO bandwidth gets distributed among them.
|USB||Universal Serial Bus|
|SECURE IO||Secure network IO using HTTPS/SSL|
|FILE SYSTEM||File System|
|SYSTEM||Internal System IO|
The APIs provide statistics about percentage IO bandwidth (of the total available IO bandwidth) consumed by each of the channels. The IO bandwidth utilization numbers include usage by the application as well as internal system services. Some IO activities result in more than one channel being used. e.g. Network activity over USB Ethernet uses NET as well as USB channel, File system activity on USB disk drive uses FILE SYSTEM as well as USB channel.
Profiling data is collected between start and end of a profiling checkpoint. The application should start a profiling checkpoint just before starting the task which is to be profiled. The application should end the checkpoint after the task to be profiled is completed. Ending the checkpoint returns statistics for time period between the start of the checkpoint and end of the checkpoint. The application can either stop profiling when it ends a checkpoint or it can start the next checkpoint. An application can profile different tasks within the application by starting and ending a profiling checkpoint multiple times (before and after each of the task to be profiled).
IO profiling APIs are available in form of
nio_prof.rpl. API declarations are available in
For more information, refer to the following demos.
||This demo illustrates use of IO profiling APIs to obtain IO channel utilization for file read operation and during idle period. It demonstrates use of profiling in continuous mode where end of a profiling checkpoint implicitly starts the next profiling checkpoint.|
||This demo illustrates use of IO profiling APIs to obtain IO channel utilization for file read operation followed by an idle period (profiling is OFF during the idle period). It demonstrates use of profiling in intermittent mode where end of checkpoint stops profiling. The next profiling checkpoint is explicitly started.|
2013/06/19 Initial version