0
0
mirror of https://github.com/yse/easy_profiler.git synced 2024-12-31 02:49:13 +08:00

674 Commits

Author SHA1 Message Date
Sergey Yagovtsev
ccd0626bf8 backward compatibility with old size of thread_id_t. For #41 2017-06-05 12:57:12 +03:00
Rokas Kupstys
08ae417931 Few more MacOS fixes.
Thread id changed to size_t, required for MacOS because older versions do not have integral thread ids and we must use a pointer returned by pthread_self()/
2017-05-23 19:49:21 +03:00
Josh Engebretson
a01187cf55 Networking fixes for MacOS
Qualify type for std::abs
2017-05-23 19:47:29 +03:00
Sergey Yagovtsev
f988cd4809 v1.2.0 v1.2.0 2017-05-08 12:32:56 +03:00
Sergey Yagovtsev
99d6a21a4a minor changes in sample 2017-05-08 12:32:07 +03:00
Victor Zarubkin
dbc2989788 Update README.md 2017-05-07 13:40:23 +03:00
Sergey Yagovtsev
ecbe7780e6 (Core) close #39 Add following cmake options to easy_profiler_core CMakeLists:
BUILD_WITH_CHRONO_STEADY_CLOCK - use std::chrono::steady_clock as a timer. By default is OFF
BUILD_WITH_CHRONO_HIGH_RESOLUTION_CLOCK - use std::chrono::high_resolution_clock as a timer. By default is OFF

If both is set to ON - use std::chrono::high_resolution_clock.
If both is set to OFF - use QueryPerformanceCounter/rtdsc timer.

