Skip to main content

Python timeframe tool for time monitoring for each event, error handling, traceback recording...

Project description

timeframe

Python timeframe tool for time monitoring for each event, error handling, traceback recording...

How to install

pip install timeframe_event

Example

import random, time
from timeframe import TimeFrame
with TimeFrame(name='Text request') as time_frame:
    with time_frame.create(name='Prompt') as group_prompt:
        with group_prompt.create(name='Prompt request', retries=5) as event_frame:
            function_call = False
            for frame in event_frame:
                with frame:
                    time.sleep(random.uniform(0, 0.4))  # Stimulate doing network operation
                    if random.random() < 0.7:
                        raise ValueError  # Stimulate a complete random chance of a network error occur
                    if random.random() < 0.9:
                        function_call = True
        if function_call:
            with group_prompt.create(name='Function call `mul`', retries=0):
                time.sleep(random.uniform(0, 0.01))  # Stimulate doing network operation
            with group_prompt.create(name='Function Response', retries=5) as event_frame:
                for frame in event_frame:
                    with frame:
                        time.sleep(random.uniform(0, 0.4))  # Stimulate doing network operation
                        if random.random() < 0.7:
                            raise ValueError  # Stimulate a complete random chance of a network error occur
>>> print(time_frame.traceback_format())
[596869.233s] Error raised on Attempt 'Attempt #1' from parent 'Prompt request' at TimeFrame 'Text request':
Traceback (most recent call last):

  File "...\timeframe.py", line 260, in test
    raise ValueError  # Stimulate a complete random chance of a network error occur
    ^^^^^^^^^^^^^^^^

ValueError

[596869.397s] Error raised on Attempt 'Attempt #2' from parent 'Prompt request' at TimeFrame 'Text request':
Traceback (most recent call last):

  File "...\timeframe.py", line 260, in test
    raise ValueError  # Stimulate a complete random chance of a network error occur
    ^^^^^^^^^^^^^^^^

ValueError

[596870.032s] Error raised on Attempt 'Attempt #1' from parent 'Function Response' at TimeFrame 'Text request':
Traceback (most recent call last):

  File "...\timeframe.py", line 271, in test
    raise ValueError  # Stimulate a complete random chance of a network error occur
    ^^^^^^^^^^^^^^^^

ValueError

[596870.171s] Error raised on Attempt 'Attempt #2' from parent 'Function Response' at TimeFrame 'Text request':
Traceback (most recent call last):

  File "...\timeframe.py", line 271, in test
    raise ValueError  # Stimulate a complete random chance of a network error occur
    ^^^^^^^^^^^^^^^^

ValueError
>>> print(time_frame.frame_format_dc(limit=1024)) #Character limit of discord embed field value
Total: 0001.252s (Total Frames: 11)
✅-Prompt (0001.252s)
> ⚠️-Prompt request (0000.607s)
> - ❌-Attempt #1 (0000.203s)
> - ❌-Attempt #2 (0000.164s)
> - ✅-Attempt #3 (0000.240s)
> ✅-Function call `mul` (0000.005s)
> ⚠️-Function Response (0000.640s)
> - ❌-Attempt #1 (0000.390s)
> - ❌-Attempt #2 (0000.139s)
> - ✅-Attempt #3 (0000.111s)

Example: image

>>> print(time_frame.frame_format_mono()) # Use of export as file or display on console
Total: 0001.252s (Total Frames: 11)
✅-Text request (0001.252s)
  ✅-Prompt (0001.252s)
    ⚠️-Prompt request (0000.607s)
      ❌-Attempt #1 (0000.203s)
      ❌-Attempt #2 (0000.164s)
      ✅-Attempt #3 (0000.240s)
    ✅-Function call `mul` (0000.005s)
    ⚠️-Function Response (0000.640s)
      ❌-Attempt #1 (0000.390s)
      ❌-Attempt #2 (0000.139s)
      ✅-Attempt #3 (0000.111s)
print(timeframe.frame_format_custom()) # Default with markdown

Total: 0000.826s (Total Frames: 11)

✅-Prompt (0000.826s)

  • ⚠️-Prompt request (0000.690s)
  • ❌-Attempt #1 (0000.135s)
  • ❌-Attempt #2 (0000.020s)
  • ❌-Attempt #3 (0000.126s)
  • ❌-Attempt #4 (0000.349s)
  • ✅-Attempt #5 (0000.060s)
  • ✅-Function call mul (0000.004s)
  • ✅-Function Response (0000.132s)

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

timeframe_event-1.0.5.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

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

timeframe_event-1.0.5-py2.py3-none-any.whl (17.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file timeframe_event-1.0.5.tar.gz.

File metadata

  • Download URL: timeframe_event-1.0.5.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.4 Windows/10

File hashes

Hashes for timeframe_event-1.0.5.tar.gz
Algorithm Hash digest
SHA256 2399cc86d78cbdb4d7c7e103e19b10b99024203b860da3f9addfd9c1dde9dbb5
MD5 61e2025c02b7e5036ba1b6683f80300f
BLAKE2b-256 4c2da185f1157244fc165f3d24ae93a2881fd2b243a6e65961086cc612dd2743

See more details on using hashes here.

File details

Details for the file timeframe_event-1.0.5-py2.py3-none-any.whl.

File metadata

  • Download URL: timeframe_event-1.0.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.4 Windows/10

File hashes

Hashes for timeframe_event-1.0.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3dd89d67e7681abbecc3443e771f65d2a15aa30f6450b416688e1edab4b5bf72
MD5 a9e1739cd75f45b19a4049c4e1beb95d
BLAKE2b-256 6b2ad47751012176f3977e52d6c8e321d7efb8902adc8eaa7a407da4f3e2c320

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