motion-master-client 0.0.332 → 0.0.334

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "motion-master-client",
3
- "version": "0.0.332",
3
+ "version": "0.0.334",
4
4
  "type": "commonjs",
5
5
  "description": "A library and CLI program used for communicating with Motion Master.",
6
6
  "dependencies": {
package/src/lib/util.d.ts CHANGED
@@ -472,11 +472,83 @@ export interface NotificationEntry {
472
472
  */
473
473
  export declare function withTimeDifference(startTime: number): OperatorFunction<string, NotificationEntry[]>;
474
474
  /**
475
- * Compute mean and median of consecutive time differences
476
- * @param timestamps - Array of numbers (Date.now() style)
477
- * @returns { mean: number, median: number }
478
- */
479
- export declare function analyzeTimeDiffs(timestamps: number[]): {
480
- mean: number;
481
- median: number;
475
+ * Analyzes an array of measured time durations and returns useful statistics
476
+ * both for the full dataset and for outlier-filtered data.
477
+ *
478
+ * This is intended for benchmarking or performance-profiling scenarios where
479
+ * you collect many individual operation durations (e.g., using `performance.now()`).
480
+ *
481
+ * ## What each metric means
482
+ *
483
+ * - `count`: Number of measured durations.
484
+ * - `durations`: Sorted list of all input durations (ascending).
485
+ * - `filtered`: Sorted list of durations excluding statistical outliers using the IQR rule.
486
+ * - `filteredCount`: Number of durations remaining after outlier removal.
487
+ *
488
+ * ### For both full and filtered stats:
489
+ *
490
+ * - `min`: The shortest measured duration.
491
+ * - `max`: The longest measured duration.
492
+ * - `mean`: The arithmetic average time.
493
+ * - `median`: The middle value when sorted (50th percentile). More stable than mean.
494
+ * - `std`: Standard deviation. Measures how much the durations vary.
495
+ * - `p95`: 95th percentile. 95% of values are below this value. Useful as a near-worst-case indicator.
496
+ * - `q1`: 25th percentile (lower quartile).
497
+ * - `q3`: 75th percentile (upper quartile).
498
+ * - `iqr`: Interquartile range (Q3 − Q1). Measures the spread of the middle 50% of values.
499
+ *
500
+ * ## Outlier filtering (IQR rule)
501
+ * Outliers are removed if they fall outside:
502
+ * [Q1 − 1.5×IQR, Q3 + 1.5×IQR]
503
+ *
504
+ * This avoids skewing results when a single operation takes unusually long.
505
+ *
506
+ * ## How to collect durations
507
+ *
508
+ * ```ts
509
+ * const durations: number[] = [];
510
+ * for (let i = 0; i < iterations; i++) {
511
+ * const start = performance.now();
512
+ * await doWork();
513
+ * durations.push(performance.now() - start);
514
+ * }
515
+ * ```
516
+ *
517
+ * ### Important:
518
+ * - Do NOT use `Date.now()`; it has only millisecond resolution.
519
+ * - Pre-warm your code (JIT, caches, I/O) before measuring.
520
+ * - Run many iterations (100–10 000) to get stable stats.
521
+ * - Avoid logging inside the measured code; it distorts timing.
522
+ *
523
+ * @param durations An array of time durations in milliseconds. Must contain at least one value.
524
+ * @returns An object containing sorted durations, filtered durations, and statistics for both full and filtered datasets.
525
+ * @throws If the input array is empty.
526
+ */
527
+ export declare function analyzeTimeDurations(durations: number[]): {
528
+ count: number;
529
+ filteredCount: number;
530
+ durations: number[];
531
+ filtered: number[];
532
+ fullStats: {
533
+ min: number;
534
+ max: number;
535
+ mean: number;
536
+ median: number;
537
+ std: number;
538
+ p95: number;
539
+ q1: number;
540
+ q3: number;
541
+ iqr: number;
542
+ };
543
+ filteredStats: {
544
+ min: number;
545
+ max: number;
546
+ mean: number;
547
+ median: number;
548
+ std: number;
549
+ p95: number;
550
+ q1: number;
551
+ q3: number;
552
+ iqr: number;
553
+ };
482
554
  };
package/src/lib/util.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.analyzeTimeDiffs = exports.withTimeDifference = exports.fromQ = exports.convertIpv4 = exports.convertValueToHexString = exports.hexDecValueToNumber = exports.convertCTypeToStructFormatCharacter = exports.mapByProperty = exports.groupByProperty = exports.uniqueItems = exports.mergeUint8Arrays = exports.parseUnitValue = exports.isElectronContext = exports.isElectronApp = exports.convertBlobToBase64 = exports.toFixedFormat = exports.updateBit = exports.clearBit = exports.setBit = exports.isBitOn = exports.getBit = exports.setBitHigh = exports.setBitLow = exports.camelCaseToWords = exports.findDuplicates = exports.getMapKeyByValue = exports.createRandomColor = exports.convertRgbToLedColor = exports.resolveAfter = exports.decodeTextContent = exports.convertMotionMasterMessageToLoggerContext = exports.createPlainObjectFromMotionMasterMessage = exports.diffSystemLogContents = exports.parseSystemLogContent = exports.parseSystemLogLine = void 0;
3
+ exports.analyzeTimeDurations = exports.withTimeDifference = exports.fromQ = exports.convertIpv4 = exports.convertValueToHexString = exports.hexDecValueToNumber = exports.convertCTypeToStructFormatCharacter = exports.mapByProperty = exports.groupByProperty = exports.uniqueItems = exports.mergeUint8Arrays = exports.parseUnitValue = exports.isElectronContext = exports.isElectronApp = exports.convertBlobToBase64 = exports.toFixedFormat = exports.updateBit = exports.clearBit = exports.setBit = exports.isBitOn = exports.getBit = exports.setBitHigh = exports.setBitLow = exports.camelCaseToWords = exports.findDuplicates = exports.getMapKeyByValue = exports.createRandomColor = exports.convertRgbToLedColor = exports.resolveAfter = exports.decodeTextContent = exports.convertMotionMasterMessageToLoggerContext = exports.createPlainObjectFromMotionMasterMessage = exports.diffSystemLogContents = exports.parseSystemLogContent = exports.parseSystemLogLine = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const rxjs_1 = require("rxjs");
6
6
  const types_1 = require("./types");
@@ -834,26 +834,115 @@ function withTimeDifference(startTime) {
834
834
  }
835
835
  exports.withTimeDifference = withTimeDifference;
836
836
  /**
837
- * Compute mean and median of consecutive time differences
838
- * @param timestamps - Array of numbers (Date.now() style)
839
- * @returns { mean: number, median: number }
840
- */
841
- function analyzeTimeDiffs(timestamps) {
842
- const n = timestamps.length;
843
- if (n < 2)
844
- return { mean: 0, median: 0 };
845
- // Compute consecutive differences
846
- const diffs = [];
847
- for (let i = 1; i < n; i++) {
848
- diffs.push(timestamps[i] - timestamps[i - 1]);
849
- }
850
- // Mean of differences
851
- const mean = diffs.reduce((sum, d) => sum + d, 0) / diffs.length;
852
- // Median of differences
853
- const sorted = diffs.slice().sort((a, b) => a - b);
854
- const mid = Math.floor(sorted.length / 2);
855
- const median = sorted.length % 2 === 0 ? (sorted[mid - 1] + sorted[mid]) / 2 : sorted[mid];
856
- return { mean, median };
857
- }
858
- exports.analyzeTimeDiffs = analyzeTimeDiffs;
837
+ * Analyzes an array of measured time durations and returns useful statistics
838
+ * both for the full dataset and for outlier-filtered data.
839
+ *
840
+ * This is intended for benchmarking or performance-profiling scenarios where
841
+ * you collect many individual operation durations (e.g., using `performance.now()`).
842
+ *
843
+ * ## What each metric means
844
+ *
845
+ * - `count`: Number of measured durations.
846
+ * - `durations`: Sorted list of all input durations (ascending).
847
+ * - `filtered`: Sorted list of durations excluding statistical outliers using the IQR rule.
848
+ * - `filteredCount`: Number of durations remaining after outlier removal.
849
+ *
850
+ * ### For both full and filtered stats:
851
+ *
852
+ * - `min`: The shortest measured duration.
853
+ * - `max`: The longest measured duration.
854
+ * - `mean`: The arithmetic average time.
855
+ * - `median`: The middle value when sorted (50th percentile). More stable than mean.
856
+ * - `std`: Standard deviation. Measures how much the durations vary.
857
+ * - `p95`: 95th percentile. 95% of values are below this value. Useful as a near-worst-case indicator.
858
+ * - `q1`: 25th percentile (lower quartile).
859
+ * - `q3`: 75th percentile (upper quartile).
860
+ * - `iqr`: Interquartile range (Q3 − Q1). Measures the spread of the middle 50% of values.
861
+ *
862
+ * ## Outlier filtering (IQR rule)
863
+ * Outliers are removed if they fall outside:
864
+ * [Q1 − 1.5×IQR, Q3 + 1.5×IQR]
865
+ *
866
+ * This avoids skewing results when a single operation takes unusually long.
867
+ *
868
+ * ## How to collect durations
869
+ *
870
+ * ```ts
871
+ * const durations: number[] = [];
872
+ * for (let i = 0; i < iterations; i++) {
873
+ * const start = performance.now();
874
+ * await doWork();
875
+ * durations.push(performance.now() - start);
876
+ * }
877
+ * ```
878
+ *
879
+ * ### Important:
880
+ * - Do NOT use `Date.now()`; it has only millisecond resolution.
881
+ * - Pre-warm your code (JIT, caches, I/O) before measuring.
882
+ * - Run many iterations (100–10 000) to get stable stats.
883
+ * - Avoid logging inside the measured code; it distorts timing.
884
+ *
885
+ * @param durations An array of time durations in milliseconds. Must contain at least one value.
886
+ * @returns An object containing sorted durations, filtered durations, and statistics for both full and filtered datasets.
887
+ * @throws If the input array is empty.
888
+ */
889
+ function analyzeTimeDurations(durations) {
890
+ if (!durations || durations.length === 0) {
891
+ throw new Error('analyzeTimeDurations: input array is empty.');
892
+ }
893
+ const sorted = [...durations].sort((a, b) => a - b);
894
+ const n = sorted.length;
895
+ // Percentile helper
896
+ const percentile = (arr, p) => {
897
+ const idx = (p / 100) * (arr.length - 1);
898
+ const lower = Math.floor(idx);
899
+ const upper = Math.ceil(idx);
900
+ if (lower === upper)
901
+ return arr[lower];
902
+ const ratio = idx - lower;
903
+ return arr[lower] * (1 - ratio) + arr[upper] * ratio;
904
+ };
905
+ // Full dataset stats
906
+ const fullStats = (() => {
907
+ const min = sorted[0];
908
+ const max = sorted[n - 1];
909
+ const mean = sorted.reduce((acc, v) => acc + v, 0) / n;
910
+ const median = n % 2 === 0 ? (sorted[n / 2 - 1] + sorted[n / 2]) / 2 : sorted[(n - 1) / 2];
911
+ const variance = sorted.reduce((acc, v) => acc + Math.pow((v - mean), 2), 0) / n;
912
+ const std = Math.sqrt(variance);
913
+ const p95 = percentile(sorted, 95);
914
+ const q1 = percentile(sorted, 25);
915
+ const q3 = percentile(sorted, 75);
916
+ const iqr = q3 - q1;
917
+ return { min, max, mean, median, std, p95, q1, q3, iqr };
918
+ })();
919
+ // Filter outliers using IQR
920
+ const lowerFence = fullStats.q1 - 1.5 * fullStats.iqr;
921
+ const upperFence = fullStats.q3 + 1.5 * fullStats.iqr;
922
+ const filtered = sorted.filter((v) => v >= lowerFence && v <= upperFence);
923
+ // Filtered stats
924
+ const m = filtered.length;
925
+ const filteredStats = (() => {
926
+ const min = filtered[0];
927
+ const max = filtered[m - 1];
928
+ const mean = filtered.reduce((acc, v) => acc + v, 0) / m;
929
+ const median = m % 2 === 0 ? (filtered[m / 2 - 1] + filtered[m / 2]) / 2 : filtered[(m - 1) / 2];
930
+ const variance = filtered.reduce((acc, v) => acc + Math.pow((v - mean), 2), 0) / m;
931
+ const std = Math.sqrt(variance);
932
+ const p95 = percentile(filtered, 95);
933
+ const q1 = percentile(filtered, 25);
934
+ const q3 = percentile(filtered, 75);
935
+ const iqr = q3 - q1;
936
+ return { min, max, mean, median, std, p95, q1, q3, iqr };
937
+ })();
938
+ return {
939
+ count: n,
940
+ filteredCount: filtered.length,
941
+ durations: sorted,
942
+ filtered,
943
+ fullStats,
944
+ filteredStats,
945
+ };
946
+ }
947
+ exports.analyzeTimeDurations = analyzeTimeDurations;
859
948
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/util.ts"],"names":[],"mappings":"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"}