Bartosz Taudul
a1abf1f015
Record CPU id.
2017-10-01 19:17:08 +02:00
Bartosz Taudul
f46781808c
Construct queue items directly in queue memory.
2017-10-01 17:49:45 +02:00
Bartosz Taudul
99b8c4c77e
Prevent fake loop from optimizing out.
2017-10-01 17:42:22 +02:00
Bartosz Taudul
efda50acb1
Send timer resolution to server.
2017-09-29 18:32:07 +02:00
Bartosz Taudul
6a2cb2c14e
Calculate timer resolution.
2017-09-29 18:29:39 +02:00
Bartosz Taudul
b9aa10913a
Rename internal enum to avoid #define conflicts.
2017-09-28 21:20:33 +02:00
Bartosz Taudul
8c1c395cec
Allow sending custom zone names.
2017-09-28 19:28:24 +02:00
Bartosz Taudul
d1bbb731fc
Zone text (custom string) transfer.
2017-09-27 02:18:17 +02:00
Bartosz Taudul
3c0ce01954
Simplify access to queue producer token.
...
Note that calibration loop needs separate token, as the thread_local
instance is created after the profiler (and its calibration loop).
2017-09-27 01:03:29 +02:00
Bartosz Taudul
842721a754
Make profiler instance static.
2017-09-27 01:03:01 +02:00
Bartosz Taudul
3cc7cc596e
Remove GetNewId() from Profiler interface.
2017-09-27 01:02:04 +02:00
Bartosz Taudul
f584bf76e8
Profiler ID can be static (one less instruction).
2017-09-27 00:30:02 +02:00
Bartosz Taudul
e076d1d475
Send source location answer in stream, not as separate packet.
2017-09-26 19:00:25 +02:00
Bartosz Taudul
e90a86e06e
Store zone color in source location struct.
2017-09-26 18:54:48 +02:00
Bartosz Taudul
7424077d70
Store source location in a single object.
...
Source file, function name and line number are now stored in a const
static container object. This has the following benefits:
- Slightly lighter profiling workload (3 instructions less).
- Profiling queue event size is significantly reduced, by 12 bytes. This
has an effect on all queue event types.
- Source location grouping has now no cost, as it's performed at the
compilation stage. This allows simplification of server code.
The downside is that the full source location resolution is now
performed in two steps, as the server has to query both source location
container and strings contained within. This has almost no real impact
on profiler operation.
2017-09-26 02:39:08 +02:00
Bartosz Taudul
e5ad7d9ac4
GetTime() call can be now inlined.
...
No dependencies on either windows.h, or static instance of Profiler.
2017-09-26 00:42:09 +02:00
Bartosz Taudul
11a790a18f
Offload TSC -> time conversion to server.
2017-09-26 00:13:24 +02:00
Bartosz Taudul
519cb8dff3
Allow adding custom colors to zones.
2017-09-25 22:46:14 +02:00
Bartosz Taudul
206305fbd2
Merge TracyThread.hpp to TracySystem.cpp.
...
Keeping threading functions inside a source file prevents poisoning by
including windows.h.
2017-09-25 21:13:59 +02:00
Bartosz Taudul
7683da5f74
Send initial configuration as a single message.
2017-09-24 16:10:28 +02:00
Bartosz Taudul
fce04c6215
Profiling delay calibration.
2017-09-24 16:02:09 +02:00
Bartosz Taudul
bf12704b0f
Increase queue preallocation size.
2017-09-24 15:59:53 +02:00
Bartosz Taudul
6a4f3842af
Pre-allocate space for 64K events in queue.
2017-09-24 13:40:04 +02:00
Bartosz Taudul
7770014844
Use rdtscp to measure time on windows.
2017-09-23 21:33:05 +02:00
Bartosz Taudul
bd9ffc16b5
Hide GetTime() in Profiler.
2017-09-23 21:10:26 +02:00
Bartosz Taudul
e1a63dbb53
Drop constant merging check.
...
While without constant merging the profiler operates sub-optimally, it's
not that essential to be enabled. And there are problems with it on some
platforms, for example cygwin.
2017-09-23 20:16:42 +02:00
Bartosz Taudul
031818dff6
Send main thread name.
2017-09-23 01:38:26 +02:00
Bartosz Taudul
2faa1abb21
Store main thread id.
2017-09-23 01:37:07 +02:00
Bartosz Taudul
893db40bb2
Fix signed vs unsigned comparison.
2017-09-22 22:16:18 +02:00
Bartosz Taudul
6525e1b3c1
Thread name queries.
2017-09-22 01:59:44 +02:00
Bartosz Taudul
70ad3407c0
Rework client handling of server requests.
2017-09-22 01:54:04 +02:00
Bartosz Taudul
f6e8eb32ec
Sort includes.
2017-09-22 00:36:36 +02:00
Bartosz Taudul
36ecf16d59
Add comments to the constant merging assert.
2017-09-19 02:19:27 +02:00
Bartosz Taudul
36fa5af728
Missing header.
2017-09-19 02:19:20 +02:00
Bartosz Taudul
0331d548d2
Automatically create profiler instance.
2017-09-18 19:08:54 +02:00
Bartosz Taudul
9d2fef2f11
Hide implementation details wrt concurrent queue.
2017-09-18 18:51:45 +02:00
Bartosz Taudul
d7914439e9
Use stream compression.
...
Previously each data packet was compressed independently. After this
change all new packets reference the previously sent data, which
achieves better compression.
2017-09-17 13:10:58 +02:00
Bartosz Taudul
03ece0ac48
Send frame markers.
2017-09-16 00:30:27 +02:00
Bartosz Taudul
ff07576d96
Reply to string requests.
2017-09-14 19:25:16 +02:00
Bartosz Taudul
f61f50385d
Add ability to send strings over network.
2017-09-14 19:24:35 +02:00
Bartosz Taudul
f3ce055568
Mirror TracyView::ShouldExit in TracyProfiler.
2017-09-14 19:23:50 +02:00
Bartosz Taudul
2442c8fe58
Use one flag to control whether LZ4 is enabled.
2017-09-14 19:09:14 +02:00
Bartosz Taudul
76df000467
Move sending data to a separate function.
2017-09-14 19:07:56 +02:00
Bartosz Taudul
d999f35dfa
Exchange time and id in queue header and data structs.
2017-09-14 01:14:40 +02:00
Bartosz Taudul
10b88754d8
Allow direct access to data size table index.
2017-09-14 01:05:08 +02:00
Bartosz Taudul
52d24d0d4c
s_instance ptr may be accessed by thread.
2017-09-13 23:36:40 +02:00
Bartosz Taudul
efd66bb609
Allow changing lz4 size type.
2017-09-13 23:27:17 +02:00
Bartosz Taudul
16dd561029
Move protocol specific sizes to common header.
2017-09-13 22:56:55 +02:00
Bartosz Taudul
45646c4f45
Move TracySystem to a common directory.
2017-09-13 01:32:11 +02:00
Bartosz Taudul
e8d64de5c1
Disable LZ4 in debug builds (too slow).
2017-09-12 02:20:05 +02:00