manticore-load- Main executable scriptAPP_VERSION- Contains current version numberarchitecture.md- Architecture documentationLICENSE- License information
configuration.php- Configuration handlingconsole_output.php- Thread-safe console outputprogress_display.php- Progress monitoring and displayquery_generator.php- Query generation and cachingstatistics.php- Performance statistics collection
- Class: Configuration
- Handles command-line arguments and process configurations
- Implements ArrayAccess interface
- Key methods:
parseCommandLine()- Parses command line argumentsvalidate()- Validates configuration parametersgetProcesses()- Returns array of process configurationsisInsertQuery()- Determines if query is INSERT/REPLACE
- Class: ConsoleOutput
- Provides thread-safe console output functionality
- Key methods:
write()- Thread-safe writing to STDOUTwriteLine()- Writes line with newlineinit()- Initializes output semaphore
- Class: ProgressDisplay
- Handles real-time display of loading progress
- Uses ColorTrait for terminal coloring
- Key methods:
update()- Updates progress displaymonitorProgressFiles()- Monitors multiple process progressformatBytes()- Formats file sizesgetCpuUsage()- Gets current CPU usage
- Class: QueryGenerator
- Generates SQL queries based on patterns
- Handles query caching
- Key methods:
generateQueries()- Main query generation methodparsePattern()- Parses query patterngenerateValue()- Generates values based on pattern
-
Class: Statistics
- Collects and analyzes performance metrics
- Key methods:
addOperations()- Records completed operationsaddQps()- Records queries per secondaddLatency()- Records latency measurementsprintReport()- Outputs performance statistics
-
Class: LatencyHistogram
- Memory-efficient latency tracking
- Key methods:
add()- Adds latency measurementgetPercentile()- Calculates percentilesgetAverage()- Calculates average latency
-
Class: MonitoringStats
- Tracks system metrics
- Key methods:
getStats()- Retrieves current system metricsclose()- Closes monitoring connection
-
manticore-loadscript:- Parses command line arguments via Configuration
- Forks worker processes
- Monitors progress via ProgressDisplay
-
Worker processes:
- Initialize Manticore connections
- Generate queries via QueryGenerator
- Execute queries and collect statistics
- Report progress via temporary files
-
Progress monitoring:
- Parent process monitors all worker progress files
- Combines statistics from all processes
- Updates display in real-time