Spaces:
Sleeping
Sleeping
| title: IIS Log Performance Analyzer | |
| emoji: π | |
| colorFrom: blue | |
| colorTo: purple | |
| sdk: docker | |
| pinned: false | |
| license: mit | |
| app_port: 7860 | |
| # IIS Log Performance Analyzer | |
| High-performance web application for analyzing large IIS log files (200MB-1GB+). Built with Streamlit and Polars for fast, efficient processing. | |
| **GitHub Repository**: [https://github.com/pilot-stuk/odata_log_parser](https://github.com/pilot-stuk/odata_log_parser) | |
| ## Features | |
| - β‘ **Fast Processing**: Uses Polars library for 10-100x faster parsing compared to pandas | |
| - π¦ **Large File Support**: Efficiently handles files up to 1GB+ | |
| - π **Comprehensive Metrics**: RPS, response times, error rates, and more | |
| - π **Detailed Analysis**: Top methods, error breakdown, time distribution | |
| - π **Visual Reports**: Interactive charts with Plotly | |
| - π **Multi-file Support**: Compare multiple services side-by-side | |
| ## How to Use | |
| 1. Upload one or more IIS log files (W3C Extended format) | |
| 2. View comprehensive performance metrics | |
| 3. Analyze errors, slow requests, and response time distribution | |
| 4. Compare multiple services side-by-side | |
| ## Log Format | |
| Supports **IIS W3C Extended Log Format** with fields: | |
| ``` | |
| date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username | |
| c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken | |
| ``` | |
| ## Filtering Rules | |
| - Excludes monitoring requests (HEAD + Zabbix) | |
| - 401 Unauthorized responses excluded from error counts | |
| - Errors defined as status codes β 200 and β 401 | |
| - Slow requests: response time > 3000ms (configurable) | |
| ## Technology Stack | |
| - **Frontend**: Streamlit | |
| - **Data Processing**: Polars | |
| - **Visualizations**: Plotly | |
| - **Deployment**: Docker on Hugging Face Spaces | |
| ## Performance | |
| - Small files (<50MB): Process in seconds | |
| - Medium files (50-200MB): Process in 10-30 seconds | |
| - Large files (200MB-1GB): Process in 1-3 minutes | |
| ## License | |
| MIT License - See GitHub repository for details | |