odatalogparser / README.md
pilotstuki's picture
Add Hugging Face Spaces deployment configuration
ddfcf3e
metadata
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

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