@finos/legend-application-studio 22.4.4 → 22.4.5

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 (165) hide show
  1. package/lib/components/Core_LegendStudioApplicationPlugin.d.ts.map +1 -1
  2. package/lib/components/Core_LegendStudioApplicationPlugin.js +1 -0
  3. package/lib/components/Core_LegendStudioApplicationPlugin.js.map +1 -1
  4. package/lib/components/editor/edit-panel/RuntimeEditor.js +1 -1
  5. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.d.ts.map +1 -1
  6. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.js +6 -4
  7. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.js.map +1 -1
  8. package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.js +4 -4
  9. package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.js.map +1 -1
  10. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_BindingElementEditor.js +1 -1
  11. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_BindingElementEditor.js.map +1 -1
  12. package/lib/components/editor/edit-panel/mapping-editor/ClassMappingEditor.d.ts.map +1 -1
  13. package/lib/components/editor/edit-panel/mapping-editor/ClassMappingEditor.js +3 -3
  14. package/lib/components/editor/edit-panel/mapping-editor/ClassMappingEditor.js.map +1 -1
  15. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.d.ts.map +1 -1
  16. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.js +2 -0
  17. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.js.map +1 -1
  18. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.d.ts.map +1 -1
  19. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.js +2 -0
  20. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.js.map +1 -1
  21. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.d.ts.map +1 -1
  22. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js +1 -1
  23. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js.map +1 -1
  24. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectDependencyEditor.d.ts.map +1 -1
  25. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectDependencyEditor.js +7 -7
  26. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectDependencyEditor.js.map +1 -1
  27. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.d.ts.map +1 -1
  28. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js +1 -1
  29. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js.map +1 -1
  30. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.d.ts.map +1 -1
  31. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.js +2 -0
  32. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.js.map +1 -1
  33. package/lib/components/editor/edit-panel/uml-editor/ClassQueryBuilder.d.ts.map +1 -1
  34. package/lib/components/editor/edit-panel/uml-editor/ClassQueryBuilder.js +2 -0
  35. package/lib/components/editor/edit-panel/uml-editor/ClassQueryBuilder.js.map +1 -1
  36. package/lib/components/editor/side-bar/CreateNewElementModal.d.ts.map +1 -1
  37. package/lib/components/editor/side-bar/CreateNewElementModal.js +1 -1
  38. package/lib/components/editor/side-bar/CreateNewElementModal.js.map +1 -1
  39. package/lib/components/editor/side-bar/ProjectDependantsEditor.d.ts.map +1 -1
  40. package/lib/components/editor/side-bar/ProjectDependantsEditor.js +2 -2
  41. package/lib/components/editor/side-bar/ProjectDependantsEditor.js.map +1 -1
  42. package/lib/components/editor/side-bar/WorkflowManager.d.ts.map +1 -1
  43. package/lib/components/editor/side-bar/WorkflowManager.js +7 -7
  44. package/lib/components/editor/side-bar/WorkflowManager.js.map +1 -1
  45. package/lib/components/editor/side-bar/WorkspaceReview.d.ts.map +1 -1
  46. package/lib/components/editor/side-bar/WorkspaceReview.js +4 -4
  47. package/lib/components/editor/side-bar/WorkspaceReview.js.map +1 -1
  48. package/lib/index.css +2 -2
  49. package/lib/index.css.map +1 -1
  50. package/lib/package.json +1 -1
  51. package/lib/stores/ChangeDetectionEvent.d.ts +11 -11
  52. package/lib/stores/ChangeDetectionEvent.d.ts.map +1 -1
  53. package/lib/stores/ChangeDetectionEvent.js +11 -11
  54. package/lib/stores/ChangeDetectionEvent.js.map +1 -1
  55. package/lib/stores/ChangeDetectionState.d.ts.map +1 -1
  56. package/lib/stores/ChangeDetectionState.js +11 -11
  57. package/lib/stores/ChangeDetectionState.js.map +1 -1
  58. package/lib/stores/EditorGraphState.d.ts.map +1 -1
  59. package/lib/stores/EditorGraphState.js +39 -16
  60. package/lib/stores/EditorGraphState.js.map +1 -1
  61. package/lib/stores/EditorSDLCState.js +3 -3
  62. package/lib/stores/EditorSDLCState.js.map +1 -1
  63. package/lib/stores/EditorStore.d.ts.map +1 -1
  64. package/lib/stores/EditorStore.js +4 -4
  65. package/lib/stores/EditorStore.js.map +1 -1
  66. package/lib/stores/EmbeddedQueryBuilderState.d.ts +1 -0
  67. package/lib/stores/EmbeddedQueryBuilderState.d.ts.map +1 -1
  68. package/lib/stores/EmbeddedQueryBuilderState.js.map +1 -1
  69. package/lib/stores/LegendStudioAppEvent.d.ts +8 -2
  70. package/lib/stores/LegendStudioAppEvent.d.ts.map +1 -1
  71. package/lib/stores/LegendStudioAppEvent.js +8 -2
  72. package/lib/stores/LegendStudioAppEvent.js.map +1 -1
  73. package/lib/stores/LegendStudioApplicationNavigationContext.d.ts +7 -0
  74. package/lib/stores/LegendStudioApplicationNavigationContext.d.ts.map +1 -1
  75. package/lib/stores/LegendStudioApplicationNavigationContext.js +7 -0
  76. package/lib/stores/LegendStudioApplicationNavigationContext.js.map +1 -1
  77. package/lib/stores/LegendStudioBaseStore.js +2 -2
  78. package/lib/stores/LegendStudioBaseStore.js.map +1 -1
  79. package/lib/stores/LegendStudioEventService.js +1 -1
  80. package/lib/stores/LegendStudioEventService.js.map +1 -1
  81. package/lib/stores/LegendStudioTelemetry.d.ts +33 -0
  82. package/lib/stores/LegendStudioTelemetry.d.ts.map +1 -0
  83. package/lib/stores/LegendStudioTelemetry.js +37 -0
  84. package/lib/stores/LegendStudioTelemetry.js.map +1 -0
  85. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.d.ts.map +1 -1
  86. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js +38 -6
  87. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js.map +1 -1
  88. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.d.ts.map +1 -1
  89. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.js +27 -5
  90. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.js.map +1 -1
  91. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.d.ts.map +1 -1
  92. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.js +38 -6
  93. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.js.map +1 -1
  94. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts.map +1 -1
  95. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.js +16 -6
  96. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.js.map +1 -1
  97. package/lib/stores/project-viewer/ProjectViewerStore.d.ts.map +1 -1
  98. package/lib/stores/project-viewer/ProjectViewerStore.js +19 -16
  99. package/lib/stores/project-viewer/ProjectViewerStore.js.map +1 -1
  100. package/lib/stores/shared/testable/TestableUtils.d.ts +2 -2
  101. package/lib/stores/shared/testable/TestableUtils.d.ts.map +1 -1
  102. package/lib/stores/shared/testable/TestableUtils.js +3 -3
  103. package/lib/stores/shared/testable/TestableUtils.js.map +1 -1
  104. package/lib/stores/sidebar-state/LocalChangesState.d.ts.map +1 -1
  105. package/lib/stores/sidebar-state/LocalChangesState.js +6 -6
  106. package/lib/stores/sidebar-state/LocalChangesState.js.map +1 -1
  107. package/lib/stores/sidebar-state/ProjectOverviewState.d.ts.map +1 -1
  108. package/lib/stores/sidebar-state/ProjectOverviewState.js +3 -3
  109. package/lib/stores/sidebar-state/ProjectOverviewState.js.map +1 -1
  110. package/lib/stores/sidebar-state/WorkspaceReviewState.d.ts.map +1 -1
  111. package/lib/stores/sidebar-state/WorkspaceReviewState.js +1 -1
  112. package/lib/stores/sidebar-state/WorkspaceReviewState.js.map +1 -1
  113. package/lib/stores/sidebar-state/WorkspaceSyncState.js +1 -1
  114. package/lib/stores/sidebar-state/WorkspaceSyncState.js.map +1 -1
  115. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.d.ts.map +1 -1
  116. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js +4 -4
  117. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js.map +1 -1
  118. package/lib/stores/sidebar-state/WorkspaceUpdaterState.d.ts.map +1 -1
  119. package/lib/stores/sidebar-state/WorkspaceUpdaterState.js +2 -2
  120. package/lib/stores/sidebar-state/WorkspaceUpdaterState.js.map +1 -1
  121. package/lib/stores/workspace-review/WorkspaceReviewStore.js +2 -2
  122. package/lib/stores/workspace-review/WorkspaceReviewStore.js.map +1 -1
  123. package/package.json +9 -9
  124. package/src/components/Core_LegendStudioApplicationPlugin.tsx +1 -0
  125. package/src/components/editor/edit-panel/RuntimeEditor.tsx +1 -1
  126. package/src/components/editor/edit-panel/connection-editor/DatabaseBuilder.tsx +13 -6
  127. package/src/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.tsx +1 -1
  128. package/src/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_BindingElementEditor.tsx +1 -1
  129. package/src/components/editor/edit-panel/mapping-editor/ClassMappingEditor.tsx +5 -4
  130. package/src/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.tsx +3 -0
  131. package/src/components/editor/edit-panel/mapping-editor/MappingTestEditor.tsx +3 -0
  132. package/src/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.tsx +1 -2
  133. package/src/components/editor/edit-panel/project-configuration-editor/ProjectDependencyEditor.tsx +33 -36
  134. package/src/components/editor/edit-panel/service-editor/ServiceExecutionEditor.tsx +1 -2
  135. package/src/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.tsx +3 -0
  136. package/src/components/editor/edit-panel/uml-editor/ClassQueryBuilder.tsx +3 -0
  137. package/src/components/editor/side-bar/CreateNewElementModal.tsx +3 -2
  138. package/src/components/editor/side-bar/ProjectDependantsEditor.tsx +23 -26
  139. package/src/components/editor/side-bar/WorkflowManager.tsx +4 -6
  140. package/src/components/editor/side-bar/WorkspaceReview.tsx +2 -3
  141. package/src/stores/ChangeDetectionEvent.ts +11 -11
  142. package/src/stores/ChangeDetectionState.ts +13 -11
  143. package/src/stores/EditorGraphState.ts +91 -39
  144. package/src/stores/EditorSDLCState.ts +3 -3
  145. package/src/stores/EditorStore.ts +6 -4
  146. package/src/stores/EmbeddedQueryBuilderState.ts +1 -0
  147. package/src/stores/LegendStudioAppEvent.ts +10 -2
  148. package/src/stores/LegendStudioApplicationNavigationContext.ts +9 -0
  149. package/src/stores/LegendStudioBaseStore.ts +2 -2
  150. package/src/stores/LegendStudioEventService.ts +1 -1
  151. package/src/stores/LegendStudioTelemetry.ts +83 -0
  152. package/src/stores/editor-state/element-editor-state/mapping/MappingExecutionState.ts +76 -1
  153. package/src/stores/editor-state/element-editor-state/mapping/MappingTestState.ts +50 -1
  154. package/src/stores/editor-state/element-editor-state/service/ServiceExecutionState.ts +73 -0
  155. package/src/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.ts +27 -5
  156. package/src/stores/project-viewer/ProjectViewerStore.ts +40 -35
  157. package/src/stores/shared/testable/TestableUtils.ts +3 -3
  158. package/src/stores/sidebar-state/LocalChangesState.ts +10 -6
  159. package/src/stores/sidebar-state/ProjectOverviewState.ts +3 -4
  160. package/src/stores/sidebar-state/WorkspaceReviewState.ts +3 -1
  161. package/src/stores/sidebar-state/WorkspaceSyncState.ts +1 -1
  162. package/src/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.ts +8 -4
  163. package/src/stores/sidebar-state/WorkspaceUpdaterState.ts +4 -2
  164. package/src/stores/workspace-review/WorkspaceReviewStore.ts +2 -2
  165. package/tsconfig.json +1 -0
