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
340bf80435
Better thread name retrieval.
2017-09-22 02:10:36 +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
3ba6046a53
Super bad thread name resolution.
2017-09-22 01:50:14 +02:00
Bartosz Taudul
a557a3fb30
Collect and transmit source thread information.
2017-09-22 01:11:53 +02:00
Bartosz Taudul
b0f94f6b45
Add threading helpers.
2017-09-22 01:11:14 +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
a31ab6a256
Move TracyQueue.hpp to common.
2017-09-13 22:56:08 +02:00
Bartosz Taudul
45646c4f45
Move TracySystem to a common directory.
2017-09-13 01:32:11 +02:00
Bartosz Taudul
997f0c64c3
Store pointers as uint64.
...
Pointers can't be stored as pointers, as that would cause mismatch in
wire protocol between 32 and 64 bit builds.
2017-09-13 01:24:42 +02:00
Bartosz Taudul
e8d64de5c1
Disable LZ4 in debug builds (too slow).
2017-09-12 02:20:05 +02:00
Bartosz Taudul
1ea61c2f2c
Use LZ4 to compress network data.
...
This greatly reduces required network bandwidth, which in effect speeds
up queue processing.
Time to process a single event queue item:
| Raw data | With LZ4 |
------+----------+----------+
Deque | 6.86 ns | 6.7 ns |
Pack | 4.03 ns | 4.0 ns |
LZ4 | --- | 21.6 ns |
Send | 214.5 ns | 5.2 ns |
------+----------+----------+
Total | 225.4 ns | 37.58 ns |
2017-09-12 02:13:22 +02:00
Bartosz Taudul
3df4cf8acd
Don't send unused data.
2017-09-12 01:14:04 +02:00
Bartosz Taudul
25d7cebd8a
Move common event data to separate struct.
2017-09-12 00:56:31 +02:00
Bartosz Taudul
aa10adcc9c
Explicitly describe target frame size.
2017-09-12 00:49:38 +02:00
Bartosz Taudul
30ceac359d
Increase block size.
2017-09-12 00:46:10 +02:00
Bartosz Taudul
6092c695bd
All enqueue operations are performed with a token.
2017-09-12 00:43:25 +02:00
Bartosz Taudul
e04e1580c4
Adjust data size to fully utilize TCP packet size.
2017-09-12 00:38:33 +02:00
Bartosz Taudul
37405bafde
Pack queue item.
2017-09-12 00:28:50 +02:00
Bartosz Taudul
8fb8e4f792
No need for sleep, Accept() already sleeps.
2017-09-11 23:16:17 +02:00
Bartosz Taudul
8747da8e2c
Send event data over network.
2017-09-11 22:51:47 +02:00
Bartosz Taudul
8d3aae24bf
Use producer tokens during event insertion.
2017-09-10 20:52:10 +02:00
Bartosz Taudul
452e5c5c83
Increase bulk size to 1024.
2017-09-10 20:40:28 +02:00
Bartosz Taudul
6886d5035e
Dequeue events (and do nothing with them).
2017-09-10 20:23:06 +02:00
Bartosz Taudul
6a7fdea6fd
Store profiling start time.
2017-09-10 20:14:16 +02:00
Bartosz Taudul
5964a6864c
Scoped zone macro.
2017-09-10 20:10:20 +02:00
Bartosz Taudul
09f9937133
Scoped zone wrapper.
2017-09-10 20:09:57 +02:00
Bartosz Taudul
12a6306c0b
Allow queuing zones.
2017-09-10 20:09:14 +02:00
Bartosz Taudul
05486c8225
Add unique event identifier source.
2017-09-10 20:08:42 +02:00
Bartosz Taudul
e4356eb67e
Time retrieval function.
2017-09-10 20:07:38 +02:00
Bartosz Taudul
fc1b131c7a
Add event queue structures.
2017-09-10 20:06:52 +02:00
Bartosz Taudul
ea9464f4f6
Make sure string constants are at the same memory address.
2017-09-10 20:02:40 +02:00
Bartosz Taudul
b4f8901a8d
Add MPMC queue.
...
https://github.com/cameron314/concurrentqueue.git
b276773a1babd702b020a91ea2443985a65bab11
2017-09-10 19:01:14 +02:00
Bartosz Taudul
4a05da273f
Set worker thread name.
2017-09-10 17:46:20 +02:00
Bartosz Taudul
a5d6039aea
Profiler worker thread skeleton.
2017-09-10 17:43:56 +02:00