-
Notifications
You must be signed in to change notification settings - Fork 5
NoDrop User Guide
This page describes the basic usage of the nodrop command-line interface.
NoDrop captures system events using a kernel module and processes them with a user-space monitor. Users can run NoDrop directly to collect events or attach Lua Chisels for custom analysis.
The nodrop CLI currently supports the following commands:
nodrop start
nodrop start <lua_filename>
nodrop stop
nodrop record [compress | normal | none]
nodrop parse <buf_file> [log_file]Additional commands may be added in future releases.
To start NoDrop:
nodrop startBy default, NoDrop will capture events but will not perform any analysis unless a Lua script is provided.
You can start NoDrop with a Lua script:
nodrop start <lua_filename>Example:
nodrop start ./count_syscall.luaIn this mode:
- The Lua script will receive captured events
- Custom logic can be executed inside the script
- Events can be filtered, counted, or exported
See Chisels Documentation for details about writing Lua scripts.
To stop monitoring:
nodrop stopThis command will:
- Stop event collection
- Terminate the user-space monitor
NoDrop can optionally record captured events to disk.
The recording mode is controlled by:
nodrop record [compress | normal | none]nodrop record noneNo event files will be written.
nodrop record normalCaptured events will be stored in raw NoDrop buffer format: .buf
This format contains the original binary event stream.
nodrop record compressCaptured buffers will be compressed using gzip and stored as: .buf.gz
This reduces disk usage when recording large numbers of events.
By default, recorded files are stored in:
- from the Source Code:
/tmp/nodrop/ - from Binary Packages:
/var/log/nodrop/
This directory can be changed during compilation using the CMake configuration options described in the installation guide.
Each file is named using the format: tid-timestamp
Example:
/tmp/nodrop/23145-17110211234123.buf
Where:
- tid = thread ID
- timestamp = event timestamp (nanoseconds)
NoDrop provides a utility to convert raw .buf files into a human-readable log format.
The command is:
nodrop parse <buf_file> [log_file]nodrop parse example.bufIf the output file name is not specified, NoDrop will automatically generate a .log file using the same base name.
Example:
example.buf → example.log
You can explicitly specify the output log file:
nodrop parse example.buf output.logThis will read the binary event stream from example.buf and write the decoded human-readable events to output.log.