Как получить время выполнения одного потока в выбранном интервале? - PullRequest
0 голосов
/ 14 января 2020

Я хочу измерить время выполнения нескольких потоков в Momentics, как это показано в представлении использования ЦП файла .kev. Единственное отличие состоит в том, что я не хочу видеть время, в течение которого поток выполнялся во всем сеансе диагностики, но между двумя пользовательскими событиями, размещенными пользователем.

Итак, у меня есть

//Some code where multiple Threads are started/executed/interrupted and continued

TraceEvent(_NTO_TRACE_INSERTUSRSTREVENT, 101, "Start of measurement");

//Some code where multiple Threads are started/executed/interrupted and continued

TraceEvent(_NTO_TRACE_INSERTUSRSTREVENT, 102, "End of measurement");

//Some code where multiple Threads are started/executed/interrupted and continued

и хотите получить сумму времени выполнения всех потоков, но только во временном интервале между обоими пользовательскими событиями.

Есть ли способ сделать это мгновенно?

Цель состоит в том, чтобы у меня есть файл Excel со средами выполнения, автоматическое создание здесь не требуется, но упоминается для пояснения варианта использования.

У меня уже были идеи:

  • Кодирование
    • rusage
    • posix Измерение времени
    • Дело в том, что я работаю над огромной системой, где я не могу без труда найти и изменить старт и конец каждого потока
  • После измерения
    • какой-то действительно грязный взлом Excel, который берет событие запуска и готовности каждого потока и вычисляет время выполнения

1 Ответ

0 голосов
/ 14 января 2020

Ладно, нашел сам:

Вы просто нажимаете + , когда находитесь в выборе, а представление об использовании ЦП увеличивается, а также обновляет время измерений

...