@adventurelabs/scout-core 1.0.60 → 1.0.61
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/dist/hooks/useScoutRefresh.js +40 -11
- package/package.json +1 -1
|
@@ -52,18 +52,44 @@ export function useScoutRefresh(options = {}) {
|
|
|
52
52
|
try {
|
|
53
53
|
dispatch(setStatus(EnumScoutStateStatus.LOADING));
|
|
54
54
|
dispatch(setHerdModulesLoadingState(EnumHerdModulesLoadingState.LOADING));
|
|
55
|
-
//
|
|
56
|
-
|
|
57
|
-
const
|
|
58
|
-
const
|
|
55
|
+
// Run API requests in parallel for better performance
|
|
56
|
+
console.log("[useScoutRefresh] Starting parallel API requests...");
|
|
57
|
+
const parallelStartTime = Date.now();
|
|
58
|
+
const [herdModulesResult, userResult] = await Promise.all([
|
|
59
|
+
(async () => {
|
|
60
|
+
const start = Date.now();
|
|
61
|
+
const result = await server_load_herd_modules();
|
|
62
|
+
const duration = Date.now() - start;
|
|
63
|
+
return { result, duration, start };
|
|
64
|
+
})(),
|
|
65
|
+
(async () => {
|
|
66
|
+
const start = Date.now();
|
|
67
|
+
const result = await server_get_user();
|
|
68
|
+
const duration = Date.now() - start;
|
|
69
|
+
return { result, duration, start };
|
|
70
|
+
})(),
|
|
71
|
+
]);
|
|
72
|
+
const parallelDuration = Date.now() - parallelStartTime;
|
|
73
|
+
console.log(`[useScoutRefresh] Parallel API requests completed in ${parallelDuration}ms`);
|
|
74
|
+
// Extract results and timing
|
|
75
|
+
const compatible_new_herd_modules = herdModulesResult.result;
|
|
76
|
+
const res_new_user = userResult.result;
|
|
77
|
+
const herdModulesDuration = herdModulesResult.duration;
|
|
78
|
+
const userApiDuration = userResult.duration;
|
|
79
|
+
// Store timing values
|
|
59
80
|
timingRefs.current.herdModulesDuration = herdModulesDuration;
|
|
60
|
-
dispatch(setHerdModulesApiDuration(herdModulesDuration));
|
|
61
|
-
// Measure user API call duration
|
|
62
|
-
const userApiStartTime = Date.now();
|
|
63
|
-
const res_new_user = await server_get_user();
|
|
64
|
-
const userApiDuration = Date.now() - userApiStartTime;
|
|
65
81
|
timingRefs.current.userApiDuration = userApiDuration;
|
|
82
|
+
// Dispatch timing actions
|
|
83
|
+
dispatch(setHerdModulesApiDuration(herdModulesDuration));
|
|
66
84
|
dispatch(setUserApiDuration(userApiDuration));
|
|
85
|
+
// Calculate network overhead
|
|
86
|
+
const totalApiTime = herdModulesDuration + userApiDuration;
|
|
87
|
+
const networkOverhead = parallelDuration - Math.max(herdModulesDuration, userApiDuration);
|
|
88
|
+
console.log(`[useScoutRefresh] API timing breakdown:`);
|
|
89
|
+
console.log(` - Herd modules: ${herdModulesDuration}ms (server processing + network)`);
|
|
90
|
+
console.log(` - User API: ${userApiDuration}ms (server processing + network)`);
|
|
91
|
+
console.log(` - Parallel execution: ${parallelDuration}ms`);
|
|
92
|
+
console.log(` - Network overhead: ${networkOverhead}ms`);
|
|
67
93
|
// Validate API responses
|
|
68
94
|
if (!compatible_new_herd_modules ||
|
|
69
95
|
!Array.isArray(compatible_new_herd_modules)) {
|
|
@@ -113,13 +139,16 @@ export function useScoutRefresh(options = {}) {
|
|
|
113
139
|
const loadingDuration = Date.now() - startTime;
|
|
114
140
|
dispatch(setHerdModulesLoadedInMs(loadingDuration));
|
|
115
141
|
dispatch(setStatus(EnumScoutStateStatus.DONE_LOADING));
|
|
116
|
-
// Log timing statistics
|
|
117
|
-
console.log("[useScoutRefresh] Refresh completed successfully.
|
|
142
|
+
// Log comprehensive timing statistics
|
|
143
|
+
console.log("[useScoutRefresh] Refresh completed successfully. Full timing breakdown:");
|
|
118
144
|
console.log(` - Herd modules API: ${herdModulesDuration}ms`);
|
|
119
145
|
console.log(` - User API: ${userApiDuration}ms`);
|
|
146
|
+
console.log(` - Parallel execution: ${parallelDuration}ms`);
|
|
147
|
+
console.log(` - Network overhead: ${networkOverhead}ms`);
|
|
120
148
|
console.log(` - Data processing: ${dataProcessingDuration}ms`);
|
|
121
149
|
console.log(` - LocalStorage operations: ${localStorageDuration}ms`);
|
|
122
150
|
console.log(` - Total duration: ${loadingDuration}ms`);
|
|
151
|
+
console.log(` - Time saved with parallel execution: ${totalApiTime - parallelDuration}ms`);
|
|
123
152
|
onRefreshComplete?.();
|
|
124
153
|
}
|
|
125
154
|
catch (error) {
|