@dreamhorizonorg/pulse-react-native 0.0.2 → 0.0.4

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 (102) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/pulsereactnativeotel/Pulse.kt +6 -0
  3. package/android/src/main/java/com/pulsereactnativeotel/PulseReactNativeOtelModule.kt +45 -24
  4. package/ios/PulseReactNativeOtel.mm +124 -63
  5. package/lib/module/NativePulseReactNativeOtel.js.map +1 -1
  6. package/lib/module/config.js +79 -19
  7. package/lib/module/config.js.map +1 -1
  8. package/lib/module/errorBoundary.js +4 -1
  9. package/lib/module/errorBoundary.js.map +1 -1
  10. package/lib/module/errorHandler.js +5 -1
  11. package/lib/module/errorHandler.js.map +1 -1
  12. package/lib/module/events.js +2 -2
  13. package/lib/module/events.js.map +1 -1
  14. package/lib/module/index.js +2 -1
  15. package/lib/module/index.js.map +1 -1
  16. package/lib/module/navigation/index.js +21 -3
  17. package/lib/module/navigation/index.js.map +1 -1
  18. package/lib/module/navigation/navigation.interface.js +6 -0
  19. package/lib/module/navigation/navigation.interface.js.map +1 -1
  20. package/lib/module/navigation/screen-interactive.js +4 -0
  21. package/lib/module/navigation/screen-interactive.js.map +1 -1
  22. package/lib/module/navigation/screen-load.js +1 -2
  23. package/lib/module/navigation/screen-load.js.map +1 -1
  24. package/lib/module/navigation/useNavigationTracking.js +4 -3
  25. package/lib/module/navigation/useNavigationTracking.js.map +1 -1
  26. package/lib/module/network-interceptor/header-helper.js +24 -0
  27. package/lib/module/network-interceptor/header-helper.js.map +1 -0
  28. package/lib/module/network-interceptor/initialization.js +31 -2
  29. package/lib/module/network-interceptor/initialization.js.map +1 -1
  30. package/lib/module/network-interceptor/request-tracker-xhr.js +74 -5
  31. package/lib/module/network-interceptor/request-tracker-xhr.js.map +1 -1
  32. package/lib/module/network-interceptor/span-helpers.js +15 -3
  33. package/lib/module/network-interceptor/span-helpers.js.map +1 -1
  34. package/lib/module/pulse.constants.js +11 -6
  35. package/lib/module/pulse.constants.js.map +1 -1
  36. package/lib/module/trace.js +16 -10
  37. package/lib/module/trace.js.map +1 -1
  38. package/lib/module/user.js +4 -3
  39. package/lib/module/user.js.map +1 -1
  40. package/lib/typescript/plugin/src/types.d.ts +6 -0
  41. package/lib/typescript/plugin/src/types.d.ts.map +1 -1
  42. package/lib/typescript/plugin/src/utils.d.ts +2 -0
  43. package/lib/typescript/plugin/src/utils.d.ts.map +1 -1
  44. package/lib/typescript/plugin/src/withAndroidPulse.d.ts.map +1 -1
  45. package/lib/typescript/src/NativePulseReactNativeOtel.d.ts +10 -1
  46. package/lib/typescript/src/NativePulseReactNativeOtel.d.ts.map +1 -1
  47. package/lib/typescript/src/config.d.ts +11 -7
  48. package/lib/typescript/src/config.d.ts.map +1 -1
  49. package/lib/typescript/src/errorBoundary.d.ts.map +1 -1
  50. package/lib/typescript/src/errorHandler.d.ts +1 -0
  51. package/lib/typescript/src/errorHandler.d.ts.map +1 -1
  52. package/lib/typescript/src/events.d.ts.map +1 -1
  53. package/lib/typescript/src/index.d.ts +3 -2
  54. package/lib/typescript/src/index.d.ts.map +1 -1
  55. package/lib/typescript/src/navigation/index.d.ts +2 -0
  56. package/lib/typescript/src/navigation/index.d.ts.map +1 -1
  57. package/lib/typescript/src/navigation/navigation.interface.d.ts +1 -0
  58. package/lib/typescript/src/navigation/navigation.interface.d.ts.map +1 -1
  59. package/lib/typescript/src/navigation/screen-interactive.d.ts.map +1 -1
  60. package/lib/typescript/src/navigation/screen-load.d.ts.map +1 -1
  61. package/lib/typescript/src/navigation/useNavigationTracking.d.ts +1 -1
  62. package/lib/typescript/src/navigation/useNavigationTracking.d.ts.map +1 -1
  63. package/lib/typescript/src/network-interceptor/header-helper.d.ts +15 -0
  64. package/lib/typescript/src/network-interceptor/header-helper.d.ts.map +1 -0
  65. package/lib/typescript/src/network-interceptor/initialization.d.ts +5 -1
  66. package/lib/typescript/src/network-interceptor/initialization.d.ts.map +1 -1
  67. package/lib/typescript/src/network-interceptor/network.interface.d.ts +3 -0
  68. package/lib/typescript/src/network-interceptor/network.interface.d.ts.map +1 -1
  69. package/lib/typescript/src/network-interceptor/request-tracker-xhr.d.ts +5 -1
  70. package/lib/typescript/src/network-interceptor/request-tracker-xhr.d.ts.map +1 -1
  71. package/lib/typescript/src/network-interceptor/span-helpers.d.ts.map +1 -1
  72. package/lib/typescript/src/pulse.constants.d.ts +13 -5
  73. package/lib/typescript/src/pulse.constants.d.ts.map +1 -1
  74. package/lib/typescript/src/pulse.interface.d.ts +1 -1
  75. package/lib/typescript/src/pulse.interface.d.ts.map +1 -1
  76. package/lib/typescript/src/trace.d.ts.map +1 -1
  77. package/lib/typescript/src/user.d.ts.map +1 -1
  78. package/package.json +1 -1
  79. package/plugin/build/types.d.ts +6 -0
  80. package/plugin/build/utils.d.ts +2 -0
  81. package/plugin/build/utils.js +6 -2
  82. package/plugin/build/withAndroidPulse.js +3 -1
  83. package/src/NativePulseReactNativeOtel.ts +11 -1
  84. package/src/config.ts +120 -28
  85. package/src/errorBoundary.tsx +4 -1
  86. package/src/errorHandler.ts +6 -1
  87. package/src/events.ts +6 -2
  88. package/src/index.tsx +3 -2
  89. package/src/navigation/index.ts +49 -7
  90. package/src/navigation/navigation.interface.ts +7 -0
  91. package/src/navigation/screen-interactive.ts +4 -0
  92. package/src/navigation/screen-load.ts +1 -7
  93. package/src/navigation/useNavigationTracking.ts +13 -4
  94. package/src/network-interceptor/header-helper.ts +26 -0
  95. package/src/network-interceptor/initialization.ts +36 -2
  96. package/src/network-interceptor/network.interface.ts +3 -0
  97. package/src/network-interceptor/request-tracker-xhr.ts +106 -5
  98. package/src/network-interceptor/span-helpers.ts +23 -3
  99. package/src/pulse.constants.ts +19 -5
  100. package/src/pulse.interface.ts +1 -1
  101. package/src/trace.ts +17 -10
  102. package/src/user.ts +4 -3
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { AppState } from 'react-native';
4
+ import { DEFAULT_NAVIGATION_OPTIONS } from "./navigation.interface.js";
4
5
  import { pushRecentRouteKey, LOG_TAGS } from "./utils.js";
