使用 X-Ray 开发工具包生成自定义子分段 - Amazon X-Ray
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 X-Ray 开发工具包生成自定义子分段

子段延伸追踪的segment详细说明为了满足请求而完成的工作。当您使用分析的客户端进行调用时,X-Ray 开发工具包会在子分段中记录生成的信息。您可以创建其他子段来对其他子段进行分组、衡量代码部分的性能或记录注释和元数据。

要管理子分段,请使用 begin_subsegmentend_subsegment 方法。

subsegment = XRay.recorder.begin_subsegment name: 'annotations', namespace: 'remote' my_annotations = { id: 12345 } subsegment.annotations.update my_annotations XRay.recorder.end_subsegment

要为函数创建子分段,可将其包装在对 XRay.recorder.capture 的调用中。

XRay.recorder.capture('name_for_subsegment') do |subsegment| resp = myfunc() # myfunc is your function subsegment.annotations.update k1: 'v1' resp end

当您在分段或者其他子分段中创建子分段时,X-Ray 开发工具包会为其生成 ID 并记录开始时间和结束时间。

例 包含元数据的子分段

"subsegments": [{ "id": "6f1605cd8a07cb70", "start_time": 1.480305974194E9, "end_time": 1.4803059742E9, "name": "Custom subsegment for UserModel.saveUser function", "metadata": { "debug": { "test": "Metadata string from UserModel.saveUser" } },