Add report generation timing stats
This commit is contained in:
parent
8800f73661
commit
669b51e03c
3 changed files with 33 additions and 17 deletions
|
@ -3,6 +3,8 @@ import sqlite3
|
|||
from pathlib import Path
|
||||
import shutil
|
||||
from typing import List, Dict, Optional
|
||||
from datetime import datetime
|
||||
import time
|
||||
|
||||
import yaml
|
||||
|
||||
|
@ -74,7 +76,9 @@ def _render_snippet(report: Dict, out_dir: Path) -> None:
|
|||
snippet_path.write_text(template.render(report=report))
|
||||
|
||||
|
||||
def _write_stats() -> None:
|
||||
def _write_stats(
|
||||
generated_at: Optional[str] = None, generation_seconds: Optional[float] = None
|
||||
) -> None:
|
||||
"""Query basic dataset stats and write them to ``output/global/stats.json``."""
|
||||
conn = sqlite3.connect(DB_PATH)
|
||||
cur = conn.cursor()
|
||||
|
@ -98,6 +102,10 @@ def _write_stats() -> None:
|
|||
"end_date": end_date,
|
||||
"unique_domains": unique_domains,
|
||||
}
|
||||
if generated_at:
|
||||
stats["generated_at"] = generated_at
|
||||
if generation_seconds is not None:
|
||||
stats["generation_seconds"] = generation_seconds
|
||||
|
||||
out_path = OUTPUT_DIR / "global" / "stats.json"
|
||||
_save_json(out_path, stats)
|
||||
|
@ -197,14 +205,9 @@ def _generate_root_index() -> None:
|
|||
"""Render the top-level index listing all intervals and domains."""
|
||||
_copy_icons()
|
||||
intervals = sorted(
|
||||
[
|
||||
name
|
||||
for name in INTERVAL_FORMATS
|
||||
if (OUTPUT_DIR / name).is_dir()
|
||||
]
|
||||
[name for name in INTERVAL_FORMATS if (OUTPUT_DIR / name).is_dir()]
|
||||
)
|
||||
|
||||
|
||||
domains_dir = OUTPUT_DIR / "domains"
|
||||
domains: List[str] = []
|
||||
if domains_dir.is_dir():
|
||||
|
@ -227,6 +230,9 @@ def _generate_global() -> None:
|
|||
typer.echo("No report definitions found")
|
||||
return
|
||||
|
||||
start_time = time.time()
|
||||
generated_at = datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S")
|
||||
|
||||
_copy_icons()
|
||||
|
||||
conn = sqlite3.connect(DB_PATH)
|
||||
|
@ -269,7 +275,8 @@ def _generate_global() -> None:
|
|||
report_list.append(entry)
|
||||
|
||||
_save_json(out_dir / "reports.json", report_list)
|
||||
_write_stats()
|
||||
elapsed = round(time.time() - start_time, 2)
|
||||
_write_stats(generated_at, elapsed)
|
||||
typer.echo("Generated global reports")
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue