// // 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(); } } }