@multiplayer-app/session-recorder-common 0.0.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 (285) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +230 -0
  3. package/dist/esm/SessionRecorderHttpInstrumentationHooksNode.d.ts +35 -0
  4. package/dist/esm/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +1 -0
  5. package/dist/esm/SessionRecorderHttpInstrumentationHooksNode.js +355 -0
  6. package/dist/esm/SessionRecorderHttpInstrumentationHooksNode.js.map +1 -0
  7. package/dist/esm/SessionRecorderHttpTraceExporterBrowser.d.ts +26 -0
  8. package/dist/esm/SessionRecorderHttpTraceExporterBrowser.d.ts.map +1 -0
  9. package/dist/esm/SessionRecorderHttpTraceExporterBrowser.js +116 -0
  10. package/dist/esm/SessionRecorderHttpTraceExporterBrowser.js.map +1 -0
  11. package/dist/esm/SessionRecorderIdGenerator.d.ts +15 -0
  12. package/dist/esm/SessionRecorderIdGenerator.d.ts.map +1 -0
  13. package/dist/esm/SessionRecorderIdGenerator.js +63 -0
  14. package/dist/esm/SessionRecorderIdGenerator.js.map +1 -0
  15. package/dist/esm/SessionRecorderJsonTraceSerializer.d.ts +4 -0
  16. package/dist/esm/SessionRecorderJsonTraceSerializer.d.ts.map +1 -0
  17. package/dist/esm/SessionRecorderJsonTraceSerializer.js +26 -0
  18. package/dist/esm/SessionRecorderJsonTraceSerializer.js.map +1 -0
  19. package/dist/esm/SessionRecorderTraceIdRatioBasedSampler.d.ts +11 -0
  20. package/dist/esm/SessionRecorderTraceIdRatioBasedSampler.d.ts.map +1 -0
  21. package/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js +45 -0
  22. package/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js.map +1 -0
  23. package/dist/esm/constants.base.d.ts +32 -0
  24. package/dist/esm/constants.base.d.ts.map +1 -0
  25. package/dist/esm/constants.base.js +32 -0
  26. package/dist/esm/constants.base.js.map +1 -0
  27. package/dist/esm/constants.browser.d.ts +2 -0
  28. package/dist/esm/constants.browser.d.ts.map +1 -0
  29. package/dist/esm/constants.browser.js +2 -0
  30. package/dist/esm/constants.browser.js.map +1 -0
  31. package/dist/esm/constants.node.d.ts +3 -0
  32. package/dist/esm/constants.node.d.ts.map +1 -0
  33. package/dist/esm/constants.node.js +5 -0
  34. package/dist/esm/constants.node.js.map +1 -0
  35. package/dist/esm/index-browser.d.ts +8 -0
  36. package/dist/esm/index-browser.d.ts.map +1 -0
  37. package/dist/esm/index-browser.js +9 -0
  38. package/dist/esm/index-browser.js.map +1 -0
  39. package/dist/esm/index-node.d.ts +8 -0
  40. package/dist/esm/index-node.d.ts.map +1 -0
  41. package/dist/esm/index-node.js +9 -0
  42. package/dist/esm/index-node.js.map +1 -0
  43. package/dist/esm/index.d.ts +9 -0
  44. package/dist/esm/index.d.ts.map +1 -0
  45. package/dist/esm/index.js +10 -0
  46. package/dist/esm/index.js.map +1 -0
  47. package/dist/esm/sdk/capture-exception.d.ts +7 -0
  48. package/dist/esm/sdk/capture-exception.d.ts.map +1 -0
  49. package/dist/esm/sdk/capture-exception.js +19 -0
  50. package/dist/esm/sdk/capture-exception.js.map +1 -0
  51. package/dist/esm/sdk/id-generator.d.ts +2 -0
  52. package/dist/esm/sdk/id-generator.d.ts.map +1 -0
  53. package/dist/esm/sdk/id-generator.js +14 -0
  54. package/dist/esm/sdk/id-generator.js.map +1 -0
  55. package/dist/esm/sdk/index.d.ts +8 -0
  56. package/dist/esm/sdk/index.d.ts.map +1 -0
  57. package/dist/esm/sdk/index.js +8 -0
  58. package/dist/esm/sdk/index.js.map +1 -0
  59. package/dist/esm/sdk/is-gzip.d.ts +2 -0
  60. package/dist/esm/sdk/is-gzip.d.ts.map +1 -0
  61. package/dist/esm/sdk/is-gzip.js +7 -0
  62. package/dist/esm/sdk/is-gzip.js.map +1 -0
  63. package/dist/esm/sdk/mask.d.ts +6 -0
  64. package/dist/esm/sdk/mask.d.ts.map +1 -0
  65. package/dist/esm/sdk/mask.js +148 -0
  66. package/dist/esm/sdk/mask.js.map +1 -0
  67. package/dist/esm/sdk/save-continuous-deb-session.d.ts +7 -0
  68. package/dist/esm/sdk/save-continuous-deb-session.d.ts.map +1 -0
  69. package/dist/esm/sdk/save-continuous-deb-session.js +21 -0
  70. package/dist/esm/sdk/save-continuous-deb-session.js.map +1 -0
  71. package/dist/esm/sdk/schemify.d.ts +4 -0
  72. package/dist/esm/sdk/schemify.d.ts.map +1 -0
  73. package/dist/esm/sdk/schemify.js +51 -0
  74. package/dist/esm/sdk/schemify.js.map +1 -0
  75. package/dist/esm/sdk/set-attribute.d.ts +90 -0
  76. package/dist/esm/sdk/set-attribute.d.ts.map +1 -0
  77. package/dist/esm/sdk/set-attribute.js +160 -0
  78. package/dist/esm/sdk/set-attribute.js.map +1 -0
  79. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  80. package/dist/esm/type/index.d.ts +2 -0
  81. package/dist/esm/type/index.d.ts.map +1 -0
  82. package/dist/esm/type/index.js +2 -0
  83. package/dist/esm/type/index.js.map +1 -0
  84. package/dist/esm/type/session-type.enum.d.ts +5 -0
  85. package/dist/esm/type/session-type.enum.d.ts.map +1 -0
  86. package/dist/esm/type/session-type.enum.js +6 -0
  87. package/dist/esm/type/session-type.enum.js.map +1 -0
  88. package/dist/esnext/SessionRecorderHttpInstrumentationHooksNode.d.ts +35 -0
  89. package/dist/esnext/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +1 -0
  90. package/dist/esnext/SessionRecorderHttpInstrumentationHooksNode.js +221 -0
  91. package/dist/esnext/SessionRecorderHttpInstrumentationHooksNode.js.map +1 -0
  92. package/dist/esnext/SessionRecorderHttpTraceExporterBrowser.d.ts +26 -0
  93. package/dist/esnext/SessionRecorderHttpTraceExporterBrowser.d.ts.map +1 -0
  94. package/dist/esnext/SessionRecorderHttpTraceExporterBrowser.js +82 -0
  95. package/dist/esnext/SessionRecorderHttpTraceExporterBrowser.js.map +1 -0
  96. package/dist/esnext/SessionRecorderIdGenerator.d.ts +15 -0
  97. package/dist/esnext/SessionRecorderIdGenerator.d.ts.map +1 -0
  98. package/dist/esnext/SessionRecorderIdGenerator.js +42 -0
  99. package/dist/esnext/SessionRecorderIdGenerator.js.map +1 -0
  100. package/dist/esnext/SessionRecorderJsonTraceSerializer.d.ts +4 -0
  101. package/dist/esnext/SessionRecorderJsonTraceSerializer.d.ts.map +1 -0
  102. package/dist/esnext/SessionRecorderJsonTraceSerializer.js +26 -0
  103. package/dist/esnext/SessionRecorderJsonTraceSerializer.js.map +1 -0
  104. package/dist/esnext/SessionRecorderTraceIdRatioBasedSampler.d.ts +11 -0
  105. package/dist/esnext/SessionRecorderTraceIdRatioBasedSampler.d.ts.map +1 -0
  106. package/dist/esnext/SessionRecorderTraceIdRatioBasedSampler.js +42 -0
  107. package/dist/esnext/SessionRecorderTraceIdRatioBasedSampler.js.map +1 -0
  108. package/dist/esnext/constants.base.d.ts +32 -0
  109. package/dist/esnext/constants.base.d.ts.map +1 -0
  110. package/dist/esnext/constants.base.js +32 -0
  111. package/dist/esnext/constants.base.js.map +1 -0
  112. package/dist/esnext/constants.browser.d.ts +2 -0
  113. package/dist/esnext/constants.browser.d.ts.map +1 -0
  114. package/dist/esnext/constants.browser.js +2 -0
  115. package/dist/esnext/constants.browser.js.map +1 -0
  116. package/dist/esnext/constants.node.d.ts +3 -0
  117. package/dist/esnext/constants.node.d.ts.map +1 -0
  118. package/dist/esnext/constants.node.js +5 -0
  119. package/dist/esnext/constants.node.js.map +1 -0
  120. package/dist/esnext/index-browser.d.ts +8 -0
  121. package/dist/esnext/index-browser.d.ts.map +1 -0
  122. package/dist/esnext/index-browser.js +8 -0
  123. package/dist/esnext/index-browser.js.map +1 -0
  124. package/dist/esnext/index-node.d.ts +8 -0
  125. package/dist/esnext/index-node.d.ts.map +1 -0
  126. package/dist/esnext/index-node.js +8 -0
  127. package/dist/esnext/index-node.js.map +1 -0
  128. package/dist/esnext/index.d.ts +9 -0
  129. package/dist/esnext/index.d.ts.map +1 -0
  130. package/dist/esnext/index.js +9 -0
  131. package/dist/esnext/index.js.map +1 -0
  132. package/dist/esnext/sdk/capture-exception.d.ts +7 -0
  133. package/dist/esnext/sdk/capture-exception.d.ts.map +1 -0
  134. package/dist/esnext/sdk/capture-exception.js +19 -0
  135. package/dist/esnext/sdk/capture-exception.js.map +1 -0
  136. package/dist/esnext/sdk/id-generator.d.ts +2 -0
  137. package/dist/esnext/sdk/id-generator.d.ts.map +1 -0
  138. package/dist/esnext/sdk/id-generator.js +14 -0
  139. package/dist/esnext/sdk/id-generator.js.map +1 -0
  140. package/dist/esnext/sdk/index.d.ts +8 -0
  141. package/dist/esnext/sdk/index.d.ts.map +1 -0
  142. package/dist/esnext/sdk/index.js +8 -0
  143. package/dist/esnext/sdk/index.js.map +1 -0
  144. package/dist/esnext/sdk/is-gzip.d.ts +2 -0
  145. package/dist/esnext/sdk/is-gzip.d.ts.map +1 -0
  146. package/dist/esnext/sdk/is-gzip.js +7 -0
  147. package/dist/esnext/sdk/is-gzip.js.map +1 -0
  148. package/dist/esnext/sdk/mask.d.ts +6 -0
  149. package/dist/esnext/sdk/mask.d.ts.map +1 -0
  150. package/dist/esnext/sdk/mask.js +144 -0
  151. package/dist/esnext/sdk/mask.js.map +1 -0
  152. package/dist/esnext/sdk/save-continuous-deb-session.d.ts +7 -0
  153. package/dist/esnext/sdk/save-continuous-deb-session.d.ts.map +1 -0
  154. package/dist/esnext/sdk/save-continuous-deb-session.js +21 -0
  155. package/dist/esnext/sdk/save-continuous-deb-session.js.map +1 -0
  156. package/dist/esnext/sdk/schemify.d.ts +4 -0
  157. package/dist/esnext/sdk/schemify.d.ts.map +1 -0
  158. package/dist/esnext/sdk/schemify.js +49 -0
  159. package/dist/esnext/sdk/schemify.js.map +1 -0
  160. package/dist/esnext/sdk/set-attribute.d.ts +90 -0
  161. package/dist/esnext/sdk/set-attribute.d.ts.map +1 -0
  162. package/dist/esnext/sdk/set-attribute.js +151 -0
  163. package/dist/esnext/sdk/set-attribute.js.map +1 -0
  164. package/dist/esnext/tsconfig.esnext.tsbuildinfo +1 -0
  165. package/dist/esnext/type/index.d.ts +2 -0
  166. package/dist/esnext/type/index.d.ts.map +1 -0
  167. package/dist/esnext/type/index.js +2 -0
  168. package/dist/esnext/type/index.js.map +1 -0
  169. package/dist/esnext/type/session-type.enum.d.ts +5 -0
  170. package/dist/esnext/type/session-type.enum.d.ts.map +1 -0
  171. package/dist/esnext/type/session-type.enum.js +6 -0
  172. package/dist/esnext/type/session-type.enum.js.map +1 -0
  173. package/dist/src/SessionRecorderHttpInstrumentationHooksNode.d.ts +35 -0
  174. package/dist/src/SessionRecorderHttpInstrumentationHooksNode.d.ts.map +1 -0
  175. package/dist/src/SessionRecorderHttpInstrumentationHooksNode.js +224 -0
  176. package/dist/src/SessionRecorderHttpInstrumentationHooksNode.js.map +1 -0
  177. package/dist/src/SessionRecorderHttpTraceExporterBrowser.d.ts +26 -0
  178. package/dist/src/SessionRecorderHttpTraceExporterBrowser.d.ts.map +1 -0
  179. package/dist/src/SessionRecorderHttpTraceExporterBrowser.js +86 -0
  180. package/dist/src/SessionRecorderHttpTraceExporterBrowser.js.map +1 -0
  181. package/dist/src/SessionRecorderIdGenerator.d.ts +15 -0
  182. package/dist/src/SessionRecorderIdGenerator.d.ts.map +1 -0
  183. package/dist/src/SessionRecorderIdGenerator.js +46 -0
  184. package/dist/src/SessionRecorderIdGenerator.js.map +1 -0
  185. package/dist/src/SessionRecorderJsonTraceSerializer.d.ts +4 -0
  186. package/dist/src/SessionRecorderJsonTraceSerializer.d.ts.map +1 -0
  187. package/dist/src/SessionRecorderJsonTraceSerializer.js +29 -0
  188. package/dist/src/SessionRecorderJsonTraceSerializer.js.map +1 -0
  189. package/dist/src/SessionRecorderTraceIdRatioBasedSampler.d.ts +11 -0
  190. package/dist/src/SessionRecorderTraceIdRatioBasedSampler.d.ts.map +1 -0
  191. package/dist/src/SessionRecorderTraceIdRatioBasedSampler.js +46 -0
  192. package/dist/src/SessionRecorderTraceIdRatioBasedSampler.js.map +1 -0
  193. package/dist/src/constants.base.d.ts +32 -0
  194. package/dist/src/constants.base.d.ts.map +1 -0
  195. package/dist/src/constants.base.js +35 -0
  196. package/dist/src/constants.base.js.map +1 -0
  197. package/dist/src/constants.browser.d.ts +2 -0
  198. package/dist/src/constants.browser.d.ts.map +1 -0
  199. package/dist/src/constants.browser.js +18 -0
  200. package/dist/src/constants.browser.js.map +1 -0
  201. package/dist/src/constants.node.d.ts +3 -0
  202. package/dist/src/constants.node.d.ts.map +1 -0
  203. package/dist/src/constants.node.js +22 -0
  204. package/dist/src/constants.node.js.map +1 -0
  205. package/dist/src/index-browser.d.ts +8 -0
  206. package/dist/src/index-browser.d.ts.map +1 -0
  207. package/dist/src/index-browser.js +29 -0
  208. package/dist/src/index-browser.js.map +1 -0
  209. package/dist/src/index-node.d.ts +8 -0
  210. package/dist/src/index-node.d.ts.map +1 -0
  211. package/dist/src/index-node.js +29 -0
  212. package/dist/src/index-node.js.map +1 -0
  213. package/dist/src/index.d.ts +9 -0
  214. package/dist/src/index.d.ts.map +1 -0
  215. package/dist/src/index.js +31 -0
  216. package/dist/src/index.js.map +1 -0
  217. package/dist/src/sdk/capture-exception.d.ts +7 -0
  218. package/dist/src/sdk/capture-exception.d.ts.map +1 -0
  219. package/dist/src/sdk/capture-exception.js +23 -0
  220. package/dist/src/sdk/capture-exception.js.map +1 -0
  221. package/dist/src/sdk/id-generator.d.ts +2 -0
  222. package/dist/src/sdk/id-generator.d.ts.map +1 -0
  223. package/dist/src/sdk/id-generator.js +18 -0
  224. package/dist/src/sdk/id-generator.js.map +1 -0
  225. package/dist/src/sdk/index.d.ts +8 -0
  226. package/dist/src/sdk/index.d.ts.map +1 -0
  227. package/dist/src/sdk/index.js +29 -0
  228. package/dist/src/sdk/index.js.map +1 -0
  229. package/dist/src/sdk/is-gzip.d.ts +2 -0
  230. package/dist/src/sdk/is-gzip.d.ts.map +1 -0
  231. package/dist/src/sdk/is-gzip.js +11 -0
  232. package/dist/src/sdk/is-gzip.js.map +1 -0
  233. package/dist/src/sdk/mask.d.ts +6 -0
  234. package/dist/src/sdk/mask.d.ts.map +1 -0
  235. package/dist/src/sdk/mask.js +147 -0
  236. package/dist/src/sdk/mask.js.map +1 -0
  237. package/dist/src/sdk/save-continuous-deb-session.d.ts +7 -0
  238. package/dist/src/sdk/save-continuous-deb-session.d.ts.map +1 -0
  239. package/dist/src/sdk/save-continuous-deb-session.js +25 -0
  240. package/dist/src/sdk/save-continuous-deb-session.js.map +1 -0
  241. package/dist/src/sdk/schemify.d.ts +4 -0
  242. package/dist/src/sdk/schemify.d.ts.map +1 -0
  243. package/dist/src/sdk/schemify.js +51 -0
  244. package/dist/src/sdk/schemify.js.map +1 -0
  245. package/dist/src/sdk/set-attribute.d.ts +90 -0
  246. package/dist/src/sdk/set-attribute.d.ts.map +1 -0
  247. package/dist/src/sdk/set-attribute.js +164 -0
  248. package/dist/src/sdk/set-attribute.js.map +1 -0
  249. package/dist/src/type/index.d.ts +2 -0
  250. package/dist/src/type/index.d.ts.map +1 -0
  251. package/dist/src/type/index.js +18 -0
  252. package/dist/src/type/index.js.map +1 -0
  253. package/dist/src/type/session-type.enum.d.ts +5 -0
  254. package/dist/src/type/session-type.enum.d.ts.map +1 -0
  255. package/dist/src/type/session-type.enum.js +9 -0
  256. package/dist/src/type/session-type.enum.js.map +1 -0
  257. package/package.json +50 -0
  258. package/src/SessionRecorderHttpInstrumentationHooksNode.ts +362 -0
  259. package/src/SessionRecorderHttpTraceExporterBrowser.ts +123 -0
  260. package/src/SessionRecorderIdGenerator.ts +72 -0
  261. package/src/SessionRecorderJsonTraceSerializer.ts +43 -0
  262. package/src/SessionRecorderTraceIdRatioBasedSampler.ts +57 -0
  263. package/src/constants.base.ts +61 -0
  264. package/src/constants.browser.ts +1 -0
  265. package/src/constants.node.ts +5 -0
  266. package/src/index-browser.ts +7 -0
  267. package/src/index-node.ts +7 -0
  268. package/src/index.ts +8 -0
  269. package/src/sdk/capture-exception.ts +19 -0
  270. package/src/sdk/id-generator.ts +17 -0
  271. package/src/sdk/index.ts +7 -0
  272. package/src/sdk/is-gzip.ts +7 -0
  273. package/src/sdk/mask.ts +161 -0
  274. package/src/sdk/save-continuous-deb-session.ts +28 -0
  275. package/src/sdk/schemify.ts +58 -0
  276. package/src/sdk/set-attribute.ts +210 -0
  277. package/src/type/index.ts +1 -0
  278. package/src/type/session-type.enum.ts +4 -0
  279. package/tsconfig.base.es5.json +8 -0
  280. package/tsconfig.base.esm.json +7 -0
  281. package/tsconfig.base.esnext.json +10 -0
  282. package/tsconfig.base.json +35 -0
  283. package/tsconfig.esm.json +12 -0
  284. package/tsconfig.esnext.json +12 -0
  285. package/tsconfig.json +25 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecorderHttpInstrumentationHooksNode.js","sourceRoot":"","sources":["../../src/SessionRecorderHttpInstrumentationHooksNode.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n IncomingMessage,\n ServerResponse,\n ClientRequest,\n} from 'http'\nimport * as zlib from 'zlib'\nimport type { Span } from '@opentelemetry/api'\nimport {\n ATTR_MULTIPLAYER_HTTP_REQUEST_BODY,\n ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS,\n ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY,\n ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS,\n MULTIPLAYER_MAX_HTTP_REQUEST_RESPONSE_SIZE,\n ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING,\n MULTIPLAYER_TRACE_DEBUG_PREFIX,\n} from './constants.node'\nimport {\n mask,\n schemify,\n isGzip,\n} from './sdk'\nimport {\n sensitiveFields,\n sensitiveHeaders\n} from './sdk/mask'\n\ninterface HttpResponseHookOptions {\n maxPayloadSizeBytes?: number\n schemifyDocSpanPayload?: boolean\n uncompressPayload?: boolean\n\n captureHeaders?: boolean\n captureBody?: boolean\n\n isMaskingEnabled?: boolean\n\n maskBody?: (arg: any, span: Span) => any\n maskHeaders?: (arg: any, span: Span) => any\n\n maskBodyFieldsList?: string[]\n maskHeadersList?: string[]\n\n headersToInclude?: string[]\n headersToExclude?: string[]\n}\n\ninterface HttpRequestHookOptions {\n maxPayloadSizeBytes?: number\n schemifyDocSpanPayload?: boolean\n\n captureHeaders?: boolean\n captureBody?: boolean\n\n isMaskingEnabled?: boolean\n\n maskBody?: (arg: any, span: Span) => any\n maskHeaders?: (arg: any, span: Span) => any\n\n maskBodyFieldsList?: string[]\n maskHeadersList?: string[]\n\n headersToInclude?: string[]\n headersToExclude?: string[]\n}\n\nconst setDefaultOptions = (\n options: HttpResponseHookOptions | HttpResponseHookOptions\n): Omit<HttpResponseHookOptions & HttpResponseHookOptions, 'maskBody' | 'maskHeaders'>\n & {\n maskBody: (arg: any, span: Span) => any\n maskHeaders: (arg: any, span: Span) => any\n captureHeaders: boolean,\n captureBody: boolean,\n isMaskingEnabled: boolean,\n schemifyDocSpanPayload: boolean,\n uncompressPayload: boolean,\n maxPayloadSizeBytes: number\n } => {\n options.captureHeaders = 'captureHeaders' in options\n ? options.captureHeaders\n : true\n options.captureBody = 'captureBody' in options\n ? options.captureBody\n : true\n options.isMaskingEnabled = 'isMaskingEnabled' in options\n ? options.isMaskingEnabled\n : true\n options.schemifyDocSpanPayload = 'schemifyDocSpanPayload' in options\n ? options.schemifyDocSpanPayload\n : false\n options.uncompressPayload = 'uncompressPayload' in options\n ? options.uncompressPayload\n : true\n options.maskBody = options.maskBody || mask([\n ...(\n Array.isArray(options.maskBodyFieldsList)\n ? options.maskBodyFieldsList\n : sensitiveFields\n ),\n ...(\n Array.isArray(options.maskHeadersList)\n ? options.maskHeadersList\n : sensitiveHeaders\n ),\n ])\n options.maskHeaders = options.maskHeaders || mask([\n ...(\n Array.isArray(options.maskBodyFieldsList)\n ? options.maskBodyFieldsList\n : sensitiveFields\n ),\n ...(\n Array.isArray(options.maskHeadersList)\n ? options.maskHeadersList\n : sensitiveHeaders\n ),\n ])\n options.maxPayloadSizeBytes = options.maxPayloadSizeBytes || MULTIPLAYER_MAX_HTTP_REQUEST_RESPONSE_SIZE\n\n return options as Omit<HttpResponseHookOptions & HttpResponseHookOptions, 'maskBody' | 'maskHeaders'>\n & {\n maskBody: (arg: any, span: Span) => any\n maskHeaders: (arg: any, span: Span) => any\n captureHeaders: boolean,\n captureBody: boolean,\n isMaskingEnabled: boolean,\n schemifyDocSpanPayload: boolean,\n uncompressPayload: boolean,\n maxPayloadSizeBytes: number\n }\n}\n\nexport const SessionRecorderHttpInstrumentationHooksNode = {\n responseHook: (options: HttpResponseHookOptions = {}) =>\n (span: Span, response: IncomingMessage | ServerResponse) => {\n try {\n const _options = setDefaultOptions(options)\n\n if (!_options.captureBody && !_options.captureHeaders) {\n return\n }\n\n const _response = response as ServerResponse\n const traceId = span.spanContext().traceId\n\n if (_response.setHeader) {\n _response.setHeader('X-Trace-Id', traceId)\n }\n\n const [oldWrite, oldEnd] = [_response.write, _response.end]\n\n const chunks: Buffer[] = [];\n\n if (_options.captureBody) {\n (_response.write as unknown) = function (...restArgs: any[]) {\n chunks.push(Buffer.from(restArgs[0]))\n // eslint-disable-next-line\n // @ts-ignore\n oldWrite.apply(_response, restArgs)\n }\n }\n\n // eslint-disable-next-line\n // @ts-ignore\n _response.end = async function (...restArgs) {\n if (_options.captureBody && restArgs[0]) {\n chunks.push(Buffer.from(restArgs[0]))\n }\n\n const responseBuffer = Buffer.concat(chunks)\n\n if (\n _options.captureBody\n && responseBuffer.byteLength > 0\n && responseBuffer.byteLength < _options.maxPayloadSizeBytes\n ) {\n let responseBody: string\n let skipResponseBodyModification = false\n\n if (isGzip(responseBuffer)) {\n if (_options.uncompressPayload) {\n const dezippedBuffer = await new Promise((resolve) => zlib\n .gunzip(responseBuffer, function (err, dezipped) {\n if (err) {\n return resolve(Buffer.from(''))\n } else {\n return resolve(dezipped)\n }\n })) as Buffer\n responseBody = dezippedBuffer.toString('utf-8')\n } else {\n span.setAttribute(\n ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING,\n 'gzip',\n )\n\n skipResponseBodyModification = true\n responseBody = responseBuffer.toString('hex')\n }\n } else {\n responseBody = responseBuffer.toString('utf-8')\n }\n\n if (!skipResponseBodyModification) {\n if (\n traceId.startsWith(MULTIPLAYER_TRACE_DEBUG_PREFIX)\n && _options.isMaskingEnabled\n ) {\n responseBody = _options.maskBody(responseBody, span)\n } else if (_options.schemifyDocSpanPayload) {\n responseBody = schemify(responseBody)\n } else if (typeof responseBody !== 'string') {\n responseBody = JSON.stringify(responseBody)\n }\n }\n\n if (responseBody.length) {\n span.setAttribute(\n ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY,\n responseBody,\n )\n }\n }\n\n if (_options.captureHeaders) {\n const headers = _options.maskHeaders(_response.getHeaders(), span)\n\n let _headers: any = {}\n\n if (\n !_options.headersToInclude?.length\n && !_options.headersToExclude?.length\n ) {\n _headers = JSON.parse(JSON.stringify(headers))\n } else {\n if (_options.headersToInclude) {\n for (const headerName of _options.headersToInclude) {\n _headers[headerName] = headers[headerName]\n }\n }\n\n if (_options.headersToExclude?.length) {\n for (const headerName of _options.headersToExclude) {\n delete _headers[headerName]\n }\n }\n }\n\n const stringifiedHeaders = JSON.stringify(_headers)\n\n if (stringifiedHeaders?.length) {\n span.setAttribute(\n ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS,\n stringifiedHeaders,\n )\n }\n }\n\n // eslint-disable-next-line\n // @ts-ignore\n return oldEnd.apply(_response, restArgs)\n }\n } catch (error) {\n // eslint-disable-next-line\n console.error('An error occured in multiplayer otlp http responseHook', error)\n }\n },\n requestHook: (options: HttpRequestHookOptions = {}) =>\n (span: Span, request: ClientRequest | IncomingMessage) => {\n try {\n const _options = setDefaultOptions(options)\n\n if (!_options.captureBody && !_options.captureHeaders) {\n return\n }\n\n const traceId = span.spanContext().traceId\n const _request = request as IncomingMessage\n\n if (_options.captureHeaders) {\n let _headers: any = {}\n\n if (\n !_options.headersToInclude?.length\n && !_options.headersToExclude?.length\n ) {\n _headers = JSON.parse(JSON.stringify(_request.headers))\n } else {\n if (_options.headersToInclude) {\n for (const headerName of _options.headersToInclude) {\n _headers[headerName] = _request.headers\n }\n }\n\n if (_options.headersToExclude?.length) {\n for (const headerName of _options.headersToExclude) {\n delete _headers[headerName]\n }\n }\n }\n\n const headers = _options.maskHeaders(_headers, span)\n\n span.setAttribute(\n ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS,\n JSON.stringify(headers),\n )\n }\n\n const contentType = _request?.headers?.['content-type']\n if (\n _options.captureBody\n && contentType?.includes('application/json')\n ) {\n let body = ''\n _request.on('data', (chunk) => {\n body += chunk\n })\n _request.on('end', () => {\n try {\n const requestBodySizeBytes = Buffer.byteLength(body, 'utf8')\n\n if (\n requestBodySizeBytes === 0\n || requestBodySizeBytes > _options.maxPayloadSizeBytes\n ) {\n return\n }\n\n let requestBody = body\n if (!requestBody) return\n\n if (\n traceId.startsWith(MULTIPLAYER_TRACE_DEBUG_PREFIX)\n && _options.isMaskingEnabled\n ) {\n requestBody = _options.maskBody(requestBody, span)\n } else if (_options.schemifyDocSpanPayload) {\n requestBody = schemify(requestBody)\n } else if (typeof requestBody !== 'string') {\n requestBody = JSON.stringify(requestBody)\n }\n\n if (requestBody?.length) {\n span.setAttribute(\n ATTR_MULTIPLAYER_HTTP_REQUEST_BODY,\n requestBody,\n )\n }\n } catch (err) {\n // eslint-disable-next-line\n console.error('[MULTIPLAYER-HTTP-REQ-HOOK] An error occured in multiplayer otlp http requestHook', err)\n }\n })\n }\n\n } catch (error) {\n // eslint-disable-next-line\n console.error('An error occured in multiplayer otlp http requestHook', error)\n }\n },\n}\n"]}
@@ -0,0 +1,26 @@
1
+ import { ReadableSpan, SpanExporter } from '@opentelemetry/sdk-trace-base';
2
+ import { OTLPExporterConfigBase, OTLPExporterBase } from '@opentelemetry/otlp-exporter-base';
3
+ interface SessionRecorderExporterBrowserConfig extends OTLPExporterConfigBase {
4
+ apiKey?: string;
5
+ usePostMessageFallback?: boolean;
6
+ postMessageType?: string;
7
+ postMessageTargetOrigin?: string;
8
+ }
9
+ /**
10
+ * Trace Exporters for Web with postMessage fallback
11
+ */
12
+ export declare class SessionRecorderHttpTraceExporterBrowser extends OTLPExporterBase<ReadableSpan[]> implements SpanExporter {
13
+ private usePostMessage;
14
+ private readonly postMessageType;
15
+ private readonly postMessageTargetOrigin;
16
+ private readonly config;
17
+ constructor(config?: SessionRecorderExporterBrowserConfig);
18
+ export(spans: ReadableSpan[], resultCallback: (result: {
19
+ code: number;
20
+ }) => void): void;
21
+ private exportViaPostMessage;
22
+ private _serializeSpan;
23
+ getDefaultUrl(config: OTLPExporterConfigBase): string;
24
+ }
25
+ export {};
26
+ //# sourceMappingURL=SessionRecorderHttpTraceExporterBrowser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecorderHttpTraceExporterBrowser.d.ts","sourceRoot":"","sources":["../../src/SessionRecorderHttpTraceExporterBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,mCAAmC,CAAA;AAK1C,UAAU,oCACR,SAAQ,sBAAsB;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAED;;GAEG;AACH,qBAAa,uCACX,SAAQ,gBAAgB,CAAC,YAAY,EAAE,CACvC,YAAW,YAAY;IAEvB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAQ;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;gBAEjD,MAAM,GAAE,oCAAyC;IA0BpD,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI;IAkBhG,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,cAAc;IAyBtB,aAAa,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM;CAGtD"}
@@ -0,0 +1,116 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __assign = (this && this.__assign) || function () {
17
+ __assign = Object.assign || function(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
+ t[p] = s[p];
22
+ }
23
+ return t;
24
+ };
25
+ return __assign.apply(this, arguments);
26
+ };
27
+ import { OTLPExporterBase, } from '@opentelemetry/otlp-exporter-base';
28
+ import { createLegacyOtlpBrowserExportDelegate } from '@opentelemetry/otlp-exporter-base/browser-http';
29
+ import { SessionRecorderJsonTraceSerializer } from './SessionRecorderJsonTraceSerializer';
30
+ import { MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL } from './constants.base';
31
+ /**
32
+ * Trace Exporters for Web with postMessage fallback
33
+ */
34
+ var SessionRecorderHttpTraceExporterBrowser = /** @class */ (function (_super) {
35
+ __extends(SessionRecorderHttpTraceExporterBrowser, _super);
36
+ function SessionRecorderHttpTraceExporterBrowser(config) {
37
+ if (config === void 0) { config = {}; }
38
+ var _this = this;
39
+ var _config = __assign(__assign({}, config), { url: config.url || MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL, headers: __assign(__assign({}, (config.headers || {})), config.apiKey
40
+ ? { Authorization: config.apiKey }
41
+ : {}) });
42
+ _this = _super.call(this, createLegacyOtlpBrowserExportDelegate(_config, SessionRecorderJsonTraceSerializer, 'v1/traces', { 'Content-Type': 'application/json' })) || this;
43
+ _this.usePostMessage = false;
44
+ _this.config = config;
45
+ _this.postMessageType = config.postMessageType || 'MULTIPLAYER_SESSION_DEBUGGER_LIB';
46
+ _this.postMessageTargetOrigin = config.postMessageTargetOrigin || '*';
47
+ return _this;
48
+ }
49
+ SessionRecorderHttpTraceExporterBrowser.prototype.export = function (spans, resultCallback) {
50
+ var _this = this;
51
+ if (this.usePostMessage) {
52
+ this.exportViaPostMessage(spans, resultCallback);
53
+ return;
54
+ }
55
+ _super.prototype.export.call(this, spans, function (result) {
56
+ if (result.code === 0) {
57
+ resultCallback(result);
58
+ }
59
+ else if (_this.config.usePostMessageFallback) {
60
+ _this.usePostMessage = true;
61
+ _this.exportViaPostMessage(spans, resultCallback);
62
+ }
63
+ else {
64
+ resultCallback(result);
65
+ }
66
+ });
67
+ };
68
+ SessionRecorderHttpTraceExporterBrowser.prototype.exportViaPostMessage = function (spans, resultCallback) {
69
+ var _this = this;
70
+ if (typeof window === 'undefined') {
71
+ resultCallback({ code: 1 });
72
+ return;
73
+ }
74
+ try {
75
+ window.postMessage({
76
+ action: 'traces',
77
+ type: this.postMessageType,
78
+ payload: spans.map(function (span) { return _this._serializeSpan(span); }),
79
+ }, this.postMessageTargetOrigin);
80
+ resultCallback({ code: 0 });
81
+ }
82
+ catch (e) {
83
+ resultCallback({ code: 1 });
84
+ }
85
+ };
86
+ SessionRecorderHttpTraceExporterBrowser.prototype._serializeSpan = function (span) {
87
+ return {
88
+ _spanContext: span.spanContext(),
89
+ name: span.name,
90
+ kind: span.kind,
91
+ links: span.links,
92
+ ended: span.ended,
93
+ events: span.events,
94
+ status: span.status,
95
+ endTime: span.endTime,
96
+ startTime: span.startTime,
97
+ duration: span.duration,
98
+ attributes: span.attributes,
99
+ parentSpanId: span.parentSpanId,
100
+ instrumentationLibrary: span.instrumentationLibrary,
101
+ droppedAttributesCount: span.droppedAttributesCount,
102
+ droppedEventsCount: span.droppedEventsCount,
103
+ droppedLinksCount: span.droppedLinksCount,
104
+ resource: {
105
+ attributes: span.resource.attributes,
106
+ asyncAttributesPending: span.resource.asyncAttributesPending,
107
+ },
108
+ };
109
+ };
110
+ SessionRecorderHttpTraceExporterBrowser.prototype.getDefaultUrl = function (config) {
111
+ return config.url || MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL;
112
+ };
113
+ return SessionRecorderHttpTraceExporterBrowser;
114
+ }(OTLPExporterBase));
115
+ export { SessionRecorderHttpTraceExporterBrowser };
116
+ //# sourceMappingURL=SessionRecorderHttpTraceExporterBrowser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecorderHttpTraceExporterBrowser.js","sourceRoot":"","sources":["../../src/SessionRecorderHttpTraceExporterBrowser.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReadableSpan, SpanExporter } from '@opentelemetry/sdk-trace-base'\nimport {\n OTLPExporterConfigBase,\n OTLPExporterBase,\n} from '@opentelemetry/otlp-exporter-base'\nimport { createLegacyOtlpBrowserExportDelegate } from '@opentelemetry/otlp-exporter-base/browser-http'\nimport { SessionRecorderJsonTraceSerializer } from './SessionRecorderJsonTraceSerializer'\nimport { MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL } from './constants.base'\n\ninterface SessionRecorderExporterBrowserConfig\n extends OTLPExporterConfigBase {\n apiKey?: string\n usePostMessageFallback?: boolean\n postMessageType?: string\n postMessageTargetOrigin?: string\n}\n\n/**\n * Trace Exporters for Web with postMessage fallback\n */\nexport class SessionRecorderHttpTraceExporterBrowser\n extends OTLPExporterBase<ReadableSpan[]>\n implements SpanExporter {\n\n private usePostMessage: boolean = false\n private readonly postMessageType: string\n private readonly postMessageTargetOrigin: string\n private readonly config: SessionRecorderExporterBrowserConfig\n\n constructor(config: SessionRecorderExporterBrowserConfig = {}) {\n const _config = {\n ...config,\n url: config.url || MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL,\n headers: {\n ...(config.headers || {}),\n ...config.apiKey\n ? { Authorization: config.apiKey }\n : {},\n },\n }\n\n super(\n createLegacyOtlpBrowserExportDelegate(\n _config,\n SessionRecorderJsonTraceSerializer,\n 'v1/traces',\n { 'Content-Type': 'application/json' },\n ),\n )\n\n this.config = config\n this.postMessageType = config.postMessageType || 'MULTIPLAYER_SESSION_DEBUGGER_LIB'\n this.postMessageTargetOrigin = config.postMessageTargetOrigin || '*'\n }\n\n override export(spans: ReadableSpan[], resultCallback: (result: { code: number }) => void): void {\n if (this.usePostMessage) {\n this.exportViaPostMessage(spans, resultCallback)\n return\n }\n\n super.export(spans, (result) => {\n if (result.code === 0) {\n resultCallback(result)\n } else if (this.config.usePostMessageFallback) {\n this.usePostMessage = true\n this.exportViaPostMessage(spans, resultCallback)\n } else {\n resultCallback(result)\n }\n })\n }\n\n private exportViaPostMessage(spans: ReadableSpan[], resultCallback: (result: { code: number }) => void): void {\n if (typeof window === 'undefined') {\n resultCallback({ code: 1 })\n return\n }\n\n try {\n window.postMessage(\n {\n action: 'traces',\n type: this.postMessageType,\n payload: spans.map(span => this._serializeSpan(span)),\n },\n this.postMessageTargetOrigin,\n )\n resultCallback({ code: 0 })\n } catch (e) {\n resultCallback({ code: 1 })\n }\n }\n\n private _serializeSpan(span: ReadableSpan): any {\n return {\n _spanContext: span.spanContext(),\n name: span.name,\n kind: span.kind,\n links: span.links,\n ended: span.ended,\n events: span.events,\n status: span.status,\n endTime: span.endTime,\n startTime: span.startTime,\n duration: span.duration,\n attributes: span.attributes,\n parentSpanId: span.parentSpanId,\n instrumentationLibrary: span.instrumentationLibrary,\n droppedAttributesCount: span.droppedAttributesCount,\n droppedEventsCount: span.droppedEventsCount,\n droppedLinksCount: span.droppedLinksCount,\n resource: {\n attributes: span.resource.attributes,\n asyncAttributesPending: span.resource.asyncAttributesPending,\n },\n }\n }\n\n getDefaultUrl(config: OTLPExporterConfigBase): string {\n return config.url || MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL\n }\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import { RandomIdGenerator } from '@opentelemetry/sdk-trace-base';
2
+ import { SessionType } from './type';
3
+ import { SessionRecorderTraceIdRatioBasedSampler } from './SessionRecorderTraceIdRatioBasedSampler';
4
+ export declare class SessionRecorderIdGenerator extends RandomIdGenerator {
5
+ sessionShortId: string;
6
+ sessionType: SessionType;
7
+ docSpanSampler: SessionRecorderTraceIdRatioBasedSampler;
8
+ generateLongId: () => string;
9
+ constructor({ autoDocTracesRatio }?: {
10
+ autoDocTracesRatio?: number | undefined;
11
+ });
12
+ setSessionId(sessionShortId: string, sessionType?: SessionType): void;
13
+ _isDocTrace(traceId: string): boolean;
14
+ }
15
+ //# sourceMappingURL=SessionRecorderIdGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecorderIdGenerator.d.ts","sourceRoot":"","sources":["../../src/SessionRecorderIdGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAElB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EACL,uCAAuC,EACxC,MAAM,2CAA2C,CAAA;AAQlD,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,WAAW,CAAA;IACxB,cAAc,EAAE,uCAAuC,CAAA;IAEvD,cAAc,EAAE,MAAM,MAAM,CAAA;gBAEhB,EAAE,kBAAsB,EAAE;;KAAK;IAmC3C,YAAY,CACV,cAAc,EAAE,MAAM,EACtB,WAAW,GAAE,WAA+B;IAM9C,WAAW,CAAC,OAAO,EAAE,MAAM;CAM5B"}
@@ -0,0 +1,63 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ import { RandomIdGenerator, SamplingDecision, } from '@opentelemetry/sdk-trace-base';
17
+ import { SessionType } from './type';
18
+ import { SessionRecorderTraceIdRatioBasedSampler } from './SessionRecorderTraceIdRatioBasedSampler';
19
+ import { MULTIPLAYER_TRACE_DEBUG_PREFIX, MULTIPLAYER_TRACE_DOC_PREFIX, MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX, } from './constants.base';
20
+ import { getIdGenerator } from './sdk';
21
+ var SessionRecorderIdGenerator = /** @class */ (function (_super) {
22
+ __extends(SessionRecorderIdGenerator, _super);
23
+ function SessionRecorderIdGenerator(_a) {
24
+ var _b = _a === void 0 ? {} : _a, _c = _b.autoDocTracesRatio, autoDocTracesRatio = _c === void 0 ? 0 : _c;
25
+ var _this = _super.call(this) || this;
26
+ _this.docSpanSampler = new SessionRecorderTraceIdRatioBasedSampler(autoDocTracesRatio);
27
+ _this.generateLongId = getIdGenerator(16);
28
+ _this.sessionShortId = '';
29
+ _this.sessionType = SessionType.PLAIN;
30
+ _this.generateTraceId = function () {
31
+ var traceId = _this.generateLongId();
32
+ if (_this.sessionShortId) {
33
+ var sessionTypePrefix = '';
34
+ switch (_this.sessionType) {
35
+ case SessionType.CONTINUOUS:
36
+ sessionTypePrefix = MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX;
37
+ break;
38
+ default:
39
+ sessionTypePrefix = MULTIPLAYER_TRACE_DEBUG_PREFIX;
40
+ }
41
+ var prefix = "".concat(sessionTypePrefix).concat(_this.sessionShortId);
42
+ var sessionTraceId = "".concat(prefix).concat(traceId.substring(prefix.length, traceId.length));
43
+ return sessionTraceId;
44
+ }
45
+ else if (_this._isDocTrace(traceId)) {
46
+ return "".concat(MULTIPLAYER_TRACE_DOC_PREFIX).concat(traceId.slice(MULTIPLAYER_TRACE_DOC_PREFIX.length, traceId.length));
47
+ }
48
+ return traceId;
49
+ };
50
+ return _this;
51
+ }
52
+ SessionRecorderIdGenerator.prototype.setSessionId = function (sessionShortId, sessionType) {
53
+ if (sessionType === void 0) { sessionType = SessionType.PLAIN; }
54
+ this.sessionShortId = sessionShortId;
55
+ this.sessionType = sessionType;
56
+ };
57
+ SessionRecorderIdGenerator.prototype._isDocTrace = function (traceId) {
58
+ return this.docSpanSampler.shouldSample(undefined, traceId).decision === SamplingDecision.RECORD_AND_SAMPLED;
59
+ };
60
+ return SessionRecorderIdGenerator;
61
+ }(RandomIdGenerator));
62
+ export { SessionRecorderIdGenerator };
63
+ //# sourceMappingURL=SessionRecorderIdGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecorderIdGenerator.js","sourceRoot":"","sources":["../../src/SessionRecorderIdGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EACL,uCAAuC,EACxC,MAAM,2CAA2C,CAAA;AAClD,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,yCAAyC,GAC1C,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEtC;IAAgD,8CAAiB;IAO/D,oCAAY,EAA+B;YAA/B,qBAA6B,EAAE,KAAA,EAA7B,0BAAsB,EAAtB,kBAAkB,mBAAG,CAAC,KAAA;QAClC,YAAA,MAAK,WAAE,SAAA;QAEP,KAAI,CAAC,cAAc,GAAG,IAAI,uCAAuC,CAAC,kBAAkB,CAAC,CAAA;QAErF,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC,EAAE,CAAC,CAAA;QACxC,KAAI,CAAC,cAAc,GAAG,EAAE,CAAA;QACxB,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAA;QAEpC,KAAI,CAAC,eAAe,GAAG;YACrB,IAAM,OAAO,GAAG,KAAI,CAAC,cAAc,EAAE,CAAA;YAErC,IAAI,KAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,iBAAiB,GAAW,EAAE,CAAA;gBAClC,QAAQ,KAAI,CAAC,WAAW,EAAE,CAAC;oBACzB,KAAK,WAAW,CAAC,UAAU;wBACzB,iBAAiB,GAAG,yCAAyC,CAAA;wBAC7D,MAAK;oBACP;wBACE,iBAAiB,GAAG,8BAA8B,CAAA;gBACtD,CAAC;gBAED,IAAM,MAAM,GAAG,UAAG,iBAAiB,SAAG,KAAI,CAAC,cAAc,CAAE,CAAA;gBAE3D,IAAM,cAAc,GAAG,UAAG,MAAM,SAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAE,CAAA;gBAErF,OAAO,cAAc,CAAA;YACvB,CAAC;iBAAM,IAAI,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,OAAO,UAAG,4BAA4B,SAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAE,CAAA;YAC/G,CAAC;YAED,OAAO,OAAO,CAAA;QAChB,CAAC,CAAA;;IACH,CAAC;IAED,iDAAY,GAAZ,UACE,cAAsB,EACtB,WAA4C;QAA5C,4BAAA,EAAA,cAA2B,WAAW,CAAC,KAAK;QAE5C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;IAED,gDAAW,GAAX,UAAY,OAAe;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CACrC,SAAS,EACT,OAAO,CACR,CAAC,QAAQ,KAAK,gBAAgB,CAAC,kBAAkB,CAAA;IACpD,CAAC;IACH,iCAAC;AAAD,CAAC,AAxDD,CAAgD,iBAAiB,GAwDhE","sourcesContent":["import {\n RandomIdGenerator,\n SamplingDecision,\n} from '@opentelemetry/sdk-trace-base'\nimport { SessionType } from './type'\nimport {\n SessionRecorderTraceIdRatioBasedSampler\n} from './SessionRecorderTraceIdRatioBasedSampler'\nimport {\n MULTIPLAYER_TRACE_DEBUG_PREFIX,\n MULTIPLAYER_TRACE_DOC_PREFIX,\n MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX,\n} from './constants.base'\nimport { getIdGenerator } from './sdk'\n\nexport class SessionRecorderIdGenerator extends RandomIdGenerator {\n sessionShortId: string\n sessionType: SessionType\n docSpanSampler: SessionRecorderTraceIdRatioBasedSampler\n\n generateLongId: () => string\n\n constructor({ autoDocTracesRatio = 0 } = {}) {\n super()\n\n this.docSpanSampler = new SessionRecorderTraceIdRatioBasedSampler(autoDocTracesRatio)\n\n this.generateLongId = getIdGenerator(16)\n this.sessionShortId = ''\n this.sessionType = SessionType.PLAIN\n\n this.generateTraceId = () => {\n const traceId = this.generateLongId()\n\n if (this.sessionShortId) {\n let sessionTypePrefix: string = ''\n switch (this.sessionType) {\n case SessionType.CONTINUOUS:\n sessionTypePrefix = MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX\n break\n default:\n sessionTypePrefix = MULTIPLAYER_TRACE_DEBUG_PREFIX\n }\n\n const prefix = `${sessionTypePrefix}${this.sessionShortId}`\n\n const sessionTraceId = `${prefix}${traceId.substring(prefix.length, traceId.length)}`\n\n return sessionTraceId\n } else if (this._isDocTrace(traceId)) {\n return `${MULTIPLAYER_TRACE_DOC_PREFIX}${traceId.slice(MULTIPLAYER_TRACE_DOC_PREFIX.length, traceId.length)}`\n }\n\n return traceId\n }\n }\n\n setSessionId(\n sessionShortId: string,\n sessionType: SessionType = SessionType.PLAIN,\n ) {\n this.sessionShortId = sessionShortId\n this.sessionType = sessionType\n }\n\n _isDocTrace(traceId: string) {\n return this.docSpanSampler.shouldSample(\n undefined,\n traceId,\n ).decision === SamplingDecision.RECORD_AND_SAMPLED\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { ReadableSpan } from '@opentelemetry/sdk-trace-base';
2
+ import { IExportTraceServiceResponse, ISerializer } from '@opentelemetry/otlp-transformer';
3
+ export declare const SessionRecorderJsonTraceSerializer: ISerializer<ReadableSpan[], IExportTraceServiceResponse>;
4
+ //# sourceMappingURL=SessionRecorderJsonTraceSerializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecorderJsonTraceSerializer.d.ts","sourceRoot":"","sources":["../../src/SessionRecorderJsonTraceSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EACL,2BAA2B,EAE3B,WAAW,EACZ,MAAM,iCAAiC,CAAA;AAOxC,eAAO,MAAM,kCAAkC,EAAE,WAAW,CAC5D,YAAY,EAAE,EACd,2BAA2B,CA4B1B,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { createExportTraceServiceRequest, } from '@opentelemetry/otlp-transformer';
2
+ import { MULTIPLAYER_TRACE_DEBUG_PREFIX, MULTIPLAYER_TRACE_DOC_PREFIX, MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX, } from './constants.base';
3
+ export var SessionRecorderJsonTraceSerializer = {
4
+ serializeRequest: function (arg) {
5
+ var filteredArg = arg.filter(function (span) {
6
+ var traceId = span.spanContext().traceId;
7
+ if (traceId.startsWith(MULTIPLAYER_TRACE_DEBUG_PREFIX)
8
+ || traceId.startsWith(MULTIPLAYER_TRACE_DOC_PREFIX)
9
+ || traceId.startsWith(MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX)) {
10
+ return true;
11
+ }
12
+ return false;
13
+ });
14
+ var request = createExportTraceServiceRequest(filteredArg, {
15
+ useHex: true,
16
+ useLongBits: false,
17
+ });
18
+ var encoder = new TextEncoder();
19
+ return encoder.encode(JSON.stringify(request));
20
+ },
21
+ deserializeResponse: function (arg) {
22
+ var decoder = new TextDecoder();
23
+ return JSON.parse(decoder.decode(arg));
24
+ },
25
+ };
26
+ //# sourceMappingURL=SessionRecorderJsonTraceSerializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecorderJsonTraceSerializer.js","sourceRoot":"","sources":["../../src/SessionRecorderJsonTraceSerializer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,+BAA+B,GAEhC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,yCAAyC,GAC1C,MAAM,kBAAkB,CAAA;AAEzB,MAAM,CAAC,IAAM,kCAAkC,GAG3C;IACF,gBAAgB,EAAE,UAAC,GAAmB;QACpC,IAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,UAAA,IAAI;YACjC,IAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAA;YAE1C,IACE,OAAO,CAAC,UAAU,CAAC,8BAA8B,CAAC;mBAC/C,OAAO,CAAC,UAAU,CAAC,4BAA4B,CAAC;mBAChD,OAAO,CAAC,UAAU,CAAC,yCAAyC,CAAC,EAChE,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;QAEF,IAAM,OAAO,GAAG,+BAA+B,CAAC,WAAW,EAAE;YAC3D,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,KAAK;SACnB,CAAC,CAAA;QACF,IAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QACjC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IAChD,CAAC;IACD,mBAAmB,EAAE,UAAC,GAAe;QACnC,IAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAgC,CAAA;IACvE,CAAC;CACF,CAAA","sourcesContent":["import { ReadableSpan } from '@opentelemetry/sdk-trace-base'\nimport {\n IExportTraceServiceResponse,\n createExportTraceServiceRequest,\n ISerializer,\n} from '@opentelemetry/otlp-transformer'\nimport {\n MULTIPLAYER_TRACE_DEBUG_PREFIX,\n MULTIPLAYER_TRACE_DOC_PREFIX,\n MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX,\n} from './constants.base'\n\nexport const SessionRecorderJsonTraceSerializer: ISerializer<\nReadableSpan[],\nIExportTraceServiceResponse\n> = {\n serializeRequest: (arg: ReadableSpan[]) => {\n const filteredArg = arg.filter(span => {\n const traceId = span.spanContext().traceId\n\n if (\n traceId.startsWith(MULTIPLAYER_TRACE_DEBUG_PREFIX)\n || traceId.startsWith(MULTIPLAYER_TRACE_DOC_PREFIX)\n || traceId.startsWith(MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX)\n ) {\n return true\n }\n\n return false\n })\n\n const request = createExportTraceServiceRequest(filteredArg, {\n useHex: true,\n useLongBits: false,\n })\n const encoder = new TextEncoder()\n return encoder.encode(JSON.stringify(request))\n },\n deserializeResponse: (arg: Uint8Array) => {\n const decoder = new TextDecoder()\n return JSON.parse(decoder.decode(arg)) as IExportTraceServiceResponse\n },\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import { Sampler, SamplingResult } from '@opentelemetry/sdk-trace-base';
2
+ export declare class SessionRecorderTraceIdRatioBasedSampler implements Sampler {
3
+ private readonly _ratio;
4
+ private _upperBound;
5
+ constructor(_ratio?: number);
6
+ shouldSample(context: unknown, traceId: string): SamplingResult;
7
+ toString(): string;
8
+ private _normalize;
9
+ private _accumulate;
10
+ }
11
+ //# sourceMappingURL=SessionRecorderTraceIdRatioBasedSampler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecorderTraceIdRatioBasedSampler.d.ts","sourceRoot":"","sources":["../../src/SessionRecorderTraceIdRatioBasedSampler.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EAEP,cAAc,EACf,MAAM,+BAA+B,CAAA;AAGtC,qBAAa,uCAAwC,YAAW,OAAO;IAGzD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,WAAW,CAAQ;gBAEE,MAAM,GAAE,MAAU;IAK/C,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc;IAsB/D,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,WAAW;CASpB"}
@@ -0,0 +1,45 @@
1
+ import { isValidTraceId } from '@opentelemetry/api';
2
+ import { SamplingDecision, } from '@opentelemetry/sdk-trace-base';
3
+ import { MULTIPLAYER_TRACE_DEBUG_PREFIX } from './constants.base';
4
+ var SessionRecorderTraceIdRatioBasedSampler = /** @class */ (function () {
5
+ function SessionRecorderTraceIdRatioBasedSampler(_ratio) {
6
+ if (_ratio === void 0) { _ratio = 0; }
7
+ this._ratio = _ratio;
8
+ this._ratio = this._normalize(_ratio);
9
+ this._upperBound = Math.floor(this._ratio * 0xffffffff);
10
+ }
11
+ SessionRecorderTraceIdRatioBasedSampler.prototype.shouldSample = function (context, traceId) {
12
+ if (this._ratio > 0
13
+ && traceId.startsWith(MULTIPLAYER_TRACE_DEBUG_PREFIX)) {
14
+ return {
15
+ decision: SamplingDecision.RECORD_AND_SAMPLED,
16
+ };
17
+ }
18
+ var decision = SamplingDecision.NOT_RECORD;
19
+ if (isValidTraceId(traceId)
20
+ && this._accumulate(traceId) < this._upperBound) {
21
+ decision = SamplingDecision.RECORD_AND_SAMPLED;
22
+ }
23
+ return { decision: decision };
24
+ };
25
+ SessionRecorderTraceIdRatioBasedSampler.prototype.toString = function () {
26
+ return "MultiplayerTraceIdRatioBasedSampler{".concat(this._ratio, "}");
27
+ };
28
+ SessionRecorderTraceIdRatioBasedSampler.prototype._normalize = function (ratio) {
29
+ if (typeof ratio !== 'number' || isNaN(ratio))
30
+ return 0;
31
+ return ratio >= 1 ? 1 : ratio <= 0 ? 0 : ratio;
32
+ };
33
+ SessionRecorderTraceIdRatioBasedSampler.prototype._accumulate = function (traceId) {
34
+ var accumulation = 0;
35
+ for (var i = 0; i < traceId.length / 8; i++) {
36
+ var pos = i * 8;
37
+ var part = parseInt(traceId.slice(pos, pos + 8), 16);
38
+ accumulation = (accumulation ^ part) >>> 0;
39
+ }
40
+ return accumulation;
41
+ };
42
+ return SessionRecorderTraceIdRatioBasedSampler;
43
+ }());
44
+ export { SessionRecorderTraceIdRatioBasedSampler };
45
+ //# sourceMappingURL=SessionRecorderTraceIdRatioBasedSampler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecorderTraceIdRatioBasedSampler.js","sourceRoot":"","sources":["../../src/SessionRecorderTraceIdRatioBasedSampler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAEL,gBAAgB,GAEjB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AAEjE;IAGE,iDAA6B,MAAkB;QAAlB,uBAAA,EAAA,UAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAA;IACzD,CAAC;IAED,8DAAY,GAAZ,UAAa,OAAgB,EAAE,OAAe;QAC5C,IACE,IAAI,CAAC,MAAM,GAAG,CAAC;eACZ,OAAO,CAAC,UAAU,CAAC,8BAA8B,CAAC,EACrD,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,gBAAgB,CAAC,kBAAkB;aAC9C,CAAA;QACH,CAAC;QAED,IAAI,QAAQ,GAAqB,gBAAgB,CAAC,UAAU,CAAA;QAE5D,IACE,cAAc,CAAC,OAAO,CAAC;eACpB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,EAC/C,CAAC;YACD,QAAQ,GAAG,gBAAgB,CAAC,kBAAkB,CAAA;QAChD,CAAC;QAED,OAAO,EAAE,QAAQ,UAAA,EAAE,CAAA;IACrB,CAAC;IAED,0DAAQ,GAAR;QACE,OAAO,8CAAuC,IAAI,CAAC,MAAM,MAAG,CAAA;IAC9D,CAAC;IAEO,4DAAU,GAAlB,UAAmB,KAAa;QAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QACvD,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAChD,CAAC;IAEO,6DAAW,GAAnB,UAAoB,OAAe;QACjC,IAAI,YAAY,GAAG,CAAC,CAAA;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;YACjB,IAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACtD,YAAY,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,YAAY,CAAA;IACrB,CAAC;IACH,8CAAC;AAAD,CAAC,AAhDD,IAgDC","sourcesContent":["import { isValidTraceId } from '@opentelemetry/api'\nimport {\n Sampler,\n SamplingDecision,\n SamplingResult,\n} from '@opentelemetry/sdk-trace-base'\nimport { MULTIPLAYER_TRACE_DEBUG_PREFIX } from './constants.base'\n\nexport class SessionRecorderTraceIdRatioBasedSampler implements Sampler {\n private _upperBound: number\n\n constructor(private readonly _ratio: number = 0) {\n this._ratio = this._normalize(_ratio)\n this._upperBound = Math.floor(this._ratio * 0xffffffff)\n }\n\n shouldSample(context: unknown, traceId: string): SamplingResult {\n if (\n this._ratio > 0\n && traceId.startsWith(MULTIPLAYER_TRACE_DEBUG_PREFIX)\n ) {\n return {\n decision: SamplingDecision.RECORD_AND_SAMPLED,\n }\n }\n\n let decision: SamplingDecision = SamplingDecision.NOT_RECORD\n\n if (\n isValidTraceId(traceId)\n && this._accumulate(traceId) < this._upperBound\n ) {\n decision = SamplingDecision.RECORD_AND_SAMPLED\n }\n\n return { decision }\n }\n\n toString(): string {\n return `MultiplayerTraceIdRatioBasedSampler{${this._ratio}}`\n }\n\n private _normalize(ratio: number): number {\n if (typeof ratio !== 'number' || isNaN(ratio)) return 0\n return ratio >= 1 ? 1 : ratio <= 0 ? 0 : ratio\n }\n\n private _accumulate(traceId: string): number {\n let accumulation = 0\n for (let i = 0; i < traceId.length / 8; i++) {\n const pos = i * 8\n const part = parseInt(traceId.slice(pos, pos + 8), 16)\n accumulation = (accumulation ^ part) >>> 0\n }\n return accumulation\n }\n}\n"]}
@@ -0,0 +1,32 @@
1
+ export declare const MULTIPLAYER_TRACE_DOC_PREFIX = "d0cd0c";
2
+ export declare const MULTIPLAYER_TRACE_DEBUG_PREFIX = "debdeb";
3
+ export declare const MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX = "cdbcdb";
4
+ export declare const MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH = 16;
5
+ export declare const MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL = "https://api.multiplayer.app/v1/traces";
6
+ export declare const MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_URL = "https://api.multiplayer.app/v1/logs";
7
+ export declare const MULTIPLAYER_ATTRIBUTE_PREFIX = "multiplayer.";
8
+ export declare const ATTR_MULTIPLAYER_WORKSPACE_ID = "multiplayer.workspace.id";
9
+ export declare const ATTR_MULTIPLAYER_PROJECT_ID = "multiplayer.project.id";
10
+ export declare const ATTR_MULTIPLAYER_PLATFORM_ID = "multiplayer.platform.id";
11
+ export declare const ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE = "multiplayer.session.auto-save";
12
+ export declare const ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON = "multiplayer.session.auto-save.reason";
13
+ export declare const ATTR_MULTIPLAYER_PLATFORM_NAME = "multiplayer.platform.name";
14
+ export declare const ATTR_MULTIPLAYER_CLIENT_ID = "multiplayer.client.id";
15
+ export declare const ATTR_MULTIPLAYER_INTEGRATION_ID = "multiplayer.integration.id";
16
+ export declare const ATTR_MULTIPLAYER_SESSION_ID = "multiplayer.session.id";
17
+ export declare const ATTR_MULTIPLAYER_HTTP_REQUEST_BODY = "multiplayer.http.request.body";
18
+ export declare const ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY = "multiplayer.http.response.body";
19
+ export declare const ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS = "multiplayer.http.request.headers";
20
+ export declare const ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS = "multiplayer.http.response.headers";
21
+ export declare const ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING = "multiplayer.http.response.body.encoding";
22
+ export declare const ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE = "multiplayer.rpc.request.message";
23
+ export declare const ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE_ENCODING = "multiplayer.rpc.request.message.encoding";
24
+ export declare const ATTR_MULTIPLAYER_RPC_RESPONSE_MESSAGE = "multiplayer.rpc.response.message";
25
+ export declare const ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE = "multiplayer.rpc.grpc.request.message";
26
+ export declare const ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING = "multiplayer.rpc.request.message.encoding";
27
+ export declare const ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE = "multiplayer.rpc.grpc.response.message";
28
+ export declare const ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY = "multiplayer.messaging.message.body";
29
+ export declare const ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY_ENCODING = "multiplayer.messaging.message.body.encoding";
30
+ export declare const ATTR_MULTIPLAYER_SESSION_RECORDER_VERSION = "multiplayer.session-recorder.version";
31
+ export declare const MASK_PLACEHOLDER = "***MASKED***";
32
+ //# sourceMappingURL=constants.base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.base.d.ts","sourceRoot":"","sources":["../../src/constants.base.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,WAAW,CAAA;AAEpD,eAAO,MAAM,8BAA8B,WAAW,CAAA;AAEtD,eAAO,MAAM,yCAAyC,WAAW,CAAA;AAEjE,eAAO,MAAM,+CAA+C,KAAK,CAAA;AAEjE,eAAO,MAAM,4CAA4C,0CAA0C,CAAA;AAEnG,eAAO,MAAM,0CAA0C,wCAAwC,CAAA;AAE/F,eAAO,MAAM,4BAA4B,iBAAiB,CAAA;AAE1D,eAAO,MAAM,6BAA6B,6BAA6B,CAAA;AAEvE,eAAO,MAAM,2BAA2B,2BAA2B,CAAA;AAEnE,eAAO,MAAM,4BAA4B,4BAA4B,CAAA;AAErE,eAAO,MAAM,6CAA6C,kCAAkC,CAAA;AAE5F,eAAO,MAAM,oDAAoD,yCAAyC,CAAA;AAE1G,eAAO,MAAM,8BAA8B,8BAA8B,CAAA;AAEzE,eAAO,MAAM,0BAA0B,0BAA0B,CAAA;AAEjE,eAAO,MAAM,+BAA+B,+BAA+B,CAAA;AAE3E,eAAO,MAAM,2BAA2B,2BAA2B,CAAA;AAEnE,eAAO,MAAM,kCAAkC,kCAAkC,CAAA;AAEjF,eAAO,MAAM,mCAAmC,mCAAmC,CAAA;AAEnF,eAAO,MAAM,qCAAqC,qCAAqC,CAAA;AAEvF,eAAO,MAAM,sCAAsC,sCAAsC,CAAA;AAEzF,eAAO,MAAM,4CAA4C,4CAA4C,CAAA;AAErG,eAAO,MAAM,oCAAoC,oCAAoC,CAAA;AAErF,eAAO,MAAM,6CAA6C,6CAA6C,CAAA;AAEvG,eAAO,MAAM,qCAAqC,qCAAqC,CAAA;AAEvF,eAAO,MAAM,qCAAqC,yCAAyC,CAAA;AAE3F,eAAO,MAAM,8CAA8C,6CAA6C,CAAA;AAExG,eAAO,MAAM,sCAAsC,0CAA0C,CAAA;AAE7F,eAAO,MAAM,uCAAuC,uCAAuC,CAAA;AAE3F,eAAO,MAAM,gDAAgD,gDAAgD,CAAA;AAE7G,eAAO,MAAM,yCAAyC,yCAAyC,CAAA;AAE/F,eAAO,MAAM,gBAAgB,iBAAiB,CAAA"}
@@ -0,0 +1,32 @@
1
+ export var MULTIPLAYER_TRACE_DOC_PREFIX = 'd0cd0c';
2
+ export var MULTIPLAYER_TRACE_DEBUG_PREFIX = 'debdeb';
3
+ export var MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX = 'cdbcdb';
4
+ export var MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH = 16;
5
+ export var MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL = 'https://api.multiplayer.app/v1/traces';
6
+ export var MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_URL = 'https://api.multiplayer.app/v1/logs';
7
+ export var MULTIPLAYER_ATTRIBUTE_PREFIX = 'multiplayer.';
8
+ export var ATTR_MULTIPLAYER_WORKSPACE_ID = 'multiplayer.workspace.id';
9
+ export var ATTR_MULTIPLAYER_PROJECT_ID = 'multiplayer.project.id';
10
+ export var ATTR_MULTIPLAYER_PLATFORM_ID = 'multiplayer.platform.id';
11
+ export var ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE = 'multiplayer.session.auto-save';
12
+ export var ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON = 'multiplayer.session.auto-save.reason';
13
+ export var ATTR_MULTIPLAYER_PLATFORM_NAME = 'multiplayer.platform.name';
14
+ export var ATTR_MULTIPLAYER_CLIENT_ID = 'multiplayer.client.id';
15
+ export var ATTR_MULTIPLAYER_INTEGRATION_ID = 'multiplayer.integration.id';
16
+ export var ATTR_MULTIPLAYER_SESSION_ID = 'multiplayer.session.id';
17
+ export var ATTR_MULTIPLAYER_HTTP_REQUEST_BODY = 'multiplayer.http.request.body';
18
+ export var ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY = 'multiplayer.http.response.body';
19
+ export var ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS = 'multiplayer.http.request.headers';
20
+ export var ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS = 'multiplayer.http.response.headers';
21
+ export var ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING = 'multiplayer.http.response.body.encoding';
22
+ export var ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE = 'multiplayer.rpc.request.message';
23
+ export var ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE_ENCODING = 'multiplayer.rpc.request.message.encoding';
24
+ export var ATTR_MULTIPLAYER_RPC_RESPONSE_MESSAGE = 'multiplayer.rpc.response.message';
25
+ export var ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE = 'multiplayer.rpc.grpc.request.message';
26
+ export var ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING = 'multiplayer.rpc.request.message.encoding';
27
+ export var ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE = 'multiplayer.rpc.grpc.response.message';
28
+ export var ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY = 'multiplayer.messaging.message.body';
29
+ export var ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY_ENCODING = 'multiplayer.messaging.message.body.encoding';
30
+ export var ATTR_MULTIPLAYER_SESSION_RECORDER_VERSION = 'multiplayer.session-recorder.version';
31
+ export var MASK_PLACEHOLDER = '***MASKED***';
32
+ //# sourceMappingURL=constants.base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.base.js","sourceRoot":"","sources":["../../src/constants.base.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,4BAA4B,GAAG,QAAQ,CAAA;AAEpD,MAAM,CAAC,IAAM,8BAA8B,GAAG,QAAQ,CAAA;AAEtD,MAAM,CAAC,IAAM,yCAAyC,GAAG,QAAQ,CAAA;AAEjE,MAAM,CAAC,IAAM,+CAA+C,GAAG,EAAE,CAAA;AAEjE,MAAM,CAAC,IAAM,4CAA4C,GAAG,uCAAuC,CAAA;AAEnG,MAAM,CAAC,IAAM,0CAA0C,GAAG,qCAAqC,CAAA;AAE/F,MAAM,CAAC,IAAM,4BAA4B,GAAG,cAAc,CAAA;AAE1D,MAAM,CAAC,IAAM,6BAA6B,GAAG,0BAA0B,CAAA;AAEvE,MAAM,CAAC,IAAM,2BAA2B,GAAG,wBAAwB,CAAA;AAEnE,MAAM,CAAC,IAAM,4BAA4B,GAAG,yBAAyB,CAAA;AAErE,MAAM,CAAC,IAAM,6CAA6C,GAAG,+BAA+B,CAAA;AAE5F,MAAM,CAAC,IAAM,oDAAoD,GAAG,sCAAsC,CAAA;AAE1G,MAAM,CAAC,IAAM,8BAA8B,GAAG,2BAA2B,CAAA;AAEzE,MAAM,CAAC,IAAM,0BAA0B,GAAG,uBAAuB,CAAA;AAEjE,MAAM,CAAC,IAAM,+BAA+B,GAAG,4BAA4B,CAAA;AAE3E,MAAM,CAAC,IAAM,2BAA2B,GAAG,wBAAwB,CAAA;AAEnE,MAAM,CAAC,IAAM,kCAAkC,GAAG,+BAA+B,CAAA;AAEjF,MAAM,CAAC,IAAM,mCAAmC,GAAG,gCAAgC,CAAA;AAEnF,MAAM,CAAC,IAAM,qCAAqC,GAAG,kCAAkC,CAAA;AAEvF,MAAM,CAAC,IAAM,sCAAsC,GAAG,mCAAmC,CAAA;AAEzF,MAAM,CAAC,IAAM,4CAA4C,GAAG,yCAAyC,CAAA;AAErG,MAAM,CAAC,IAAM,oCAAoC,GAAG,iCAAiC,CAAA;AAErF,MAAM,CAAC,IAAM,6CAA6C,GAAG,0CAA0C,CAAA;AAEvG,MAAM,CAAC,IAAM,qCAAqC,GAAG,kCAAkC,CAAA;AAEvF,MAAM,CAAC,IAAM,qCAAqC,GAAG,sCAAsC,CAAA;AAE3F,MAAM,CAAC,IAAM,8CAA8C,GAAG,0CAA0C,CAAA;AAExG,MAAM,CAAC,IAAM,sCAAsC,GAAG,uCAAuC,CAAA;AAE7F,MAAM,CAAC,IAAM,uCAAuC,GAAG,oCAAoC,CAAA;AAE3F,MAAM,CAAC,IAAM,gDAAgD,GAAG,6CAA6C,CAAA;AAE7G,MAAM,CAAC,IAAM,yCAAyC,GAAG,sCAAsC,CAAA;AAE/F,MAAM,CAAC,IAAM,gBAAgB,GAAG,cAAc,CAAA","sourcesContent":["export const MULTIPLAYER_TRACE_DOC_PREFIX = 'd0cd0c'\n\nexport const MULTIPLAYER_TRACE_DEBUG_PREFIX = 'debdeb'\n\nexport const MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX = 'cdbcdb'\n\nexport const MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH = 16\n\nexport const MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL = 'https://api.multiplayer.app/v1/traces'\n\nexport const MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_URL = 'https://api.multiplayer.app/v1/logs'\n\nexport const MULTIPLAYER_ATTRIBUTE_PREFIX = 'multiplayer.'\n\nexport const ATTR_MULTIPLAYER_WORKSPACE_ID = 'multiplayer.workspace.id'\n\nexport const ATTR_MULTIPLAYER_PROJECT_ID = 'multiplayer.project.id'\n\nexport const ATTR_MULTIPLAYER_PLATFORM_ID = 'multiplayer.platform.id'\n\nexport const ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE = 'multiplayer.session.auto-save'\n\nexport const ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON = 'multiplayer.session.auto-save.reason'\n\nexport const ATTR_MULTIPLAYER_PLATFORM_NAME = 'multiplayer.platform.name'\n\nexport const ATTR_MULTIPLAYER_CLIENT_ID = 'multiplayer.client.id'\n\nexport const ATTR_MULTIPLAYER_INTEGRATION_ID = 'multiplayer.integration.id'\n\nexport const ATTR_MULTIPLAYER_SESSION_ID = 'multiplayer.session.id'\n\nexport const ATTR_MULTIPLAYER_HTTP_REQUEST_BODY = 'multiplayer.http.request.body'\n\nexport const ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY = 'multiplayer.http.response.body'\n\nexport const ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS = 'multiplayer.http.request.headers'\n\nexport const ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS = 'multiplayer.http.response.headers'\n\nexport const ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING = 'multiplayer.http.response.body.encoding'\n\nexport const ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE = 'multiplayer.rpc.request.message'\n\nexport const ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE_ENCODING = 'multiplayer.rpc.request.message.encoding'\n\nexport const ATTR_MULTIPLAYER_RPC_RESPONSE_MESSAGE = 'multiplayer.rpc.response.message'\n\nexport const ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE = 'multiplayer.rpc.grpc.request.message'\n\nexport const ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING = 'multiplayer.rpc.request.message.encoding'\n\nexport const ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE = 'multiplayer.rpc.grpc.response.message'\n\nexport const ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY = 'multiplayer.messaging.message.body'\n\nexport const ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY_ENCODING = 'multiplayer.messaging.message.body.encoding'\n\nexport const ATTR_MULTIPLAYER_SESSION_RECORDER_VERSION = 'multiplayer.session-recorder.version'\n\nexport const MASK_PLACEHOLDER = '***MASKED***'\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './constants.base';
2
+ //# sourceMappingURL=constants.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.browser.d.ts","sourceRoot":"","sources":["../../src/constants.browser.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './constants.base';
2
+ //# sourceMappingURL=constants.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.browser.js","sourceRoot":"","sources":["../../src/constants.browser.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA","sourcesContent":["export * from './constants.base'\n"]}
@@ -0,0 +1,3 @@
1
+ export * from './constants.base';
2
+ export declare const MULTIPLAYER_MAX_HTTP_REQUEST_RESPONSE_SIZE: number;
3
+ //# sourceMappingURL=constants.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.node.d.ts","sourceRoot":"","sources":["../../src/constants.node.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAEhC,eAAO,MAAM,0CAA0C,QAE7C,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './constants.base';
2
+ export var MULTIPLAYER_MAX_HTTP_REQUEST_RESPONSE_SIZE = process.env.MULTIPLAYER_MAX_HTTP_REQUEST_RESPONSE_SIZE
3
+ ? Number(process.env.MULTIPLAYER_MAX_HTTP_REQUEST_RESPONSE_SIZE)
4
+ : 500000;
5
+ //# sourceMappingURL=constants.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.node.js","sourceRoot":"","sources":["../../src/constants.node.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAEhC,MAAM,CAAC,IAAM,0CAA0C,GAAG,OAAO,CAAC,GAAG,CAAC,0CAA0C;IAC9G,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC;IAChE,CAAC,CAAC,MAAM,CAAA","sourcesContent":["export * from './constants.base'\n\nexport const MULTIPLAYER_MAX_HTTP_REQUEST_RESPONSE_SIZE = process.env.MULTIPLAYER_MAX_HTTP_REQUEST_RESPONSE_SIZE\n ? Number(process.env.MULTIPLAYER_MAX_HTTP_REQUEST_RESPONSE_SIZE)\n : 500000\n"]}
@@ -0,0 +1,8 @@
1
+ export * from './constants.browser';
2
+ export { SessionRecorderHttpTraceExporterBrowser } from './SessionRecorderHttpTraceExporterBrowser';
3
+ export { SessionRecorderIdGenerator } from './SessionRecorderIdGenerator';
4
+ export { SessionRecorderJsonTraceSerializer } from './SessionRecorderJsonTraceSerializer';
5
+ export { SessionRecorderTraceIdRatioBasedSampler } from './SessionRecorderTraceIdRatioBasedSampler';
6
+ export * as SessionRecorderSdk from './sdk';
7
+ export * from './type';
8
+ //# sourceMappingURL=index-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-browser.d.ts","sourceRoot":"","sources":["../../src/index-browser.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAA;AACnG,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAA;AACzF,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAA;AACnG,OAAO,KAAK,kBAAkB,MAAM,OAAO,CAAA;AAC3C,cAAc,QAAQ,CAAA"}
@@ -0,0 +1,9 @@
1
+ export * from './constants.browser';
2
+ export { SessionRecorderHttpTraceExporterBrowser } from './SessionRecorderHttpTraceExporterBrowser';
3
+ export { SessionRecorderIdGenerator } from './SessionRecorderIdGenerator';
4
+ export { SessionRecorderJsonTraceSerializer } from './SessionRecorderJsonTraceSerializer';
5
+ export { SessionRecorderTraceIdRatioBasedSampler } from './SessionRecorderTraceIdRatioBasedSampler';
6
+ import * as SessionRecorderSdk_1 from './sdk';
7
+ export { SessionRecorderSdk_1 as SessionRecorderSdk };
8
+ export * from './type';
9
+ //# sourceMappingURL=index-browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-browser.js","sourceRoot":"","sources":["../../src/index-browser.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAA;AACnG,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAA;AACzF,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAA;sCAC/D,OAAO;iCAA/B,kBAAkB;AAC9B,cAAc,QAAQ,CAAA","sourcesContent":["export * from './constants.browser'\nexport { SessionRecorderHttpTraceExporterBrowser } from './SessionRecorderHttpTraceExporterBrowser'\nexport { SessionRecorderIdGenerator } from './SessionRecorderIdGenerator'\nexport { SessionRecorderJsonTraceSerializer } from './SessionRecorderJsonTraceSerializer'\nexport { SessionRecorderTraceIdRatioBasedSampler } from './SessionRecorderTraceIdRatioBasedSampler'\nexport * as SessionRecorderSdk from './sdk'\nexport * from './type'\n"]}
@@ -0,0 +1,8 @@
1
+ export * from './constants.node';
2
+ export { SessionRecorderHttpInstrumentationHooksNode } from './SessionRecorderHttpInstrumentationHooksNode';
3
+ export { SessionRecorderIdGenerator } from './SessionRecorderIdGenerator';
4
+ export { SessionRecorderJsonTraceSerializer } from './SessionRecorderJsonTraceSerializer';
5
+ export { SessionRecorderTraceIdRatioBasedSampler } from './SessionRecorderTraceIdRatioBasedSampler';
6
+ export * as SessionRecorderSdk from './sdk';
7
+ export * from './type';
8
+ //# sourceMappingURL=index-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-node.d.ts","sourceRoot":"","sources":["../../src/index-node.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,2CAA2C,EAAE,MAAM,+CAA+C,CAAA;AAC3G,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAA;AACzF,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAA;AACnG,OAAO,KAAK,kBAAkB,MAAM,OAAO,CAAA;AAC3C,cAAc,QAAQ,CAAA"}
@@ -0,0 +1,9 @@
1
+ export * from './constants.node';
2
+ export { SessionRecorderHttpInstrumentationHooksNode } from './SessionRecorderHttpInstrumentationHooksNode';
3
+ export { SessionRecorderIdGenerator } from './SessionRecorderIdGenerator';
4
+ export { SessionRecorderJsonTraceSerializer } from './SessionRecorderJsonTraceSerializer';
5
+ export { SessionRecorderTraceIdRatioBasedSampler } from './SessionRecorderTraceIdRatioBasedSampler';
6
+ import * as SessionRecorderSdk_1 from './sdk';
7
+ export { SessionRecorderSdk_1 as SessionRecorderSdk };
8
+ export * from './type';
9
+ //# sourceMappingURL=index-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-node.js","sourceRoot":"","sources":["../../src/index-node.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,2CAA2C,EAAE,MAAM,+CAA+C,CAAA;AAC3G,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAA;AACzF,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAA;sCAC/D,OAAO;iCAA/B,kBAAkB;AAC9B,cAAc,QAAQ,CAAA","sourcesContent":["export * from './constants.node'\nexport { SessionRecorderHttpInstrumentationHooksNode } from './SessionRecorderHttpInstrumentationHooksNode'\nexport { SessionRecorderIdGenerator } from './SessionRecorderIdGenerator'\nexport { SessionRecorderJsonTraceSerializer } from './SessionRecorderJsonTraceSerializer'\nexport { SessionRecorderTraceIdRatioBasedSampler } from './SessionRecorderTraceIdRatioBasedSampler'\nexport * as SessionRecorderSdk from './sdk'\nexport * from './type'\n"]}