本节介绍 API 函数。
C 和 C++:collector_sample(char *name)
Fortran: collector_sample(string name)
Java:CollectorAPI.sample(String name)
记录抽样包并用指定的名称或字符串标记该抽样。 当在 "Timeline"(时间线)视图中选择一个抽样时,性能分析器将在 "Selection Details"(选择详细信息)窗口中显示此标签。Fortran 参数 string 的类型为 character。
抽样点包含进程(而不是单独的线程)的数据。在多线程应用程序中,如果在 collector_sample() API 函数记录抽样时发生另一个调用,则该函数可确保只写入一个抽样。所记录的抽样数可能会少于发出该调用的线程数。
性能分析器不对由不同机制记录的抽样进行区分。如果只想查看 API 调用所记录的抽样,则应当在记录性能数据时关闭所有其他抽样模式。
C、C++ 和 Fortran:collector_pause()
Java: CollectorAPI.pause()
停止将特定于事件的数据写入实验。 实验将保持打开状态,并将继续写入全局数据。如果没有活动的实验或者已经停止记录数据,则该调用将被忽略。该函数停止写入所有特定于事件的数据,即使它是由 collector_thread_resume() 函数针对特定线程启用的也是如此。
C、C++ 和 Fortran:collector_resume()
Java:CollectorAPI.resume()
在调用 collector_pause() 之后恢复将特定于事件的数据写入实验。 如果没用活动的实验或数据记录功能处于活动状态,则该调用将被忽略。
C、C++ 和 Fortran:collector_terminate_expt()
Java:CollectorAPI.terminate