- Implemented PolicyDslValidator with command-line options for strict mode and JSON output. - Created PolicySchemaExporter to generate JSON schemas for policy-related models. - Developed PolicySimulationSmoke tool to validate policy simulations against expected outcomes. - Added project files and necessary dependencies for each tool. - Ensured proper error handling and usage instructions across tools.
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
{
 | 
						|
  "schemaVersion": "notify-dispatch-bench/1.0",
 | 
						|
  "capturedAt": "2025-10-26T20:28:56.3603045+00:00",
 | 
						|
  "scenarios": [
 | 
						|
    {
 | 
						|
      "id": "notify_dispatch_density_05",
 | 
						|
      "label": "50 rules / 5% fanout",
 | 
						|
      "iterations": 5,
 | 
						|
      "totalEvents": 5000,
 | 
						|
      "totalRules": 50,
 | 
						|
      "actionsPerRule": 2,
 | 
						|
      "averageMatchesPerEvent": 2,
 | 
						|
      "minMatchesPerEvent": 2,
 | 
						|
      "maxMatchesPerEvent": 2,
 | 
						|
      "averageDeliveriesPerEvent": 4,
 | 
						|
      "totalDeliveries": 20000,
 | 
						|
      "meanMs": 3.41498,
 | 
						|
      "p95Ms": 4.17216,
 | 
						|
      "maxMs": 4.3039,
 | 
						|
      "meanThroughputPerSecond": 6053938.51717893,
 | 
						|
      "minThroughputPerSecond": 4646948.116824276,
 | 
						|
      "maxAllocatedMb": 0,
 | 
						|
      "thresholdMs": 400,
 | 
						|
      "minThroughputThresholdPerSecond": 15000,
 | 
						|
      "maxAllocatedThresholdMb": 128,
 | 
						|
      "regression": {
 | 
						|
        "limit": 1.15,
 | 
						|
        "breached": false
 | 
						|
      }
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "id": "notify_dispatch_density_20",
 | 
						|
      "label": "150 rules / 20% fanout",
 | 
						|
      "iterations": 5,
 | 
						|
      "totalEvents": 7500,
 | 
						|
      "totalRules": 150,
 | 
						|
      "actionsPerRule": 3,
 | 
						|
      "averageMatchesPerEvent": 30,
 | 
						|
      "minMatchesPerEvent": 30,
 | 
						|
      "maxMatchesPerEvent": 30,
 | 
						|
      "averageDeliveriesPerEvent": 90,
 | 
						|
      "totalDeliveries": 675000,
 | 
						|
      "meanMs": 24.2274,
 | 
						|
      "p95Ms": 25.85172,
 | 
						|
      "maxMs": 26.0526,
 | 
						|
      "meanThroughputPerSecond": 27923335.585545264,
 | 
						|
      "minThroughputPerSecond": 25909122.314087655,
 | 
						|
      "maxAllocatedMb": 0,
 | 
						|
      "thresholdMs": 650,
 | 
						|
      "minThroughputThresholdPerSecond": 30000,
 | 
						|
      "maxAllocatedThresholdMb": 192,
 | 
						|
      "regression": {
 | 
						|
        "limit": 1.15,
 | 
						|
        "breached": false
 | 
						|
      }
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "id": "notify_dispatch_density_40",
 | 
						|
      "label": "300 rules / 40% fanout",
 | 
						|
      "iterations": 5,
 | 
						|
      "totalEvents": 10000,
 | 
						|
      "totalRules": 300,
 | 
						|
      "actionsPerRule": 4,
 | 
						|
      "averageMatchesPerEvent": 100.002,
 | 
						|
      "minMatchesPerEvent": 60,
 | 
						|
      "maxMatchesPerEvent": 120,
 | 
						|
      "averageDeliveriesPerEvent": 400.008,
 | 
						|
      "totalDeliveries": 4000080,
 | 
						|
      "meanMs": 138.73866,
 | 
						|
      "p95Ms": 147.71738000000002,
 | 
						|
      "maxMs": 149.1124,
 | 
						|
      "meanThroughputPerSecond": 28916602.921385907,
 | 
						|
      "minThroughputPerSecond": 26825938.017227273,
 | 
						|
      "maxAllocatedMb": 0,
 | 
						|
      "thresholdMs": 900,
 | 
						|
      "minThroughputThresholdPerSecond": 45000,
 | 
						|
      "maxAllocatedThresholdMb": 256,
 | 
						|
      "regression": {
 | 
						|
        "limit": 1.15,
 | 
						|
        "breached": false
 | 
						|
      }
 | 
						|
    }
 | 
						|
  ]
 | 
						|
} |