【问题标题】:How do you add AWS xray tracing into SMTP calls in golang如何在 golang 中将 AWS xray 跟踪添加到 SMTP 调用中
【发布时间】:2020-08-19 05:28:57
【问题描述】:

我正在尝试将 X 射线追踪添加到我的所有外部呼叫中,并且需要一些帮助。 Http 调用非常简单且有据可查,但我在 smtp 上找不到任何内容。

这就是我使用导入“net/http”将 X 射线追踪添加到 http 调用中的方法。

// ... Created a client, then...
client = xray.Client(client)
result, err := client.Do(request.WithContext(context.Background()))

这就是我正在使用导入“net/smtp”将 x 射线追踪添加到 smtp 调用中的内容。

connection, err := smtp.Dial("smtp.server.com")
// ... Set sender and receiver, then...
writer, err := connection.Data()
_, _ = writer.Write("Message")
_ = writer.Close()
_ = connection.Quit()

我已尝试深入研究 smtp 客户端和客户端编写器结构,但无法找到添加 X 射线追踪。

【问题讨论】:

  • 据我了解,AWS X-Ray 仅用于 http 调用,这与 SMTP 会话有很大不同。 HTTP 本身就是一种无状态协议。会话仅被模拟。然而,SMTP 会话确实有状态(新的、已验证的、yada yada)。

标签: amazon-web-services go smtp aws-xray


【解决方案1】:

X-Ray 当前不支持跟踪 SMTP 调用。正如@Markus W Mahlberg 提到的,SMTP 与 HTTP 完全不同。跟踪 SMTP 需要针对 X-Ray SDK 中不同状态的显式处理程序。

【讨论】:

    猜你喜欢
    • 2020-07-21
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多