mirror of
https://github.com/wolfpld/tracy.git
synced 2025-03-20 07:40:02 +08:00
Parse custom location tags.
This commit is contained in:
parent
97f54f539d
commit
db734e3e0a
@ -199,6 +199,23 @@ int main( int argc, char** argv )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string locFile;
|
||||||
|
uint32_t locLine = 0;
|
||||||
|
if( v.contains( "loc" ) )
|
||||||
|
{
|
||||||
|
auto loc = v["loc"].get<std::string>();
|
||||||
|
const auto lpos = loc.find_last_of( ':' );
|
||||||
|
if( lpos == std::string::npos )
|
||||||
|
{
|
||||||
|
std::swap( loc, locFile );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
locFile = loc.substr( 0, lpos );
|
||||||
|
locLine = atoi( loc.c_str() + lpos + 1 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if( type == "B" )
|
if( type == "B" )
|
||||||
{
|
{
|
||||||
timeline.emplace_back( tracy::Worker::ImportEventTimeline {
|
timeline.emplace_back( tracy::Worker::ImportEventTimeline {
|
||||||
@ -206,7 +223,9 @@ int main( int argc, char** argv )
|
|||||||
uint64_t( v["ts"].get<double>() * 1000. ),
|
uint64_t( v["ts"].get<double>() * 1000. ),
|
||||||
v["name"].get<std::string>(),
|
v["name"].get<std::string>(),
|
||||||
std::move(zoneText),
|
std::move(zoneText),
|
||||||
false
|
false,
|
||||||
|
std::move(locFile),
|
||||||
|
locLine
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
else if( type == "E" )
|
else if( type == "E" )
|
||||||
@ -225,7 +244,7 @@ int main( int argc, char** argv )
|
|||||||
const auto ts0 = uint64_t( v["ts"].get<double>() * 1000. );
|
const auto ts0 = uint64_t( v["ts"].get<double>() * 1000. );
|
||||||
const auto ts1 = ts0 + uint64_t( v["dur"].get<double>() * 1000. );
|
const auto ts1 = ts0 + uint64_t( v["dur"].get<double>() * 1000. );
|
||||||
const auto name = v["name"].get<std::string>();
|
const auto name = v["name"].get<std::string>();
|
||||||
timeline.emplace_back( tracy::Worker::ImportEventTimeline { tid, ts0, name, std::move(zoneText), false } );
|
timeline.emplace_back( tracy::Worker::ImportEventTimeline { tid, ts0, name, std::move(zoneText), false, std::move(locFile), locLine } );
|
||||||
timeline.emplace_back( tracy::Worker::ImportEventTimeline { tid, ts1, "", "", true } );
|
timeline.emplace_back( tracy::Worker::ImportEventTimeline { tid, ts1, "", "", true } );
|
||||||
}
|
}
|
||||||
else if( type == "i" || type == "I" )
|
else if( type == "i" || type == "I" )
|
||||||
|
|||||||
@ -99,6 +99,8 @@ public:
|
|||||||
std::string name;
|
std::string name;
|
||||||
std::string text;
|
std::string text;
|
||||||
bool isEnd;
|
bool isEnd;
|
||||||
|
std::string locFile;
|
||||||
|
uint32_t locLine;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ImportEventMessages
|
struct ImportEventMessages
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user