Skip to main content

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 filtering
  • GET /api/hostnames/ - Available hostnames
  • GET /api/functions/ - Function analysis data

Documentation

License

MIT License - see LICENSE file for details.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests: pytest tests/
  5. Submit a pull request

Support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kode_kronical-0.4.14.tar.gz (56.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kode_kronical-0.4.14-py3-none-any.whl (59.2 kB view details)

Uploaded Python 3

File details

Details for the file kode_kronical-0.4.14.tar.gz.

File metadata

  • Download URL: kode_kronical-0.4.14.tar.gz
  • Upload date:
  • Size: 56.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for kode_kronical-0.4.14.tar.gz
Algorithm Hash digest
SHA256 fbd29fc8bcec45f5312e2489733d907d9a186d27d44908953ecdd4c6f0768b7a
MD5 fd19c96b4533767a04ebe5026923ace6
BLAKE2b-256 fb041b65dcb1947c0203fcea4b40a9f38c91aedc4995cca1e209dee7ecf5c1ab

See more details on using hashes here.

File details

Details for the file kode_kronical-0.4.14-py3-none-any.whl.

File metadata

  • Download URL: kode_kronical-0.4.14-py3-none-any.whl
  • Upload date:
  • Size: 59.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for kode_kronical-0.4.14-py3-none-any.whl
Algorithm Hash digest
SHA256 4ad82a9ffab10b85a322bed2de2a47d575629341eaa6643d07648bd85a4fa1bf
MD5 be597958b4c53fac13f36214d1d61bc5
BLAKE2b-256 1dcab5111c4a3af78c856936af79a6a965d438ddb45af50135c68efe886c61c8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page