Skip to main content

SST_ELI_DOCUMENT_PROFILE_POINTS

/* Macro */
SST_ELI_DOCUMENT_PROFILE_POINTS (
{ "point_name0", "description", "Fully::Qualified::ProfilePoint::API" },
{ "point_name1", "description", "Fully::Qualified::ProfilePoint::API" },
{ "point_name2", "description", "Fully::Qualified::ProfilePoint::API" },
...
{ "point_nameX", "description", "Fully::Qualified::ProfilePoint::API" }
)

Availability: Component, SubComponent

Use this macro to document that a (Sub)Component supports attaching a particular kind of profiler. The macro accepts a list of triples where each triple contains a name for the point to which a profiler can be attached, a description of the profiling point, and the API required for profilers attached to the documented point.

Important

This macro must reside in a public section of the object's header file.

Parameters

  • point_nameX (string) The name of the profiling point.
  • description (string) Description of the profiling point. This value is displayed when sst-info is run at the command line.
  • API (string) The fully qualified name of the profiler API that can be attached to this point. Any profiler loaded into the slot must implement the named API.
info

point_nameX must follow SST's element naming conventions.

Example

Excerpt from sst-elements/src/sst/elements/simpleElementExample/basicParams.h
/* simpleElementExample/basicParams.h */
SST_ELI_DOCUMENT_PROFILE_POINTS(
{ "clock_profiler", "A profiler to track time spent in clock handling", "SST::Profile::ClockHandlerProfileTool" }
)
#include <sst/core/component.h> // or
#include <sst/core/subcomponent.h>