edge-impulse-linux 1.18.3 → 1.20.1

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.
Files changed (197) hide show
  1. package/build/cli/linux/linux.js +17 -6
  2. package/build/cli/linux/linux.js.map +1 -1
  3. package/build/cli/linux/runner-downloader.d.ts +0 -1
  4. package/build/cli/linux/runner-downloader.js +5 -11
  5. package/build/cli/linux/runner-downloader.js.map +1 -1
  6. package/build/cli/linux/runner-profiling.d.ts +6 -4
  7. package/build/cli/linux/runner-profiling.js +167 -37
  8. package/build/cli/linux/runner-profiling.js.map +1 -1
  9. package/build/cli/linux/runner.js +69 -56
  10. package/build/cli/linux/runner.js.map +1 -1
  11. package/build/library/sensors/gstreamer.d.ts +10 -3
  12. package/build/library/sensors/gstreamer.js +219 -52
  13. package/build/library/sensors/gstreamer.js.map +1 -1
  14. package/build/library/sensors/icamera.d.ts +21 -1
  15. package/build/library/sensors/imagesnap.d.ts +3 -2
  16. package/build/library/sensors/imagesnap.js +18 -1
  17. package/build/library/sensors/imagesnap.js.map +1 -1
  18. package/build/library/sensors/prophesee.d.ts +2 -2
  19. package/build/library/sensors/sensors-helper.d.ts +6 -1
  20. package/build/library/sensors/sensors-helper.js +32 -9
  21. package/build/library/sensors/sensors-helper.js.map +1 -1
  22. package/build/sdk/studio/sdk/api/adminApi.d.ts +4 -6
  23. package/build/sdk/studio/sdk/api/adminApi.js +4782 -4928
  24. package/build/sdk/studio/sdk/api/adminApi.js.map +1 -1
  25. package/build/sdk/studio/sdk/api/authApi.d.ts +4 -6
  26. package/build/sdk/studio/sdk/api/authApi.js +88 -56
  27. package/build/sdk/studio/sdk/api/authApi.js.map +1 -1
  28. package/build/sdk/studio/sdk/api/cDNApi.d.ts +4 -6
  29. package/build/sdk/studio/sdk/api/cDNApi.js +76 -53
  30. package/build/sdk/studio/sdk/api/cDNApi.js.map +1 -1
  31. package/build/sdk/studio/sdk/api/canaryApi.d.ts +4 -6
  32. package/build/sdk/studio/sdk/api/canaryApi.js +79 -53
  33. package/build/sdk/studio/sdk/api/canaryApi.js.map +1 -1
  34. package/build/sdk/studio/sdk/api/classifyApi.d.ts +4 -6
  35. package/build/sdk/studio/sdk/api/classifyApi.js +527 -499
  36. package/build/sdk/studio/sdk/api/classifyApi.js.map +1 -1
  37. package/build/sdk/studio/sdk/api/dSPApi.d.ts +4 -6
  38. package/build/sdk/studio/sdk/api/dSPApi.js +938 -942
  39. package/build/sdk/studio/sdk/api/dSPApi.js.map +1 -1
  40. package/build/sdk/studio/sdk/api/deploymentApi.d.ts +4 -6
  41. package/build/sdk/studio/sdk/api/deploymentApi.js +680 -603
  42. package/build/sdk/studio/sdk/api/deploymentApi.js.map +1 -1
  43. package/build/sdk/studio/sdk/api/devicesApi.d.ts +4 -6
  44. package/build/sdk/studio/sdk/api/devicesApi.js +802 -800
  45. package/build/sdk/studio/sdk/api/devicesApi.js.map +1 -1
  46. package/build/sdk/studio/sdk/api/emailVerificationApi.d.ts +4 -6
  47. package/build/sdk/studio/sdk/api/emailVerificationApi.js +184 -190
  48. package/build/sdk/studio/sdk/api/emailVerificationApi.js.map +1 -1
  49. package/build/sdk/studio/sdk/api/exportApi.d.ts +4 -6
  50. package/build/sdk/studio/sdk/api/exportApi.js +88 -56
  51. package/build/sdk/studio/sdk/api/exportApi.js.map +1 -1
  52. package/build/sdk/studio/sdk/api/featureFlagsApi.d.ts +4 -6
  53. package/build/sdk/studio/sdk/api/featureFlagsApi.js +76 -52
  54. package/build/sdk/studio/sdk/api/featureFlagsApi.js.map +1 -1
  55. package/build/sdk/studio/sdk/api/healthApi.d.ts +4 -6
  56. package/build/sdk/studio/sdk/api/healthApi.js +111 -97
  57. package/build/sdk/studio/sdk/api/healthApi.js.map +1 -1
  58. package/build/sdk/studio/sdk/api/impulseApi.d.ts +4 -6
  59. package/build/sdk/studio/sdk/api/impulseApi.js +942 -902
  60. package/build/sdk/studio/sdk/api/impulseApi.js.map +1 -1
  61. package/build/sdk/studio/sdk/api/integrationsApi.d.ts +4 -6
  62. package/build/sdk/studio/sdk/api/integrationsApi.js +136 -106
  63. package/build/sdk/studio/sdk/api/integrationsApi.js.map +1 -1
  64. package/build/sdk/studio/sdk/api/jobsApi.d.ts +4 -6
  65. package/build/sdk/studio/sdk/api/jobsApi.js +2270 -2326
  66. package/build/sdk/studio/sdk/api/jobsApi.js.map +1 -1
  67. package/build/sdk/studio/sdk/api/learnApi.d.ts +22 -6
  68. package/build/sdk/studio/sdk/api/learnApi.js +1597 -1424
  69. package/build/sdk/studio/sdk/api/learnApi.js.map +1 -1
  70. package/build/sdk/studio/sdk/api/loginApi.d.ts +4 -6
  71. package/build/sdk/studio/sdk/api/loginApi.js +112 -98
  72. package/build/sdk/studio/sdk/api/loginApi.js.map +1 -1
  73. package/build/sdk/studio/sdk/api/metricsApi.d.ts +4 -6
  74. package/build/sdk/studio/sdk/api/metricsApi.js +148 -144
  75. package/build/sdk/studio/sdk/api/metricsApi.js.map +1 -1
  76. package/build/sdk/studio/sdk/api/optimizationApi.d.ts +4 -6
  77. package/build/sdk/studio/sdk/api/optimizationApi.js +844 -844
  78. package/build/sdk/studio/sdk/api/optimizationApi.js.map +1 -1
  79. package/build/sdk/studio/sdk/api/organizationBlocksApi.d.ts +8 -6
  80. package/build/sdk/studio/sdk/api/organizationBlocksApi.js +1974 -1548
  81. package/build/sdk/studio/sdk/api/organizationBlocksApi.js.map +1 -1
  82. package/build/sdk/studio/sdk/api/organizationCreateProjectApi.d.ts +4 -6
  83. package/build/sdk/studio/sdk/api/organizationCreateProjectApi.js +700 -652
  84. package/build/sdk/studio/sdk/api/organizationCreateProjectApi.js.map +1 -1
  85. package/build/sdk/studio/sdk/api/organizationDataApi.d.ts +4 -6
  86. package/build/sdk/studio/sdk/api/organizationDataApi.js +2074 -1985
  87. package/build/sdk/studio/sdk/api/organizationDataApi.js.map +1 -1
  88. package/build/sdk/studio/sdk/api/organizationDataCampaignsApi.d.ts +4 -6
  89. package/build/sdk/studio/sdk/api/organizationDataCampaignsApi.js +626 -602
  90. package/build/sdk/studio/sdk/api/organizationDataCampaignsApi.js.map +1 -1
  91. package/build/sdk/studio/sdk/api/organizationJobsApi.d.ts +4 -6
  92. package/build/sdk/studio/sdk/api/organizationJobsApi.js +417 -399
  93. package/build/sdk/studio/sdk/api/organizationJobsApi.js.map +1 -1
  94. package/build/sdk/studio/sdk/api/organizationPipelinesApi.d.ts +4 -6
  95. package/build/sdk/studio/sdk/api/organizationPipelinesApi.js +419 -401
  96. package/build/sdk/studio/sdk/api/organizationPipelinesApi.js.map +1 -1
  97. package/build/sdk/studio/sdk/api/organizationPortalsApi.d.ts +4 -6
  98. package/build/sdk/studio/sdk/api/organizationPortalsApi.js +372 -352
  99. package/build/sdk/studio/sdk/api/organizationPortalsApi.js.map +1 -1
  100. package/build/sdk/studio/sdk/api/organizationsApi.d.ts +4 -6
  101. package/build/sdk/studio/sdk/api/organizationsApi.js +4024 -4050
  102. package/build/sdk/studio/sdk/api/organizationsApi.js.map +1 -1
  103. package/build/sdk/studio/sdk/api/performanceCalibrationApi.d.ts +4 -6
  104. package/build/sdk/studio/sdk/api/performanceCalibrationApi.js +586 -560
  105. package/build/sdk/studio/sdk/api/performanceCalibrationApi.js.map +1 -1
  106. package/build/sdk/studio/sdk/api/postProcessingApi.d.ts +4 -6
  107. package/build/sdk/studio/sdk/api/postProcessingApi.js +279 -255
  108. package/build/sdk/studio/sdk/api/postProcessingApi.js.map +1 -1
  109. package/build/sdk/studio/sdk/api/projectsApi.d.ts +4 -6
  110. package/build/sdk/studio/sdk/api/projectsApi.js +2758 -2818
  111. package/build/sdk/studio/sdk/api/projectsApi.js.map +1 -1
  112. package/build/sdk/studio/sdk/api/rawDataApi.d.ts +4 -6
  113. package/build/sdk/studio/sdk/api/rawDataApi.js +3055 -3131
  114. package/build/sdk/studio/sdk/api/rawDataApi.js.map +1 -1
  115. package/build/sdk/studio/sdk/api/testApi.d.ts +4 -6
  116. package/build/sdk/studio/sdk/api/testApi.js +152 -108
  117. package/build/sdk/studio/sdk/api/testApi.js.map +1 -1
  118. package/build/sdk/studio/sdk/api/themesApi.d.ts +4 -6
  119. package/build/sdk/studio/sdk/api/themesApi.js +341 -305
  120. package/build/sdk/studio/sdk/api/themesApi.js.map +1 -1
  121. package/build/sdk/studio/sdk/api/thirdPartyAuthApi.d.ts +4 -6
  122. package/build/sdk/studio/sdk/api/thirdPartyAuthApi.js +387 -353
  123. package/build/sdk/studio/sdk/api/thirdPartyAuthApi.js.map +1 -1
  124. package/build/sdk/studio/sdk/api/uploadPortalApi.d.ts +4 -6
  125. package/build/sdk/studio/sdk/api/uploadPortalApi.js +375 -355
  126. package/build/sdk/studio/sdk/api/uploadPortalApi.js.map +1 -1
  127. package/build/sdk/studio/sdk/api/userApi.d.ts +4 -6
  128. package/build/sdk/studio/sdk/api/userApi.js +2345 -2452
  129. package/build/sdk/studio/sdk/api/userApi.js.map +1 -1
  130. package/build/sdk/studio/sdk/api/vlmApi.d.ts +4 -6
  131. package/build/sdk/studio/sdk/api/vlmApi.js +277 -253
  132. package/build/sdk/studio/sdk/api/vlmApi.js.map +1 -1
  133. package/build/sdk/studio/sdk/api/whitelabelsApi.d.ts +4 -6
  134. package/build/sdk/studio/sdk/api/whitelabelsApi.js +408 -398
  135. package/build/sdk/studio/sdk/api/whitelabelsApi.js.map +1 -1
  136. package/build/sdk/studio/sdk/model/addOrganizationDeployBlockRequest.d.ts +4 -0
  137. package/build/sdk/studio/sdk/model/addOrganizationDeployBlockRequest.js +5 -0
  138. package/build/sdk/studio/sdk/model/addOrganizationDeployBlockRequest.js.map +1 -1
  139. package/build/sdk/studio/sdk/model/buildOnDeviceModelRequest.d.ts +6 -0
  140. package/build/sdk/studio/sdk/model/buildOnDeviceModelRequest.js +5 -0
  141. package/build/sdk/studio/sdk/model/buildOnDeviceModelRequest.js.map +1 -1
  142. package/build/sdk/studio/sdk/model/buildOrganizationOnDeviceModelRequest.d.ts +6 -0
  143. package/build/sdk/studio/sdk/model/buildOrganizationOnDeviceModelRequest.js +5 -0
  144. package/build/sdk/studio/sdk/model/buildOrganizationOnDeviceModelRequest.js.map +1 -1
  145. package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.d.ts +4 -0
  146. package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.js +5 -0
  147. package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.js.map +1 -1
  148. package/build/sdk/studio/sdk/model/deploymentTarget.d.ts +2 -0
  149. package/build/sdk/studio/sdk/model/deploymentTarget.js +5 -0
  150. package/build/sdk/studio/sdk/model/deploymentTarget.js.map +1 -1
  151. package/build/sdk/studio/sdk/model/models.d.ts +47 -7
  152. package/build/sdk/studio/sdk/model/models.js +33 -22
  153. package/build/sdk/studio/sdk/model/models.js.map +1 -1
  154. package/build/sdk/studio/sdk/model/organizationDeployBlock.d.ts +9 -0
  155. package/build/sdk/studio/sdk/model/organizationDeployBlock.js +10 -0
  156. package/build/sdk/studio/sdk/model/organizationDeployBlock.js.map +1 -1
  157. package/build/sdk/studio/sdk/model/projectDeploymentTarget.d.ts +2 -0
  158. package/build/sdk/studio/sdk/model/projectDeploymentTarget.js +5 -0
  159. package/build/sdk/studio/sdk/model/projectDeploymentTarget.js.map +1 -1
  160. package/build/sdk/studio/sdk/model/transferLearningModel.d.ts +4 -0
  161. package/build/sdk/studio/sdk/model/transferLearningModel.js +5 -0
  162. package/build/sdk/studio/sdk/model/transferLearningModel.js.map +1 -1
  163. package/build/sdk/studio/sdk/model/updateOrganizationDeployBlockRequest.d.ts +4 -0
  164. package/build/sdk/studio/sdk/model/updateOrganizationDeployBlockRequest.js +5 -0
  165. package/build/sdk/studio/sdk/model/updateOrganizationDeployBlockRequest.js.map +1 -1
  166. package/build/sdk/studio/sdk/model/uploadPretrainedModelByUrlRequest.d.ts +47 -0
  167. package/build/sdk/studio/sdk/model/uploadPretrainedModelByUrlRequest.js +55 -0
  168. package/build/sdk/studio/sdk/model/uploadPretrainedModelByUrlRequest.js.map +1 -0
  169. package/build/sdk/studio/sdk/model/uploadPretrainedModelRequest.d.ts +4 -0
  170. package/build/sdk/studio/sdk/model/uploadPretrainedModelRequest.js +5 -0
  171. package/build/sdk/studio/sdk/model/uploadPretrainedModelRequest.js.map +1 -1
  172. package/package.json +4 -2
  173. package/test/gstreamer.test.ts +984 -3788
  174. package/test/imx219-csi-on-arduino-unoq-inspect.txt +564 -0
  175. package/test/imx219-csi-on-arduino-unoq-monitor.txt +285 -0
  176. package/test/logitech-c920-on-ubuntu-22-parallells.txt +211 -0
  177. package/test/logitech-c922-on-rpi-bullseye-2.txt +270 -0
  178. package/test/logitech-c922-on-rpi-bullseye.txt +331 -0
  179. package/test/macbook-pro-w-internal-and-external-cam-inspect.txt +1496 -0
  180. package/test/macbook-pro-w-internal-and-external-cam-monitor.txt +209 -0
  181. package/test/nvidia-jetson-w-csi-camera.txt +94 -0
  182. package/test/nvidia-jetson-w-logitech-c922-monitor.txt +204 -0
  183. package/test/nvidia-orin-w-basler-camera-inspect.txt +859 -0
  184. package/test/nvidia-orin-w-basler-camera-pylonsrc.txt +806 -0
  185. package/test/rb1-debian-inspect.txt +568 -0
  186. package/test/rb1-debian-libcamera-monitor.txt +190 -0
  187. package/test/rpi-cam-v3-c920-webcam-bookworm-no-libcamerasrc.txt +383 -0
  188. package/test/rpi4-trixie-csi-gst-device-monitor.txt +1110 -0
  189. package/test/rpi4-trixie-csi-gst-inspect.txt +1379 -0
  190. package/test/rpi5-with-csi-imx500-camera-monitor.txt +3617 -0
  191. package/test/rpi5-with-csi-imx708-monitor.txt +2277 -0
  192. package/test/usb-camera-on-rpi-w-image-jpg.txt +130 -0
  193. /package/test/{qualcomm-rb3-inspect-qtiqmmfsrc.txt → qualcomm-rb3-gen-2-qimp-linux-1-2-with-logitech-brio-inspect-qtiqmmfsrc.txt} +0 -0
  194. /package/test/{qualcomm-rb3-inspect.txt → qualcomm-rb3-gen-2-qimp-linux-1-2-with-logitech-brio-inspect.txt} +0 -0
  195. /package/test/{qualcomm-rb3-monitor-brio.txt → qualcomm-rb3-gen-2-qimp-linux-1-2-with-logitech-brio-monitor.txt} +0 -0
  196. /package/test/{triple-vision-camera-inspect.txt → triple-vision-ai-industrial-camera-inspect.txt} +0 -0
  197. /package/test/{triple-vision-camera-monitor.txt → triple-vision-ai-industrial-camera-monitor.txt} +0 -0
