Skip to main content

Enhancing Kieker usability in Jupyter Notebooks

Project description

Kieker for Jupyter

PyPI Version License Python Versions

Kieker for Jupyter is a Python package designed to seamlessly integrate Kieker performance monitoring and analysis capabilities into Jupyter Notebooks. This integration simplifies the process of conducting performance analyses within an interactive environment, making it more accessible for data scientists and developers.

Features

  • Simplified Analysis Execution: Provides straightforward methods to run various Kieker analyses directly from Jupyter cells.
  • Modular Design: Easily extendable to include additional analyses as needed.
  • Interactive Visualization: Leverages Jupyter's interactive features to visualize performance data effectively.

Installation

Prerequisites

  • graphviz >= 3.0
  • pypdf >= 5.4.0
  • python >= 3.8

Install the package using pip:

pip install --index-url https://test.pypi.org/simple/ --no-deps kieker-for-jupyter

Usage

Here's a basic example of how to use the package:

from kieker.tools.trace_analysis import TA, AnalysisType, GraphicType

# 1. Set path to trace-analysis CLI
TA.set_trace_analysis_path("~/kieker/trace-analysis-2.0.2/bin/trace-analysis")

# 2. Perform an Assembly Sequence Diagrams analysis with auto-displayed PDF
TA.draw(
    analysis_type=AnalysisType.ASDIAGRAMS, 
    graphic_type=GraphicType.PDF, 
    input_dir="~/kieker-logs/kieker*", 
    output_dir="output-asdiagrams", 
    limit=10, 
    file_range=range(20,40)
)

where numbered pdf files will be created and merged as an output file with

  • limit as an optional parameter to set the maximum number of pdf files to use,
  • file_range as an optional parameter to set the range of pdf files to use.

Available Analyses

  • Call Tree (aactree, adctree, ctrees): Visualizes the call tree of deployed components.
  • Dependency Graph (acdgraph, aodgraph, cdgraph, dcdgraph, dodgraph): Displays the relationships between deployed components.
  • Sequence Diagrams (asdiagrams, dsdiagrams): Illustrates the dynamic interactions within the software architecture.

Extending the Package

The package's modular structure allows for easy integration of new analysis types. To add a new analysis:

Update the Analysis Dictionary: Add the new analysis type to the enum of the AnalysisType class.

Example:

@staticmethod
class AnalysisType(Enum):
    AACTREE = ("--plot-Aggregated-Assembly-Call-Tree", None)
    ADCTREE = ("--plot-Aggregated-Deployment-Call-Tree", None)
    ACDGRAPH = ("--plot-Assembly-Component-Dependency-Graph", "none")
    ...
    NEWTYPE = ("traceanalysis call", "time parameter")

Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your enhancements.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgements

Special thanks to the Kieker community for their continuous support and development of the Kieker monitoring framework.

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

kieker_for_jupyter-0.1.0.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

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

kieker_for_jupyter-0.1.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file kieker_for_jupyter-0.1.0.tar.gz.

File metadata

  • Download URL: kieker_for_jupyter-0.1.0.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for kieker_for_jupyter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 903cf95eef47aaf8f023f0ba1531b94d633d56f3480a2bb361fffa467b3123cf
MD5 ff9e53fc232e8590efacb758d8fc8a35
BLAKE2b-256 bb568f89351a17ac3404c0b165fde96ff56de87cee1a7fbce637ad1bcae66386

See more details on using hashes here.

File details

Details for the file kieker_for_jupyter-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kieker_for_jupyter-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9fbc190008ce10c662c13ef35ef3f914aae767d3877bad1d5f5ab7dad58a5a48
MD5 c6ed6acbc6a5aeb392a57d249aac2935
BLAKE2b-256 567a158660a734521650a77268be8561a97c6e0c5a6db5a6edcd727843fb5230

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