namespace Gaffer
{

class PerformanceMonitor;

enum PerformanceMetric
{
	Invalid,
	HashCount,
	ComputeCount,
	HashDuration,
	ComputeDuration,
	TotalDuration,
	PerHashDuration,
	PerComputeDuration,
	HashesPerCompute,

	First = HashCount,
	Last = HashesPerCompute
};

std::string formatStatistics( const PerformanceMonitor &monitor, size_t maxLinesPerMetric = 50 );
std::string formatStatistics( const PerformanceMonitor &monitor, PerformanceMetric metric, size_t maxLines = 50 );

} // namespace Gaffer

#endif // GAFFER_MONITORALGO_H
