mirror of https://github.com/InoriRus/Kyty.git
77 lines
1.9 KiB
C++
77 lines
1.9 KiB
C++
#ifndef EASY_PROPROTOCOL_H
|
|
#define EASY_PROPROTOCOL_H
|
|
///C++
|
|
#include <string>
|
|
#include <vector>
|
|
#include <memory>
|
|
|
|
///this
|
|
#include <easy/serialized_block.h>
|
|
//#include <easy/profiler.h>
|
|
|
|
///for actual version vistit https://github.com/yse/easy_profiler/wiki/.prof-file-format-v1.3.0
|
|
|
|
namespace profiler {
|
|
|
|
namespace reader {
|
|
|
|
struct BlockDescriptor;
|
|
|
|
struct BlocksInfo //12
|
|
{
|
|
uint32_t totalBlocksCount; //4 bytes
|
|
uint64_t totalBlocksMemory; //8 bytes
|
|
};
|
|
|
|
struct DescriptorsInfo //12
|
|
{
|
|
uint32_t allDescriptorsCount; //4 bytes
|
|
uint64_t allDescriptorsMemory; //8 bytes
|
|
};
|
|
|
|
struct FileHeader //64
|
|
{
|
|
uint32_t signature; //4
|
|
uint32_t version; //4
|
|
uint64_t processId; //8
|
|
int64_t cpuFrequency; //8
|
|
uint64_t beginTime; //8
|
|
uint64_t endTime; //8
|
|
BlocksInfo serializedBlocksInfo; //12
|
|
DescriptorsInfo blocksDescriptorInfo; //12
|
|
};
|
|
|
|
struct BlockInfo
|
|
{
|
|
uint64_t beginTime;
|
|
uint64_t endTime;
|
|
const BlockDescriptor* descriptor;
|
|
uint32_t blockIndex;
|
|
};
|
|
|
|
struct ContextSwitchEvent
|
|
{
|
|
uint64_t beginTime;
|
|
uint64_t endTime;
|
|
uint64_t targetThreadId;
|
|
std::string targetProcess; ///< Contains process id and process name
|
|
};
|
|
|
|
struct BlockDescriptor
|
|
{
|
|
uint32_t parentId; ///< This will differ from id if this descriptor was created from runtime named block
|
|
uint32_t id;
|
|
int lineNumber;
|
|
uint32_t argbColor;
|
|
uint8_t blockType;
|
|
uint8_t status;
|
|
std::string blockName;
|
|
std::string fileName;
|
|
};
|
|
|
|
} //namespace reader
|
|
|
|
} //namespace profiler
|
|
|
|
#endif
|