blob: 929a7a0006bc151476704dfd43e9fd47298ab620 [file] [log] [blame]
//
// Copyright © 2017 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
%{
#include "armnn/IProfiler.hpp"
%}
namespace armnn
{
%feature("docstring",
"
Interface for profiling Arm NN. See `IRuntime.GetProfiler`.
IProfiler object allows you to enable profiling and get various profiling results.
") IProfiler;
%nodefaultctor IProfiler;
%nodefaultdtor IProfiler;
class IProfiler
{
public:
%feature("docstring",
"
Sets the profiler to start/stop profiling.
Args:
enableProfiling (bool): Flag to enable/disable profiling.
") EnableProfiling;
void EnableProfiling(bool enableProfiling);
%feature("docstring",
"
Checks if profiling is enabled.
Returns:
bool: If profiling is enabled or not.
") IsProfilingEnabled;
bool IsProfilingEnabled();
};
%extend IProfiler {
%feature("docstring",
"
Gets the string value of the profiling events analysis log.
Returns:
str: The profiling events analysis log.
") event_log;
std::string event_log()
{
std::ostringstream oss;
$self->AnalyzeEventsAndWriteResults(oss);
return oss.str();
}
%feature("docstring",
"
Gets the profiling log as the JSON string.
Returns:
str: Profiling log as JSON formatted string.
") as_json;
std::string as_json()
{
std::ostringstream oss;
$self->Print(oss);
return oss.str();
}
}
}