Skip to main content

A Mouritech package

Project description

Mouritech Custome package on Performance Logging

Package Name

MT_PY_PerformanceLogging

''' Performance in python. This is the project ,Whenever you need to check the performance of the code like time taken by the code to perform some task ,we will use this package in our module'''

Author

Requirements

'''For running this, you need to have python3 installed on your system'''

Debugging tools

'''supported tools pycharm ,Anakonda ,Visual Studio etc...

Installation

Install my-project with Python Install MT_PY_Performancelogging_ver2

At command Promt

  pip install  MT_PY_Performancelogging_ver2
  cd  MT_PY_PerformanceLogging_ver2

(Globally )

pip install MT_PY_Performancelogging_ver2

Steps

Before using library, you need setup some things in your django project, please follow this steps

  1. Create virtual Environment for our Project ,
  2. Setup all required variables in your settings.py

At terminal :

pip install  MT_PY_Performancelogging_ver2
# locally 

from  src.MT_PY_Performancelogging_ver2.MT_Performancelogger import MT_PerformanceLogging1
# globally 
from MT_PY_Performancelogging.MT_Performance import MT_PerformanceLogging1
from MT_Performance import MT_PerformanceLogging1

MT_PerformanceLogging1(

)

Receiver Example

from src.MT_PY_Performancelogging_ver2.MT_Performancelogger import MT_PerformanceLogging1
# globally 
from  MT_PY_Performancelogging_ver2.MT_Performancelogger import MT_PerformanceLogging1
# test code for our package 
# 

import datetime
import time

import logging
# Create an instance of PerformanceLogger

logger = MT_PerformanceLogging1(__name__)
logging.basicConfig(level=logging.INFO,filename='normfunction.log' ,format='%(asctime)s - %(levelname)s - %(message)s')

# Use the logger to measure function performance
@logger.performance_log
# example code to check the loggingperformance 
# Diasum number =175
# Disarum Number = 1¹ + 7² + 5³ = 1 + 49 + 125= 175
# each digit is added with incrementation in power  and the addition of the powered value should be equal to actual input
def my_function():
    start_time = time.time()

    current_time = datetime.datetime.now()

    num=int(input('Enter Num value:'))

    result=0

    power=1

    for x in str(num):

        y=int(x)

        result= result + y**power

        power=power+1

    if num==result:

        print(f'The provide {num} is Disarum')

    else:

        print(f'The Provided {num} is Not a Disarum Number')

    # time sleep function is used to add delay in the execution of a program

    duration_to_add = datetime.timedelta(hours=0, minutes=1)

# # Estimate the end time by adding the duration to the current time

    ended_time = current_time  + duration_to_add
    end_time = time.time()
    elapsed_time = end_time - start_time
    logging.info(f'Code execution completed. Elapsed time: started at {current_time} {(start_time *10**3):.4f}  ended at {ended_time} {(end_time *10**3):.4f} = {elapsed_time:.4f} seconds')

# Call the function

my_function()
2023-09-25 18:05:33,438 - INFO - Code execution completed. Elapsed time: started at 2023-09-25 18:05:30.695571 1695645330695.5710  ended at 2023-09-25 18:06:30.695571 1695645333436.9390 = 2.7414 seconds
2023-09-25 18:05:33,438 - INFO - Function 'my_function' executed in 2.7426 seconds

Example2:-

from src.MT_PY_Performancelogging_ver2.MT_Performancelogger import MT_PerformanceLogging1
# globally 
from  MT_PY_Performancelogging_ver2.MT_Performancelogger import MT_PerformanceLogging1

import datetime

import time
import logging
# Create an instance of PerformanceLogger
logger = MT_PerformanceLogging1(__name__)
logging.basicConfig(level=logging.INFO, filename='decoresult.log', format='%(asctime)s - %(levelname)s - %(message)s')
def outer_addition(func):  #wrapped function
    @logger.performance_log
    def inner_addition(a, b):
        start_time = time.time()
        print("I'm in addition")
        sum_result = a + b
        print("Sum of", a, "and", b, "is", sum_result)
        print("Returning addition")
        func(sum_result, a)
        end_time = time.time()
        elapsed_time = end_time - start_time
        logging.info(f'Addition execution completed. Elapsed time: {elapsed_time} seconds')
    return inner_addition
def outer_subtraction(func):  #wrapped function
    @logger.performance_log
    def inner_substarction(a, b):
        start_time = time.time()
        print("I'm in subtraction")
        subtraction_result = a - b
        print("Subtraction of", a, "and", b, "is", subtraction_result)
        print("Returning subtraction")
        func(a, b)
        end_time = time.time()
        elapsed_time = end_time - start_time
        logging.info(f'Subtraction execution completed. Elapsed time: {elapsed_time} seconds')
    return inner_substarction
@logger.performance_log
@outer_addition
@logger.performance_log
@outer_subtraction
@logger.performance_log
def mOperations(a, b):
    start_time = time.time()
    print("I'm in mOperations")
    print("mOperations execution completed")
    end_time = time.time()
    elapsed_time = end_time - start_time
    logging.info(f'mOperations execution completed. Elapsed time: {elapsed_time} seconds')
mOperations(15, 10)

output:-

2023-09-25 18:12:08,428 - INFO - Function 'mOperations' executed in 0.0017 seconds
2023-09-25 18:12:08,428 - INFO - Subtraction execution completed. Elapsed time: 0.001699209213256836 seconds
2023-09-25 18:12:08,428 - INFO - Function 'inner_substarction' executed in 0.0017 seconds
2023-09-25 18:12:08,428 - INFO - Function 'wrapper' executed in 0.0017 seconds
2023-09-25 18:12:08,428 - INFO - Addition execution completed. Elapsed time: 0.003078937530517578 seconds
2023-09-25 18:12:08,428 - INFO - Function 'inner_addition' executed in 0.0031 seconds
2023-09-25 18:12:08,428 - INFO - Function 'wrapper' executed in 0.0031 seconds

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

MT_PY_Performancelogging_ver2-0.0.1.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file MT_PY_Performancelogging_ver2-0.0.1.tar.gz.

File metadata

File hashes

Hashes for MT_PY_Performancelogging_ver2-0.0.1.tar.gz
Algorithm Hash digest
SHA256 c93125efce1487e35f45228913b04d9033b69feba43ca4e4be9f036992a91551
MD5 4bcfe92ed534dc6fda4b564b9e6c926f
BLAKE2b-256 b082559e551269d7575870b9c5bc7e1122a22296f37082d4765049e765d2b542

See more details on using hashes here.

File details

Details for the file MT_PY_Performancelogging_ver2-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for MT_PY_Performancelogging_ver2-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e82a8a299c322770a6d4aef602855c651906f18d36dceeb19ed0b7e10f67f71
MD5 ae6c684e45d5d6f65326f149d43bd6b4
BLAKE2b-256 987aa5161f66d12c4ae678a781d01bd8524fce8748aa673940007ba32ab3deaa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page