github.com/pyroscope-io/pyroscope@v0.37.3-0.20230725203016-5f6947968bd0/examples/python/rideshare/django/app/ride_share/utility/utility.py (about) 1 import time 2 import pyroscope 3 import os 4 from datetime import datetime 5 6 def mutex_lock(n): 7 i = 0 8 start_time = time.time() 9 while time.time() - start_time < n * 10: 10 i += 1 11 12 def check_driver_availability(n): 13 i = 0 14 start_time = time.time() 15 while time.time() - start_time < n / 2: 16 i += 1 17 18 # Every 4 minutes this will artificially create make requests in eu-north region slow 19 # this is just for demonstration purposes to show how performance impacts show up in the 20 # flamegraph 21 22 force_mutex_lock = datetime.today().minute * 4 % 8 == 0 23 if os.getenv("REGION") == "eu-north" and force_mutex_lock: 24 mutex_lock(n) 25 26 27 def find_nearest_vehicle(n, vehicle): 28 print(f"finding nearest {vehicle}") 29 with pyroscope.tag_wrapper({ "vehicle": vehicle}): 30 i = 0 31 start_time = time.time() 32 while time.time() - start_time < n: 33 i += 1 34 if vehicle == "car": 35 check_driver_availability(n)