Commit Graph

281 Commits

Author SHA1 Message Date
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
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
e04e1580c4 Adjust data size to fully utilize TCP packet size. 2017-09-12 00:38:33 +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
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
ea9464f4f6 Make sure string constants are at the same memory address. 2017-09-10 20:02:40 +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