aboutsummaryrefslogtreecommitdiffstats
path: root/packages/instant/src/util/heap.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/instant/src/util/heap.ts')
-rw-r--r--packages/instant/src/util/heap.ts19
1 files changed, 18 insertions, 1 deletions
diff --git a/packages/instant/src/util/heap.ts b/packages/instant/src/util/heap.ts
index 6d3c75ea7..5fd61b4c9 100644
--- a/packages/instant/src/util/heap.ts
+++ b/packages/instant/src/util/heap.ts
@@ -1,6 +1,7 @@
import { ObjectMap } from '@0x/types';
+import { logUtils } from '@0x/utils';
-import { HEAP_ANALYTICS_DEVELOPMENT_APP_ID } from '../constants';
+import { ANALYTICS_ENABLED, HEAP_ANALYTICS_DEVELOPMENT_APP_ID } from '../constants';
export interface HeapAnalytics {
loaded: boolean;
@@ -82,4 +83,20 @@ export const heapUtil = {
return setupZeroExInstantHeap();
},
+ evaluateHeapCall: (heapFunctionCall: (heap: HeapAnalytics) => void): void => {
+ if (!ANALYTICS_ENABLED) {
+ return;
+ }
+
+ const curHeap = heapUtil.getHeap();
+ if (curHeap) {
+ try {
+ heapFunctionCall(curHeap);
+ } catch (e) {
+ // We never want analytics to crash our React component
+ // TODO: error reporter here
+ logUtils.log('Analytics error', e);
+ }
+ }
+ },
};