Added metrics to gen and build

This commit is contained in:
Lorenzo Venerandi
2025-02-20 01:15:23 +01:00
parent 0b0e4a408c
commit a30fa7e10f
6 changed files with 94 additions and 8 deletions

View File

@@ -3,6 +3,7 @@ import shutil
import logging
import os
import src.code_generator.template_compiler as template_compiler
import time
def __parse_yaml(yaml_file):
with open(yaml_file, 'r') as stream:
@@ -18,7 +19,10 @@ def __remove_dir_if_exists(dir_path):
if os.path.isdir(dir_path):
shutil.rmtree(dir_path)
def generate(project_dir, registry_url):
def generate(project_dir, registry_url, metrics, metrics_enabled):
gen_metrics = {}
start_time = 0
# Check if the project directory is valid
if not os.path.exists(f"{project_dir}/workflow.yaml") or not os.path.exists(f"{project_dir}/tasks"):
@@ -34,6 +38,10 @@ def generate(project_dir, registry_url):
print(f"Generating code for project {config['project_name']}")
if metrics_enabled:
gen_metrics['n_task'] = len(config['tasks'])
start_time = time.time()
# Rimozione della cartella di output
output_dir = f"{project_dir}/gen"
__remove_dir_if_exists(output_dir)
@@ -55,4 +63,11 @@ def generate(project_dir, registry_url):
except Exception as e:
logging.error(f"Error generating task {task['component_name']}: {e}")
continue
continue
if metrics_enabled:
end_time = time.time()
gen_metrics['gen_time'] = '%.3f'%(end_time - start_time)
metrics['code_gen'] = gen_metrics
print("Code generation completed")