Gareth Rees
0799ee0ca0
Command+w shortcut for closing the application.
...
Copied from Perforce
Change: 194145
2018-06-25 15:00:26 +01:00
Gareth Rees
6d50284823
Integrate with qt5.
...
Checkboxes control display of time series.
Copied from Perforce
Change: 194140
2018-06-25 14:12:22 +01:00
Gareth Rees
f63972ad0d
Live monitoring via a named pipe.
...
Copied from Perforce
Change: 194123
2018-06-23 19:24:37 +01:00
Gareth Rees
c339f63320
Endianness support allows you to (theoretically) run the monitor on a different platform.
...
Copied from Perforce
Change: 194118
2018-06-23 16:01:26 +01:00
Gareth Rees
49b2c3606f
Documentation for event header fields.
...
Copied from Perforce
Change: 194113
2018-06-23 15:51:26 +01:00
Gareth Rees
aea2ed3811
Handle deletion of arenas and pools (they often get recreated at the same addresses so this is vital).
...
Sort the events in batches so that, for example, we get PoolFinish before ArenaDestroy.
Emit ArenaDestroy event after finishing all its pools.
Add arena parameter to PoolFinish event.
Restore top-down logging of events (no need to order them the telemetry output, since the monitor sorts them).
Add comments for all the events used by the monitor.
Include the arena's name in the pool's name when there are multiple arenas.
Copied from Perforce
Change: 194112
2018-06-23 15:37:11 +01:00
Gareth Rees
ffd2c479e4
Preparation for animation.
...
Copied from Perforce
Change: 194101
2018-06-22 17:28:10 +01:00
Gareth Rees
6fa5c92f83
Check version.
...
Convert cycle counters to seconds by piecewise linear interpolation.
Copied from Perforce
Change: 194096
2018-06-22 15:59:35 +01:00
Gareth Rees
bb5034594d
Event alignment doesn't need to be mps_pf_align (that's wasteful on windows).
...
Copied from Perforce
Change: 194091
2018-06-22 14:09:56 +01:00
Gareth Rees
c3a7104eff
Label the time series in the monitor.
...
In telemetry output, distinguish between labelling of (client) addresses and (MPS-internal) pointers, to avoid transgressing the distinction.
Add arena grain size, class, and serial number to ArenaCreate* events.
Add pool class and serial number to PoolInit event.
Copied from Perforce
Change: 194086
2018-06-22 11:05:46 +01:00
Gareth Rees
6fd9abf9bd
Rename monitor.py to monitor for consistency with other python applications.
...
Copied from Perforce
Change: 194069
2018-06-21 20:48:22 +01:00
Gareth Rees
6ebfdb2a10
Avoid "dereferencing type-punned pointer will break strict-aliasing rules" from gcc 4.8.
...
Copied from Perforce
Change: 194061
2018-06-21 17:30:51 +01:00
Gareth Rees
2a76ea526d
First draft of mps model, time series, and plot.
...
Copied from Perforce
Change: 194056
2018-06-21 14:19:37 +01:00
Gareth Rees
14ce806a0c
Emit events in time order (per kind for now) in order to support telemetry consumers that run in real time.
...
Copied from Perforce
Change: 194051
2018-06-21 14:00:05 +01:00
Gareth Rees
e961c80ff9
Arenafree event needs to include the pool so that telemetry-consuming applications can update pool statistics without having to remember the addresses of all the allocations.
...
Copied from Perforce
Change: 194050
2018-06-21 13:57:42 +01:00
Gareth Rees
07f77d6c1b
Generate events as namedtuples.
...
Copied from Perforce
Change: 194045
2018-06-21 09:52:03 +01:00
Gareth Rees
7b735041ab
Better handling of intern events.
...
Copied from Perforce
Change: 194040
2018-06-21 09:16:06 +01:00
Gareth Rees
d3eff9ff45
Since we changed the major version number, we might as well fix the type of the ok parameter of the commitlimitset event.
...
Copied from Perforce
Change: 194033
2018-06-20 16:09:57 +01:00
Gareth Rees
5cc5bb5922
Don't store booleans as bit-fields in event structures: this makes it impossible to automatically unpack them using python's struct module. (the only event where this actually saved any space was poolinitmvff!)
...
Update event format to 2.0.0 since telemetry format changed.
New macro EVENT_ANY_FIELDS allows consumers to determine the layout of the event header.
mpseventpy now analyzes the event layout (including padding bytes) and emits struct format specifications.
New program tool/monitor.py reads and unpacks a stream of telemetry events.
Copied from Perforce
Change: 194026
2018-06-20 15:51:38 +01:00
Gareth Rees
3599e8e255
Branching master to branch/2018-06-20/monitor.
...
Copied from Perforce
Change: 194022
2018-06-20 15:39:19 +01:00
Gareth Rees
2e63bc2b64
Bring design.mps.sp.sol.depth.analysis up to date.
...
Copied from Perforce
Change: 194012
2018-06-20 12:55:45 +01:00
Gareth Rees
6d3b228200
Fix issues identified in review by apt.
...
Copied from Perforce
Change: 193982
2018-06-19 14:51:56 +01:00
Gareth Rees
4d52bf19c5
Forktest passes without the need for polling.
...
Copied from Perforce
Change: 193964
2018-06-19 08:59:00 +01:00
Gareth Rees
c6af54572d
No need for empty atfork handlers, can pass null to pthread_atfork.
...
Copied from Perforce
Change: 193963
2018-06-19 08:57:26 +01:00
Gareth Rees
63c4dc804d
Add history entry.
...
Copied from Perforce
Change: 193943
2018-06-18 20:22:00 +01:00
Gareth Rees
89a4b0378a
Simplify the wasmarked protocol.
...
Copied from Perforce
Change: 193940
2018-06-18 20:03:13 +01:00
Gareth Rees
bdf27a99af
Correct reason for why function/23.c does not pass.
...
Copied from Perforce
Change: 193881
2018-06-18 13:18:28 +01:00
Gareth Rees
6590875176
Fix copy-paste error.
...
Copied from Perforce
Change: 193880
2018-06-18 13:18:02 +01:00
Gareth Rees
76b082ab3c
Assertions on the critical path.
...
Copied from Perforce
Change: 193879
2018-06-18 13:17:42 +01:00
Gareth Rees
012e5de843
Fix some rst errors.
...
Copied from Perforce
Change: 193862
2018-06-16 19:10:33 +01:00
Gareth Rees
9c5277bdc9
Improve formatting of design docs.
...
Copied from Perforce
Change: 193857
2018-06-16 18:48:50 +01:00
Gareth Rees
66e0f89c29
Procedure for adding a new smoke test.
...
Copied from Perforce
Change: 193850
2018-06-15 16:00:09 +01:00
Gareth Rees
80589960d0
Forktest relies on polling, so needs the =p flag.
...
Copied from Perforce
Change: 193847
2018-06-15 15:57:23 +01:00
Gareth Rees
f5ffaeb349
Mach_thread_self() can in theory "return mach_port_null if a resource shortage prevented the reception of the send right" so add a check in each case. (there's nothing we can do about it but at least we can notice.)
...
Copied from Perforce
Change: 193831
2018-06-15 12:54:28 +01:00
Gareth Rees
e9d454d796
It's safe to register a thread multiple times on macos, so there is no need for the guard.
...
Copied from Perforce
Change: 193828
2018-06-15 12:44:51 +01:00
Gareth Rees
1ad6c163c0
Cross-reference from release notes to supported platforms.
...
Copied from Perforce
Change: 193827
2018-06-15 12:42:49 +01:00
Gareth Rees
307bc47730
Rename "mac os x" and "os x" to "macos", except for a few cases where for historical accuracy we want to continue to refer to the former name.
...
Copied from Perforce
Change: 193821
2018-06-15 12:15:36 +01:00
Gareth Rees
601984eb73
Merge branch/2018-06-13/fork.
...
Copied from Perforce
Change: 193816
2018-06-15 11:41:32 +01:00
Gareth Rees
81874fdf08
Fix typo.
...
Copied from Perforce
Change: 193811
2018-06-15 11:15:42 +01:00
Gareth Rees
b0a73a5c71
Refactor atfork code to improve separation of concerns.
...
Copied from Perforce
Change: 193806
2018-06-15 10:58:33 +01:00
Gareth Rees
4eeac719ad
Start the collection and dereference the objects in the parent as well as the child.
...
Copied from Perforce
Change: 193800
2018-06-15 10:06:59 +01:00
Gareth Rees
ad432cf7c4
Fix issues identified in review by nb.
...
Copied from Perforce
Change: 193793
2018-06-14 19:31:30 +01:00
Gareth Rees
b1ac192a9a
Update design history. restore accidentally removed check.
...
Copied from Perforce
Change: 193787
2018-06-14 17:55:03 +01:00
Gareth Rees
3829b5a2a1
Fix rst error; only need to flag forking thraed on macos.
...
Copied from Perforce
Change: 193784
2018-06-14 17:50:29 +01:00
Gareth Rees
6fda834973
Improve comments.
...
Copied from Perforce
Change: 193783
2018-06-14 17:44:41 +01:00
Gareth Rees
8686ffc625
Add a section on fork safety to the manual.
...
Copied from Perforce
Change: 193776
2018-06-14 17:18:08 +01:00
Gareth Rees
612b44060f
Fix ansi build.
...
Copied from Perforce
Change: 193769
2018-06-14 16:58:24 +01:00
Gareth Rees
b5e1965b3d
Avoid compilation errors from latest msvc.
...
Copied from Perforce
Change: 193768
2018-06-14 16:54:33 +01:00
Gareth Rees
f92f645f63
Support for fork on linux and freebsd.
...
Copied from Perforce
Change: 193765
2018-06-14 16:47:23 +01:00
Gareth Rees
e70b4c273c
Take locks before fork(), release them in the parent and reinitialize them in the child.
...
Add forktest target to the Xcode project.
Write design for fork safety and cross-reference from the code.
Update release notes.
Copied from Perforce
Change: 193760
2018-06-14 16:25:08 +01:00