|
7 | 7 | # |
8 | 8 |
|
9 | 9 | import json |
| 10 | +import logging |
| 11 | +import time |
10 | 12 | from collections import defaultdict |
11 | 13 | from contextlib import suppress |
12 | 14 |
|
|
48 | 50 | from product_portfolio.models import ProductRelationStatus |
49 | 51 | from product_portfolio.models import ScanCodeProject |
50 | 52 |
|
| 53 | +logger = logging.getLogger(__name__) |
| 54 | + |
51 | 55 |
|
52 | 56 | class CleanProductMixin(ComponentRelatedFieldImportMixin): |
53 | 57 | def clean_product(self): |
@@ -708,16 +712,27 @@ def __init__( |
708 | 712 | self.dependencies = scancodeio.fetch_project_dependencies(self.project_uuid) |
709 | 713 |
|
710 | 714 | def save(self): |
| 715 | + save_start = time.perf_counter() |
| 716 | + |
| 717 | + step_start = time.perf_counter() |
711 | 718 | self.import_packages() |
| 719 | + logger.info(f"import_packages: {time.perf_counter() - step_start:.1f}s") |
712 | 720 |
|
713 | 721 | if self.create_dependencies: |
| 722 | + step_start = time.perf_counter() |
714 | 723 | self.import_dependencies() |
| 724 | + logger.info(f"import_dependencies: {time.perf_counter() - step_start:.1f}s") |
715 | 725 |
|
716 | 726 | if self.scan_all_packages: |
717 | 727 | transaction.on_commit(lambda: self.product.scan_all_packages_task(self.user)) |
| 728 | + logger.info("scan_all_packages: scheduled") |
718 | 729 |
|
719 | 730 | if self.user.dataspace.enable_vulnerablecodedb_access: |
| 731 | + step_start = time.perf_counter() |
720 | 732 | self.product.fetch_vulnerabilities() |
| 733 | + logger.info(f"fetch_vulnerabilities: {time.perf_counter() - step_start:.1f}s") |
| 734 | + |
| 735 | + logger.info(f"save total: {time.perf_counter() - save_start:.1f}s") |
721 | 736 |
|
722 | 737 | return dict(self.created), dict(self.existing), dict(self.errors) |
723 | 738 |
|
|
0 commit comments