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.17.tar.gz (56.5 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.17-py3-none-any.whl (59.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kode_kronical-0.4.17.tar.gz
  • Upload date:
  • Size: 56.5 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.17.tar.gz
Algorithm Hash digest
SHA256 c36d24776e2d2c566244d26dd92ff1078bb002ed4fc28e6b1dd08e334c2e0025
MD5 587993a88ef2f71e067c9b3f061be28e
BLAKE2b-256 6a75042d897ecfc86503df554fa6e5ddb379ad1d6dec56050b07a57f6e80f224

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kode_kronical-0.4.17-py3-none-any.whl
  • Upload date:
  • Size: 59.3 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.17-py3-none-any.whl
Algorithm Hash digest
SHA256 f0fdd9ecff6dbbb636453dee3eb616ae90189d546183071a8e03af4356084ced
MD5 972b39da91c00737a6342ff70eb09eba
BLAKE2b-256 a70788d493f1ce6c3837ee2c35290c885e88da8659edc1474f952b868385d9c3

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