@@ -299,11 +299,10 @@ export const WorkspaceReview = observer(() => {
299
299
  </button>
300
300
  </div>
301
301
  <div className="workspace-review__title__content__review-status">
302
- created{' '}
303
- {formatDistanceToNow(workspaceReview.createdAt, {
302
+ {`created ${formatDistanceToNow(workspaceReview.createdAt, {
304
303
  includeSeconds: true,
305
304
  addSuffix: true,
306
- })}
305
+ })}`}
307
306
  </div>
308
307
  </>
309
308
  )}
@@ -16,19 +16,19 @@
16
16
 
17
17
  export enum CHANGE_DETECTION_EVENT {
18
18
  // TODO: split this into specific events
19
- CHANGE_DETECTION_FAILURE = 'change-detection.failure',
19
+ CHANGE_DETECTION__FAILURE = 'change-detection.failure',
20
20
 
21
- CHANGE_DETECTION_RESTARTED = 'change-detection.restart.success',
21
+ CHANGE_DETECTION_RESTART__SUCCESS = 'change-detection.restart.success',
22
22
 
23
- CHANGE_DETECTION_CHANGES_COMPUTED = 'change-detection.computation.changes.success',
24
- CHANGE_DETECTION_CONFLICT_RESOLUTION_CONFLICTS_COMPUTED = 'change-detection.computation.conflicts.success',
23
+ CHANGE_DETECTION_COMPUTE_CHANGES__SUCCESS = 'change-detection.computation.changes.success',
24
+ CHANGE_DETECTION_COMPUTE_CONFLICT_RESOLUTION_CONFLICTS__SUCCESS = 'change-detection.computation.conflicts.success',
25
25
 
26
- CHANGE_DETECTION_GRAPH_HASH_SNAPSHOTED = 'change-detection.hash-indexing.graph.success',
27
- CHANGE_DETECTION_LOCAL_HASHES_INDEX_BUILT = 'change-detection.hash-indexing.local.success',
28
- CHANGE_DETECTION_WORKSPACE_HASHES_INDEX_BUILT = 'change-detection.hash-indexing.workspace.success',
29
- CHANGE_DETECTION_PROJECT_LATEST_HASHES_INDEX_BUILT = 'change-detection.hash-indexing.project-latest.success',
30
- CHANGE_DETECTION_WORKSPACE_UPDATE_CONFLICTS_COMPUTED = 'change-detection.hash-indexing.workspace-update.success',
26
+ CHANGE_DETECTION_BUILD_GRAPH_HASHES_INDEX__SUCCESS = 'change-detection.hash-indexing.graph.success',
27
+ CHANGE_DETECTION_BUILD_LOCAL_HASHES_INDEX__SUCCESS = 'change-detection.hash-indexing.local.success',
28
+ CHANGE_DETECTION_BUILD_WORKSPACE_HASHES_INDEX__SUCCESS = 'change-detection.hash-indexing.workspace.success',
29
+ CHANGE_DETECTION_BUILD_PROJECT_LATEST_HASHES_INDEX__SUCCESS = 'change-detection.hash-indexing.project-latest.success',
30
+ CHANGE_DETECTION_COMPUTE_WORKSPACE_UPDATE_CONFLICTS__SUCCESS = 'change-detection.hash-indexing.workspace-update.success',
31
31
 
32
- CHANGE_DETECTION_GRAPH_HASHES_PRECOMPUTED = 'change-detection.graph.pre-hash.success',
33
- CHANGE_DETECTION_GRAPH_OBSERVED = 'change-detection.graph.observation.success',
32
+ CHANGE_DETECTION_PRECOMPUTE_GRAPH_HASHES__SUCCESS = 'change-detection.graph.pre-hash.success',
33
+ CHANGE_DETECTION_OBSERVE_GRAPH__SUCCESS = 'change-detection.graph.observation.success',
34
34
  }
@@ -138,7 +138,7 @@ class RevisionChangeDetectionState {
138
138
  if (!quiet) {
139
139
  this.editorStore.applicationStore.log.info(
140
140
  LogEvent.create(
141
- CHANGE_DETECTION_EVENT.CHANGE_DETECTION_CHANGES_COMPUTED,
141
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_COMPUTE_CHANGES__SUCCESS,
142
142
  ),
143
143
  Date.now() - startTime,
144
144
  'ms',
@@ -227,7 +227,7 @@ class RevisionChangeDetectionState {
227
227
  if (!quiet) {
228
228
  this.editorStore.applicationStore.log.info(
229
229
  LogEvent.create(
230
- CHANGE_DETECTION_EVENT.CHANGE_DETECTION_CHANGES_COMPUTED,
230
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_COMPUTE_CHANGES__SUCCESS,
231
231
  ),
232
232
  Date.now() - startTime,
233
233
  'ms',
@@ -263,7 +263,7 @@ class RevisionChangeDetectionState {
263
263
  } catch (error) {
264
264
  assertErrorThrown(error);
265
265
  this.editorStore.applicationStore.log.error(
266
- LogEvent.create(CHANGE_DETECTION_EVENT.CHANGE_DETECTION_FAILURE),
266
+ LogEvent.create(CHANGE_DETECTION_EVENT.CHANGE_DETECTION__FAILURE),
267
267
  `Can't build hashes index`,
268
268
  );
269
269
  this.setEntityHashesIndex(new Map<string, string>());
@@ -548,7 +548,7 @@ export class ChangeDetectionState {
548
548
  if (!quiet) {
549
549
  this.editorStore.applicationStore.log.info(
550
550
  LogEvent.create(
551
- CHANGE_DETECTION_EVENT.CHANGE_DETECTION_GRAPH_HASH_SNAPSHOTED,
551
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_BUILD_GRAPH_HASHES_INDEX__SUCCESS,
552
552
  ),
553
553
  Date.now() - startTime,
554
554
  'ms',
@@ -606,7 +606,7 @@ export class ChangeDetectionState {
606
606
  if (!quiet) {
607
607
  this.editorStore.applicationStore.log.info(
608
608
  LogEvent.create(
609
- CHANGE_DETECTION_EVENT.CHANGE_DETECTION_CHANGES_COMPUTED,
609
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_COMPUTE_CHANGES__SUCCESS,
610
610
  ),
611
611
  Date.now() - startTime,
612
612
  'ms',
@@ -686,7 +686,7 @@ export class ChangeDetectionState {
686
686
  if (!quiet) {
687
687
  this.editorStore.applicationStore.log.info(
688
688
  LogEvent.create(
689
- CHANGE_DETECTION_EVENT.CHANGE_DETECTION_WORKSPACE_UPDATE_CONFLICTS_COMPUTED,
689
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_COMPUTE_WORKSPACE_UPDATE_CONFLICTS__SUCCESS,
690
690
  ),
691
691
  Date.now() - startTime,
692
692
  'ms',
@@ -718,7 +718,7 @@ export class ChangeDetectionState {
718
718
  if (!quiet) {
719
719
  this.editorStore.applicationStore.log.info(
720
720
  LogEvent.create(
721
- CHANGE_DETECTION_EVENT.CHANGE_DETECTION_CONFLICT_RESOLUTION_CONFLICTS_COMPUTED,
721
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_COMPUTE_CONFLICT_RESOLUTION_CONFLICTS__SUCCESS,
722
722
  ),
723
723
  Date.now() - startTime,
724
724
  'ms',
@@ -847,7 +847,7 @@ export class ChangeDetectionState {
847
847
  if (!quiet) {
848
848
  this.editorStore.applicationStore.log.info(
849
849
  LogEvent.create(
850
- CHANGE_DETECTION_EVENT.CHANGE_DETECTION_CHANGES_COMPUTED,
850
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_COMPUTE_CHANGES__SUCCESS,
851
851
  ),
852
852
  Date.now() - startTime,
853
853
  'ms',
@@ -869,7 +869,7 @@ export class ChangeDetectionState {
869
869
  if (!quiet) {
870
870
  this.editorStore.applicationStore.log.info(
871
871
  LogEvent.create(
872
- CHANGE_DETECTION_EVENT.CHANGE_DETECTION_CHANGES_COMPUTED,
872
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_COMPUTE_CHANGES__SUCCESS,
873
873
  ),
874
874
  Date.now() - startTime,
875
875
  'ms',
@@ -901,7 +901,9 @@ export class ChangeDetectionState {
901
901
  this.editorStore.changeDetectionState.observerContext,
902
902
  );
903
903
  this.editorStore.applicationStore.log.info(
904
- LogEvent.create(CHANGE_DETECTION_EVENT.CHANGE_DETECTION_GRAPH_OBSERVED),
904
+ LogEvent.create(
905
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_OBSERVE_GRAPH__SUCCESS,
906
+ ),
905
907
  '[ASYNC]',
906
908
  Date.now() - startTime,
907
909
  'ms',
@@ -942,7 +944,7 @@ export class ChangeDetectionState {
942
944
  this.graphElementHashCodeKeepAliveComputationDisposers = disposers;
943
945
  this.editorStore.applicationStore.log.info(
944
946
  LogEvent.create(
945
- CHANGE_DETECTION_EVENT.CHANGE_DETECTION_GRAPH_HASHES_PRECOMPUTED,
947
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_PRECOMPUTE_GRAPH_HASHES__SUCCESS,
946
948
  ),
947
949
  '[ASYNC]',
948
950
  Date.now() - startTime,
@@ -89,11 +89,12 @@ import {
89
89
  GraphManagerTelemetry,
90
90
  DataElement,
91
91
  type PackageableElement,
92
- type GraphBuilderReport,
93
92
  type CompilationWarning,
94
93
  type TextCompilationResult,
95
94
  type CompilationResult,
96
95
  type PureModel,
96
+ createGraphBuilderReport,
97
+ reportGraphAnalytics,
97
98
  } from '@finos/legend-graph';
98
99
  import {
99
100
  ActionAlertActionType,
@@ -106,6 +107,7 @@ import { PACKAGEABLE_ELEMENT_TYPE } from './shared/ModelClassifierUtils.js';
106
107
  import { GlobalTestRunnerState } from './sidebar-state/testable/GlobalTestRunnerState.js';
107
108
  import { LEGEND_STUDIO_APP_EVENT } from './LegendStudioAppEvent.js';
108
109
  import { ExplorerTreeState } from './ExplorerTreeState.js';
110
+ import { LegendStudioTelemetry } from './LegendStudioTelemetry.js';
109
111
 
110
112
  export enum GraphBuilderStatus {
111
113
  SUCCEEDED = 'SUCCEEDED',
@@ -347,59 +349,70 @@ export class EditorGraphState {
347
349
  const dependencyEntitiesIndex = (yield flowResult(
348
350
  this.getIndexedDependencyEntities(),
349
351
  )) as Map<string, Entity[]>;
350
- stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_DEPENDENCIES_FETCHED);
351
-
352
- const dependency_buildReport =
353
- (yield this.editorStore.graphManagerState.graphManager.buildDependencies(
354
- this.editorStore.graphManagerState.coreModel,
355
- this.editorStore.graphManagerState.systemModel,
356
- dependencyManager,
357
- dependencyEntitiesIndex,
358
- this.editorStore.graphManagerState.dependenciesBuildState,
359
- )) as GraphBuilderReport;
352
+ stopWatch.record(GRAPH_MANAGER_EVENT.FETCH_GRAPH_DEPENDENCIES__SUCCESS);
353
+
354
+ const dependency_buildReport = createGraphBuilderReport();
355
+ yield this.editorStore.graphManagerState.graphManager.buildDependencies(
356
+ this.editorStore.graphManagerState.coreModel,
357
+ this.editorStore.graphManagerState.systemModel,
358
+ dependencyManager,
359
+ dependencyEntitiesIndex,
360
+ this.editorStore.graphManagerState.dependenciesBuildState,
361
+ {},
362
+ dependency_buildReport,
363
+ );
360
364
  dependency_buildReport.timings[
361
- GRAPH_MANAGER_EVENT.GRAPH_DEPENDENCIES_FETCHED
362
- ] = stopWatch.getRecord(GRAPH_MANAGER_EVENT.GRAPH_DEPENDENCIES_FETCHED);
365
+ GRAPH_MANAGER_EVENT.FETCH_GRAPH_DEPENDENCIES__SUCCESS
366
+ ] = stopWatch.getRecord(
367
+ GRAPH_MANAGER_EVENT.FETCH_GRAPH_DEPENDENCIES__SUCCESS,
368
+ );
363
369
 
364
370
  // build graph
365
- const graph_buildReport =
366
- (yield this.editorStore.graphManagerState.graphManager.buildGraph(
367
- this.editorStore.graphManagerState.graph,
368
- entities,
369
- this.editorStore.graphManagerState.graphBuildState,
370
- {
371
- TEMPORARY__preserveSectionIndex:
372
- this.editorStore.applicationStore.config.options
373
- .TEMPORARY__preserveSectionIndex,
374
- strict: this.enableStrictMode,
375
- },
376
- )) as GraphBuilderReport;
371
+ const graph_buildReport = createGraphBuilderReport();
372
+ yield this.editorStore.graphManagerState.graphManager.buildGraph(
373
+ this.editorStore.graphManagerState.graph,
374
+ entities,
375
+ this.editorStore.graphManagerState.graphBuildState,
376
+ {
377
+ TEMPORARY__preserveSectionIndex:
378
+ this.editorStore.applicationStore.config.options
379
+ .TEMPORARY__preserveSectionIndex,
380
+ strict: this.enableStrictMode,
381
+ },
382
+ graph_buildReport,
383
+ );
377
384
 
378
385
  // build generations
379
- const generation_buildReport =
380
- (yield this.editorStore.graphManagerState.graphManager.buildGenerations(
381
- this.editorStore.graphManagerState.graph,
382
- this.graphGenerationState.generatedEntities,
383
- this.editorStore.graphManagerState.generationsBuildState,
384
- )) as GraphBuilderReport;
386
+ const generation_buildReport = createGraphBuilderReport();
387
+ yield this.editorStore.graphManagerState.graphManager.buildGenerations(
388
+ this.editorStore.graphManagerState.graph,
389
+ this.graphGenerationState.generatedEntities,
390
+ this.editorStore.graphManagerState.generationsBuildState,
391
+ {},
392
+ generation_buildReport,
393
+ );
385
394
 
386
395
  // report
387
- stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_INITIALIZED);
396
+ stopWatch.record(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS);
388
397
  const graphBuilderReportData = {
389
398
  timings: {
390
- [GRAPH_MANAGER_EVENT.GRAPH_INITIALIZED]: stopWatch.getRecord(
391
- GRAPH_MANAGER_EVENT.GRAPH_INITIALIZED,
399
+ [GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS]: stopWatch.getRecord(
400
+ GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS,
392
401
  ),
393
402
  },
394
403
  dependencies: dependency_buildReport,
404
+ dependenciesCount:
405
+ this.editorStore.graphManagerState.graph.dependencyManager
406
+ .numberOfDependencies,
395
407
  graph: graph_buildReport,
396
408
  generations: generation_buildReport,
409
+ generationsCount: this.graphGenerationState.generatedEntities.size,
397
410
  };
398
411
  this.editorStore.applicationStore.log.info(
399
- LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_INITIALIZED),
412
+ LogEvent.create(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS),
400
413
  graphBuilderReportData,
401
414
  );
402
- GraphManagerTelemetry.logEvent_GraphInitialized(
415
+ GraphManagerTelemetry.logEvent_GraphInitializationSucceeded(
403
416
  this.editorStore.applicationStore.telemetryService,
404
417
  graphBuilderReportData,
405
418
  );
@@ -564,6 +577,14 @@ export class EditorGraphState {
564
577
  return FormModeCompilationOutcome.SKIPPED;
565
578
  }
566
579
 
580
+ const stopWatch = new StopWatch();
581
+ const report = reportGraphAnalytics(
582
+ this.editorStore.graphManagerState.graph,
583
+ );
584
+ LegendStudioTelemetry.logEvent_GraphCompilationLaunched(
585
+ this.editorStore.applicationStore.telemetryService,
586
+ );
587
+
567
588
  const currentGraphHash =
568
589
  this.editorStore.changeDetectionState.currentGraphHash;
569
590
 
@@ -584,6 +605,7 @@ export class EditorGraphState {
584
605
  {
585
606
  keepSourceInformation: true,
586
607
  },
608
+ report,
587
609
  )) as CompilationResult;
588
610
 
589
611
  this.warnings = compilationResult.warnings
@@ -606,6 +628,12 @@ export class EditorGraphState {
606
628
  }
607
629
  }
608
630
 
631
+ report.timings.total = stopWatch.elapsed;
632
+ LegendStudioTelemetry.logEvent_GraphCompilationSucceeded(
633
+ this.editorStore.applicationStore.telemetryService,
634
+ report,
635
+ );
636
+
609
637
  return FormModeCompilationOutcome.SUCCEEDED;
610
638
  } catch (error) {
611
639
  assertErrorThrown(error);
@@ -712,6 +740,14 @@ export class EditorGraphState {
712
740
  return;
713
741
  }
714
742
 
743
+ const stopWatch = new StopWatch();
744
+ const report = reportGraphAnalytics(
745
+ this.editorStore.graphManagerState.graph,
746
+ );
747
+ LegendStudioTelemetry.logEvent_TextCompilationLaunched(
748
+ this.editorStore.applicationStore.telemetryService,
749
+ );
750
+
715
751
  const currentGraphHash =
716
752
  this.editorStore.grammarTextEditorState.currentTextGraphHash;
717
753
 
@@ -726,6 +762,8 @@ export class EditorGraphState {
726
762
  (yield this.editorStore.graphManagerState.graphManager.compileText(
727
763
  this.editorStore.grammarTextEditorState.graphGrammarText,
728
764
  this.editorStore.graphManagerState.graph,
765
+ {},
766
+ report,
729
767
  )) as TextCompilationResult;
730
768
 
731
769
  const entities = compilationResult.entities;
@@ -748,7 +786,9 @@ export class EditorGraphState {
748
786
  }
749
787
  }
750
788
 
789
+ stopWatch.record();
751
790
  yield flowResult(this.updateGraphAndApplicationInTextMode(entities));
791
+ stopWatch.record(GRAPH_MANAGER_EVENT.UPDATE_AND_REBUILD_GRAPH__SUCCESS);
752
792
 
753
793
  // Remove `SectionIndex when computing changes in text mode as engine after
754
794
  // transforming grammarToJson would return `SectionIndex` which is not
@@ -760,6 +800,16 @@ export class EditorGraphState {
760
800
  ),
761
801
  ),
762
802
  );
803
+
804
+ report.timings = {
805
+ ...report.timings,
806
+ ...Object.fromEntries(stopWatch.records),
807
+ total: stopWatch.elapsed,
808
+ };
809
+ LegendStudioTelemetry.logEvent_GraphCompilationSucceeded(
810
+ this.editorStore.applicationStore.telemetryService,
811
+ report,
812
+ );
763
813
  } catch (error) {
764
814
  assertErrorThrown(error);
765
815
  this.mostRecentTextModeCompilationGraphHash = currentGraphHash;
@@ -1111,7 +1161,7 @@ export class EditorGraphState {
1111
1161
  );
1112
1162
 
1113
1163
  this.editorStore.applicationStore.log.info(
1114
- LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_UPDATED_AND_REBUILT),
1164
+ LogEvent.create(GRAPH_MANAGER_EVENT.UPDATE_AND_REBUILD_GRAPH__SUCCESS),
1115
1165
  '[TOTAL]',
1116
1166
  Date.now() - startTime,
1117
1167
  'ms',
@@ -1124,7 +1174,9 @@ export class EditorGraphState {
1124
1174
  yield this.editorStore.changeDetectionState.preComputeGraphElementHashes();
1125
1175
  this.editorStore.changeDetectionState.start();
1126
1176
  this.editorStore.applicationStore.log.info(
1127
- LogEvent.create(CHANGE_DETECTION_EVENT.CHANGE_DETECTION_RESTARTED),
1177
+ LogEvent.create(
1178
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_RESTART__SUCCESS,
1179
+ ),
1128
1180
  '[ASYNC]',
1129
1181
  );
1130
1182
 
@@ -1184,7 +1236,7 @@ export class EditorGraphState {
1184
1236
  this.reprocessExplorerTreeInTextMode();
1185
1237
 
1186
1238
  this.editorStore.applicationStore.log.info(
1187
- LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_UPDATED_AND_REBUILT),
1239
+ LogEvent.create(GRAPH_MANAGER_EVENT.UPDATE_AND_REBUILD_GRAPH__SUCCESS),
1188
1240
  '[TOTAL]',
1189
1241
  Date.now() - startTime,
1190
1242
  'ms',
@@ -382,7 +382,7 @@ export class EditorSDLCState {
382
382
  this.editorStore.changeDetectionState.workspaceLocalLatestRevisionState.buildEntityHashesIndex(
383
383
  entities,
384
384
  LogEvent.create(
385
- CHANGE_DETECTION_EVENT.CHANGE_DETECTION_LOCAL_HASHES_INDEX_BUILT,
385
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_BUILD_LOCAL_HASHES_INDEX__SUCCESS,
386
386
  ),
387
387
  ),
388
388
  );
@@ -412,7 +412,7 @@ export class EditorSDLCState {
412
412
  this.editorStore.changeDetectionState.workspaceBaseRevisionState.buildEntityHashesIndex(
413
413
  workspaceBaseEntities,
414
414
  LogEvent.create(
415
- CHANGE_DETECTION_EVENT.CHANGE_DETECTION_WORKSPACE_HASHES_INDEX_BUILT,
415
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_BUILD_WORKSPACE_HASHES_INDEX__SUCCESS,
416
416
  ),
417
417
  ),
418
418
  );
@@ -441,7 +441,7 @@ export class EditorSDLCState {
441
441
  this.editorStore.changeDetectionState.projectLatestRevisionState.buildEntityHashesIndex(
442
442
  projectLatestEntities,
443
443
  LogEvent.create(
444
- CHANGE_DETECTION_EVENT.CHANGE_DETECTION_PROJECT_LATEST_HASHES_INDEX_BUILT,
444
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_BUILD_PROJECT_LATEST_HASHES_INDEX__SUCCESS,
445
445
  ),
446
446
  ),
447
447
  );
@@ -814,7 +814,7 @@ export class EditorStore implements CommandRegistrar {
814
814
  entities,
815
815
  );
816
816
  this.applicationStore.log.info(
817
- LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_ENTITIES_FETCHED),
817
+ LogEvent.create(GRAPH_MANAGER_EVENT.FETCH_GRAPH_ENTITIES__SUCCESS),
818
818
  Date.now() - startTime,
819
819
  'ms',
820
820
  );
@@ -838,7 +838,7 @@ export class EditorStore implements CommandRegistrar {
838
838
  this.changeDetectionState.workspaceLocalLatestRevisionState.buildEntityHashesIndex(
839
839
  entities,
840
840
  LogEvent.create(
841
- CHANGE_DETECTION_EVENT.CHANGE_DETECTION_LOCAL_HASHES_INDEX_BUILT,
841
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_BUILD_LOCAL_HASHES_INDEX__SUCCESS,
842
842
  ),
843
843
  ),
844
844
  );
@@ -879,7 +879,7 @@ export class EditorStore implements CommandRegistrar {
879
879
  this.changeDetectionState.workspaceLocalLatestRevisionState.buildEntityHashesIndex(
880
880
  entities,
881
881
  LogEvent.create(
882
- CHANGE_DETECTION_EVENT.CHANGE_DETECTION_LOCAL_HASHES_INDEX_BUILT,
882
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_BUILD_LOCAL_HASHES_INDEX__SUCCESS,
883
883
  ),
884
884
  ),
885
885
 
@@ -892,7 +892,9 @@ export class EditorStore implements CommandRegistrar {
892
892
  this.changeDetectionState.computeAggregatedProjectLatestChanges(true),
893
893
  ]);
894
894
  this.applicationStore.log.info(
895
- LogEvent.create(CHANGE_DETECTION_EVENT.CHANGE_DETECTION_RESTARTED),
895
+ LogEvent.create(
896
+ CHANGE_DETECTION_EVENT.CHANGE_DETECTION_RESTART__SUCCESS,
897
+ ),
896
898
  '[ASNYC]',
897
899
  );
898
900
  // ======= FINISHED (RE)START CHANGE DETECTION =======
@@ -32,6 +32,7 @@ type EmbeddedQueryBuilderConfiguration = {
32
32
  setupQueryBuilderState: () => QueryBuilderState;
33
33
  disableCompile?: boolean | undefined;
34
34
  actionConfigs: EmbeddedQueryBuilderActionConfiguration[];
35
+ applicationContext: string;
35
36
  };
36
37
 
37
38
  export class EmbeddedQueryBuilderState {
@@ -15,6 +15,14 @@
15
15
  */
16
16
 
17
17
  export enum LEGEND_STUDIO_APP_EVENT {
18
+ COMPILE_GRAPH__LAUNCH = 'editor.compilation.compile-graph.launch',
19
+ COMPILE_TEXT__LAUNCH = 'editor.compilation.compile-text.launch',
20
+ TEST_DATA_GENERATION__LAUNCH = 'editor.test.test-data-generation.launch',
21
+
22
+ TEXT_MODE_COMPILATION__SUCCESS = 'editor.text-mode.compilation.success',
23
+ FORM_MODE_COMPILATION__SUCCESS = 'editor.form-mode.compilation.success',
24
+ TEST_DATA_GENERATION__SUCCESS = 'editor.test.test-data-generation.success',
25
+
18
26
  // FAILURE
19
27
  // TODO: consider to spliting all of these generic errors into more specific events
20
28
  GENERIC_FAILURE = 'application.failure.generic',
@@ -31,8 +39,8 @@ export enum LEGEND_STUDIO_APP_EVENT {
31
39
  // TODO: consider to split this generic errors into more specific events
32
40
  SDLC_MANAGER_FAILURE = 'sdlc.manager.failure',
33
41
 
34
- WORKSPACE_UPDATED = 'sdlc.workspace-update.success',
35
- WORKSPACE_LOCAL_CHANGES_PUSHED = 'sdlc.local-changes-push.success',
42
+ UPDATE_WORKSPACE__SUCCESS = 'sdlc.workspace-update.success',
43
+ PUSH_LOCAL_CHANGES__SUCCESS = 'sdlc.local-changes-push.success',
36
44
 
37
45
  // Depot
38
46
  // TODO: consider to split this generic errors into more specific events
@@ -40,10 +40,19 @@ export enum LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY {
40
40
  FUNCTION_EDITOR = 'studio.editor.function-editor',
41
41
 
42
42
  MAPPING_EDITOR = 'studio.editor.mapping-editor',
43
+ CLASS_MAPPING_EDITOR = 'studio.editor.mapping-editor.class-mapping-editor',
44
+ OPERATION_CLASS_MAPPING_EDITOR = 'studio.editor.mapping-editor.operation-class-mapping-editor',
45
+ ENUMERATION_MAPPING_EDITOR = 'studio.editor.mapping-editor.enumeration-mapping-editor',
46
+ MAPPING_EXECUTION_EDITOR = 'studio.editor.mapping-editor.execution-editor',
47
+ MAPPING_TEST_EDITOR = 'studio.editor.mapping-editor.test-editor',
48
+
43
49
  RUNTIME_EDITOR = 'studio.editor.runtime-editor',
50
+
44
51
  CONNECTION_EDITOR = 'studio.editor.connection-editor',
52
+ DATABASE_BUILDER = 'studio.editor.connection-editor.database-builder',
45
53
 
46
54
  SERVICE_EDITOR = 'studio.editor.service-editor',
55
+ SERVICE_EDITOR_EXECUTION = 'studio.editor.service-editor.execution',
47
56
  SERVICE_EDITOR_TEST = 'studio.editor.service-editor.test',
48
57
 
49
58
  DATA_ELEMENT_EDITOR = 'studio.editor.data-element-editor',
@@ -118,7 +118,7 @@ export class LegendStudioBaseStore {
118
118
  assertErrorThrown(error);
119
119
  this.applicationStore.log.error(
120
120
  LogEvent.create(
121
- APPLICATION_EVENT.APPLICATION_IDENTITY_AUTO_FETCH_FAILURE,
121
+ APPLICATION_EVENT.APPLICATION_IDENTITY_AUTO_FETCH__FAILURE,
122
122
  ),
123
123
  error,
124
124
  );
@@ -133,7 +133,7 @@ export class LegendStudioBaseStore {
133
133
  this.isSDLCAuthorized = undefined;
134
134
  }
135
135
 
136
- ApplicationTelemetry.logEvent_ApplicationInitialized(
136
+ ApplicationTelemetry.logEvent_ApplicationInitializationSucceeded(
137
137
  this.applicationStore.telemetryService,
138
138
  {
139
139
  application: {
@@ -31,6 +31,6 @@ export class LegendStudioEventService {
31
31
  }
32
32
 
33
33
  notify_ApplicationLoaded(): void {
34
- this.eventService.notify(APPLICATION_EVENT.APPLICATION_LOADED, {});
34
+ this.eventService.notify(APPLICATION_EVENT.APPLICATION_LOAD__SUCCESS, {});
35
35
  }
36
36
  }
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import type { GraphManagerOperationReport } from '@finos/legend-graph';
18
+ import type { TelemetryService } from '@finos/legend-shared';
19
+ import { LEGEND_STUDIO_APP_EVENT } from './LegendStudioAppEvent.js';
20
+
21
+ type Compilation_TelemetryData = GraphManagerOperationReport & {
22
+ dependenciesCount: number;
23
+ };
24
+
25
+ type TestDataGeneration_TelemetryData = GraphManagerOperationReport & {
26
+ dependenciesCount: number;
27
+ };
28
+
29
+ export class LegendStudioTelemetry {
30
+ static logEvent_GraphCompilationLaunched(
31
+ telemetryService: TelemetryService,
32
+ ): void {
33
+ telemetryService.logEvent(
34
+ LEGEND_STUDIO_APP_EVENT.COMPILE_GRAPH__LAUNCH,
35
+ {},
36
+ );
37
+ }
38
+
39
+ static logEvent_TextCompilationLaunched(
40
+ telemetryService: TelemetryService,
41
+ ): void {
42
+ telemetryService.logEvent(LEGEND_STUDIO_APP_EVENT.COMPILE_TEXT__LAUNCH, {});
43
+ }
44
+
45
+ static logEvent_TestDataGenerationLaunched(
46
+ telemetryService: TelemetryService,
47
+ ): void {
48
+ telemetryService.logEvent(
49
+ LEGEND_STUDIO_APP_EVENT.TEST_DATA_GENERATION__LAUNCH,
50
+ {},
51
+ );
52
+ }
53
+
54
+ static logEvent_GraphCompilationSucceeded(
55
+ telemetryService: TelemetryService,
56
+ data: Compilation_TelemetryData,
57
+ ): void {
58
+ telemetryService.logEvent(
59
+ LEGEND_STUDIO_APP_EVENT.FORM_MODE_COMPILATION__SUCCESS,
60
+ data,
61
+ );
62
+ }
63
+
64
+ static logEvent_TextCompilationSucceeded(
65
+ telemetryService: TelemetryService,
66
+ data: Compilation_TelemetryData,
67
+ ): void {
68
+ telemetryService.logEvent(
69
+ LEGEND_STUDIO_APP_EVENT.TEXT_MODE_COMPILATION__SUCCESS,
70
+ data,
71
+ );
72
+ }
73
+
74
+ static logEvent_TestDataGenerationSucceeded(
75
+ telemetryService: TelemetryService,
76
+ data: TestDataGeneration_TelemetryData,
77
+ ): void {
78
+ telemetryService.logEvent(
79
+ LEGEND_STUDIO_APP_EVENT.TEST_DATA_GENERATION__SUCCESS,
80
+ data,
81
+ );
82
+ }
83
+ }