Add Policy DSL Validator, Schema Exporter, and Simulation Smoke tools
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Docs CI / lint-and-preview (push) Has been cancelled
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Docs CI / lint-and-preview (push) Has been cancelled
				
			- 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.
This commit is contained in:
		
							
								
								
									
										84
									
								
								out/notify-bench.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								out/notify-bench.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,84 @@ | ||||
| { | ||||
|   "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 | ||||
|       } | ||||
|     } | ||||
|   ] | ||||
| } | ||||
		Reference in New Issue
	
	Block a user