【发布时间】:2018-08-29 23:36:43
【问题描述】:
我有调用 Lamdba 函数 1 并在 Go 中调用 lambda 函数 2 的 API 网关。我想在服务地图中看到这两个功能。
到目前为止,我能够做到这一点的唯一方法是创建一个自定义细分,例如称为“父”,并从该上下文创建一个子细分,例如称为“子”。然后使用 client.InvokeWithContext 调用传递“子”段上下文的函数 2。
sess := session.Must(session.NewSession())
client := lambda.New(sess, &aws.Config{Region: aws.String(region)})
xray.Configure(xray.Config{LogLevel: "trace"})
xray.AWS(client.Client)
ctx, seg := xray.BeginSegment(context.Background(), "Parent")
ctx, subseg := xray.BeginSubsegment(ctx, "Child")
result, _ := client.InvokeWithContext(ctx,
lambda.InvokeInput{FunctionName: aws.String(functionName), Payload: nil})
subseg.Close(nil)
seg.Close(nil)
问题是这会在服务映射中创建跟踪父级 -> 子级,但也具有功能 1。
请问在服务地图上加入这两个功能的最佳方式是什么? 笔记。我想在服务地图上看到超过 2 个链接,以向我展示我通过 lambdas 的整个流程。
请帮忙。
谢谢 瑞克
【问题讨论】:
-
为了查看多个 lambda 的整个流程,我离开了 XRay 并使用了 OpenTracing -> Zipkin
标签: amazon-web-services go aws-lambda aws-api-gateway aws-xray