Note: Do not forget clean CMakeCache file if you've changed an option.
2017-05-06 11:54:24 +03:00
Sergey Yagovtsev
0d8396b43a travis 2017-05-05 20:38:58 +03:00
Sergey Yagovtsev
98bcb8ce24 Add test for calculating cost of block 2017-05-05 20:30:01 +03:00
Sergey Yagovtsev
ed8e331876 travis fix 2017-05-05 19:56:48 +03:00
Sergey Yagovtsev
ef412ca961 travis fix 2017-05-05 19:55:35 +03:00
Sergey Yagovtsev
9184efb589 Add linux-specific test for calculating cost of gettime functions. Build with:
$ c++ -std=c++11 -O3 main_clock.cpp -o test_clock
2017-05-05 19:50:42 +03:00
Victor Zarubkin
714e4e0bab (Core) #39 Added macros for possibility to choose std::chrono timer type: EASY_CHRONO_HIGHRES_CLOCK for high_resolution_clock and EASY_CHRONO_STEADY_CLOCK for steady_clock - Use it in CMakeLists.txt 2017-05-04 21:40:48 +03:00
Victor Zarubkin
50b3cc8b7a (Core) Fixed old typo in ProfileManager::setBlockStatus() 2017-05-03 21:18:14 +03:00
Victor Zarubkin
bf308dc299 (GUI) Fixed displaying unicode text in popup and at histogram window 2017-05-02 23:22:36 +03:00
Victor Zarubkin
35ca4ff370 (GUI) Display current opened file name at the window title;
* (GUI) Suggest save file name: using current system date and time as file name;
* (GUI) Checking for unsaved network session before opening new file and before exit.
2017-05-02 23:21:15 +03:00
Sergey Yagovtsev
97f09d9e71 Update README.md 2017-05-02 21:33:11 +04:00
Victor Zarubkin
e1bc731570 #37 enclosed MinGW specific 2017-05-01 04:03:26 +03:00
Victor Zarubkin
e862ba4c88 (GUI) #35 #33 Added "Use Right Mouse Button..." hint to Hierarchy window 2017-05-01 03:52:48 +03:00
Victor Zarubkin
4f941294fd (GUI) #37 replaced std::abs() with abs();
(GUI) Changed popup position on Diagram - now it is better positioned for small window also.
2017-04-30 01:09:06 +03:00
Victor Zarubkin
593395a4aa (Core) #37 No manual ~string() call 2017-04-30 00:17:15 +03:00
Sergey Yagovtsev
3f0ceec589 fixed #34 it was frozen cause manual block was added without finish 2017-04-25 16:36:21 +03:00
Victor Zarubkin
2e74f83569 (GUI) Displaying "total self %" (duration % excluding all children) per thread/frame/parent 2017-04-20 22:30:05 +03:00
Victor Zarubkin
d1e68e0cec (Core) Calculating total children duration per thread/frame/parent 2017-04-20 22:29:02 +03:00
Victor Zarubkin
dff1d8b2a4 (Core) Update #29 : fixed potential memory leak for NonscopedBlock + linux build 2017-04-17 23:31:07 +03:00
Victor Zarubkin
c2b3a8f5dc (Core) Update #29 - added non-scoped block functionality for beginning and ending block manually from different functions.
(Core) Added new API functions for getting current time (ticks) and converting it to nano- and microseconds.
2017-04-17 22:27:10 +03:00
Victor Zarubkin
c93464968e (GUI) Minor cosmetic changes to the FPS Monitor 2017-04-17 22:15:40 +03:00
Victor Zarubkin
c202bd8cac (GUI) Added additional field "Self" to the popup on Diagram. Self stands for "self duration" (duration excluding all children). 2017-04-17 22:14:51 +03:00
Victor Zarubkin
0466ee3e85 (GUI) Changed "Connect" button logic: if connected to the profiled application then additional click performs disconnect. Changed appropriate tool-tip.
(GUI) Clear FPS Monitor contents after successful connect.
2017-04-17 22:13:22 +03:00
Victor Zarubkin
b8360cd2c2 (GUI) Changed default options in globals 2017-04-17 22:09:53 +03:00
Victor Zarubkin
c80247e645 Update version at readme 2017-04-11 20:00:57 +03:00
Sergey Yagovtsev
d02e568dae v1.1.0 v1.1.0 2017-04-10 23:39:00 +03:00
Victor Zarubkin
c7ba19cb4d (GUI) Fixed warnings 2017-04-10 22:04:09 +03:00
Victor Zarubkin
0d5acc75e2 Linux build: include math.h for fabs 2017-04-10 21:54:54 +03:00
Victor Zarubkin
cbb298dc19 (GUI) Added possibility to adjust selection boundaries with dragging (available for both rulers: black and blue) 2017-04-10 21:33:56 +03:00
Sergey Yagovtsev
f83601d170 Update README.md 2017-04-10 11:14:09 +03:00
Victor Zarubkin
f17aa956cd (Core) Add main thread check 2017-04-09 10:23:59 +03:00
Victor Zarubkin
f00d731da4 (Core) Fixed main thread name compare 2017-04-09 09:12:27 +03:00
Victor Zarubkin
11fd89e7eb Update README.md 2017-04-07 23:51:34 +03:00
Victor Zarubkin
a9d13deb18 (Core) Fixed serious error caused by invoking endBlock() while dumping blocks to stream/file 2017-04-06 23:10:14 +03:00
Victor Zarubkin
654bfdf9da (Core) Fix incorrect storing 2017-04-06 22:59:33 +03:00
Victor Zarubkin
631619865e (GUI) Minor changes to FPS Monitor: added antialiasing and possibility to change line width (via settings) 2017-04-05 22:37:40 +03:00
Victor Zarubkin
c8e97dac26 (Core) Fixed average frame duration calculation; Fixed addBlockDescription crash when dll/so has been unloaded and loaded again. 2017-04-05 22:36:06 +03:00
Victor Zarubkin
28cea458a4 (GUI) New icon for "Clear all" button 2017-04-05 22:34:18 +03:00
Victor Zarubkin
880b35e59a (GUI) FPS Monitor also works while capturing frames 2017-04-03 23:28:19 +03:00
Victor Zarubkin
beba74d559 (GUI) Added real-time FPS Monitor which shows current max/avg frame time in GUI even if profiler is disabled. You just need to connect to the profiled app. You can close (hide) FPS Monitor and it would not send network requests to the profiled application anymore. You can increase/decrease FPS Monitor requests interval in "Settings -> FPS Monitor -> Request interval, ms". Right click on FPS Monitor window to show context menu in which you can clear contents or hide FPS Monitor. 2017-04-03 23:16:36 +03:00
Victor Zarubkin
8b7a68266c (Core) Added new API functions for requesting local-average frame duration (like local-max) 2017-04-03 23:08:52 +03:00
Victor Zarubkin
edcf23e268 Amend last commit 2017-04-02 14:25:46 +03:00
Victor Zarubkin
a2b62613a2 (Core) Frame counter: significantly simplified interface - there is no need to start frame counter explicitly. Top block is frame. 2017-04-02 14:23:11 +03:00
Victor Zarubkin
10b04a4748 (Core) First step for getting frame time at run-time.
Now you can use EASY_FRAME_COUNTER (which is only frame-counter) or EASY_FRAME (which is EASY_FRAME_COUNTER + EASY_BLOCK) or EASY_FRAME_FUNCTION (which is EASY_FRAME_COUNTER + EASY_FUNCTION) to measure frame time even if profiler is disabled.
To get frame time you can use profiler::main_thread::frameTimeLocalMax to get maximum frame duration since last call or profiler::main_thread::frameTime to get last frame time.
--- NOTE: You have to put EASY_MAIN_THREAD to your main thread to be able to use profiler::main_thread functions.
If you do not want to then you can use same functions from profiler::this_thread, but you will have to call them from your main thread.
2017-03-31 21:17:08 +03:00