node.js - 我们如何使用 aws x-ray 跟踪 axios http 请求?
问题描述
我正在寻找一种在基于 node.js 的 aws lambda 函数中跟踪 axios http 请求的方法。我找到了一种在 aws 官方文档 https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-httpclients.html上跟踪 HTTP 请求的方法
var AWSXRay = require('aws-xray-sdk');
var http = AWSXRay.captureHTTPs(require('http'));
但是我没有找到任何关于 axios 请求跟踪的文档或博客。我也试过这段代码,但它不起作用。
import AWSXRay from 'aws-xray-sdk';
AWSXRay.captureHTTPsGlobal("../../common/http/HttpClient");
import { HttpClient } from "../../common/http/HttpClient";
在这方面我需要帮助。谢谢!
解决方案
由于 axios 将在幕后使用 node 的 http/https 模块,如果您在导入/需要 axios 之前全局捕获 http 和 https,则事情应该按预期工作。
import AWSXRay from 'aws-xray-sdk';
import http from 'http';
import https from 'https';
AWSXRay.captureHTTPsGlobal(http);
AWSXRay.captureHTTPsGlobal(https);
const axios = require('axios');
推荐阅读
- kotlin - 有没有办法提示用户输入密码停止锁定任务模式?
- xslt - XSLT 更改一些 XSD 元素类型
- swift - Swift 5 - navigationItem.title 不显示
- reactjs - React router history.push in useEffect,两个渲染
- python - PMVS - 如何构建补丁
- php - 为什么从 cmd 运行 php 邮件功能时出现错误
- oracle-apex - Oracle Apex 根据每个组的现有数据自动填充表单
- javascript - 为什么 node-fetch 与 oauth2 身份验证有问题
- javascript - DP 解决方案未正确缓存 - 输入为 ~70 时出现超时错误
- python - 带有元组键的 msgpack 字典