node.js - Hur man initierar AWS XRay för alla lambdas i ett NodeJS serverless-projekt
Som jag förstår måste XRay initialiseras före varje AWS-klient och HTTP-klienter om jag också vill spåra utgående HTTP-förfrågningar. Detta är koden för XRay-initialisering.
import aws from 'aws-sdk'
import AWSXRay from 'aws-xray-sdk'
import http from 'http'
import https from 'https'
AWSXRay.captureHTTPsGlobal(http)
AWSXRay.captureHTTPsGlobal(https)
AWSXRay.capturePromise()
AWSXRay.captureAWS(aws)
Det verkar enkelt för en enskild lambda. Men jag har ett NodeJS-serverless-projekt som har en massa lambdas, och många fler kommer att läggas till snart. Jag letar efter en lösning som uppfyller
- Ingen kodduplicering för initialiseringen
- Initialiseringen görs mer eller mindre automatiskt för utvecklare. Jag vill inte att utvecklarna manuellt ska initialisera xray under utveckling.
Jag funderar på en modul, som heter 'xray-initialization.ts', och förhoppningsvis injicera import './xray-initialization' i en lambda-handler med ett byggverktyg. Är det genomförbart?