I have local xray daemon running on my mac and I am testing a graphql lambda the instrument traces. I am using serverless offline for testing the lambda. The daemon logs show Successfully sent batch of 9 segments (0.318 seconds)
but I am not able to see any traces in my console. Also, what other ways are there to view the segments that are being relayed. I wanted to test my xray instrumenting but there is no way to know what segments are being trace and how. I do set my set profile before running the local daemon here is my serverless.yml, just in case I am missing something there
service: graphql-lambda
provider:
name: aws
runtime: nodejs16.x
tracing:
lambda: true
apiGateway: true
iamRoleStatements:
- Effect: Allow
Action:
- "xray:PutTraceSegments"
- "xray:PutTelemetryRecords"
Resource: "*"
functions:
graphql:
handler: build/server.handler
events:
- http:
path: graphql
method: any
cors: true
environment:
AWS_XRAY_DAEMON_ADDRESS: "127.0.0.1:2000"
AWS_XRAY_CONTEXT_MISSING: "LOG_ERROR"
plugins:
- serverless-offline
Thanks for trying xray. Please refer to xray daemon config to ensure the segments are sent to to correct account/region https://github.com/aws/aws-xray-daemon#credential-configuration
Also, you can enable debug log for daemon to get more information.