A lightweight Python performance tracking library with automatic data collection and visualization
Project description
Kode Kronical
High-performance Python library for automated performance monitoring and system metrics collection.
Overview
Kode Kronical provides automated performance monitoring for Python applications with:
- Function Performance Tracking: Automatic timing and profiling of Python functions
- System Metrics Collection: Real-time CPU, memory, and process monitoring
- Enhanced Exception Handling: Detailed error context with system correlation
- AWS Integration: Automatic DynamoDB uploads with 30-day TTL
- Web Dashboard: Comprehensive visualization via kode-kronical-viewer
- Zero Configuration: Works out-of-the-box with sensible defaults
Installation
pip install kode-kronical
Quick Start
1. Basic Usage
from kode_kronical import KodeKronical
import time
# Initialize the performance tracker
kode = KodeKronical()
# Use as decorator
@kode.time_it
def slow_function(n):
time.sleep(0.1)
return sum(range(n))
@kode.time_it(store_args=True)
def process_data(data, multiplier=2):
return [x * multiplier for x in data]
# Call your functions - performance data is automatically collected
result1 = slow_function(1000)
result2 = process_data([1, 2, 3, 4, 5])
2. Configuration (Optional)
Create a .kode-kronical.yaml file in your project directory:
kode_kronical:
enabled: true
min_execution_time: 0.001
local:
enabled: true
data_dir: "./perf_data"
filters:
exclude_modules:
- "requests"
- "boto3"
3. View Results
Automatic Data Collection:
- Local Mode: Performance data saved to
./perf_data/as JSON files - AWS Mode: Data uploaded to DynamoDB on program exit
Web Dashboard: Use the kode-kronical-viewer for visualization:
- Performance overview and metrics
- Function-by-function analysis
- Historical trends and comparisons
- System correlation analysis
Key Features
Enhanced Exception Handling
Kode Kronical captures detailed error context including system state when exceptions occur. See Exception Handling Guide for examples and configuration.
System Monitoring Daemon
Background daemon for continuous system monitoring that correlates with application performance. See Daemon Guide for complete setup and troubleshooting.
AWS Integration
Automatic upload to DynamoDB with optimized schema:
- 1-minute data intervals for production efficiency
- 30-day TTL for automatic cleanup
- Real-time dashboard updates
API Summary
from kode_kronical import KodeKronical
kode = KodeKronical()
# Decorator usage
@kode.time_it # Basic timing
@kode.time_it(store_args=True) # Store function arguments
@kode.time_it(tags=["critical"]) # Add custom tags
# Programmatic access
summary = kode.get_summary() # Get performance summary
results = kode.get_timing_results() # Get detailed results
config = kode.get_config_info() # Get configuration info
REST API
When using with kode-kronical-viewer, these endpoints are available:
GET /api/performance/- Performance data with filteringGET /api/hostnames/- Available hostnamesGET /api/functions/- Function analysis data
Documentation
- Daemon Guide - Complete system monitoring setup and troubleshooting
- Exception Handling Guide - Enhanced error context and debugging
- AWS Setup Guide - DynamoDB configuration and deployment
License
MIT License - see LICENSE file for details.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
pytest tests/ - Submit a pull request
Support
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kode_kronical-0.4.5.tar.gz.
File metadata
- Download URL: kode_kronical-0.4.5.tar.gz
- Upload date:
- Size: 56.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44072fa7f0353755a7349caf9e6d793f045fb3242536260879b297dfd58b45c3
|
|
| MD5 |
690f0b85d2189e933e5baf03da8ac04f
|
|
| BLAKE2b-256 |
4cd00515c5eaba7b6c0591f2d7e03e508af1f1564b3c9181224b48b838f661e3
|
File details
Details for the file kode_kronical-0.4.5-py3-none-any.whl.
File metadata
- Download URL: kode_kronical-0.4.5-py3-none-any.whl
- Upload date:
- Size: 58.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb41dc0d544dd1d6ced101e6f7abadc7087e02e9105ba01a81fa4e6181be747f
|
|
| MD5 |
991851cb9d86af34617509bb47a986c9
|
|
| BLAKE2b-256 |
6bcff97957b4789962e351defdd8fdd36551130750350e83780acb056f0b37e1
|