File tree Expand file tree Collapse file tree 1 file changed +17
-1
lines changed Expand file tree Collapse file tree 1 file changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -133,13 +133,29 @@ Phases that usually involve sleeping are shown with a yellow background, but som
133133
134134` d ` is useful for getting two windows to use the same scale, so that they can be compared easily.
135135
136+ ## Missed events
137+
138+ If eio-trace does not read a domain's ring buffer quickly enough then some events will be lost
139+ and you will see something like this:
140+
141+ ```
142+ +Warning: ring 0 lost 94001 events
143+ ```
144+
145+ This will likely result in misleading traces.
146+ There are several ways to fix this:
147+
148+ - Use e.g. ` eio-trace -F 1000 ` to make eio-trace read the ring more frequently.
149+ - Set e.g. ` OCAMLRUNPARAM=e=20 ` to increase the size of the rings.
150+ - If events are being lost at startup, consider adding a short sleep to the start of your program
151+ so that eio-trace has time to attach it it.
152+
136153## Limitations
137154
138155- OCaml 5.1 can [ deadlock when tracing multiple domains] ( https://github.com/ocaml/ocaml/issues/12897 ) . This was fixed in OCaml 5.2.
139156- Events are reported per-domain, but not per-systhread.
140157 Events generated in systhreads will get mixed up and cannot be shown correctly.
141158 They will either appear attached to whatever fiber happens to be running, or shown as domain-level events.
142- - If events are produced too fast, some will be lost. eio-trace is unlikely to handle this well.
143159- The rendering is not optimised yet and may become quite slow on larger traces.
144160
145161[ Eio ] : https://github.com/ocaml-multicore/eio
You can’t perform that action at this time.
0 commit comments