spawn-access-control 0.1.12

A Rust library for access control management with WebAssembly support, including role-based access control (RBAC), permissions, and audit logging.
Documentation
use criterion::{black_box, criterion_group, criterion_main, Criterion};
use spawn_access_control::{
    security_analyzer::{SecurityAnalyzer, SecurityConfig},
    audit::{AuditLogEntry, ActionResult},
};
use chrono::{Duration, Utc};

fn benchmark_security_analysis(c: &mut Criterion) {
    let config = SecurityConfig {
        recent_window: Duration::minutes(30),
        max_failures: 5,
        min_suspicious_score: 0.7,
    };
    let analyzer = SecurityAnalyzer::new(config);
    let test_data = vec![AuditLogEntry {
        id: "test_1".to_string(),
        timestamp: Utc::now(),
        user_id: "test_user".to_string(),
        action: "test_action".to_string(),
        resource_id: "test_resource".to_string(),
        result: ActionResult::Success,
        details: Some("test details".to_string()),
        ip_address: Some("127.0.0.1".to_string()),
        user_agent: Some("test agent".to_string()),
    }; 1000];

    c.bench_function("security_analysis_1000", |b| {
        b.iter(|| analyzer.analyze_recent_activity(black_box(&test_data)))
    });
}

criterion_group!(benches, benchmark_security_analysis);
criterion_main!(benches);