Sergey Yagovtsev
6d2589b0f6
Merge pull request #198 from mdiem-sc/markus/fix-emscripten-build
...
Fix EMSCRIPTEN build
2024-09-20 19:25:08 +03:00
Ming Li
67edc2d77f
Rename the function now() as well
2024-08-28 20:55:26 +02:00
Markus Diem
98fc4c4713
win: fix build
2022-01-26 10:51:14 +01:00
Markus Diem
66952fda28
remove default constructor warning
2022-01-26 10:50:53 +01:00
Ming Li
36eb9a0d91
rename function names related to versions.
...
The current function name is quite generic and it's easy to conflict
with other functions in a project since they're C functions
2020-09-08 15:01:04 +02:00
Sergey Yagovtsev
bb889d4d31
Add bazel build for easy profiler core
2019-12-02 19:51:25 +03:00
Victor Zarubkin
defca63809
[core] fix old windows build
2019-10-30 09:34:17 +03:00
Victor Zarubkin
272c0ceab1
[ui] fixed slider freeze after load new file in "Zoom" mode;
...
[core] #157 added new build flag EASY_OPTION_TRUNCATE_RUNTIME_NAMES which will prevent from crash for very big block names, but will reduce performance. Disabled by default because of very rare use case;
[core] #157 added new build flag EASY_OPTION_CHECK_MAX_VALUE_SIZE for EASY_VALUE arrays and strings - same as the flag above for block names. Also disabled by default;
2019-10-28 19:14:05 +03:00
Victor Zarubkin
c74744fae4
[ui] added workaround for Qt memory leak on Linux when using multiple threads;
...
[ui] added median duration into tree stats;
[ui] added max rows count for "Call-stack" tree mode;
2019-10-24 19:21:31 +03:00
Victor Zarubkin
b23d21ffc8
[core] added median duration calculation
2019-10-23 01:55:47 +03:00
Victor Zarubkin
92a5ca4a75
Big bunch of changes:
...
* update copyright
* fix css parsing
* fix block name search
* add matching text highlighing for find results
* add calculation of block statistics for selected area
* new action: right-click on a block on "Diagram" selects region using left and right bounds of this block
* other optimizations
2019-10-20 16:12:37 +03:00
Tobias Kalbitz
017ef6ad8b
Fix warning: Use nullptr instead 0 as pointer value.
2019-03-03 10:16:55 +01:00
Victor Zarubkin
001a8258bf
#134 [Core] fixed missing forward declaration and reordered some header files
2018-10-30 22:37:28 +03:00
Sergey Yagovtsev
cce8431484
Gramma fix #133
2018-10-04 13:10:42 +03:00
Sergey Yagovtsev
53289cec81
Static thread local
2018-09-18 23:20:43 +03:00
Sergey Yagovtsev
99b761375b
Remove ATOMIC_VAR_INIT
2018-09-18 22:41:58 +03:00
Victor Zarubkin
0ae430410d
#106 [Core][UI] Added possibility to add user bookmarks with double-clicking on a timeline in the Diagram window.
...
#112 [UI] Fixed losing focus (and getting under MainWindow) for Blocks widget.
#0 [UI] UI styling, added custom window header and dialogs (could be turned off/on and adjusted position at [Settings -> Appearance] menu).
2018-06-09 02:18:39 +03:00
Victor Zarubkin
8623fa81bb
#108 fix [Core] clang build for arbitrary values
2018-05-15 23:56:59 +03:00
Victor Zarubkin
84b391b6cc
#0 [Core] refactoring
2018-05-08 21:14:46 +03:00
Victor Zarubkin
f665478830
#91 [Core][UI] functions profiler::writeTreesToFile(), profiler::writeTreesToStream() are now working. Snapshot feature is now working: select an area on Diagram (with right mouse button or double-click) and press Snapshot button to save it to separate file.
2018-04-25 21:37:18 +03:00
Victor Zarubkin
0b9ee4e6d0
Merge remote-tracking branch 'origin/develop' into saving_file_develop
2018-04-23 01:38:01 +03:00
Victor Zarubkin
ef7b41fd0d
#91 [UI] Added snapshot tool stub; Working on saving blocks to file from UI
2018-04-22 03:34:26 +03:00
Victor Zarubkin
f9c0b7dc7a
#67 [Converter] Rewrote json converter, arbitrary values would be added soon
2018-04-05 01:08:18 +03:00
Victor Zarubkin
5e632bedee
#31 [Core] Arbitrary values: replaced size_t with uint16_t; [Gui] Added support of arrays to arbitrary values tree
2018-03-07 20:52:39 +03:00
Victor Zarubkin
5ff6acd422
Merge remote-tracking branch 'origin/develop' into release_2_0_dev
2018-02-24 23:25:51 +03:00
derevnja
647eced7d2
Add command line tool (profiler_converter) for converting to json format
...
related to #67
2018-02-07 19:11:12 +03:00
Victor Zarubkin
091d5447ce
#0 Updated copyright dates; [Gui] thread_pool.cpp MSVC build fix; [Core] Renamed getCurrentTime() to profiler::clock::now() + renamed profiler::currentTime() to profiler::now()
2018-01-29 23:29:43 +03:00
Victor Zarubkin
694497b5ca
Release 2.0 further work. Intermediate commit.
2018-01-20 15:23:28 +03:00
Victor Zarubkin
6a74c76681
Windows build
2017-12-28 00:31:53 +03:00
Victor Zarubkin
4406664a7d
#31 Basic arbitrary values viewer chart
2017-12-28 00:23:14 +03:00
Victor Zarubkin
d24e4a9e7e
#31 [GUI] Arbitrary values viewer progress
2017-11-30 22:21:08 +03:00
Victor Zarubkin
ef7d9f0bad
#81 [Core] Added an option to choose function names format
2017-11-28 21:37:18 +03:00
Victor Zarubkin
109c5fc47c
#0 [GUI] Styling
2017-11-23 22:01:44 +03:00
Victor Zarubkin
66dce34169
#31 arbitrary value interface small refactoring
2017-11-20 23:36:33 +03:00
Victor Zarubkin
07cdde155a
#0 MSVC2013 build
2017-11-20 21:53:12 +03:00
Victor Zarubkin
3b809fa6f3
Merge branch 'origin/develop' into release_2_0
2017-11-20 21:34:03 +03:00
Mika Rautio
e5fd86f9c8
Add support for building with Apple LLVM clang version < 8.0 ( #82 )
...
* Add support for building with pre 2016 Apple LLVM clang
* Automatically detect Apple clang that do not support thread_local
* Clarify clang thread_local support code comment
2017-11-20 20:23:15 +03:00
Victor Zarubkin
b3fd7c7837
#31 Single arbitrary values can be displayed in GUI as events + value converted to text
2017-11-15 21:43:52 +03:00
Victor Zarubkin
ae4c6c4e9f
#0 [Core][GUI] refactoring
2017-11-09 23:34:17 +03:00
Victor Zarubkin
530eb2446c
#0 [Core] A lot of code refactoring
2017-11-09 23:12:54 +03:00
Victor Zarubkin
c2de745445
#0 [Core] Rearranged include files
2017-11-09 22:01:32 +03:00
Victor Zarubkin
8509b9b01b
Merge branch 'origin/develop' into issue31_arbitrary_values
2017-11-08 21:50:25 +03:00
Victor Zarubkin
eef1dab923
#31 [Core] further work on arbitrary values
2017-11-08 21:38:07 +03:00
Victor Zarubkin
a0ab6a9000
#0 [Core] Added constexpr support macros and refactored extract_... functions
2017-11-08 21:34:51 +03:00
Sebastian Bischlager
23cf75fea4
Fixed #72 Where building x86 binaries with VS 2017 resulted in an internal compiler error
2017-11-06 18:00:37 +01:00
Victor Zarubkin
52f3823b57
Merge branch 'origin/develop' into issue31_arbitrary_values
2017-11-02 22:49:12 +03:00
Victor Zarubkin
4bf796cb7a
#75 [GUI] ui is not freezed now when you hit Cancel button while profiled blocks are prepared to be sent
2017-11-02 22:43:37 +03:00
Victor Zarubkin
cac628ce82
#31 added arbitrary value id
2017-10-21 01:57:48 +03:00
Victor Zarubkin
e9e937551e
#31 build fix
2017-10-21 00:55:17 +03:00
Victor Zarubkin
86f7a48995
#31 intermediate commit: added basic API for arbitrary values profiling. Still not working.
2017-10-20 22:18:32 +03:00
Victor Zarubkin
65bfb94276
#0 [Core] Refactoring: moved all types from profiler.h to separate file
2017-10-05 20:53:41 +03:00
Victor Zarubkin
5e2d8e3be6
#0 [Core] Added alias for isEnabled, setEnabled functions and macros
2017-10-04 21:40:23 +03:00
Victor Zarubkin
c6ff9f3277
#0 [Core] Replacing tabs with spaces
2017-09-28 21:05:45 +03:00
rationalcoder
75e4f35abe
Added EASY_FORCE_INLINE
2017-08-19 22:08:27 -05:00
Liareth
b0aae2349c
Added the /WX flag, which treats compiler warnings as errors in MSVC.
...
* This required a minor change to CMakeLists.txt.
* Also updated two occurrences in code where compilation failed due to
implicit narrowing conversions.
2017-08-09 17:53:28 +01:00
Rokas Kupstys
941f7a4b45
Fix for static build.
...
Fix for c++11 on apple systems.
2017-06-13 18:57:53 +03:00
Victor Zarubkin
93c3066095
update #42 : Slightly better solution with less amount of black magic - different data structures for context switch events. Core API changed!
2017-06-07 01:39:45 +03:00
Sergey Yagovtsev
b14dbef78d
update #42 : linux build
2017-06-06 23:52:18 +03:00
Victor Zarubkin
4a9daf3bb4
update #42 : fixed possible statistics display bug; work around storing 64-bit thread id for context switch events (requires testing);
...
* (GUI) Added popup window when moving mouse cursor to thread name in Diagram window;
2017-06-06 20:46:06 +03:00
Victor Zarubkin
65ac892e32
Fixing problems after changing thread_id_t to uint64_t from uint32_t: There is still a big problem with target-thread ids of context-switch events on *nix systems (it has been stored in block_id_t which is uint32_t and now it requires Core API changes to support new thread_id_t). Also there is a problem with statistics displaying (for top-level blocks parent_index had value of thread-id, it requires a work around now).
2017-06-05 21:24:01 +03:00
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
Victor Zarubkin
d1e68e0cec
(Core) Calculating total children duration per thread/frame/parent
2017-04-20 22:29:02 +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
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
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
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
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
Sergey Yagovtsev
297174942f
Relicense under dual MIT/Apache 2.0
2017-03-30 06:18:29 +03:00
Sergey Yagovtsev
15912970db
replace double quotes to angle brackets - fixed #28
2017-03-05 23:50:38 +03:00
Sergey Yagovtsev
55000a6325
fixed #27
2017-03-05 22:59:03 +03:00
Sergey Yagovtsev
072fb91467
fixes 26
2017-03-04 13:39:42 +03:00
Victor Zarubkin
a9dea6faa6
Merge branch 'rokups-feature/getters' into develop
2017-03-03 00:19:12 +03:00
Sergey Yagovtsev
a0e1ce459f
Android build
2017-03-02 16:13:59 +03:00
Rokas Kupstys
e7f5cc0748
New API:
...
* bool isEnabled()
* bool isListening()
* bool isEventTracingEnabled()
* bool isLowPriorityEventTracing()
2017-03-02 10:26:13 +02:00
Rokas Kupstys
88c14e25f6
Fix multiple defined symbols of DEFAULT_ADDRESS
on gcc+linux.
2017-03-01 11:12:35 +02:00
Victor Zarubkin
d54ef45c3a
MinGW adaptation first try
2017-02-13 20:19:41 +03:00
Victor Zarubkin
227a23c266
Added possibility to disable predefined colors palette to reduce binary size when user want to use own colors palette
2017-02-08 22:35:46 +03:00
Holger Rapp
7641951247
Fixes for clang 3.8.
...
- Disables warnings for no-braced-scalar-init which shows up for ATOMIC_VAR_INIT.
- Fixes compile warnings, mostly "moving a temporary objects prevents
copy elision" (-Wpessimizing-move) and unused variables.
- Adds some necessary fields to make the sample compile after having
build the core library.
2017-02-07 17:19:58 +01:00
Victor Zarubkin
e9bed4c839
(Core) Major update (file format NOT affected). Description:
...
1) Added macro EASY_CONST_NAME(name) to make possible to force EasyProfiler think that given block name is const and not changed during application execution (this rely to compile-time strings saved into a run-time variable);
2) Starting from now, EasyProfiler will not store partially finished frames - first, this means that profiler enabled during frame execution will skip all blocks from this frame, and second, this means that when dumping profiled information profiler will wait until all frames finish before dumping blocks.
2016-12-21 21:59:40 +03:00
Victor Zarubkin
0a57ff381c
(GUI) Please, read NOTICE for that commit.
...
1) Added active time calculation (this is duration excluding context switch time).
2) Columns "Duration", "Self Dur.", "Self %", "% / Frame", "Active time", "Active %" in Plain mode shows total values per frame (sum of all values per frame).
2016-12-18 17:59:41 +03:00
Victor Zarubkin
e5dccfb8be
(GUI) Added hierarchy window mode: full hierarchy, plain mode (only functions list)
2016-12-18 15:56:08 +03:00
Victor Zarubkin
7883371166
(GUI) Added calculation of thread wait time (sum of all context switches)
2016-12-14 22:16:14 +03:00
Victor Zarubkin
0304a55c15
(Core) Added macro USING_EASY_PROFILER which is defined when EasyProfiler is actually used.
2016-12-14 21:40:46 +03:00
Victor Zarubkin
7b63ae39d2
CMake + core: added options to CMakeLists.txt. TODO: maybe set them via CMake "option(...)" command
2016-12-13 21:53:29 +03:00
Victor Zarubkin
29f81d1244
(Core) Monitoring threads, removing threads without blocks, events and context switches;
...
* (Core) Context switch events also register threads for current process;
* (Core) Writing process id into output file (old files still could be opened);
2016-12-12 22:26:32 +03:00
Sergey Yagovtsev
256f5f6041
Rename src and move include directory
2016-12-02 00:35:25 +03:00