Skip to content

A Rust and Python implementation of Tipping log parser algorithm

License

Notifications You must be signed in to change notification settings

shshemi/tipping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tipping - Token Interdependency Parsing

Tests PyPI version

Tipping is a high-performance and flexible log parsing library. It leverages the interdependencies between tokens to cluster them and computes their templates and parameter masks. It is built with speed and efficiency in mind, capable of utilizing all available processor cores to accelerate the parsing process. At its core, Tipping is written in Rust to ensure maximum performance and stability while offering Python bindings for ease of use and integration into Log Analysis research and projects.

Features

  • 🚀 High Performance: Optimized to be fast and memory efficient.
  • 🐍 Python API: Easy to use, compatible with python 3.8 and newer.
  • 🔧 Customizable: Many parameters to manipulate and optimize the process.
  • 🦀 Rust-powered Core: Safe, concurrent, and stable.

Installation

Tipping could be installed from PyPI:

pip install tipping

Usage

Load your log messages into a list of strings (List[str]) and:

import tipping

# Example usage
messages = ["message1", "message2", ...]
clusters, masks, templates = tipping.parse(messages)

print(result)

Details

Tipping offers the following parameters to manipulate and optimize the process:

tipping.parse(
    messages: List[str],
    threshold: float = 0.5,
    special_whites: List[str] = None,
    special_blacks: List[str] = None,
    symbols: str = "()[]{}=,*",
    keep_alphabetic: bool = True,
    keep_numeric: bool = False,
    keep_impure: bool = False,
    return_templates: bool = True,
    return_masks: bool = True,
)

Cite

will be filled upon publication

About

A Rust and Python implementation of Tipping log parser algorithm

Resources

License

Stars

Watchers

Forks

Packages

No packages published