- System requirements
- Profiler architecture
- Profiler installation
- Uninstall profiler
- Running the profiler
- Profiler activation
- Welcome screen
- Start profiling
- Profiling overhead
- Snapshots
- Solving performance problems
- CPU profiling
- Thread profiling
- Virtual threads support
- Object allocation profiling
- Memory profiling
- Monitor profiling
- Exception profiling
- Telemetry
- Probes: monitor events of various kinds
- Events in user interface
- Event inspections
- Built-in probes
- Probe classes
- Monitoring method invocation events
- Probe class annotation @MethodPattern
- Callback onEnter()
- Callback onReturn()
- Callback onExit()
- Callbacks onUncaughtException() and onUncaughtExceptionExt()
- Parameter annotation @Param
- Parameter annotation @Params
- Parameter annotation @This
- Parameter annotation @ClassRef
- Parameter annotation @MethodName
- Parameter annotation @MethodTimeMs
- Parameter annotation @MethodTimeNs
- Parameter annotation @MethodParameterTypes
- Parameter annotation @MethodSignature
- Parameter annotation @OnEnterResult
- Parameter annotation @ReturnValue
- Parameter annotation @ThrownException
- Probe application rules
- Data storage
- Tables, rows, columns
- Lasting events and point events
- Table API
- Scalability
- Inspections: automatic recognition of typical problems
- Automatically trigger actions on event
- Automatic deobfuscation
- Summary
- Filters
- Profiler command line
- Export of profiling results to external formats
- Profiler Java API
- Profiler HTTP API
- Settings
- Troubleshooting and FAQ
Tables, rows, columns
Conceptually, the storage is based on the relation database model.
The information is stored in tables.
Each table has fixed number of columns and arbitrary number of rows.
Each column can store values of particular type, which is specified on table creation.
Supported types are: int
, long
, String
.
Also, column can refer to particular row in another table;
such columns are called foreign keys.
Each column has a name which is a free form text describing column content when table data is presented to user.
The number of columns, their types and names are specified on table creation and cannot be changed afterwards.
Each row stores information for all columns according to their data types.
When table is created, it contains no rows. New rows can be added and existing rows updated. Row removal is not supported.
Rows are numbered starting with 1. This number is called row index.
The number of rows is limited via startup option
probe_table_length_limit
.