9 #include <unordered_map> 
   11 namespace onnxruntime {
 
   35               std::string&& event_name,
 
   38               std::unordered_map<std::string, std::string>&& event_args)
 
   42         name(std::move(event_name)),
 
   45         args(std::move(event_args)) {}
 
   50               const std::string& event_name,
 
   53               const std::unordered_map<std::string, std::string>& event_args)
 
   73   std::unordered_map<std::string, std::string> 
args{};
 
   76 using Events = std::vector<EventRecord>;
 
   85   virtual void Stop(uint64_t){};                                        
 
EventRecord(EventCategory category, int process_id, int thread_id, const std::string &event_name, long long time_stamp, long long duration, const std::unordered_map< std::string, std::string > &event_args)
 
virtual void Stop(uint64_t)
 
virtual bool StartProfiling(TimePoint profiling_start_time)=0
 
std::string demangle(const char *name)
 
std::chrono::high_resolution_clock::time_point TimePoint
 
std::vector< EventRecord > Events
 
GLuint const GLchar * name
 
virtual void EndProfiling(TimePoint start_time, Events &events)=0
 
std::unordered_map< std::string, std::string > args
 
virtual ~EpProfiler()=default
 
**Note that the tasks the thread_id
 
EventRecord(EventCategory category, int process_id, int thread_id, std::string &&event_name, long long time_stamp, long long duration, std::unordered_map< std::string, std::string > &&event_args)
 
virtual void Start(uint64_t)