Added mousemoveCallback threshold option to sampling config. (#492)

* Added mousemoveCallback threshold option to sampling config.

* Added mousemoveCallback to definitions file.
This commit is contained in:
Province Innovation
2026-04-01 12:00:00 +08:00
committed by GitHub
parent d2f18fa03d
commit eeac998959
3 changed files with 8 additions and 1 deletions

View File

@@ -131,6 +131,8 @@ function initMoveObserver(
const threshold =
typeof sampling.mousemove === 'number' ? sampling.mousemove : 50;
const callbackThreshold =
typeof sampling.mousemoveCallback === 'number' ? sampling.mousemoveCallback : 500;
let positions: mousePosition[] = [];
let timeBaseline: number | null;
@@ -145,7 +147,7 @@ function initMoveObserver(
);
positions = [];
timeBaseline = null;
}, 500);
}, callbackThreshold);
const updatePosition = throttle<MouseEvent | TouchEvent>(
(evt) => {
const { target } = evt;

View File

@@ -165,6 +165,10 @@ export type SamplingStrategy = Partial<{
*/
mousemove: boolean | number;
/**
* number is the throttle threshold of mouse/touch move callback
*/
mousemoveCallback: number;
/**
* false means not to record mouse interaction events
* can also specify record some kinds of mouse interactions
*/

1
typings/types.d.ts vendored
View File

@@ -111,6 +111,7 @@ export declare type eventWithTime = event & {
export declare type blockClass = string | RegExp;
export declare type SamplingStrategy = Partial<{
mousemove: boolean | number;
mousemoveCallback: number;
mouseInteraction: boolean | Record<string, boolean | undefined>;
scroll: number;
input: 'all' | 'last';