Gareth Rees
08beb998fd
Don't represent capacities internally in kilobytes, convert once on initialization.
...
In the monitor, start average mortality time series with the initial predicted value.
Copied from Perforce
Change: 194565
2018-07-10 13:10:00 +01:00
Gareth Rees
13f5b95ddb
Add time series for fraction of generations condemned in chain.
...
Copied from Perforce
Change: 194541
2018-07-09 16:56:16 +01:00
Gareth Rees
9fe19e67fb
Add time series for per-trace mortality.
...
Copied from Perforce
Change: 194538
2018-07-09 16:29:37 +01:00
Gareth Rees
cee7c490ac
Add time series for mortality in a generation, and size of segments referencing each generation.
...
Copied from Perforce
Change: 194348
2018-07-02 15:40:42 +01:00
Gareth Rees
7a10a50136
New event segsetsummary allows the monitor to track the sizes of segments referencing particular zones.
...
Copied from Perforce
Change: 194259
2018-06-28 13:14:12 +01:00
Gareth Rees
2c494e9878
New events arenapollbegin and arenapollend.
...
Measure fraction of CPU time in polling.
Represent the units of each TimeSeries.
Draw graphs for up to two different units using Axes.twinx.
Copied from Perforce
Change: 194204
2018-06-26 16:21:48 +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
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
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
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
587a3efb20
Remove unused pool class methods tracebegin and traceend.
...
Remove unused event AMCTraceEnd.
The fixEmergency method must have the same type as the fix method because of how they are used.
Copied from Perforce
Change: 192636
ServerID: perforce.ravenbrook.com
2016-10-19 14:07:20 +01:00
Gareth Rees
e38b71547d
Catch-up merge from branch/2016-04-12/job004000 to branch/2016-04-13/mortality.
...
Copied from Perforce
Change: 191513
ServerID: perforce.ravenbrook.com
2016-04-21 18:20:54 +01:00
Gareth Rees
612a45423d
Remove tracestatcondemn event -- contains no information not already emitted by the tracestart event.
...
Copied from Perforce
Change: 191185
ServerID: perforce.ravenbrook.com
2016-04-16 12:41:38 +01:00
Gareth Rees
3174eba71e
Maintain a moving average of the mortality of each generation.
...
Copied from Perforce
Change: 191081
ServerID: perforce.ravenbrook.com
2016-04-13 15:19:50 +01:00
Richard Brooksby
44f80af1ec
Merging branch mps/branch/2016-03-13/without-reservation into master sources.
...
Copied from Perforce
Change: 190106
ServerID: perforce.ravenbrook.com
2016-03-15 13:19:27 +00:00
Richard Brooksby
cea2c8c73f
Updates from review by dl < https://info.ravenbrook.com/mail/2016/03/15/12-36-53/0/ >.
...
Copied from Perforce
Change: 190105
ServerID: perforce.ravenbrook.com
2016-03-15 13:02:40 +00:00
Richard Brooksby
d54be414d9
Merging branch/2016-03-12/pause into the master sources.
...
Copied from Perforce
Change: 190053
ServerID: perforce.ravenbrook.com
2016-03-15 06:31:08 +00:00
Richard Brooksby
cf77c160a4
Removing reservoir-related events.
...
Copied from Perforce
Change: 190041
ServerID: perforce.ravenbrook.com
2016-03-15 04:54:19 +00:00
Gareth Rees
2a3c4e0590
Address points made by rb in review < https://info.ravenbrook.com/mail/2016/03/14/18-48-19/0/ >
...
Copied from Perforce
Change: 190031
ServerID: perforce.ravenbrook.com
2016-03-14 20:10:14 +00:00
Richard Brooksby
1025b28674
Eliminating withreservoirpermit and all its variants.
...
Copied from Perforce
Change: 190005
ServerID: perforce.ravenbrook.com
2016-03-13 21:04:01 +00:00
Gareth Rees
66e0d30340
Catch-up merge from branch/2015-08-25/tradeoff to branch/2016-03-12/pause (to pick up the morework value in arenapoll).
...
Copied from Perforce
Change: 189918
ServerID: perforce.ravenbrook.com
2016-03-12 20:32:41 +00:00
Gareth Rees
c05c8a5609
Documentation and interface for pause time control (no implementation yet).
...
Copied from Perforce
Change: 189915
ServerID: perforce.ravenbrook.com
2016-03-12 20:25:33 +00:00
Gareth Rees
0ff67113ae
Separate the values "more work to do?" and "amount of work done" in tracepoll. previously, the code used "amount of work done > 0" when it needed "more work to do?" but that's not right, because on the last two calls to traceadvance, no "work" is done (because reclaim work is not measured), but there may still be more work to do.
...
Copied from Perforce
Change: 188218
ServerID: perforce.ravenbrook.com
2015-09-03 15:51:37 +01:00
Gareth Rees
61bae42d43
Introduce new type work representing a measure of work done by the collector. use this systematically to make the code clearer.
...
Copied from Perforce
Change: 188210
ServerID: perforce.ravenbrook.com
2015-09-03 13:01:55 +01:00
Gareth Rees
61a58b9b50
Fix problems noted by rb in review < https://info.ravenbrook.com/mail/2014/06/18/14-06-43/0/ >
...
Copied from Perforce
Change: 186667
ServerID: perforce.ravenbrook.com
2014-06-18 15:36:35 +01:00
David Lovemore
3b97cae580
Catch up merge from master/...@186577
...
Copied from Perforce
Change: 186582
ServerID: perforce.ravenbrook.com
2014-06-13 16:38:20 +01:00
Gareth Rees
c8cc245e06
Some remaining occurrences of "arena alignment".
...
Copied from Perforce
Change: 186513
ServerID: perforce.ravenbrook.com
2014-06-11 22:22:02 +01:00
David Lovemore
c14a0e5e3e
Amc now respects mps_key_extend_by keyword argument.
...
AMC also uses MPS_KEY_LARGE_SIZE keyword argument to specify what size objects need to be to live on their own segment.
Copied from Perforce
Change: 186480
ServerID: perforce.ravenbrook.com
2014-06-11 12:12:44 +01:00
Gareth Rees
6a71a7c730
Catch-up merge from master sources @186257 to branch/2014-04-23/awl.
...
Copied from Perforce
Change: 186354
ServerID: perforce.ravenbrook.com
2014-05-29 15:38:42 +01:00
Gareth Rees
d98336d308
Catch-up merge from master sources @186335 to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 186348
ServerID: perforce.ravenbrook.com
2014-05-29 14:58:50 +01:00
Gareth Rees
641a75cf5e
Avoid the need for newsizeatcreate by emitting events for the pool generations in tracecreate instead of tracestart.
...
Get rid of proflow member of GenDescStruct (it was unused).
Use STATISTIC to avoid updating segs, freeSize, oldSize, and oldDeferredSize in non-checking varieties.
Add design for pool generation accounting.
Copied from Perforce
Change: 185930
ServerID: perforce.ravenbrook.com
2014-05-01 19:00:08 +01:00
Gareth Rees
799ecf0420
Output all the pool generation accounting information.
...
Copied from Perforce
Change: 185911
ServerID: perforce.ravenbrook.com
2014-04-30 17:39:37 +01:00
Gareth Rees
e62efa1619
Use double-entry book-keeping and bank reconciliation to ensure the soundness and completeness of the pool generation size accounting.
...
Copied from Perforce
Change: 185888
ServerID: perforce.ravenbrook.com
2014-04-30 12:14:54 +01:00
Gareth Rees
b3d827b6fb
Pool generations now refer directly to their generation (not via a chain and a generation number).
...
Allocation into a generation now via PoolGenAlloc (not ChainAlloc).
The "top generation" logic is encapsulated in the function ChainGen.
Copied from Perforce
Change: 185877
ServerID: perforce.ravenbrook.com
2014-04-30 11:18:44 +01:00
Gareth Rees
0c2cd2ab6d
Catch-up merge from master sources to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 185288
ServerID: perforce.ravenbrook.com
2014-04-07 15:02:09 +01:00
Gareth Rees
8b9c38393e
Event arenablacklistzone was deleted, but event_version_minor was not updated; and the instruction "when you retire an event type, don't delete it from the list -- comment it out" was not followed.
...
Delete TODO item: EVENT_VERSION numbers are parameters to the EventInit event.
Copied from Perforce
Change: 185246
ServerID: perforce.ravenbrook.com
2014-04-06 15:52:56 +01:00
Gareth Rees
042f9c5f14
First pass at implementation of lands (collections of address ranges). 100% boilerplate!
...
Copied from Perforce
Change: 185131
ServerID: perforce.ravenbrook.com
2014-04-01 19:51:55 +01:00
Richard Brooksby
d62ff57a76
Removing redundant blacklisting event.
...
Copied from Perforce
Change: 184603
ServerID: perforce.ravenbrook.com
2014-02-28 13:46:51 +00:00
Richard Brooksby
7b54fc9926
Creating and tearing down the arena freecbs that will hold free address ranges.
...
Copied from Perforce
Change: 184049
ServerID: perforce.ravenbrook.com
2014-01-18 16:25:08 +00:00
Gareth Rees
bcfad58d3c
Merge custom cet mainline into the master sources. this includes fixes for job003519 (clock values in text telemetry logs on windows have top 32 bits zero), job003536 (cet office can't replicate 100k snowmen in reasonable time), job003651 (stack overflows are not reliably handled).
...
Copied from Perforce
Change: 183926
ServerID: perforce.ravenbrook.com
2014-01-10 14:16:08 +00:00
Gareth Rees
4e22988865
Remove diag facility.
...
Copied from Perforce
Change: 182553
ServerID: perforce.ravenbrook.com
2013-06-05 18:35:40 +01:00
Richard Brooksby
8a9d451ff8
Catch-up merge from custom/cet/main to master.
...
Includes installable assertion handler, events in circular memory buffers, LARGEADDRESSAWARE, etc.
Copied from Perforce
Change: 182176
ServerID: perforce.ravenbrook.com
2013-05-24 19:42:46 +01:00
Richard Brooksby
4f60f9698c
Merging spelling corrections contributed by bruce mitchener.
...
See <1c80ccb634 >.
Copied from Perforce
Change: 180956
ServerID: perforce.ravenbrook.com
2013-02-18 15:46:39 +00:00
Gareth Rees
ba56a53ed7
New event "arenasetemergency".
...
Copied from Perforce
Change: 180479
ServerID: perforce.ravenbrook.com
2012-11-15 14:08:13 +00:00
Gareth Rees
8f92405faa
Integrate nb's changes from the measurement branch.
...
Copied from Perforce
Change: 180465
ServerID: perforce.ravenbrook.com
2012-11-14 14:09:49 +00:00
Gareth Rees
f4c255c9a4
Add two new events:
...
* ArenaAccess for handling barrier hits;
* ArenaPoll for choosing a quantum of work.
Copied from Perforce
Change: 180432
ServerID: perforce.ravenbrook.com
2012-11-09 15:19:35 +00:00
Nick Barnes
1a66f62952
Add mps_clocks_per_sec to the eventinit header, and put some header-checking code into eventcnv, so now we have at least a rudimentary check that a binary event log is readable.
...
Copied from Perforce
Change: 180160
ServerID: perforce.ravenbrook.com
2012-10-30 14:15:27 +00:00
Nick Barnes
9ba10aeae4
Make eventclocksync events, and output them once per buffer flush.
...
Copied from Perforce
Change: 180152
ServerID: perforce.ravenbrook.com
2012-10-30 09:36:30 +00:00
Nick Barnes
b407283356
Add an eventinit event, giving various parameters including the event system version.
...
Copied from Perforce
Change: 180100
ServerID: perforce.ravenbrook.com
2012-10-26 13:22:04 +01:00