#pragma once
#include <cstdint>
namespace torch_npu {
namespace profiler {
namespace python_tracer {
void init();
enum class TraceTag {
kPy_Call = 0,
kPy_Return,
kC_Call,
kC_Return
};
struct TraceEvent {
TraceEvent() = default;
TraceEvent(uint64_t tid, uint64_t timestamp, size_t key, TraceTag tag)
: tid_(tid),
ts_(timestamp),
key_(static_cast<uint64_t>(key)),
tag_(static_cast<uint8_t>(tag)) {}
TraceEvent(const TraceEvent&) = default;
TraceEvent& operator=(const TraceEvent&) = default;
uint64_t tid_{0};
uint64_t ts_{0};
uint64_t key_{0};
uint8_t tag_{0};
};
}
}
}