
* Benchmark test * Lighthouse posthog --------- Co-authored-by: Alek Petuskey <alekpetuskey@Aleks-MacBook-Pro.local>
74 lines
1.9 KiB
Python
74 lines
1.9 KiB
Python
"""Utility functions for the benchmarks."""
|
|
|
|
import os
|
|
import subprocess
|
|
|
|
import httpx
|
|
from httpx import HTTPError
|
|
|
|
|
|
def get_python_version(venv_path, os_name):
|
|
"""Get the python version of python in a virtual env.
|
|
|
|
Args:
|
|
venv_path: Path to virtual environment.
|
|
os_name: Name of os.
|
|
|
|
Returns:
|
|
The python version.
|
|
"""
|
|
python_executable = (
|
|
os.path.join(venv_path, "bin", "python")
|
|
if "windows" not in os_name
|
|
else os.path.join(venv_path, "Scripts", "python.exe")
|
|
)
|
|
try:
|
|
output = subprocess.check_output(
|
|
[python_executable, "--version"], stderr=subprocess.STDOUT
|
|
)
|
|
python_version = output.decode("utf-8").strip().split()[1]
|
|
return ".".join(python_version.split(".")[:-1])
|
|
except subprocess.CalledProcessError:
|
|
return None
|
|
|
|
|
|
def get_directory_size(directory):
|
|
"""Get the size of a directory in bytes.
|
|
|
|
Args:
|
|
directory: The directory to check.
|
|
|
|
Returns:
|
|
The size of the dir in bytes.
|
|
"""
|
|
total_size = 0
|
|
for dirpath, _, filenames in os.walk(directory):
|
|
for f in filenames:
|
|
fp = os.path.join(dirpath, f)
|
|
total_size += os.path.getsize(fp)
|
|
return total_size
|
|
|
|
|
|
def send_data_to_posthog(event, properties):
|
|
"""Send data to PostHog.
|
|
|
|
Args:
|
|
event: The event to send.
|
|
properties: The properties to send.
|
|
|
|
Raises:
|
|
HTTPError: When there is an error sending data to PostHog.
|
|
"""
|
|
event_data = {
|
|
"api_key": "phc_JoMo0fOyi0GQAooY3UyO9k0hebGkMyFJrrCw1Gt5SGb",
|
|
"event": event,
|
|
"properties": properties,
|
|
}
|
|
|
|
with httpx.Client() as client:
|
|
response = client.post("https://app.posthog.com/capture/", json=event_data)
|
|
if response.status_code != 200:
|
|
raise HTTPError(
|
|
f"Error sending data to PostHog: {response.status_code} - {response.text}"
|
|
)
|