MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / profilerDataDumpRecurse

Function profilerDataDumpRecurse

Engine/source/platform/profiler.cpp:467–503  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

465}
466
467static void profilerDataDumpRecurse(ProfilerData *data, char *buffer, U32 bufferLen, F64 totalTime)
468{
469 // dump out this one:
470 Con::printf("%7.3f %7.3f %8d %s%s",
471 100 * data->mTotalTime / totalTime,
472 100 * (data->mTotalTime - data->mSubTime) / totalTime,
473 data->mInvokeCount,
474 buffer,
475 data->mRoot ? data->mRoot->mName : "ROOT" );
476 data->mTotalTime = 0;
477 data->mSubTime = 0;
478 data->mInvokeCount = 0;
479
480 buffer[bufferLen] = ' ';
481 buffer[bufferLen+1] = ' ';
482 buffer[bufferLen+2] = 0;
483 // sort data's children...
484 ProfilerData *list = NULL;
485 while(data->mFirstChild)
486 {
487 ProfilerData *ins = data->mFirstChild;
488 data->mFirstChild = ins->mNextSibling;
489 ProfilerData **walk = &list;
490 while(*walk && (*walk)->mTotalTime > ins->mTotalTime)
491 walk = &(*walk)->mNextSibling;
492 ins->mNextSibling = *walk;
493 *walk = ins;
494 }
495 data->mFirstChild = list;
496 while(list)
497 {
498 if(list->mInvokeCount)
499 profilerDataDumpRecurse(list, buffer, bufferLen + 2, totalTime);
500 list = list->mNextSibling;
501 }
502 buffer[bufferLen] = 0;
503}
504
505static void profilerDataDumpRecurseFile(ProfilerData *data, char *buffer, U32 bufferLen, F64 totalTime, FileStream& fws)
506{

Callers 1

dumpMethod · 0.85

Calls 1

printfFunction · 0.85

Tested by

no test coverage detected