5
6
  import { discardSpan } from "../trace.js";
6
7
  import { createScreenLoadTracker, INITIAL_SCREEN_LOAD_STATE } from "./screen-load.js";
@@ -10,11 +11,24 @@ import { useNavigationTracking as useNavigationTrackingBase } from "./useNavigat
10
11
  import { isSupportedPlatform } from "../initialization.js";
11
12
  import PulseReactNativeOtel from "../NativePulseReactNativeOtel.js";
12
13
  import { getFeaturesFromRemoteConfig } from "../config.js";
14
+ import { PULSE_FEATURE_NAMES } from "../pulse.constants.js";
15
+ export { DEFAULT_NAVIGATION_OPTIONS } from "./navigation.interface.js";
16
+ let currentNavigationUnregister = null;
17
+ export function uninstallNavigationIntegration() {
18
+ if (currentNavigationUnregister) {
19
+ currentNavigationUnregister();
20
+ currentNavigationUnregister = null;
21
+ }
22
+ }
23
+ function resolveNavigationFeatureState(features, featureName, optionValue) {
24
+ if (features !== undefined && features !== null) return features[featureName] ?? optionValue;
25
+ return optionValue;
26
+ }
13
27
  export function createReactNavigationIntegration(options) {
14
28
  const features = getFeaturesFromRemoteConfig();
15
- const screenSessionTracking = features?.screen_session ?? options?.screenSessionTracking ?? true;
16
- const screenNavigationTracking = features?.rn_screen_load ?? options?.screenNavigationTracking ?? true;
17
- const screenInteractiveTracking = features?.rn_screen_interactive ?? options?.screenInteractiveTracking ?? false;
29
+ const screenSessionTracking = resolveNavigationFeatureState(features, PULSE_FEATURE_NAMES.SCREEN_SESSION, options?.screenSessionTracking ?? DEFAULT_NAVIGATION_OPTIONS.screenSessionTracking);
30
+ const screenNavigationTracking = resolveNavigationFeatureState(features, PULSE_FEATURE_NAMES.RN_SCREEN_LOAD, options?.screenNavigationTracking ?? DEFAULT_NAVIGATION_OPTIONS.screenNavigationTracking);
31
+ const screenInteractiveTracking = resolveNavigationFeatureState(features, PULSE_FEATURE_NAMES.RN_SCREEN_INTERACTIVE, options?.screenInteractiveTracking ?? DEFAULT_NAVIGATION_OPTIONS.screenInteractiveTracking);
18
32
  let navigationContainer;
19
33
  let recentRouteKeys = [];
20
34
  let isInitialized = false;
@@ -131,6 +145,9 @@ export function createReactNavigationIntegration(options) {
131
145
  }
132
146
  navigationContainer = undefined;
133
147
  isInitialized = false;
148
+ if (currentNavigationUnregister === unmountCleanup) {
149
+ currentNavigationUnregister = null;
150
+ }
134
151
  clearGlobalMarkContentReady(updatedInteractiveTracker.markContentReady);
135
152
  }
136
153
  };
@@ -151,6 +168,7 @@ export function createReactNavigationIntegration(options) {
151
168
  }
152
169
  appStateSubscription = AppState.addEventListener('change', handleAppStateChange);
153
170
  isInitialized = true;
171
+ currentNavigationUnregister = unmountCleanup;
154
172
  return unmountCleanup;
