Gareth Rees
25ee1ea3ae
Linearly interpolate clocks for each batch once.
...
Copied from Perforce
Change: 194150
2018-06-25 15:43:49 +01:00
Gareth Rees
fc897d90e3
Command+w shortcut for closing the application.
...
Copied from Perforce
Change: 194145
2018-06-25 15:00:26 +01:00
Gareth Rees
45f5372a1e
Integrate with qt5.
...
Checkboxes control display of time series.
Copied from Perforce
Change: 194140
2018-06-25 14:12:22 +01:00
Gareth Rees
5eb78126a3
Live monitoring via a named pipe.
...
Copied from Perforce
Change: 194123
2018-06-23 19:24:37 +01:00
Gareth Rees
9055658937
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
844d35d9ce
Documentation for event header fields.
...
Copied from Perforce
Change: 194113
2018-06-23 15:51:26 +01:00
Gareth Rees
1c7107fd8c
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
efa0382487
Preparation for animation.
...
Copied from Perforce
Change: 194101
2018-06-22 17:28:10 +01:00
Gareth Rees
99c38a4f67
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
65d5f185f8
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
32a1c7c44f
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
6f7e356142
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
7500c714e7
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
c11e1b6c3b
First draft of mps model, time series, and plot.
...
Copied from Perforce
Change: 194056
2018-06-21 14:19:37 +01:00
Gareth Rees
3dc5a92860
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
4c27186bf5
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
dc3c79094c
Generate events as namedtuples.
...
Copied from Perforce
Change: 194045
2018-06-21 09:52:03 +01:00
Gareth Rees
f4f795cb37
Better handling of intern events.
...
Copied from Perforce
Change: 194040
2018-06-21 09:16:06 +01:00
Gareth Rees
d365ccbd08
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
2e85d9a850
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
a6a43a9035
Branching master to branch/2018-06-20/monitor.
...
Copied from Perforce
Change: 194022
2018-06-20 15:39:19 +01:00
Gareth Rees
11e6822edf
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
687f5e0294
Fix issues identified in review by apt.
...
Copied from Perforce
Change: 193982
2018-06-19 14:51:56 +01:00
Gareth Rees
f4f3b215e0
Forktest passes without the need for polling.
...
Copied from Perforce
Change: 193964
2018-06-19 08:59:00 +01:00
Gareth Rees
374ab9c476
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
2487cf46c1
Add history entry.
...
Copied from Perforce
Change: 193943
2018-06-18 20:22:00 +01:00
Gareth Rees
e62c3dc0c5
Simplify the wasmarked protocol.
...
Copied from Perforce
Change: 193940
2018-06-18 20:03:13 +01:00
Gareth Rees
3c0d28b98a
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
e4bf4451b6
Fix copy-paste error.
...
Copied from Perforce
Change: 193880
2018-06-18 13:18:02 +01:00
Gareth Rees
3e233329d3
Assertions on the critical path.
...
Copied from Perforce
Change: 193879
2018-06-18 13:17:42 +01:00
Gareth Rees
4aa1ca1b2c
Fix some rst errors.
...
Copied from Perforce
Change: 193862
2018-06-16 19:10:33 +01:00
Gareth Rees
2e18fdbc88
Improve formatting of design docs.
...
Copied from Perforce
Change: 193857
2018-06-16 18:48:50 +01:00
Gareth Rees
7a7c5e5a95
Procedure for adding a new smoke test.
...
Copied from Perforce
Change: 193850
2018-06-15 16:00:09 +01:00
Gareth Rees
1a2fc92690
Forktest relies on polling, so needs the =p flag.
...
Copied from Perforce
Change: 193847
2018-06-15 15:57:23 +01:00
Gareth Rees
00da8664cd
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
fd9f9c41d0
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
d6f4e26dc6
Cross-reference from release notes to supported platforms.
...
Copied from Perforce
Change: 193827
2018-06-15 12:42:49 +01:00
Gareth Rees
c4a840d676
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
a7560913c5
Merge branch/2018-06-13/fork.
...
Copied from Perforce
Change: 193816
2018-06-15 11:41:32 +01:00
Gareth Rees
11fff0151d
Fix typo.
...
Copied from Perforce
Change: 193811
2018-06-15 11:15:42 +01:00
Gareth Rees
0662e96899
Refactor atfork code to improve separation of concerns.
...
Copied from Perforce
Change: 193806
2018-06-15 10:58:33 +01:00
Gareth Rees
a3779b8c3b
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
7ed378141c
Fix issues identified in review by nb.
...
Copied from Perforce
Change: 193793
2018-06-14 19:31:30 +01:00
Gareth Rees
a865019b13
Update design history. restore accidentally removed check.
...
Copied from Perforce
Change: 193787
2018-06-14 17:55:03 +01:00
Gareth Rees
391c0bf671
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
e98b2a05c8
Improve comments.
...
Copied from Perforce
Change: 193783
2018-06-14 17:44:41 +01:00
Gareth Rees
fc5c7a9f86
Add a section on fork safety to the manual.
...
Copied from Perforce
Change: 193776
2018-06-14 17:18:08 +01:00
Gareth Rees
78e6d003bb
Fix ansi build.
...
Copied from Perforce
Change: 193769
2018-06-14 16:58:24 +01:00
Gareth Rees
38a08a6a62
Avoid compilation errors from latest msvc.
...
Copied from Perforce
Change: 193768
2018-06-14 16:54:33 +01:00
Gareth Rees
598b64afb4
Support for fork on linux and freebsd.
...
Copied from Perforce
Change: 193765
2018-06-14 16:47:23 +01:00