Kieker for Jupyter
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.0pypdf>= 5.4.0python>= 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
limitas an optional parameter to set the maximum number of pdf files to use,file_rangeas 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.
Metadata
Release files for kieker-for-jupyter 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kieker_for_jupyter-0.1.1.tar.gz | 11.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kieker_for_jupyter-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.1 kB
Release files / kieker_for_jupyter-0.1.1.tar.gz
| Download URL | kieker_for_jupyter-0.1.1.tar.gz |
|---|---|
| Size | 11.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6028f0c489ba8584ec5fb09148c6248d88c01ae3f1483495bc8190a702b3496b
|
|
BLAKE2b-256 checksum How to use checksums |
73982a8dc3bce25e29fa0472e8b2bf709bb38bab87a632eaf948f6c0ce4e603e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / kieker_for_jupyter-0.1.1-py3-none-any.whl
| Download URL | kieker_for_jupyter-0.1.1-py3-none-any.whl |
|---|---|
| Size | 12.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8cec2dfaedf3d109aedaface754b747a43f73cb050ac3add68fa172c5c748842
|
|
BLAKE2b-256 checksum How to use checksums |
6e233610ad5048248867a5e4300ca1c88637acd3eec48ca5d3183be25a240951
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|