源代码映射支持编辑

Elastic APM Node.js 代理默认支持源代码映射。如果您对源代码进行转译并提供源代码映射,代理将能够收集正确的堆栈跟踪,甚至在可用时收集原始源代码。

要利用此功能,只需确保您的转译后的源代码在每个 JavaScript 文件的底部包含一个 sourceMappingURL 注释。它可以指向磁盘上的源代码映射文件

//# sourceMappingURL=/path/to/file.js.map

或者,您可以使用 base64 编码内联源代码映射

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyJmb28uanMiLCJiYXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O1VBQ0c7Ozs7Ozs7Ozs7Ozs7O3NCQ0RIO3NCQUNBIn0=

所有现代构建工具链都支持生成源代码映射并将这些注释添加到转译后的源代码中。

原始源代码编辑

Elastic APM 使用源代码映射有两个目的:收集指向原始源代码的堆栈跟踪,以及收集与堆栈跟踪中每个帧相关的原始源代码作为内联代码片段。

为了获得最佳支持,我们建议您使用源代码映射中的 sourcesContent 属性内联原始源代码,或者将原始源代码与转译后的源代码一起部署到生产服务器。

如果您选择部署原始源代码,请确保它可以通过源代码映射中使用 sourceRoot 属性指定的路径通过文件系统访问。

公共访问?编辑

您的源代码映射或原始源代码 不需要 通过互联网访问。所有操作都由您服务器上的本地 Node.js 代理处理。