feat(telemetry): track feature usage actions across add and download flows

This commit is contained in:
2026-07-14 22:58:14 +02:00
parent a9d0b6ed24
commit 81faafdd28
2 changed files with 16 additions and 0 deletions
+13
View File
@@ -11,6 +11,7 @@ from .peeron_pdf import PeeronPDF
from .set import BrickSet
from .socket_decorator import authenticated_socket, rebrickable_socket
from .sql import close as sql_close
from .telemetry import BrickTelemetry
logger = logging.getLogger(__name__)
@@ -137,6 +138,7 @@ class BrickSocket(object):
except Exception:
pass
BrickTelemetry.track_action('DownloadInstructions')
instructions.download(path)
BrickInstructionsList(force=True)
@@ -184,6 +186,8 @@ class BrickSocket(object):
if not pages_data:
raise ValueError("No pages selected")
BrickTelemetry.track_action('DownloadPeeronInstructions')
# Parse set number
if '-' in set_number:
parts = set_number.split('-', 1)
@@ -227,6 +231,7 @@ class BrickSocket(object):
fr=request.sid, # type: ignore
))
BrickTelemetry.track_action('AddSet')
BrickSet().download(self, data)
@self.socket.on(MESSAGES['LOAD_SET'], namespace=self.namespace)
@@ -246,6 +251,8 @@ class BrickSocket(object):
fr=request.sid, # type: ignore
))
BrickTelemetry.track_action('AddMinifigure')
from .individual_minifigure import IndividualMinifigure
IndividualMinifigure().download(self, data)
@@ -266,6 +273,8 @@ class BrickSocket(object):
fr=request.sid, # type: ignore
))
BrickTelemetry.track_action('AddPartSingle')
from .individual_part import IndividualPart
IndividualPart().add(self, data)
@@ -286,6 +295,8 @@ class BrickSocket(object):
fr=request.sid, # type: ignore
))
BrickTelemetry.track_action('AddPartLot')
from .individual_part_lot import IndividualPartLot
IndividualPartLot().create(self, data)
@@ -296,6 +307,8 @@ class BrickSocket(object):
fr=request.sid, # type: ignore
))
BrickTelemetry.track_action('AddPartBulk')
from .individual_part import IndividualPart
IndividualPart().create_bulk(self, data)
+3
View File
@@ -25,6 +25,7 @@ from ..set_tag_list import BrickSetTagList
from ..set_storage_list import BrickSetStorageList
from ..set_purchase_location_list import BrickSetPurchaseLocationList
from ..sql import BrickSQL
from ..telemetry import BrickTelemetry
logger = logging.getLogger(__name__)
@@ -145,6 +146,8 @@ def quick_add() -> Response:
sql.commit()
BrickTelemetry.track_action('QuickAddPart')
logger.info('Quick-added individual part {id}: {part}/{color} x{quantity}'.format(
id=part_id,
part=data["part"],