@@ -33,6 +33,8 @@ commander_1.default
33
33
  'If this argument is omitted, and multiple cameras are found, a CLI selector is shown.')
34
34
  .option('--microphone <microphone>', 'Which microphone to use (either the name, or the device address). ' +
35
35
  'If this argument is omitted, and multiple microphones are found, a CLI selector is shown.')
36
+ .option('--camera-color-format <format>', 'Set camera color format according to GStreamer caps format, e.g. "RGB", "BGR", "GRAY8", "NV12", "I420"' +
37
+ ' Used only on Raspberry Pi 5 with GStreamer libcamera backend. Default format on RPi 5 is "YUY2".')
36
38
  .option('--verbose', 'Enable debug logs')
37
39
  .option('--greengrass', 'Enable AWS IoT greengrass integration mode')
38
40
  .allowUnknownOption(true)
@@ -53,6 +55,7 @@ const widthArgv = commander_1.default.width;
53
55
  const heightArgv = commander_1.default.height;
54
56
  const cameraArgv = commander_1.default.camera;
55
57
  const microphoneArgv = commander_1.default.microphone;
58
+ const cameraColorFormatArgv = commander_1.default.cameraColorFormat;
56
59
  if ((commander_1.default.width && !commander_1.default.height) || (!commander_1.default.width && commander_1.default.height)) {
57
60
  console.error('--width and --height need to either be both specified or both omitted');
58
61
  process.exit(1);
@@ -91,12 +94,10 @@ const cliOptions = {
91
94
  let camera;
92
95
  let configFactory;
93
96
  let isExiting = false;
97
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
94
98
  (async () => {
95
99
  try {
96
- const cameraType = process.env.PROPHESEE_CAM === '1' ? sensors_helper_1.CameraType.PropheseeCamera :
97
- process.platform === 'darwin' ? sensors_helper_1.CameraType.ImagesnapCamera :
98
- process.platform === 'linux' ? sensors_helper_1.CameraType.GStreamerCamera :
99
- sensors_helper_1.CameraType.UnknownCamera;
100
+ const cameraType = (0, sensors_helper_1.getCameraType)();
100
101
  const init = await (0, init_cli_app_1.initCliApp)(cliOptions);
101
102
  const config = init.config;
102
103
  configFactory = init.configFactory;
@@ -160,16 +161,23 @@ let isExiting = false;
160
161
  console.log(SERIAL_PREFIX, 'Using microphone', audioDeviceName);
161
162
  }
162
163
  if (!noCamera) {
163
- camera = await (0, sensors_helper_1.initCamera)({
164
+ const initedCamera = await (0, sensors_helper_1.initCamera)({
164
165
  cameraType: cameraType,
165
- cameraDeviceNameInConfig: await configFactory.getCamera(),
166
+ cameraDeviceNameInConfig: cleanArgv ? undefined : await configFactory.getCamera(),
166
167
  cameraNameArgv: cameraArgv,
167
168
  dimensions: cameraDimensions,
168
169
  gstLaunchArgs: gstLaunchArgsArgv,
169
170
  verboseOutput: verboseArgv,
171
+ cameraColorFormat: cameraColorFormatArgv,
170
172
  inferenceDimensions: undefined,
171
173
  profiling: false,
172
174
  });
175
+ camera = await initedCamera.start();
176
+ const cameraOpts = camera.getLastOptions();
177
+ if (cameraOpts) {
178
+ await configFactory.storeCamera(cameraOpts.device);
179
+ console.log(SERIAL_PREFIX, 'Connected to camera ' + cameraOpts.device);
180
+ }
173
181
  camera.on('error', error => {
174
182
  if (isExiting)
175
183
  return;
@@ -195,6 +203,9 @@ let isExiting = false;
195
203
  }
196
204
  catch (ex) {
197
205
  console.error('Failed to initialize linux tool', ex);
206
+ if (verboseArgv === false) {
207
+ console.error('Re-run this command with --verbose to enable debug logs');
208
+ }
198
209
  if (camera) {
199
210
  await camera.stop();
200
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"linux.js","sourceRoot":"","sources":["../../../cli/linux/linux.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linux.js","sourceRoot":"","sources":["../../../cli/linux/linux.ts"],"names":[],"mappings":";;;;;;AAEA,wDAAgC;AAChC,gEAAwE;AACxE,8EAAkE;AAGlE,0DAAgC;AAChC,gDAAwB;AACxB,4CAAoB;AACpB,4CAA2B;AAC3B,yEAAiG;AACjG,iDAA6C;AAE7C,MAAM,cAAc,GAAyB,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CACnE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAE,CAAC,OAAO,CAAC;AAE/E,mBAAO;KACF,WAAW,CAAC,4BAA4B,GAAG,cAAc,CAAC;KAC1D,OAAO,CAAC,cAAc,CAAC;KACvB,MAAM,CAAC,iBAAiB,EAAE,2EAA2E,CAAC;KACtG,MAAM,CAAC,kBAAkB,EAAE,gEAAgE,CAAC;KAC5F,MAAM,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;KACrD,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;KAC7D,MAAM,CAAC,cAAc,EAAE,oCAAoC,CAAC;KAC5D,MAAM,CAAC,eAAe,EAAE,qCAAqC,CAAC;KAC9D,MAAM,CAAC,0BAA0B,EAAE,oGAAoG;IACpI,0FAA0F,CAAC;KAC9F,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;KACtC,MAAM,CAAC,UAAU,EAAE,kDAAkD,CAAC;KACtE,MAAM,CAAC,OAAO,EAAE,yFAAyF;IACtG,uCAAuC,CAAC;KAC3C,MAAM,CAAC,mBAAmB,EAAE,mFAAmF;IAC5G,uFAAuF,CAAC;KAC3F,MAAM,CAAC,2BAA2B,EAAE,oEAAoE;IACrG,2FAA2F,CAAC;KAC/F,MAAM,CAAC,gCAAgC,EAAE,wGAAwG;IAC9I,mGAAmG,CAAC;KACvG,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC;KACxC,MAAM,CAAC,cAAc,EAAE,4CAA4C,CAAC;KACpE,kBAAkB,CAAC,IAAI,CAAC;KACxB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzB,MAAM,OAAO,GAAY,CAAC,CAAC,mBAAO,CAAC,GAAG,CAAC;AACvC,MAAM,SAAS,GAAY,CAAC,CAAC,mBAAO,CAAC,KAAK,CAAC;AAC3C,MAAM,UAAU,GAAY,CAAC,CAAC,mBAAO,CAAC,MAAM,CAAC;AAC7C,MAAM,WAAW,GAAY,CAAC,CAAC,mBAAO,CAAC,OAAO,CAAC;AAC/C,MAAM,UAAU,GAAuB,mBAAO,CAAC,MAAM,CAAC;AACtD,MAAM,cAAc,GAAY,CAAC,CAAC,mBAAO,CAAC,UAAU,CAAC;AACrD,MAAM,WAAW,GAAuB,mBAAO,CAAC,OAAO,CAAC;AACxD,MAAM,iBAAiB,GAAuB,mBAAO,CAAC,aAAa,CAAC;AACpE,MAAM,QAAQ,GAAY,CAAC,CAAC,mBAAO,CAAC,aAAa,CAAC;AAClD,MAAM,YAAY,GAAY,CAAC,CAAC,mBAAO,CAAC,iBAAiB,CAAC;AAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC;AACtD,MAAM,WAAW,GAAG,WAAW,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC;AACtE,MAAM,SAAS,GAAuB,mBAAO,CAAC,KAAK,CAAC;AACpD,MAAM,UAAU,GAAuB,mBAAO,CAAC,MAAM,CAAC;AACtD,MAAM,UAAU,GAAuB,mBAAO,CAAC,MAAM,CAAC;AACtD,MAAM,cAAc,GAAuB,mBAAO,CAAC,UAAU,CAAC;AAC9D,MAAM,qBAAqB,GAAuB,mBAAO,CAAC,iBAAiB,CAAC;AAE5E,IAAI,CAAC,mBAAO,CAAC,KAAK,IAAI,CAAC,mBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,mBAAO,CAAC,KAAK,IAAI,mBAAO,CAAC,MAAM,CAAC,EAAE;IAC1E,OAAO,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;IACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACnB;AAED,IAAI,gBAA+D,CAAC;AACpE,IAAI,SAAS,IAAI,UAAU,EAAE;IACzB,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,0DAA0D,SAAS,IAAI,CAAC,CAAC;KAC5F;IACD,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,2DAA2D,UAAU,IAAI,CAAC,CAAC;KAC9F;IACD,gBAAgB,GAAG;QACf,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC;KAC7B,CAAC;CACL;AAED,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAE7C,MAAM,UAAU,GAAG;IACf,OAAO,EAAE,2BAA2B;IACpC,UAAU,EAAE,UAAU;IACtB,cAAc,EAAE,cAAc;IAC9B,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE,UAAU;IACtB,iBAAiB,EAAE,sDAAsD;IACzE,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAC7B,IAAI,SAAS,GAAG,MAAM,aAAa,CAAC,iBAAiB,EAAE,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IACpC,CAAC;CACJ,CAAC;AAEF,IAAI,MAA2B,CAAC;AAChC,IAAI,aAAqB,CAAC;AAC1B,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,mEAAmE;AACnE,CAAC,KAAK,IAAI,EAAE;IACR,IAAI;QACA,MAAM,UAAU,GAAG,IAAA,8BAAa,GAAE,CAAC;QAEnC,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAU,EAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAEnC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,0BAAW,EAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE/F,MAAM,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAEjD,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAClG,aAAa,CAAC,CAAC;QACnB,MAAM,UAAU,GAAG,IAAI,gCAAU,CAAC,SAAS,EACvC,OAAO,EACP,MAAM,CAAC,MAAM,CAAC;YACV,OAAO,EAAwB,oBAAoB;SACtD,EAAE,MAAM,CAAC,EACV,WAAW,EACX,SAAS,EAAE,0BAA0B;QACrC,AADW,0BAA0B;QACrC,GAAG,CAAC,EAAE,CAAC,IAAI,YAAS,CAAC,GAAG,CAAC,EACzB,KAAK,EAAE,QAAQ,EAAE,EAAE;YACf,4EAA4E;YAC5E,IAAI,UAAU,GAA2B,MAAM,kBAAQ,CAAC,MAAM,CAAC,CAAC;oBAC5D,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,4CAA4C;oBACrD,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,QAAQ;iBACpB,CAAC,CAAC,CAAC;YACJ,OAAO,UAAU,CAAC,UAAU,CAAC;QACjC,CAAC,CAAC,CAAC;QAEP,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,SAAS,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACnB;iBACI;gBACD,SAAS,GAAG,IAAI,CAAC;gBAEjB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,gDAAgD;oBACvE,mCAAmC,CAAC,CAAC;gBACzC,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI;oBACA,IAAI,MAAM,EAAE;wBACR,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;qBACvB;oBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;gBACD,OAAO,GAAG,EAAE;oBACR,IAAI,EAAE,GAAU,GAAG,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,4BAA4B,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;iBACxE;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACnB;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE/B,IAAI,CAAC,YAAY,EAAE;YACf,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI;gBACA,eAAe,GAAG,MAAM,IAAA,+BAAc,EAAC;oBACnC,uBAAuB,EAAE,MAAM,aAAa,CAAC,QAAQ,EAAE;oBACvD,aAAa,EAAE,cAAc;iBAChC,CAAC,CAAC;aACN;YACD,OAAO,GAAG,EAAE;gBACR,MAAM,EAAE,GAAU,GAAG,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACnB;YACD,MAAM,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAChD,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAEhD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,kBAAkB,EAAE,eAAe,CAAC,CAAC;SACnE;QAED,IAAI,CAAC,QAAQ,EAAE;YACX,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAU,EAAC;gBAClC,UAAU,EAAE,UAAU;gBACtB,wBAAwB,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,SAAS,EAAE;gBACjF,cAAc,EAAE,UAAU;gBAC1B,UAAU,EAAE,gBAAgB;gBAC5B,aAAa,EAAE,iBAAiB;gBAChC,aAAa,EAAE,WAAW;gBAC1B,iBAAiB,EAAE,qBAAqB;gBACxC,mBAAmB,EAAE,SAAS;gBAC9B,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3C,IAAI,UAAU,EAAE;gBACZ,MAAM,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,sBAAsB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;aAC1E;YAED,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;gBACvB,IAAI,SAAS;oBAAE,OAAO;gBAEtB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,EAAE;gBACP,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,MAAM,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,WAAW,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YAElD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;SACpE;QAED,UAAU,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YAC7C,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;YACpD,IAAI,MAAM,EAAE;gBACR,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;aACvB;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;KAC9B;IACD,OAAO,EAAE,EAAE;QACP,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,WAAW,KAAK,KAAK,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;SAC5E;QACD,IAAI,MAAM,EAAE;YACR,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;SACvB;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;AACL,CAAC,CAAC,EAAE,CAAC"}
@@ -24,7 +24,6 @@ export declare class RunnerDownloader extends EventEmitter<{
24
24
  getLastDeploymentVersion(): Promise<number | null>;
25
25
  downloadDeployment(): Promise<Buffer>;
26
26
  private buildModel;
27
- private static isGpuDelegateAvailable;
28
27
  }
29
28
  export declare class RunnerModelPath {
30
29
  private _projectId;
@@ -30,14 +30,18 @@ class RunnerDownloader extends tsee_1.EventEmitter {
30
30
  }
31
31
  }
32
32
  else if (process.platform === 'linux') {
33
+ // 32-bit ARM
33
34
  if (process.arch === 'arm') {
34
35
  let uname = (await (0, spawn_helper_1.spawnHelper)('uname', ['-m'])).trim();
35
- if (uname !== 'armv7l') {
36
+ // e.g. Rpi4 with 32-bit OS version has uname "aarch64" but process.arch "arm" -
37
+ // so both should be valid here
38
+ if (uname !== 'armv7l' && uname !== 'aarch64') {
36
39
  throw new Error('Unsupported architecture "' + uname + '", only ' +
37
40
  'armv7l or aarch64 supported for now');
38
41
  }
39
42
  downloadType = 'runner-linux-armv7';
40
43
  }
44
+ // 64-bit ARM
41
45
  else if (process.arch === 'arm64') {
42
46
  let uname = (await (0, spawn_helper_1.spawnHelper)('uname', ['-m'])).trim();
43
47
  if (uname !== 'aarch64') {
@@ -76,9 +80,6 @@ class RunnerDownloader extends tsee_1.EventEmitter {
76
80
  else if (await checkFileExists('/usr/lib/libQnnTFLiteDelegate.so')) {
77
81
  downloadType = 'runner-linux-aarch64-qnn';
78
82
  }
79
- else if (await this.isGpuDelegateAvailable()) {
80
- downloadType = 'runner-linux-aarch64-gpu';
81
- }
82
83
  else {
83
84
  downloadType = 'runner-linux-aarch64';
84
85
  }
@@ -171,13 +172,6 @@ class RunnerDownloader extends tsee_1.EventEmitter {
171
172
  console.log(BUILD_PREFIX, d.trim());
172
173
  });
173
174
  }
174
- static async isGpuDelegateAvailable() {
175
- const gpuDelegatePath = await (0, spawn_helper_1.spawnHelper)('find', ['/usr/lib', '-type', 'f', '-name', 'libtensorflowlite_gpu_delegate.so']);
176
- if (gpuDelegatePath.trim() !== '') {
177
- return true;
178
- }
179
- return false;
180
- }
181
175
  }
182
176
  exports.RunnerDownloader = RunnerDownloader;
183
177
  class RunnerModelPath {
@@ -1 +1 @@
1
- {"version":3,"file":"runner-downloader.js","sourceRoot":"","sources":["../../../cli/linux/runner-downloader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-downloader.js","sourceRoot":"","sources":["../../../cli/linux/runner-downloader.ts"],"names":[],"mappings":";;;;;;AACA,+BAAoC;AACpC,qEAAiE;AACjE,4CAAoB;AAEpB,gDAAwB;AACxB,4CAAoB;AAEpB,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAC5C,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAE7C,MAAa,gBAAiB,SAAQ,mBAEpC;IACE,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAA+B;QAC1D,IAAI,WAAW,EAAE;YACb,OAAO,WAAW,CAAC;SACtB;QAED,IAAI,YAAoB,CAAC;QACzB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;gBACxB,YAAY,GAAG,mBAAmB,CAAC;aACtC;iBACI,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC/B,YAAY,GAAG,kBAAkB,CAAC;aACrC;iBACI;gBACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,OAAO,CAAC,IAAI,GAAG,UAAU;oBACpE,gCAAgC,CAAC,CAAC;aACzC;SACJ;aACI,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;YACnC,aAAa;YACb,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;gBACxB,IAAI,KAAK,GAAG,CAAC,MAAM,IAAA,0BAAW,EAAC,OAAO,EAAE,CAAE,IAAI,CAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1D,gFAAgF;gBAChF,+BAA+B;gBAC/B,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,EAAE;oBAC3C,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,KAAK,GAAG,UAAU;wBAC7D,qCAAqC,CAAC,CAAC;iBAC9C;gBAED,YAAY,GAAG,oBAAoB,CAAC;aACvC;YACD,aAAa;iBACR,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC/B,IAAI,KAAK,GAAG,CAAC,MAAM,IAAA,0BAAW,EAAC,OAAO,EAAE,CAAE,IAAI,CAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1D,IAAI,KAAK,KAAK,SAAS,EAAE;oBACrB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,KAAK,GAAG,UAAU;wBAC7D,qCAAqC,CAAC,CAAC;iBAC9C;gBAED,IAAI,MAAM,eAAe,CAAC,aAAa,CAAC,EAAE;oBACtC,YAAY,GAAG,4BAA4B,CAAC;iBAC/C;qBACI,IAAI,MAAM,eAAe,CAAC,aAAa,CAAC,EAAE;oBAC3C,YAAY,GAAG,8BAA8B,CAAC;iBACjD;qBACI,IAAI,MAAM,eAAe,CAAC,oBAAoB,CAAC,EAAE;oBAElD,YAAY,GAAG,kCAAkC,CAAC;oBAElD,IAAI,aAAa,CAAC;oBAClB,wDAAwD;oBACxD,IAAI,MAAM,eAAe,CAAC,yBAAyB,CAAC,EAAE;wBAClD,aAAa,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;qBAClF;oBAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,GAAG,CAAC;wBACrD,CAAC,aAAa,IAAI,aAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACrE,YAAY,GAAG,kCAAkC,CAAC;qBACrD;oBAED,IAAI,OAAO,CAAC,GAAG,CAAC,mCAAmC,KAAK,GAAG,EAAE;wBACzD,YAAY,GAAG,sCAAsC,CAAC;qBACzD;oBAED,MAAM,OAAO,GAAG,CAAC,MAAM,IAAA,0BAAW,EAAC,MAAM,EAAE,CAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB,CAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC7G,MAAM,UAAU,GAAG,CAAC,MAAM,IAAA,0BAAW,EAAC,MAAM,EAAE,CAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB,CAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChH,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAA,0BAAW,EAAC,MAAM,EAAE,CAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,CAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAE5G,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;2BACzB,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;2BAC9B,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACjC,YAAY,GAAG,sCAAsC,CAAC;qBACzD;iBAEJ;qBACI,IAAI,MAAM,eAAe,CAAC,kCAAkC,CAAC,EAAE;oBAChE,YAAY,GAAG,0BAA0B,CAAC;iBAC7C;qBACI;oBACD,YAAY,GAAG,sBAAsB,CAAC;iBACzC;aACJ;iBACI,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;gBAC7B,IAAI,MAAM,eAAe,CAAC,aAAa,CAAC,EAAE;oBACtC,YAAY,GAAG,8BAA8B,CAAC;iBACjD;qBACI;oBACD,YAAY,GAAG,qBAAqB,CAAC;iBACxC;aACJ;iBACI;gBACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,OAAO,CAAC,IAAI,GAAG,UAAU;oBACpE,uBAAuB,CAAC,CAAC;aAChC;SACJ;aACI;YACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;SACtE;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IASD,YAAY,IAOX;QACG,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC1B,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CACrD,IAAI,CAAC,UAAU,EAAE;YACb,IAAI,EAAE,IAAI,CAAC,eAAe;YAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;SAC7B,CAAC,CAAC;QAEP,OAAO,UAAU,CAAC,aAAa,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;YACvE,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,IAAI,CAAC;IACb,CAAC;IAED,KAAK,CAAC,kBAAkB;QACpB,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CACrD,IAAI,CAAC,UAAU,EAAE;YACb,IAAI,EAAE,IAAI,CAAC,eAAe;YAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;SAC7B,CAAC,CAAC;QAEP,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;YAC3B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;SAC3B;QAED,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CACrD,IAAI,CAAC,UAAU,EAAE;YACb,IAAI,EAAE,IAAI,CAAC,eAAe;YAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;SAC7B,CAAC,CAAC;QACP,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,UAAU;QACpB,0BAA0B;QAC1B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,0CAA0C,CAAC,IAAI,CAAC,UAAU,EAAE;YAC9F,SAAS,EAAE,IAAI,CAAC,UAAU;SAC7B,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,IAAI,CAAC,eAAe,GAAG,kBAAkB;gBAC1F,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACtD;QAED,IAAI,MAAM,GAAkC,UAAU,CAAC,eAAe,CAAC;QACvE,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,EAAE;gBACjE,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,GAAG,yBAAyB;oBAC3E,GAAG,GAAG,IAAI,CAAC,eAAe,GAAG,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;aACxG;YACD,MAAM,GAAkC,IAAI,CAAC,YAAY,CAAC;SAC7D;QAED,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE;YACvE,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,IAAI,CAAC,UAAU;SAC7B,EAAE;YACC,IAAI,EAAE,IAAI,CAAC,eAAe;YAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;SAC7B,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,4BAA4B,GAAG,KAAK,CAAC,CAAC;QAElE,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAClC,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,KAAK,EAAE,KAAK;SACf,EAAE,CAAC,CAAC,EAAE;YACH,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA3MD,4CA2MC;AAED,MAAa,eAAe;IAOxB,YAAY,IAMX;QACG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,YAAY,CAAC,OAAe;QACxB,IAAI,SAAS,GAAG,GAAG,GAAG,OAAO,CAAC;QAC9B,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC5B,SAAS,IAAI,YAAY,CAAC;SAC7B;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC;SAC7C;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;SACxC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;YACvB,SAAS,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;SAC7C;QAED,OAAO,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,GAAG,EAAE,EAC7E,SAAS,EAAE,WAAW,CAAC,CAAC;IAChC,CAAC;CACJ;AAxCD,0CAwCC;AAED,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,OAAO,YAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,YAAE,CAAC,SAAS,CAAC,IAAI,CAAC;aAC7C,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACzB,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,IAOnC;IAIG,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAElF,IAAI,SAAsC,CAAC;IAC3C,IAAI,SAAiB,CAAC;IAEtB,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC;QACpC,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,OAAO;QAClB,GAAG;QACH,cAAc,EAAE,cAAc;QAC9B,WAAW,EAAE,YAAY;KAC5B,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE;QAClC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,SAAS,GAAG,IAAI,eAAe,CAAC;QAC5B,SAAS;QACT,SAAS;QACT,SAAS,EAAE,OAAO;QAClB,cAAc,EAAE,cAAc;QAC9B,WAAW,EAAE,YAAY;KAC5B,CAAC,CAAC;IAEH,2DAA2D;IAC3D,IAAI,WAAW,GAAG,MAAM,UAAU,CAAC,wBAAwB,EAAE,CAAC;IAC9D,IAAI,WAAW,IAAI,MAAM,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,EAAE;QAC3E,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;KACrF;SACI;QACD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;QAEnD,IAAI,UAAU,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACvD,IAAI,MAAM,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnF,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9C,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAE1C,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;KACtD;IAED,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACpC,CAAC;AAxDD,sCAwDC"}
@@ -1,10 +1,12 @@
1
1
  import { ICamera, ImageClassifier } from "../../library";
2
2
  export declare class RunnerProfiling {
3
3
  private _startupTime;
4
- private _filenameToFrameIx;
5
- private _frameIxFirstEv;
6
- private _frameIxLastEv;
7
- private _frameId;
4
+ private _ptsFirstEv;
5
+ private _ptsLastEv;
6
+ private _eventsByPts;
7
+ private _filenameToPts;
8
8
  constructor(camera: ICamera, imgClassifier: ImageClassifier);
9
+ printSummary(): void;
9
10
  private logWithFilename;
11
+ private getEventByPtsForFilename;
10
12
  }
@@ -5,67 +5,197 @@ const PROFILING_PREFIX = '\x1b[35m[PRF]\x1b[0m';
5
5
  class RunnerProfiling {
6
6
  constructor(camera, imgClassifier) {
7
7
  this._startupTime = Date.now();
8
- this._filenameToFrameIx = new Map();
9
- this._frameIxFirstEv = new Map();
10
- this._frameIxLastEv = new Map();
11
- this._frameId = -1;
12
- camera.on('profilingInfo', (date, key) => {
13
- let id;
14
- if (key === 'frame_ready') {
15
- id = ++this._frameId;
16
- this._frameIxFirstEv.set(id, Date.now());
17
- this._frameIxLastEv.set(id, Date.now());
8
+ this._ptsFirstEv = new Map();
9
+ this._ptsLastEv = new Map();
10
+ this._eventsByPts = new Map();
11
+ this._filenameToPts = new Map();
12
+ camera.on('profilingInfo', (ev) => {
13
+ if (ev.type === 'frame_ready' || ev.type === 'event-without-filename') {
14
+ const key = ev.type === 'frame_ready' ? 'frame_ready' : ev.name;
15
+ const pts = ev.pts;
16
+ const date = ev.ts;
17
+ let eventByPts;
18
+ if (ev.type === 'frame_ready') {
19
+ this._ptsFirstEv.set(pts, Date.now());
20
+ this._ptsLastEv.set(pts, Date.now());
21
+ eventByPts = { offset: ev.offset, events: [] };
22
+ this._eventsByPts.set(pts, eventByPts);
23
+ }
24
+ else {
25
+ if (!this._eventsByPts.has(pts)) {
26
+ console.log(PROFILING_PREFIX, `received camera profilingInfo, but cannot find pts: ${JSON.stringify(ev)}`);
27
+ return;
28
+ }
29
+ eventByPts = this._eventsByPts.get(pts);
30
+ }
31
+ const msSinceStart = `${(+date - this._startupTime).toString().padStart(8, ' ')}ms.`;
32
+ const msSinceBeginEv = `${(Date.now() - this._ptsFirstEv.get(pts)).toString().padStart(4, ' ')}ms.`;
33
+ const msSinceLastEv = `${(Date.now() - this._ptsLastEv.get(pts)).toString().padStart(4, ' ')}ms.`;
34
+ console.log(PROFILING_PREFIX, `ts=${msSinceStart} frame=${eventByPts.offset} ts_ev=${msSinceBeginEv} since_last=${msSinceLastEv} ` +
35
+ `module=camera ev=${key}`);
36
+ this._ptsLastEv.set(pts, Date.now());
37
+ eventByPts.events.push({
38
+ timestampMs: Date.now() - this._ptsFirstEv.get(pts),
39
+ eventName: key,
40
+ });
18
41
  }
19
- else {
20
- id = this._frameId;
42
+ else if (ev.type === 'pts-to-filename') {
43
+ if (this._filenameToPts.has(ev.filename)) {
44
+ const currPts = this._filenameToPts.get(ev.filename);
45
+ if (currPts !== ev.pts) {
46
+ console.log(PROFILING_PREFIX, `[WARN] pts changed for "${ev.filename} (curr=${currPts}, new=${ev.pts})`);
47
+ }
48
+ }
49
+ this._filenameToPts.set(ev.filename, ev.pts);
50
+ }
51
+ else if (ev.type === 'event-with-filename') {
52
+ const evByPts = this.getEventByPtsForFilename(ev.filename);
53
+ if (!evByPts)
54
+ return;
55
+ evByPts.eventByPts.events.push({
56
+ timestampMs: Date.now() - evByPts.firstEventMs,
57
+ eventName: ev.name,
58
+ });
59
+ this.logWithFilename(ev.ts, ev.filename, `module=camera ev=${ev.name}`);
21
60
  }
22
- const msSinceStart = `${(+date - this._startupTime).toString().padStart(8, ' ')}ms.`;
23
- const msSinceBeginEv = `${(Date.now() - this._frameIxFirstEv.get(id)).toString().padStart(4, ' ')}ms.`;
24
- const msSinceLastEv = `${(Date.now() - this._frameIxLastEv.get(id)).toString().padStart(4, ' ')}ms.`;
25
- console.log(PROFILING_PREFIX, `ts=${msSinceStart} frame_id=${id} ts_ev=${msSinceBeginEv} since_last=${msSinceLastEv} ` +
26
- `module=camera ev=${key}`);
27
- this._frameIxLastEv.set(id, Date.now());
28
61
  });
29
62
  camera.on('snapshot', (buffer, filename) => {
30
- this._filenameToFrameIx.set(filename, this._frameId);
31
- this.logWithFilename(filename, `module=camera ev=snapshot`);
63
+ this.logWithFilename(new Date(), filename, `module=camera ev=snapshot`);
32
64
  });
65
+ const handleImgClassifierEvent = (filename, key) => {
66
+ const evByPts = this.getEventByPtsForFilename(filename);
67
+ if (!evByPts)
68
+ return;
69
+ evByPts.eventByPts.events.push({
70
+ timestampMs: Date.now() - evByPts.firstEventMs,
71
+ eventName: key,
72
+ });
73
+ this.logWithFilename(new Date(), filename, `module=img_classifier ev=${key}`);
74
+ };
33
75
  imgClassifier.on('profileSnapshotHandlerBegin', filename => {
34
- this.logWithFilename(filename, `module=img_classifier ev=snapshot_handler_begin`);
76
+ handleImgClassifierEvent(filename, `snapshot_handler_begin`);
35
77
  });
36
78
  imgClassifier.on('profileSnapshotHandlerEnd', filename => {
37
- this.logWithFilename(filename, `module=img_classifier ev=snapshot_handler_end`);
79
+ handleImgClassifierEvent(filename, `snapshot_handler_end`);
38
80
  });
39
81
  imgClassifier.on('profileFeaturesBegin', filename => {
40
- this.logWithFilename(filename, `module=img_classifier ev=features_begin`);
82
+ handleImgClassifierEvent(filename, `features_begin`);
41
83
  });
42
84
  imgClassifier.on('profileFeaturesEnd', filename => {
43
- this.logWithFilename(filename, `module=img_classifier ev=features_end`);
85
+ handleImgClassifierEvent(filename, `features_end`);
44
86
  });
45
87
  imgClassifier.on('profileClassifyBegin', filename => {
46
- this.logWithFilename(filename, `module=img_classifier ev=classify_begin`);
88
+ handleImgClassifierEvent(filename, `classify_begin`);
47
89
  });
48
90
  imgClassifier.on('profileClassifyEnd', (filename, timingCppMs) => {
49
- this.logWithFilename(filename, `module=img_classifier ev=classify_end inference_time_cpp=${JSON.stringify(timingCppMs)}`);
91
+ handleImgClassifierEvent(filename, `classify_end inference_time_cpp=${JSON.stringify(timingCppMs)}`);
50
92
  });
51
93
  imgClassifier.on('profileEmitResultBegin', filename => {
52
- this.logWithFilename(filename, `module=img_classifier ev=emit_result_begin`);
94
+ handleImgClassifierEvent(filename, `emit_result_begin`);
53
95
  });
54
96
  imgClassifier.on('profileEmitResultEnd', filename => {
55
- this.logWithFilename(filename, `module=img_classifier ev=emit_result_end`);
97
+ handleImgClassifierEvent(filename, `emit_result_end`);
56
98
  });
57
99
  }
58
- logWithFilename(filename, msg) {
59
- const frameId = this._filenameToFrameIx.get(filename);
60
- if (!frameId) {
61
- console.log(PROFILING_PREFIX, `WARN: Cannot find frame ID for filename (${filename}): ${msg}`);
100
+ printSummary() {
101
+ let frameReadyToEmitResultEnd = { sum: 0, count: 0 };
102
+ let frameReadyToClassifyBegin = { sum: 0, count: 0 };
103
+ let eventMap = {};
104
+ for (const frameId of this._eventsByPts.keys()) {
105
+ const val = this._eventsByPts.get(frameId);
106
+ for (let ix = 1; ix < val.events.length; ix++) {
107
+ const prev = val.events[ix - 1];
108
+ const curr = val.events[ix];
109
+ const prevEvName = prev.eventName.startsWith('classify_end') ?
110
+ 'classify_end' :
111
+ prev.eventName;
112
+ const currEvName = curr.eventName.startsWith('classify_end') ?
113
+ 'classify_end' :
114
+ curr.eventName;
115
+ const eventMapKey = `${prevEvName}:${currEvName}`;
116
+ if (!eventMap[eventMapKey]) {
117
+ eventMap[eventMapKey] = { count: 0, sum: 0 };
118
+ }
119
+ eventMap[eventMapKey].count++;
120
+ eventMap[eventMapKey].sum += (curr.timestampMs - prev.timestampMs);
121
+ }
122
+ let frameReady;
123
+ let classifyBegin;
124
+ let resultEnd;
125
+ for (const event of val.events) {
126
+ if (event.eventName === 'frame_ready') {
127
+ frameReady = event.timestampMs;
128
+ }
129
+ else if (event.eventName === 'classify_begin') {
130
+ classifyBegin = event.timestampMs;
131
+ }
132
+ else if (event.eventName === 'emit_result_end') {
133
+ resultEnd = event.timestampMs;
134
+ }
135
+ }
136
+ // only allow events that have both frame_ready and emit_result_end
137
+ if (typeof frameReady !== 'number' || typeof resultEnd !== 'number')
138
+ continue;
139
+ if (typeof classifyBegin === 'number') {
140
+ frameReadyToClassifyBegin.sum += classifyBegin;
141
+ frameReadyToClassifyBegin.count++;
142
+ }
143
+ frameReadyToEmitResultEnd.sum += (resultEnd - frameReady);
144
+ frameReadyToEmitResultEnd.count++;
145
+ }
146
+ console.log('');
147
+ console.log(PROFILING_PREFIX, `Profiling summary:`);
148
+ if (frameReadyToEmitResultEnd.count > 0) {
149
+ console.log(PROFILING_PREFIX, ` Full inference (frame_ready → emit_result_end): avg=` +
150
+ (frameReadyToEmitResultEnd.sum / frameReadyToEmitResultEnd.count).toFixed(1) + 'ms.', `(${frameReadyToEmitResultEnd.count} frames)`);
151
+ }
152
+ else {
153
+ console.log(PROFILING_PREFIX, ` Full inference (frame_ready → emit_result_end): N/A`);
154
+ }
155
+ console.log(PROFILING_PREFIX);
156
+ console.log(PROFILING_PREFIX, `Per-event summary:`);
157
+ if (frameReadyToClassifyBegin.count > 0) {
158
+ console.log(PROFILING_PREFIX, ` frame_ready → classify_begin: avg=` +
159
+ (frameReadyToClassifyBegin.sum / frameReadyToClassifyBegin.count).toFixed(1) + 'ms.', `(${frameReadyToClassifyBegin.count} frames)`);
160
+ }
161
+ else {
162
+ console.log(PROFILING_PREFIX, ` frame_ready → classify_begin: N/A`);
163
+ }
164
+ for (const key of Object.keys(eventMap)) {
165
+ const [ev1, ev2] = key.split(':');
166
+ const val = eventMap[key];
167
+ console.log(PROFILING_PREFIX, ` ${ev1} → ${ev2}: avg=` +
168
+ (val.sum / val.count).toFixed(1) + 'ms.', `(${val.count} frames)`);
169
+ }
170
+ }
171
+ logWithFilename(ts, filename, msg) {
172
+ const evByPts = this.getEventByPtsForFilename(filename);
173
+ if (!evByPts)
62
174
  return;
175
+ const msSinceStart = `${(+ts - this._startupTime).toString().padStart(8, ' ')}ms.`;
176
+ const msSinceBeginEv = `${(+ts - evByPts.firstEventMs).toString().padStart(4, ' ')}ms.`;
177
+ const msSinceLastEv = `${(+ts - evByPts.lastEventMs).toString().padStart(4, ' ')}ms.`;
178
+ console.log(PROFILING_PREFIX, `ts=${msSinceStart} frame=${evByPts.eventByPts.offset} ts_ev=${msSinceBeginEv} since_last=${msSinceLastEv} filename=${filename} ${msg}`);
179
+ this._ptsLastEv.set(evByPts.pts, +ts);
180
+ }
181
+ getEventByPtsForFilename(filename) {
182
+ const pts = this._filenameToPts.get(filename);
183
+ if (!pts) {
184
+ console.log(PROFILING_PREFIX, `[WARN] filename "${filename}" does not have pts attached`);
185
+ return null;
186
+ }
187
+ const eventByPts = this._eventsByPts.get(pts);
188
+ if (!eventByPts) {
189
+ return null;
63
190
  }
64
- const msSinceStart = `${(Date.now() - this._startupTime).toString().padStart(8, ' ')}ms.`;
65
- const msSinceBeginEv = `${(Date.now() - this._frameIxFirstEv.get(frameId)).toString().padStart(4, ' ')}ms.`;
66
- const msSinceLastEv = `${(Date.now() - this._frameIxLastEv.get(frameId)).toString().padStart(4, ' ')}ms.`;
67
- console.log(PROFILING_PREFIX, `ts=${msSinceStart} frame_id=${frameId} ts_ev=${msSinceBeginEv} since_last=${msSinceLastEv} filename=${filename} ${msg}`);
68
- this._frameIxLastEv.set(frameId, Date.now());
191
+ const firstEventMs = this._ptsFirstEv.get(pts) || 0;
192
+ const lastEventMs = this._ptsLastEv.get(pts) || 0;
193
+ return {
194
+ pts,
195
+ firstEventMs,
196
+ lastEventMs,
197
+ eventByPts,
198
+ };
69
199
  }
70
200
  }
71
201
  exports.RunnerProfiling = RunnerProfiling;
@@ -1 +1 @@
1
- {"version":3,"file":"runner-profiling.js","sourceRoot":"","sources":["../../../cli/linux/runner-profiling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-profiling.js","sourceRoot":"","sources":["../../../cli/linux/runner-profiling.ts"],"names":[],"mappings":"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"}