Data collector to unleash LLM power
Project description
CaptureFlow Tracer
Overview
The CaptureFlow Tracer is a Python package crafted for in-depth tracing of function calls within Python applications. Its primary function is to capture and relay execution data to the CaptureFlow server-side system for decision making.
Performance Considerations
The current implementation of the Tracer module utilizes the sys.settrace
module (Python Doc), leading to two outcomes:
- Detailed Logging: Captures verbose logs with debugger-level insight into method calls, variable states, and more.
- Performance Impact: The logging method significantly affects application performance.
Building and Testing Locally
To begin, ensure you have Python 3.8+, venv
, and the requirements-dev.txt
installed.
Explore the clientside/examples
directory for sample applications suitable for testing. For local package building with source code, each folder contains an ./install_package.sh
script. After building, run a local server and cURL some endpoints to simulate a real-life workflow.
If the environment variable CAPTUREFLOW_DEV_SERVER
is set to "true"
, trace JSON objects will be dumped locally for further inspection. Additionally, running the serverside
Docker container allows you to observe trace data ingestion in real-time.
For an example of the data structure captured by the tracer, you can check sample_trace_with_exception.json.
Roadmap for Optimization
We need to balancing trace detail with performance, planning enhancements for the Tracer's efficiency:
Short-Term Objectives
- Selective Tracing: Implement a "verbosity" parameter for targeted tracing, focusing on relevant trace events. For example, we need to "sample" a representative subset of requests instead of capturing all of them.
- Framework Integration and Middleware Enhancements:
- Research if it's feasible to develop middleware/patching for popular frameworks to ship data of similar detalization.
- Explore integration with tracing standards like OpenTelemetry for better application monitoring.
Long-Term Objectives
- Performance vs. Data Utility for CodeGen: Focus on collecting essential data for high-quality server-side improvements. We're pinpointing the specific data subset required to minimize performance disruption while maximizing optimization quality.
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
File details
Details for the file captureflow_agent-0.0.4.tar.gz
.
File metadata
- Download URL: captureflow_agent-0.0.4.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9105e0020f15404f593df003cf5d34df553e9fda6d3566fe97b6bada999821a0 |
|
MD5 | 6cd1a5503aad14a3fae3b4bcf94b5859 |
|
BLAKE2b-256 | 9bd9ee1444cb570bd2560ccf1687b4bd7ca2bb0989422707cfe0f2ed386ac940 |
File details
Details for the file captureflow_agent-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: captureflow_agent-0.0.4-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33d6320e8221a69d659ba01d31743b14eceb9caf4fdefaeb7b677cc214f8d666 |
|
MD5 | f9380e7fbb2b147ede7bbb7081b882e7 |
|
BLAKE2b-256 | a106377ff556159edc4110eead706a3633c59611e771c552f85e9a5054f4bc82 |