Open mkwork opened 6 years ago
Hi @mkwork
v2.0.1 is stable.
Can you, please, describe your problem? If you mean that you don't see threads and blocks in Diagram window then try to resize histogram (it became vertically resizeable) to make threads and blocks visible.
Hi. Yep, looks like resizable. But on fhd screen it's hidden by default (may be because of layout settings). And when I try to resize it, 100k events dump, ui hangs more than for 20 minutes.
Did you mean to use something like tracecompass instead of own ui?
@mkwork 20 minutes? No way... Do you mean 100k EASY_EVENT
blocks? Or by events you mean regular profiled blocks (EASY_BLOCK
, EASY_FUNCTION
)? Does test.prof
dumped by profiler_sample behave in the same manner?
Could you share your dumped prof
file for anlysis, please?
Oh. Looks like I loose this prof file. I've switched to lttng, it looks more suitable for my purposes, and I'm not able to spend more time on this profiling tool.
As you can see on screenshot that's was ~1.5kk of blocks.
As I remember, that's a code snippet produced this dump:
#include <iostream>
#include <thread>
#include <chrono>
#include <easy/profiler.h>
using namespace std::chrono_literals;
void bottom_level(int i) {
EASY_FUNCTION();
EASY_BLOCK("sleep");
std::this_thread::sleep_for(10us);
EASY_END_BLOCK;
EASY_BLOCK("output");
std::cout << "iteration " << i << std::endl;
EASY_END_BLOCK;
}
void top_level(int iteration) {
EASY_FUNCTION();
std::this_thread::sleep_for(1us);
static const uint64_t bottom_count = 100;
for (int i = 0; i < bottom_count; i++) {
bottom_level(iteration);
}
}
int main(int argc, char* argv[])
{
EASY_PROFILER_ENABLE;
static const uint64_t top_count = 1000;
for (int i = 0; i < top_count; i++) {
top_level(i);
}
profiler::dumpBlocksToFile("profile.prof");
return 0;
}
Platform: Ubuntu 18.04 x86_64; Qt 5.9; cpu i7-6600U
Otherwise it could be one day of production dump, but I can't share it with you. Sorry for inconvenience.
That's how shown output of
profiler_sample
in 2.0.1:And that's for 1.3.0:
Is the 2.x stable now, or 1.3.x should be used in production?
Platform: ubuntu 18.04 x86_64