chore(editor): add event tracking to drawing tool (#11230)

Closes: [BS-2833](https://linear.app/affine-design/issue/BS-2833/考虑屏蔽或者降低brush-行为的采集密度)
This commit is contained in:
fundon
2025-03-27 08:17:44 +00:00
parent 4d6115bb00
commit 6ade2b7084
3 changed files with 20 additions and 8 deletions
+10 -8
View File
@@ -154,14 +154,6 @@ export class BrushTool extends BaseTool {
points,
});
this.std.getOptional(TelemetryProvider)?.track('CanvasElementAdded', {
control: 'canvas:draw',
page: 'whiteboard editor',
module: 'toolbar',
segment: 'toolbar',
type: CanvasElementType.BRUSH,
});
const element = this.gfx.getElementById(id) as BrushElementModel;
element.stash('points');
@@ -174,6 +166,16 @@ export class BrushTool extends BaseTool {
this._draggingPathPressures = [e.pressure];
this._lastPopLength = 0;
}
override activate() {
this.std.getOptional(TelemetryProvider)?.track('EdgelessToolPicked', {
page: 'whiteboard editor',
module: 'global toolbar',
segment: 'global toolbar',
control: 'drawing',
type: CanvasElementType.BRUSH,
});
}
}
declare module '@blocksuite/block-std/gfx' {
@@ -7,6 +7,7 @@ import type {
AttachmentUploadedEvent,
BlockCreationEvent,
DocCreatedEvent,
EdgelessToolPickedEvent,
ElementCreationEvent,
ElementLockEvent,
LinkedDocCreatedEvent,
@@ -26,6 +27,7 @@ export type TelemetryEventMap = OutDatabaseAllEvents &
ExpandedAndCollapsed: MindMapCollapseEvent;
AttachmentUploadedEvent: AttachmentUploadedEvent;
BlockCreated: BlockCreationEvent;
EdgelessToolPicked: EdgelessToolPickedEvent;
};
export interface TelemetryService {
@@ -69,3 +69,11 @@ export interface AttachmentUploadedEvent extends TelemetryEvent {
type: string; // file type
category: 'success' | 'failure';
}
export interface EdgelessToolPickedEvent extends TelemetryEvent {
page: 'whiteboard editor';
segment: 'global toolbar';
module: 'global toolbar';
control: 'drawing';
type: 'brush';
}