155
173
  } catch (error) {
156
174
  console.error(`${LOG_TAGS.NAVIGATION} Error registering container:`, error);
@@ -1 +1 @@
1
- {"version":3,"names":["AppState","pushRecentRouteKey","LOG_TAGS","discardSpan","createScreenLoadTracker","INITIAL_SCREEN_LOAD_STATE","createScreenInteractiveTracker","markContentReady","clearGlobalMarkContentReady","INITIAL_SCREEN_INTERACTIVE_STATE","createScreenSessionTracker","INITIAL_SCREEN_SESSION_STATE","useNavigationTracking","useNavigationTrackingBase","isSupportedPlatform","PulseReactNativeOtel","getFeaturesFromRemoteConfig","createReactNavigationIntegration","options","features","screenSessionTracking","screen_session","screenNavigationTracking","rn_screen_load","screenInteractiveTracking","rn_screen_interactive","navigationContainer","recentRouteKeys","isInitialized","appStateSubscription","screenLoadState","screenInteractiveState","screenSessionState","screenInteractiveTracker","screenLoadTracker","key","undefined","screenSessionTracker","setCurrentScreenName","screenName","onNavigationDispatch","discardScreenInteractive","screenSessionSpan","currentRoute","getCurrentRoute","endScreenSession","name","startNavigationSpan","error","console","warn","NAVIGATION","navigationSpan","spanId","onStateChange","handleStateChange","appState","currentState","shouldStartSession","startScreenSession","startScreenInteractive","handleAppStateChange","nextAppState","registerNavigationContainer","maybeNavigationContainer","container","current","updatedInteractiveTracker","addListener","unmountCleanup","endNavigationSpan","remove","latestRoute","addEventListener","navigationRef","createNavigationIntegrationWithConfig","require"],"sourceRoot":"../../../src","sources":["navigation/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AppState","DEFAULT_NAVIGATION_OPTIONS","pushRecentRouteKey","LOG_TAGS","discardSpan","createScreenLoadTracker","INITIAL_SCREEN_LOAD_STATE","createScreenInteractiveTracker","markContentReady","clearGlobalMarkContentReady","INITIAL_SCREEN_INTERACTIVE_STATE","createScreenSessionTracker","INITIAL_SCREEN_SESSION_STATE","useNavigationTracking","useNavigationTrackingBase","isSupportedPlatform","PulseReactNativeOtel","getFeaturesFromRemoteConfig","PULSE_FEATURE_NAMES","currentNavigationUnregister","uninstallNavigationIntegration","resolveNavigationFeatureState","features","featureName","optionValue","undefined","createReactNavigationIntegration","options","screenSessionTracking","SCREEN_SESSION","screenNavigationTracking","RN_SCREEN_LOAD","screenInteractiveTracking","RN_SCREEN_INTERACTIVE","navigationContainer","recentRouteKeys","isInitialized","appStateSubscription","screenLoadState","screenInteractiveState","screenSessionState","screenInteractiveTracker","screenLoadTracker","key","screenSessionTracker","setCurrentScreenName","screenName","onNavigationDispatch","discardScreenInteractive","screenSessionSpan","currentRoute","getCurrentRoute","endScreenSession","name","startNavigationSpan","error","console","warn","NAVIGATION","navigationSpan","spanId","onStateChange","handleStateChange","appState","currentState","shouldStartSession","startScreenSession","startScreenInteractive","handleAppStateChange","nextAppState","registerNavigationContainer","maybeNavigationContainer","container","current","updatedInteractiveTracker","addListener","unmountCleanup","endNavigationSpan","remove","latestRoute","addEventListener","navigationRef","createNavigationIntegrationWithConfig","require"],"sourceRoot":"../../../src","sources":["navigation/index.ts"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,8 @@
1
1
  "use strict";
2
+
3
+ export const DEFAULT_NAVIGATION_OPTIONS = {
4
+ screenSessionTracking: true,
5
+ screenNavigationTracking: true,
6
+ screenInteractiveTracking: false
7
+ };
2
8
  //# sourceMappingURL=navigation.interface.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["navigation/navigation.interface.ts"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_NAVIGATION_OPTIONS","screenSessionTracking","screenNavigationTracking","screenInteractiveTracking"],"sourceRoot":"../../../src","sources":["navigation/navigation.interface.ts"],"mappings":";;AAoBA,OAAO,MAAMA,0BAAkE,GAC7E;EACEC,qBAAqB,EAAE,IAAI;EAC3BC,wBAAwB,EAAE,IAAI;EAC9BC,yBAAyB,EAAE;AAC7B,CAAC","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { Pulse } from "../index.js";
4
+ import { getIsStarted } from "../config.js";
4
5
  import { Platform } from 'react-native';
5
6
  import { SPAN_NAMES, ATTRIBUTE_KEYS, PULSE_TYPES } from "../pulse.constants.js";
6
7
  import { discardSpan } from "../trace.js";
@@ -87,6 +88,9 @@ export function createScreenInteractiveTracker(enabled, state, navigationContain
87
88
  };
88
89
  }
89
90
  export function markContentReady() {
91
+ if (!getIsStarted()) {
92
+ return;
93
+ }
90
94
  if (globalMarkContentReady) {
91
95
  globalMarkContentReady();
92
96
  } else {
@@ -1 +1 @@
1
- {"version":3,"names":["Pulse","Platform","SPAN_NAMES","ATTRIBUTE_KEYS","PULSE_TYPES","discardSpan","LOG_TAGS","INITIAL_SCREEN_INTERACTIVE_STATE","screenInteractiveSpan","undefined","currentInteractiveRouteKey","globalMarkContentReady","createScreenInteractiveTracker","enabled","state","navigationContainer","discardScreenInteractive","reason","console","log","SCREEN_INTERACTIVE","spanId","startScreenInteractive","route","key","startSpan","attributes","PULSE_TYPE","SCREEN_NAME","name","ROUTE_KEY","PLATFORM","OS","inheritContext","endScreenInteractive","routeName","end","handleMarkContentReady","warn","currentRoute","getCurrentRoute","error","markContentReady","NAVIGATION","clearGlobalMarkContentReady","markContentReadyFn"],"sourceRoot":"../../../src","sources":["navigation/screen-interactive.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Pulse","getIsStarted","Platform","SPAN_NAMES","ATTRIBUTE_KEYS","PULSE_TYPES","discardSpan","LOG_TAGS","INITIAL_SCREEN_INTERACTIVE_STATE","screenInteractiveSpan","undefined","currentInteractiveRouteKey","globalMarkContentReady","createScreenInteractiveTracker","enabled","state","navigationContainer","discardScreenInteractive","reason","console","log","SCREEN_INTERACTIVE","spanId","startScreenInteractive","route","key","startSpan","attributes","PULSE_TYPE","SCREEN_NAME","name","ROUTE_KEY","PLATFORM","OS","inheritContext","endScreenInteractive","routeName","end","handleMarkContentReady","warn","currentRoute","getCurrentRoute","error","markContentReady","NAVIGATION","clearGlobalMarkContentReady","markContentReadyFn"],"sourceRoot":"../../../src","sources":["navigation/screen-interactive.ts"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { Pulse } from "../index.js";
4
4
  import { Platform } from 'react-native';
5
- import { SPAN_NAMES, ATTRIBUTE_KEYS, PULSE_TYPES, PHASE_VALUES } from "../pulse.constants.js";
5
+ import { SPAN_NAMES, ATTRIBUTE_KEYS, PULSE_TYPES } from "../pulse.constants.js";
6
6
  import { LOG_TAGS } from "./utils.js";
7
7
  export const INITIAL_SCREEN_LOAD_STATE = {
8
8
  navigationSpan: undefined,
@@ -16,7 +16,6 @@ export function createScreenLoadTracker(enabled, state, getRecentRouteKeys, push
16
16
  state.navigationSpan = Pulse.startSpan(SPAN_NAMES.NAVIGATED, {
17
17
  attributes: {
18
18
  [ATTRIBUTE_KEYS.PULSE_TYPE]: PULSE_TYPES.SCREEN_LOAD,
19
- [ATTRIBUTE_KEYS.PHASE]: PHASE_VALUES.START,
20
19
  [ATTRIBUTE_KEYS.PLATFORM]: Platform.OS
21
20
  }
22
21
  });
@@ -1 +1 @@
1
- {"version":3,"names":["Pulse","Platform","SPAN_NAMES","ATTRIBUTE_KEYS","PULSE_TYPES","PHASE_VALUES","LOG_TAGS","INITIAL_SCREEN_LOAD_STATE","navigationSpan","undefined","latestRoute","createScreenLoadTracker","enabled","state","getRecentRouteKeys","pushRecentRouteKey","onLoadEnd","startNavigationSpan","startSpan","NAVIGATED","attributes","PULSE_TYPE","SCREEN_LOAD","PHASE","START","PLATFORM","OS","console","log","endNavigationSpan","currentRoute","previousRoute","routeHasBeenSeen","route","hasBeenSeen","includes","key","setAttributes","SCREEN_NAME","name","LAST_SCREEN_NAME","ROUTE_HAS_BEEN_SEEN","ROUTE_KEY","end","handleStateChange"],"sourceRoot":"../../../src","sources":["navigation/screen-load.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Pulse","Platform","SPAN_NAMES","ATTRIBUTE_KEYS","PULSE_TYPES","LOG_TAGS","INITIAL_SCREEN_LOAD_STATE","navigationSpan","undefined","latestRoute","createScreenLoadTracker","enabled","state","getRecentRouteKeys","pushRecentRouteKey","onLoadEnd","startNavigationSpan","startSpan","NAVIGATED","attributes","PULSE_TYPE","SCREEN_LOAD","PLATFORM","OS","console","log","endNavigationSpan","currentRoute","previousRoute","routeHasBeenSeen","route","hasBeenSeen","includes","key","setAttributes","SCREEN_NAME","name","LAST_SCREEN_NAME","ROUTE_HAS_BEEN_SEEN","ROUTE_KEY","end","handleStateChange"],"sourceRoot":"../../../src","sources":["navigation/screen-load.ts"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  import { useRef, useCallback, useEffect, useMemo } from 'react';
4
+ import { DEFAULT_NAVIGATION_OPTIONS } from "./navigation.interface.js";
4
5
  export function useNavigationTracking(navigationRef, options, createIntegration) {
5
- const screenSessionTracking = options?.screenSessionTracking ?? true;
6
- const screenNavigationTracking = options?.screenNavigationTracking ?? true;
7
- const screenInteractiveTracking = options?.screenInteractiveTracking ?? false;
6
+ const screenSessionTracking = options?.screenSessionTracking ?? DEFAULT_NAVIGATION_OPTIONS.screenSessionTracking;
7
+ const screenNavigationTracking = options?.screenNavigationTracking ?? DEFAULT_NAVIGATION_OPTIONS.screenNavigationTracking;
8
+ const screenInteractiveTracking = options?.screenInteractiveTracking ?? DEFAULT_NAVIGATION_OPTIONS.screenInteractiveTracking;
8
9
  const integration = useMemo(() => {
9
10
  if (createIntegration) {
10
11
  return createIntegration({
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useCallback","useEffect","useMemo","useNavigationTracking","navigationRef","options","createIntegration","screenSessionTracking","screenNavigationTracking","screenInteractiveTracking","integration","Error","cleanupRef","current","onReady","registerNavigationContainer"],"sourceRoot":"../../../src","sources":["navigation/useNavigationTracking.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,WAAW,EAAEC,SAAS,EAAEC,OAAO,QAAwB,OAAO;AAI/E,OAAO,SAASC,qBAAqBA,CACnCC,aAA6B,EAC7BC,OAAsC,EACtCC,iBAE+B,EACnB;EACZ,MAAMC,qBAAqB,GAAGF,OAAO,EAAEE,qBAAqB,IAAI,IAAI;EACpE,MAAMC,wBAAwB,GAAGH,OAAO,EAAEG,wBAAwB,IAAI,IAAI;EAC1E,MAAMC,yBAAyB,GAAGJ,OAAO,EAAEI,yBAAyB,IAAI,KAAK;EAE7E,MAAMC,WAAW,GAAGR,OAAO,CAAC,MAAM;IAChC,IAAII,iBAAiB,EAAE;MACrB,OAAOA,iBAAiB,CAAC;QACvBC,qBAAqB;QACrBC,wBAAwB;QACxBC;MACF,CAAC,CAAC;IACJ;IACA,MAAM,IAAIE,KAAK,CAAC,oCAAoC,CAAC;EACvD,CAAC,EAAE,CACDJ,qBAAqB,EACrBC,wBAAwB,EACxBC,yBAAyB,EACzBH,iBAAiB,CAClB,CAAC;EAEF,MAAMM,UAAU,GAAGb,MAAM,CAAsB,IAAI,CAAC;EAEpDE,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX,IAAIW,UAAU,CAACC,OAAO,EAAE;QACtBD,UAAU,CAACC,OAAO,CAAC,CAAC;MACtB;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,OAAO,GAAGd,WAAW,CAAC,MAAM;IAChC,IAAII,aAAa,CAACS,OAAO,IAAIH,WAAW,EAAE;MACxCE,UAAU,CAACC,OAAO,GAChBH,WAAW,CAACK,2BAA2B,CAACX,aAAa,CAAC;IAC1D;EACF,CAAC,EAAE,CAACA,aAAa,EAAEM,WAAW,CAAC,CAAC;EAEhC,OAAOI,OAAO;AAChB","ignoreList":[]}
1
+ {"version":3,"names":["useRef","useCallback","useEffect","useMemo","DEFAULT_NAVIGATION_OPTIONS","useNavigationTracking","navigationRef","options","createIntegration","screenSessionTracking","screenNavigationTracking","screenInteractiveTracking","integration","Error","cleanupRef","current","onReady","registerNavigationContainer"],"sourceRoot":"../../../src","sources":["navigation/useNavigationTracking.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,WAAW,EAAEC,SAAS,EAAEC,OAAO,QAAwB,OAAO;AAC/E,SACEC,0BAA0B,QAErB,2BAAwB;AAG/B,OAAO,SAASC,qBAAqBA,CACnCC,aAA6B,EAC7BC,OAAsC,EACtCC,iBAE+B,EACnB;EACZ,MAAMC,qBAAqB,GACzBF,OAAO,EAAEE,qBAAqB,IAC9BL,0BAA0B,CAACK,qBAAqB;EAClD,MAAMC,wBAAwB,GAC5BH,OAAO,EAAEG,wBAAwB,IACjCN,0BAA0B,CAACM,wBAAwB;EACrD,MAAMC,yBAAyB,GAC7BJ,OAAO,EAAEI,yBAAyB,IAClCP,0BAA0B,CAACO,yBAAyB;EAEtD,MAAMC,WAAW,GAAGT,OAAO,CAAC,MAAM;IAChC,IAAIK,iBAAiB,EAAE;MACrB,OAAOA,iBAAiB,CAAC;QACvBC,qBAAqB;QACrBC,wBAAwB;QACxBC;MACF,CAAC,CAAC;IACJ;IACA,MAAM,IAAIE,KAAK,CAAC,oCAAoC,CAAC;EACvD,CAAC,EAAE,CACDJ,qBAAqB,EACrBC,wBAAwB,EACxBC,yBAAyB,EACzBH,iBAAiB,CAClB,CAAC;EAEF,MAAMM,UAAU,GAAGd,MAAM,CAAsB,IAAI,CAAC;EAEpDE,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX,IAAIY,UAAU,CAACC,OAAO,EAAE;QACtBD,UAAU,CAACC,OAAO,CAAC,CAAC;MACtB;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,OAAO,GAAGf,WAAW,CAAC,MAAM;IAChC,IAAIK,aAAa,CAACS,OAAO,IAAIH,WAAW,EAAE;MACxCE,UAAU,CAACC,OAAO,GAChBH,WAAW,CAACK,2BAA2B,CAACX,aAAa,CAAC;IAC1D;EACF,CAAC,EAAE,CAACA,aAAa,EAAEM,WAAW,CAAC,CAAC;EAEhC,OAAOI,OAAO;AAChB","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Normalizes header name according to OpenTelemetry HTTP semantic conventions:
5
+ * - Lowercase
6
+ * - Dashes replaced by underscores
7
+ * - Reference: https://opentelemetry.io/docs/specs/semconv/registry/attributes/http/
8
+ * @example
9
+ * normalizeHeaderName('Content-Type') => 'content_type'
10
+ * normalizeHeaderName('X-Request-ID') => 'x_request_id'
11
+ */
12
+ export function normalizeHeaderName(headerName) {
13
+ return headerName.toLowerCase().replace(/-/g, '_');
14
+ }
15
+
16
+ /**
17
+ * Checks if a header should be captured based on configuration.
18
+ */
19
+ export function shouldCaptureHeader(headerName, headerList) {
20
+ if (headerList.length === 0) return false;
21
+ // Case-insensitive comparison
22
+ return headerList.some(configHeader => configHeader.toLowerCase() === headerName.toLowerCase());
23
+ }
24
+ //# sourceMappingURL=header-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["normalizeHeaderName","headerName","toLowerCase","replace","shouldCaptureHeader","headerList","length","some","configHeader"],"sourceRoot":"../../../src","sources":["network-interceptor/header-helper.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,mBAAmBA,CAACC,UAAkB,EAAU;EAC9D,OAAOA,UAAU,CAACC,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;AACpD;;AAEA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CACjCH,UAAkB,EAClBI,UAAoB,EACX;EACT,IAAIA,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;EACzC;EACA,OAAOD,UAAU,CAACE,IAAI,CACnBC,YAAY,IAAKA,YAAY,CAACN,WAAW,CAAC,CAAC,KAAKD,UAAU,CAACC,WAAW,CAAC,CAC1E,CAAC;AACH","ignoreList":[]}
@@ -1,18 +1,37 @@
1
1
  "use strict";
2
2
 
3
3
  import createXmlHttpRequestTracker from "./request-tracker-xhr.js";
4
+ // Re-export header utilities for convenience (they're in a separate file to avoid dependency issues)
5
+ export { normalizeHeaderName, shouldCaptureHeader } from "./header-helper.js";
4
6
  let isInitialized = false;
5
- export function initializeNetworkInterceptor() {
7
+ let uninstallXmlHttpRequestTracker = null;
8
+ let headerConfig = {
9
+ requestHeaders: [],
10
+ responseHeaders: []
11
+ };
12
+ export function getHeaderConfig() {
13
+ return headerConfig;
14
+ }
15
+ export function initializeNetworkInterceptor(config) {
6
16
  if (isInitialized) {
7
17
  console.warn('[Pulse] Network interceptor already initialized');
8
18
  return;
9
19
  }
20
+
21
+ // Store header configuration
22
+ if (config) {
23
+ headerConfig = {
24
+ requestHeaders: config.requestHeaders ?? [],
25
+ responseHeaders: config.responseHeaders ?? []
26
+ };
27
+ }
10
28
  console.log('[Pulse] 🔄 Starting network interceptor initialization...');
11
29
  try {
12
30
  // In react-native, we are intercepting XMLHttpRequest only, since axios and fetch both use it internally.
13
31
  // See: https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Network/fetch.js
14
32
  if (typeof XMLHttpRequest !== 'undefined') {
15
- createXmlHttpRequestTracker(XMLHttpRequest);
33
+ const result = createXmlHttpRequestTracker(XMLHttpRequest);
34
+ uninstallXmlHttpRequestTracker = result.uninstall;
16
35
  } else {
17
36
  console.warn('[Pulse] XMLHttpRequest is not available');
18
37
  }
@@ -22,4 +41,14 @@ export function initializeNetworkInterceptor() {
22
41
  }
23
42
  }
24
43
  export const isNetworkInterceptorInitialized = () => isInitialized;
44
+ export function uninstallNetworkInterceptor() {
45
+ if (!isInitialized) {
46
+ return;
47
+ }
48
+ if (uninstallXmlHttpRequestTracker) {
49
+ uninstallXmlHttpRequestTracker();
50
+ uninstallXmlHttpRequestTracker = null;
51
+ }
52
+ isInitialized = false;
53
+ }
25
54
  //# sourceMappingURL=initialization.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createXmlHttpRequestTracker","isInitialized","initializeNetworkInterceptor","console","warn","log","XMLHttpRequest","error","isNetworkInterceptorInitialized"],"sourceRoot":"../../../src","sources":["network-interceptor/initialization.ts"],"mappings":";;AAAA,OAAOA,2BAA2B,MAAM,0BAAuB;AAE/D,IAAIC,aAAa,GAAG,KAAK;AAEzB,OAAO,SAASC,4BAA4BA,CAAA,EAAS;EACnD,IAAID,aAAa,EAAE;IACjBE,OAAO,CAACC,IAAI,CAAC,iDAAiD,CAAC;IAC/D;EACF;EAEAD,OAAO,CAACE,GAAG,CAAC,2DAA2D,CAAC;EAExE,IAAI;IACF;IACA;IACA,IAAI,OAAOC,cAAc,KAAK,WAAW,EAAE;MACzCN,2BAA2B,CAACM,cAAc,CAAC;IAC7C,CAAC,MAAM;MACLH,OAAO,CAACC,IAAI,CAAC,yCAAyC,CAAC;IACzD;IAEAH,aAAa,GAAG,IAAI;EACtB,CAAC,CAAC,OAAOM,KAAK,EAAE;IACdJ,OAAO,CAACI,KAAK,CAAC,mDAAmD,EAAEA,KAAK,CAAC;EAC3E;AACF;AAEA,OAAO,MAAMC,+BAA+B,GAAGA,CAAA,KAAeP,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["createXmlHttpRequestTracker","normalizeHeaderName","shouldCaptureHeader","isInitialized","uninstallXmlHttpRequestTracker","headerConfig","requestHeaders","responseHeaders","getHeaderConfig","initializeNetworkInterceptor","config","console","warn","log","XMLHttpRequest","result","uninstall","error","isNetworkInterceptorInitialized","uninstallNetworkInterceptor"],"sourceRoot":"../../../src","sources":["network-interceptor/initialization.ts"],"mappings":";;AAAA,OAAOA,2BAA2B,MAAM,0BAAuB;AAE/D;AACA,SAASC,mBAAmB,EAAEC,mBAAmB,QAAQ,oBAAiB;AAE1E,IAAIC,aAAa,GAAG,KAAK;AACzB,IAAIC,8BAAmD,GAAG,IAAI;AAC9D,IAAIC,YAAiC,GAAG;EACtCC,cAAc,EAAE,EAAE;EAClBC,eAAe,EAAE;AACnB,CAAC;AAED,OAAO,SAASC,eAAeA,CAAA,EAAwB;EACrD,OAAOH,YAAY;AACrB;AAEA,OAAO,SAASI,4BAA4BA,CAC1CC,MAA4B,EACtB;EACN,IAAIP,aAAa,EAAE;IACjBQ,OAAO,CAACC,IAAI,CAAC,iDAAiD,CAAC;IAC/D;EACF;;EAEA;EACA,IAAIF,MAAM,EAAE;IACVL,YAAY,GAAG;MACbC,cAAc,EAAEI,MAAM,CAACJ,cAAc,IAAI,EAAE;MAC3CC,eAAe,EAAEG,MAAM,CAACH,eAAe,IAAI;IAC7C,CAAC;EACH;EAEAI,OAAO,CAACE,GAAG,CAAC,2DAA2D,CAAC;EAExE,IAAI;IACF;IACA;IACA,IAAI,OAAOC,cAAc,KAAK,WAAW,EAAE;MACzC,MAAMC,MAAM,GAAGf,2BAA2B,CAACc,cAAc,CAAC;MAC1DV,8BAA8B,GAAGW,MAAM,CAACC,SAAS;IACnD,CAAC,MAAM;MACLL,OAAO,CAACC,IAAI,CAAC,yCAAyC,CAAC;IACzD;IAEAT,aAAa,GAAG,IAAI;EACtB,CAAC,CAAC,OAAOc,KAAK,EAAE;IACdN,OAAO,CAACM,KAAK,CAAC,mDAAmD,EAAEA,KAAK,CAAC;EAC3E;AACF;AAEA,OAAO,MAAMC,+BAA+B,GAAGA,CAAA,KAAef,aAAa;AAE3E,OAAO,SAASgB,2BAA2BA,CAAA,EAAS;EAClD,IAAI,CAAChB,aAAa,EAAE;IAClB;EACF;EACA,IAAIC,8BAA8B,EAAE;IAClCA,8BAA8B,CAAC,CAAC;IAChCA,8BAA8B,GAAG,IAAI;EACvC;EACAD,aAAa,GAAG,KAAK;AACvB","ignoreList":[]}
@@ -3,11 +3,16 @@
3
3
  import { RequestTracker } from "./request-tracker.js";
4
4
  import { getAbsoluteUrl } from "../utility.js";
5
5
  import { createNetworkSpan, completeNetworkSpan } from "./span-helpers.js";
6
+ import { getHeaderConfig } from "./initialization.js";
7
+ import { shouldCaptureHeader } from "./header-helper.js";
6
8
  let isXHRIntercepted = false;
7
9
  function createXmlHttpRequestTracker(xhr) {
8
10
  if (isXHRIntercepted) {
9
11
  console.warn('[Pulse] XMLHttpRequest already intercepted');
10
- return new RequestTracker();
12
+ return {
13
+ requestTracker: new RequestTracker(),
14
+ uninstall: () => {}
15
+ };
11
16
  }
12
17
  const requestTracker = new RequestTracker();
13
18
  const trackedRequests = new WeakMap();
@@ -24,16 +29,39 @@ function createXmlHttpRequestTracker(xhr) {
24
29
  originalOpen.call(this, method, url, ...rest);
25
30
  };
26
31
  isXHRIntercepted = true;
32
+
33
+ // Store request headers before send
34
+ const requestHeadersMap = new WeakMap();
35
+ const originalSetRequestHeader = xhr.prototype.setRequestHeader;
36
+ xhr.prototype.setRequestHeader = function setRequestHeader(name, value) {
37
+ const headerConfig = getHeaderConfig();
38
+ const requestHeadersList = headerConfig.requestHeaders ?? [];
39
+ if (requestHeadersList.length > 0 && shouldCaptureHeader(name, requestHeadersList)) {
40
+ const existing = requestHeadersMap.get(this) || {};
41
+ requestHeadersMap.set(this, {
42
+ ...existing,
43
+ [name]: value
44
+ });
45
+ }
46
+ originalSetRequestHeader.call(this, name, value);
47
+ };
27
48
  const originalSend = xhr.prototype.send;
28
49
  xhr.prototype.send = function send(body) {
29
50
  const requestData = trackedRequests.get(this);
30
51
  if (requestData) {
31
52
  const existingHandler = requestHandlers.get(this);
32
53
  if (existingHandler) this.removeEventListener('readystatechange', existingHandler);
54
+
55
+ // Capture request headers
56
+ const headerConfig = getHeaderConfig();
57
+ const capturedRequestHeaders = requestHeadersMap.get(this);
58
+ const requestHeadersList = headerConfig.requestHeaders ?? [];
59
+ const filteredRequestHeaders = capturedRequestHeaders && requestHeadersList.length > 0 ? Object.fromEntries(Object.entries(capturedRequestHeaders).filter(([name]) => shouldCaptureHeader(name, requestHeadersList))) : undefined;
33
60
  const startContext = {
34
61
  type: 'xmlhttprequest',
35
62
  method: requestData.method,
36
- url: requestData.url
63
+ url: requestData.url,
64
+ requestHeaders: filteredRequestHeaders && Object.keys(filteredRequestHeaders).length > 0 ? filteredRequestHeaders : undefined
37
65
  };
38
66
  this.setRequestHeader('X-Pulse-RN-Tracked', 'true');
39
67
  const span = createNetworkSpan(startContext, 'xmlhttprequest', body);
@@ -45,23 +73,54 @@ function createXmlHttpRequestTracker(xhr) {
45
73
  if (this.readyState === xhr.DONE && onRequestEnd) {
46
74
  const activeSpan = trackedSpans.get(this);
47
75
 
76
+ // Capture response headers
77
+ const responseHeaderConfig = getHeaderConfig();
78
+ const capturedResponseHeaders = {};
79
+ const responseHeadersList = responseHeaderConfig.responseHeaders ?? [];
80
+ if (responseHeadersList.length > 0) {
81
+ try {
82
+ const allHeaders = this.getAllResponseHeaders();
83
+ if (allHeaders) {
84
+ const headerLines = allHeaders.trim().split(/[\r\n]+/);
85
+ for (const line of headerLines) {
86
+ const parts = line.split(': ');
87
+ if (parts.length === 2) {
88
+ const [name, value] = parts;
89
+ if (name && value && shouldCaptureHeader(name, responseHeadersList)) {
90
+ capturedResponseHeaders[name] = value;
91
+ }
92
+ }
93
+ }
94
+ }
95
+ } catch (e) {
96
+ // Headers may not be available in some cases (CORS, etc.)
97
+ console.debug('[Pulse] Could not read response headers:', e);
98
+ }
99
+ }
100
+
48
101
  // Determine request outcome based on status code
49
102
  let endContext;
103
+ const responseHeaders = Object.keys(capturedResponseHeaders).length > 0 ? capturedResponseHeaders : undefined;
50
104
  if (this.status <= 0 || this.status >= 400) {
51
105
  endContext = {
52
106
  state: 'error',
53
- status: this.status
107
+ status: this.status,
108
+ responseHeaders
54
109
  };
55
110
  } else {
56
111
  endContext = {
57
112
  state: 'success',
58
- status: this.status
113
+ status: this.status,
114
+ responseHeaders
59
115
  };
60
116
  }
61
117
  if (activeSpan) {
62
118
  completeNetworkSpan(activeSpan, startContext, endContext, endContext.state === 'error');
63
119
  trackedSpans.delete(this);
64
120
  }
121
+
122
+ // Clean up
123
+ requestHeadersMap.delete(this);
65
124
  onRequestEnd(endContext);
66
125
  }
67
126
  };
@@ -70,7 +129,17 @@ function createXmlHttpRequestTracker(xhr) {
70
129
  }
71
130
  originalSend.call(this, body);
72
131
  };
73
- return requestTracker;
132
+ const uninstall = () => {
133
+ if (!isXHRIntercepted) return;
134
+ xhr.prototype.open = originalOpen;
135
+ xhr.prototype.setRequestHeader = originalSetRequestHeader;
136
+ xhr.prototype.send = originalSend;
137
+ isXHRIntercepted = false;
138
+ };
139
+ return {
140
+ requestTracker,
141
+ uninstall
142
+ };
74
143
  }
75
144
  export default createXmlHttpRequestTracker;
76
145
  //# sourceMappingURL=request-tracker-xhr.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RequestTracker","getAbsoluteUrl","createNetworkSpan","completeNetworkSpan","isXHRIntercepted","createXmlHttpRequestTracker","xhr","console","warn","requestTracker","trackedRequests","WeakMap","trackedSpans","requestHandlers","originalOpen","prototype","open","method","url","rest","set","String","call","originalSend","send","body","requestData","get","existingHandler","removeEventListener","startContext","type","setRequestHeader","span","onRequestEnd","start","onReadyStateChange","readyState","DONE","activeSpan","endContext","status","state","delete","addEventListener"],"sourceRoot":"../../../src","sources":["network-interceptor/request-tracker-xhr.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["RequestTracker","getAbsoluteUrl","createNetworkSpan","completeNetworkSpan","getHeaderConfig","shouldCaptureHeader","isXHRIntercepted","createXmlHttpRequestTracker","xhr","console","warn","requestTracker","uninstall","trackedRequests","WeakMap","trackedSpans","requestHandlers","originalOpen","prototype","open","method","url","rest","set","String","call","requestHeadersMap","originalSetRequestHeader","setRequestHeader","name","value","headerConfig","requestHeadersList","requestHeaders","length","existing","get","originalSend","send","body","requestData","existingHandler","removeEventListener","capturedRequestHeaders","filteredRequestHeaders","Object","fromEntries","entries","filter","undefined","startContext","type","keys","span","onRequestEnd","start","onReadyStateChange","readyState","DONE","activeSpan","responseHeaderConfig","capturedResponseHeaders","responseHeadersList","responseHeaders","allHeaders","getAllResponseHeaders","headerLines","trim","split","line","parts","e","debug","endContext","status","state","delete","addEventListener"],"sourceRoot":"../../../src","sources":["network-interceptor/request-tracker-xhr.ts"],"mappings":"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","ignoreList":[]}
@@ -4,13 +4,14 @@ import { Platform } from 'react-native';
4
4
  import { Pulse, SpanStatusCode } from "../index.js";
5
5
  import { extractHttpAttributes } from "./url-helper.js";
6
6
  import { updateAttributesWithGraphQLData } from "./graphql-helper.js";
7
- import { ATTRIBUTE_KEYS, PHASE_VALUES } from "../pulse.constants.js";
7
+ import { ATTRIBUTE_KEYS, PULSE_TYPES } from "../pulse.constants.js";
8
+ import { normalizeHeaderName } from "./header-helper.js";
8
9
  export function setNetworkSpanAttributes(span, startContext, endContext) {
9
10
  const method = startContext.method.toUpperCase();
10
11
  let attributes = {
11
12
  [ATTRIBUTE_KEYS.HTTP_METHOD]: method,
12
13
  [ATTRIBUTE_KEYS.HTTP_URL]: startContext.url,
13
- [ATTRIBUTE_KEYS.PULSE_TYPE]: `network.${endContext.status ?? 0}`,
14
+ [ATTRIBUTE_KEYS.PULSE_TYPE]: `${PULSE_TYPES.NETWORK}.${endContext.status ?? 0}`,
14
15
  [ATTRIBUTE_KEYS.HTTP_REQUEST_TYPE]: startContext.type,
15
16
  [ATTRIBUTE_KEYS.PLATFORM]: Platform.OS
16
17
  };
@@ -33,6 +34,18 @@ export function setNetworkSpanAttributes(span, startContext, endContext) {
33
34
  }
34
35
  span.recordException(endContext.error, attributes);
35
36
  }
37
+ if (startContext.requestHeaders) {
38
+ for (const [headerName, headerValue] of Object.entries(startContext.requestHeaders)) {
39
+ const normalizedName = normalizeHeaderName(headerName);
40
+ attributes[`${ATTRIBUTE_KEYS.HTTP_REQUEST_HEADER}.${normalizedName}`] = headerValue;
41
+ }
42
+ }
43
+ if (endContext.responseHeaders) {
44
+ for (const [headerName, headerValue] of Object.entries(endContext.responseHeaders)) {
45
+ const normalizedName = normalizeHeaderName(headerName);
46
+ attributes[`${ATTRIBUTE_KEYS.HTTP_RESPONSE_HEADER}.${normalizedName}`] = headerValue;
47
+ }
48
+ }
36
49
  span.setAttributes(attributes);
37
50
  return attributes;
38
51
  }
@@ -42,7 +55,6 @@ export function createNetworkSpan(startContext, interceptorType, body) {
42
55
  let baseAttributes = {
43
56
  [ATTRIBUTE_KEYS.HTTP_METHOD]: method,
44
57
  [ATTRIBUTE_KEYS.HTTP_URL]: startContext.url,
45
- [ATTRIBUTE_KEYS.PULSE_TYPE]: PHASE_VALUES.NETWORK,
46
58
  [ATTRIBUTE_KEYS.HTTP_REQUEST_TYPE]: interceptorType
47
59
  };
48
60
  const graphqlAttributes = updateAttributesWithGraphQLData(startContext.url, body);
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","Pulse","SpanStatusCode","extractHttpAttributes","updateAttributesWithGraphQLData","ATTRIBUTE_KEYS","PHASE_VALUES","setNetworkSpanAttributes","span","startContext","endContext","method","toUpperCase","attributes","HTTP_METHOD","HTTP_URL","url","PULSE_TYPE","status","HTTP_REQUEST_TYPE","type","PLATFORM","OS","urlAttributes","HTTP_STATUS_CODE","state","error","ERROR_MESSAGE","message","String","stack","ERROR_STACK","recordException","setAttributes","createNetworkSpan","interceptorType","body","spanName","baseAttributes","NETWORK","graphqlAttributes","startSpan","completeNetworkSpan","isError","console","log","spanId","spanAttributes","e","end","ERROR","UNSET"],"sourceRoot":"../../../src","sources":["network-interceptor/span-helpers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","Pulse","SpanStatusCode","extractHttpAttributes","updateAttributesWithGraphQLData","ATTRIBUTE_KEYS","PULSE_TYPES","normalizeHeaderName","setNetworkSpanAttributes","span","startContext","endContext","method","toUpperCase","attributes","HTTP_METHOD","HTTP_URL","url","PULSE_TYPE","NETWORK","status","HTTP_REQUEST_TYPE","type","PLATFORM","OS","urlAttributes","HTTP_STATUS_CODE","state","error","ERROR_MESSAGE","message","String","stack","ERROR_STACK","recordException","requestHeaders","headerName","headerValue","Object","entries","normalizedName","HTTP_REQUEST_HEADER","responseHeaders","HTTP_RESPONSE_HEADER","setAttributes","createNetworkSpan","interceptorType","body","spanName","baseAttributes","graphqlAttributes","startSpan","completeNetworkSpan","isError","console","log","spanId","spanAttributes","e","end","ERROR","UNSET"],"sourceRoot":"../../../src","sources":["network-interceptor/span-helpers.ts"],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,6 @@ export let ATTRIBUTE_KEYS = /*#__PURE__*/function (ATTRIBUTE_KEYS) {
14
14
  ATTRIBUTE_KEYS["PULSE_TYPE"] = "pulse.type";
15
15
  ATTRIBUTE_KEYS["SCREEN_NAME"] = "screen.name";
16
16
  ATTRIBUTE_KEYS["ROUTE_KEY"] = "routeKey";
17
- ATTRIBUTE_KEYS["PHASE"] = "phase";
18
17
  ATTRIBUTE_KEYS["LAST_SCREEN_NAME"] = "last.screen.name";
19
18
  ATTRIBUTE_KEYS["ROUTE_HAS_BEEN_SEEN"] = "routeHasBeenSeen";
20
19
  ATTRIBUTE_KEYS["PLATFORM"] = "platform";
@@ -24,6 +23,8 @@ export let ATTRIBUTE_KEYS = /*#__PURE__*/function (ATTRIBUTE_KEYS) {
24
23
  ATTRIBUTE_KEYS["HTTP_URL"] = "http.url";
25
24
  ATTRIBUTE_KEYS["HTTP_STATUS_CODE"] = "http.status_code";
26
25
  ATTRIBUTE_KEYS["HTTP_REQUEST_TYPE"] = "http.request.type";
26
+ ATTRIBUTE_KEYS["HTTP_REQUEST_HEADER"] = "http.request.header";
27
+ ATTRIBUTE_KEYS["HTTP_RESPONSE_HEADER"] = "http.response.header";
27
28
  ATTRIBUTE_KEYS["ERROR_MESSAGE"] = "error.message";
28
29
  ATTRIBUTE_KEYS["ERROR_STACK"] = "error.stack";
29
30
  return ATTRIBUTE_KEYS;
@@ -32,11 +33,15 @@ export let PULSE_TYPES = /*#__PURE__*/function (PULSE_TYPES) {
32
33
  PULSE_TYPES["SCREEN_SESSION"] = "screen_session";
33
34
  PULSE_TYPES["SCREEN_LOAD"] = "screen_load";
34
35
  PULSE_TYPES["SCREEN_INTERACTIVE"] = "screen_interactive";
36
+ PULSE_TYPES["NETWORK"] = "network";
35
37
  return PULSE_TYPES;
36
38
  }({});
37
- export let PHASE_VALUES = /*#__PURE__*/function (PHASE_VALUES) {
38
- PHASE_VALUES["START"] = "start";
39
- PHASE_VALUES["NETWORK"] = "network";
40
- return PHASE_VALUES;
41
- }({});
39
+ export const PULSE_FEATURE_NAMES = {
40
+ RN_SCREEN_LOAD: 'rn_screen_load',
41
+ SCREEN_SESSION: 'screen_session',
42
+ RN_SCREEN_INTERACTIVE: 'rn_screen_interactive',
43
+ NETWORK_INSTRUMENTATION: 'network_instrumentation',
44
+ CUSTOM_EVENTS: 'custom_events',
45
+ JS_CRASH: 'js_crash'
46
+ };
42
47
  //# sourceMappingURL=pulse.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SPAN_NAMES","ATTRIBUTE_KEYS","PULSE_TYPES","PHASE_VALUES"],"sourceRoot":"../../src","sources":["pulse.constants.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA,WAAYA,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAMtB,WAAYC,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAkB1B,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAMvB,WAAYC,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["SPAN_NAMES","ATTRIBUTE_KEYS","PULSE_TYPES","PULSE_FEATURE_NAMES","RN_SCREEN_LOAD","SCREEN_SESSION","RN_SCREEN_INTERACTIVE","NETWORK_INSTRUMENTATION","CUSTOM_EVENTS","JS_CRASH"],"sourceRoot":"../../src","sources":["pulse.constants.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA,WAAYA,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAMtB,WAAYC,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAmB1B,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAOvB,OAAO,MAAMC,mBAAmB,GAAG;EACjCC,cAAc,EAAE,gBAAgB;EAChCC,cAAc,EAAE,gBAAgB;EAChCC,qBAAqB,EAAE,uBAAuB;EAC9CC,uBAAuB,EAAE,yBAAyB;EAClDC,aAAa,EAAE,eAAe;EAC9BC,QAAQ,EAAE;AACZ,CAAU","ignoreList":[]}