summaryrefslogtreecommitdiff
path: root/docs/users_guide/eventlog-formats.rst
Commit message (Collapse)AuthorAgeFilesLines
* users-guide: Fix a few small issues in eventlog format descriptionswip/eventlog-auditBen Gamari2022-03-301-1/+2
| | | | | The CONC_MARK_END event description didn't mention its payload. Clarify the meaning of the CREATE_TASK's payload.
* users-guide: Improve documentation of ticky eventsBen Gamari2021-09-181-0/+2
|
* users-guide: Correct markdown for ghc-9.2Takenobu Tani2021-03-301-3/+3
| | | | | | This patch corrects some markdown. [skip ci]
* eventlog: Add BLOCKS_SIZE eventMatthew Pickering2021-03-081-7/+21
| | | | | | | | | | | | | The BLOCKS_SIZE event reports the size of the currently allocated blocks in bytes. It is like the HEAP_SIZE event, but reports about the blocks rather than megablocks. You can work out the current heap fragmentation by looking at the difference between HEAP_SIZE and BLOCKS_SIZE. Fixes #19357
* eventlog: Add MEM_RETURN event to give information about fragmentationMatthew Pickering2021-03-081-3/+23
| | | | | | | | | | | | | | See #19357 The event reports the * Current number of megablocks allocated * The number that the RTS thinks it needs * The number is managed to return to the OS When current > need then the difference is returned to the OS, the successful number of returned mblocks is reported by 'returned'. In a fragmented heap current > need but returned < current - need.
* Add -finfo-table-map which maps info tables to source positionsMatthew Pickering2021-03-031-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new flag embeds a lookup table from the address of an info table to information about that info table. The main interface for consulting the map is the `lookupIPE` C function > InfoProvEnt * lookupIPE(StgInfoTable *info) The `InfoProvEnt` has the following structure: > typedef struct InfoProv_{ > char * table_name; > char * closure_desc; > char * ty_desc; > char * label; > char * module; > char * srcloc; > } InfoProv; > > typedef struct InfoProvEnt_ { > StgInfoTable * info; > InfoProv prov; > struct InfoProvEnt_ *link; > } InfoProvEnt; The source positions are approximated in a similar way to the source positions for DWARF debugging information. They are only approximate but in our experience provide a good enough hint about where the problem might be. It is therefore recommended to use this flag in conjunction with `-g<n>` for more accurate locations. The lookup table is also emitted into the eventlog when it is available as it is intended to be used with the `-hi` profiling mode. Using this flag will significantly increase the size of the resulting object file but only by a factor of 2-3x in our experience.
* rts/eventlog: Reset ticky counters after dumping sampleBen Gamari2021-01-171-1/+1
|
* rts/eventlog: Introduce event to demarcate new ticky sampleBen Gamari2021-01-171-0/+7
|
* rts: enable thread label table in all RTS flavours #17972Adam Sandberg Ericsson2020-12-201-1/+1
|
* users guide: Describe GC lifecycle eventsBen Gamari2020-12-111-4/+97
| | | | | | Every time I am asked about how to interpret these events I need to figure it out from scratch. It's well past time that the users guide properly documents these.
* rts: Post ticky entry counts to the eventlogBen Gamari2020-11-211-0/+31
| | | | | | | | We currently only post the entry counters, not the other global counters as in my experience the former are more useful. We use the heap profiler's census period to decide when to dump. Also spruces up the documentation surrounding ticky-ticky a bit.
* Fix duplicated words and typos in comments and user guideJan HrĨek2020-06-281-1/+1
|
* users guide: Add documentation for non-moving GC eventsBen Gamari2020-05-031-0/+79
|
* users guide: Move eventlog documentation users guideBen Gamari2020-05-031-52/+564
|
* users-guide: Add some new features and fix warnings for GHC 8.10Takenobu Tani2019-10-291-7/+7
| | | | | | | | | | This updates the following: * Add description for ImportQualifiedPost extension * Add description for ghci command name resolution * Fix markdown warnings [skip ci]
* eventlog: Dump cost centre stack on each sampleMatthew Pickering2019-10-231-0/+30
| | | | | | | | | | | | | | | | With this change it is possible to reconstruct the timing portion of a `.prof` file after the fact. By logging the stacks at each time point a more precise executation trace of the program can be observed rather than all identical cost centres being identified in the report. There are two new events: 1. `EVENT_PROF_BEGIN` - emitted at the start of profiling to communicate the tick interval 2. `EVENT_PROF_SAMPLE_COST_CENTRE` - emitted on each tick to communicate the current call stack. Fixes #17322
* eventlog: Add biographical and retainer profiling tracesMatthew Pickering2019-09-171-1/+13
| | | | | | | | | | This patch adds a new eventlog event which indicates the start of a biographical profiler sample. These are different to normal events as they also include the timestamp of when the census took place. This is because the LDV profiler only emits samples at the end of the run. Now all the different profiling modes emit consumable events to the eventlog.
* Add HEAP_PROF_SAMPLE_END event to mark end of samplesMatthew Pickering2019-06-071-0/+8
| | | | | | | This allows a user to observe how long a sampling period lasts so that the time taken can be removed from the profiling output. Fixes #16697
* users-guide: Fix formatting of eventlog format documentationBen Gamari2018-11-011-0/+7
| | | | | | | | | | | | Test Plan: Read it Reviewers: mpickering Reviewed By: mpickering Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5264
* eventlog: Clean up profiling heap breakdown typeBen Gamari2017-09-051-6/+7
| | | | | | | | | | Reviewers: austin, erikd, simonmar Subscribers: rwbarton, thomie GHC Trac Issues: #14096 Differential Revision: https://phabricator.haskell.org/D3923
* users-guide: Fix a variety of warningsBen Gamari2017-05-081-0/+3
| | | | Including #13665.
* [Docs] Prefer cost centreBartosz Nitka2017-05-081-8/+8
| | | | | | | | | | | | | | | | | | There may be some subtlety I'm not seeing with the usage of center vs centre. Otherwise this makes it more consistent in the docs. There's one instance in 8.0.2-notes.rst, but I'm not sure if we want to modify it retroactively. Test Plan: harbormaster? Reviewers: bgamari, austin Reviewed By: bgamari Subscribers: rwbarton, thomie, simonmar Differential Revision: https://phabricator.haskell.org/D3548
* Edit eventlog-formats.rst to match implementationMitsutoshi Aoe2017-04-211-23/+9
| | | | | | | * Add missing filters in EVENT_HEAP_PROF_BEGIN and reorder them * EVENT_HEAP_PROF_SAMPLE_COST_CENTRE isn't used in retainer profiling * Modify EVENT_HEAP_PROF_SAMPLE_STRING's format * Biography break-down isn't implemented
* Log heap profiler samples to event logBen Gamari2016-07-161-0/+119
Test Plan: Try it Reviewers: hvr, simonmar, austin, erikd Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1722 GHC Trac Issues: #11094