Commit Graph

65 Commits

Author SHA1 Message Date
Bartosz Taudul
1788408ceb Allow setting thread name using thread handle. 2017-10-16 21:17:58 +02:00
Bartosz Taudul
31fc2335dd Silence some type mismatch warnings. 2017-10-16 21:17:58 +02:00
Bartosz Taudul
f156cd922b OpenThread may fail. 2017-10-15 13:26:05 +02:00
Bartosz Taudul
5b9fcddfb3 String literal message transfer. 2017-10-15 13:06:49 +02:00
Bartosz Taudul
fa8030009f Store messages. 2017-10-14 14:28:04 +02:00
Bartosz Taudul
8c7b60fbe6 Allow sending text messages. 2017-10-14 13:23:13 +02:00
Bartosz Taudul
1aaab3c5e4 Use 32 bits to store lock id.
This makes queue item size 32 bytes. Queue operations can now be faster,
because multiplication by 33 is replaced by shift by 5.
2017-10-13 20:05:38 +02:00
Bartosz Taudul
ec789d60e8 Store source location color in 24 bits. 2017-10-13 19:59:18 +02:00
Bartosz Taudul
fe0366c792 Receive plot data. 2017-10-13 03:36:59 +02:00
Bartosz Taudul
cb0011755d Prevent type conversions. 2017-10-13 02:21:29 +02:00
Bartosz Taudul
f0484b50ca Plot data transfer. 2017-10-13 02:07:03 +02:00
Bartosz Taudul
737671adbf Remove lock announce message.
This removes problem with static initialization order of mutices vs
tracy.

Lock source location is now transferred in lock wait message.
2017-10-12 20:14:17 +02:00
Bartosz Taudul
cc8b357f09 Avoid excessive stack operations for cpu query. 2017-10-10 23:21:30 +02:00
Bartosz Taudul
75457c1465 Remove +x flag from files. 2017-10-10 21:56:15 +02:00
Bartosz Taudul
dcd89f894c Add lock marking. 2017-10-06 16:32:32 +02:00
Bartosz Taudul
8c90eab044 Let's not worry about lock memory reuse. 2017-10-04 16:51:51 +02:00
Bartosz Taudul
0011573fa9 Send lock events. 2017-10-04 16:45:46 +02:00
Bartosz Taudul
069354b5dd Add lock messages. 2017-10-04 16:16:27 +02:00
Bartosz Taudul
b2252de9c8 Send and display program execution date. 2017-10-03 23:26:41 +02:00
Bartosz Taudul
cf07383db8 Send program name in welcome message. 2017-10-03 23:17:58 +02:00
Bartosz Taudul
d1edd30ca6 Zone ids are unnecessary. 2017-10-03 16:41:32 +02:00
Bartosz Taudul
a1abf1f015 Record CPU id. 2017-10-01 19:17:08 +02:00
Bartosz Taudul
efda50acb1 Send timer resolution to server. 2017-09-29 18:32:07 +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
362a37a705 Add no-payload queue items description. 2017-09-28 19:28:05 +02:00
Bartosz Taudul
d1bbb731fc Zone text (custom string) transfer. 2017-09-27 02:18:17 +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
809d98162b Do the same trick as concurrentqueue.h for GetCurrentThreadId(). 2017-09-26 00:46:46 +02:00
Bartosz Taudul
1c4dcf7e52 Use consistent ifdefs. 2017-09-26 00:42:47 +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
c0b1846a35 IPV6_V6ONLY needs to be disabled on cygwin too. 2017-09-23 20:20:41 +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
6c1d014aa3 Fix implementation errors. 2017-09-22 21:48:21 +02:00
Bartosz Taudul
bd622c304a Limit pthread thread name to 16 bytes.
This is a documented pthread restriction. Passing longer strings has no
effect (i.e. thread name is not set).
2017-09-22 21:45:35 +02:00
Bartosz Taudul
5919f5f5e8 No signals on sockets. 2017-09-22 20:02:15 +02:00
Bartosz Taudul
0f99705243 Add thread name report message. 2017-09-22 01:51:56 +02:00
Bartosz Taudul
7f337fae99 Add identification of server to client query. 2017-09-22 01:51:24 +02:00
Bartosz Taudul
a557a3fb30 Collect and transmit source thread information. 2017-09-22 01:11:53 +02:00
Bartosz Taudul
6885dc3fd3 Restore support for old SDK versions. 2017-09-22 00:37:28 +02:00
Bartosz Taudul
0c0b18615a Use winapi function to set thread name.
Fairly recent Windows SDK is required, unfortunately.
2017-09-21 22:54:44 +02:00
Bartosz Taudul
4ce7f77cd9 Static initialization order is implementation specific. 2017-09-18 18:55:25 +02:00
Bartosz Taudul
bf6cbaefd1 Make sure there's enough space for lz4 stream buffer. 2017-09-17 13:24:50 +02:00
Bartosz Taudul
03ece0ac48 Send frame markers. 2017-09-16 00:30:27 +02:00
Bartosz Taudul
0a7d413e83 select() may update timeval. 2017-09-15 22:44:50 +02:00
Bartosz Taudul
f29669152e Handle closed socket on win32. 2017-09-15 21:43:57 +02:00