Appearance
Filtering and missing INVOKE rows
Goal: Find events in a busy log, or diagnose why an expected INVOKE line never appears.
Text filter (search)
The toolbar search matches (case-insensitive) against:
- Event name
- Owner type name
- Subscriber type name (for SUB/UNSUB)
Stale filter hides real rows
If you previously typed a narrow query (for example a substring of one event), other events disappear from the list even though they were recorded. Clear the search field when debugging “missing” events.
On a fresh Play session, the Event Monitor window may reset filters; behavior depends on version — when in doubt, clear the field manually.
Action toggles
Disable INVOKE, SUB, or UNSUB to hide that category entirely. Ensure INVOKE is enabled if you expect invocation lines.
Recording off
If Record is disabled, no new rows are appended. The toolbar shows a clear recording off state.
Why INVOKE might be absent (even when the event ran)
- No subscribers —
event?.Invoke()often does not callInvokewhen the delegate is null; no IL path means no injected RecordInvoke for that fire. - IL pattern — invocation through a helper or reflection may not match the injector (see IL patterns and limitations).
- Assembly not instrumented — code in skipped assemblies is not rewritten.
recordingEnabled: falseinilpp_settings.json— ILPP does not inject (see ILPP diagnostics and settings).