AWS X-Ray Python:MissingEndTime错误

时间:2018-07-27 07:43:16

标签: python amazon-web-services aws-xray

我想通过使用X-Ray SDK跟踪对Python AWS开发工具包(boto3)的调用。根据{{​​3}},我必须修补boto3。然后X-Ray将自动创建子段,因此我只需要将AWS开发工具包调用包围在一个段中。这是我的代码:

import boto3
from aws_xray_sdk.core import xray_recorder, patch_all
patch_all()

codecommit = boto3.client("codecommit")

# begin a segment
xray_recorder.begin_segment("Main")

# create a CodeCommit repository named "myrepo1"
codecommit.create_repository(repositoryName="myrepo1")

# end a segment
xray_recorder.end_segment("Main")

首先我X-Ray docs,然后运行脚本。但是,守护程序返回以下错误:

2018-07-27T15:33:01+08:00 [Info] Successfully sent batch of 1 segments (0.146 seconds)
2018-07-27T15:33:01+08:00 [Error] Unprocessed segment: {
  ErrorCode: "MissingEndTime",
  Id: "74d23cdcc7b60c3f",
  Message: "Invalid segment. ErrorCode: MissingEndTime"
}
2018-07-27T15:33:01+08:00 [Warn] Batch that contains unprocessed segments
2018-07-27T15:33:01+08:00 [Warn] {"aws": {"xray": {"sdk": "X-Ray for Python", "sdk_version": "1.1.2"}}, "end_time": "MainSegment", "id": "74d23cdcc7b60c3f", "in_progress": false, "name": "MainSegment", "service": {"runtime": "CPython", "runtime_version": "3.6.5"}, "start_time": 1532676780.5897238, "subsegments": [{"aws": {"operation": "CreateRepository", "region": "ap-southeast-1", "request_id": "4a82bf29-916f-11e8-a631-85af1e9bc33f"}, "end_time": 1532676781.4089937, "http": {"response": {"status": 200}}, "id": "8ec94650265cf358", "in_progress": false, "name": "codecommit", "namespace": "aws", "parent_id": "74d23cdcc7b60c3f", "start_time": 1532676780.617356, "subsegments": [{"end_time": 1532676781.0933495, "http": {"request": {"method": "POST", "url": "https://codecommit.ap-southeast-1.amazonaws.com/"}}, "id": "77c7d8a0f67f8e13", "in_progress": false, "name": "https://codecommit.ap-southeast-1.amazonaws.com/", "namespace": "remote", "parent_id": "8ec94650265cf358", "start_time": 1532676781.0926085, "trace_id": "1-5b5acaac-b87df6ecbf3edbb29d4442f3", "type": "subsegment"}, {"end_time": 1532676781.40752, "http": {"request": {"method": "POST", "url": "https://codecommit.ap-southeast-1.amazonaws.com/"}, "response": {"status": 200}}, "id": "530f510699b9a050", "in_progress": false, "name": "https://codecommit.ap-southeast-1.amazonaws.com/", "namespace": "remote", "parent_id": "8ec94650265cf358", "start_time": 1532676781.093692, "trace_id": "1-5b5acaac-b87df6ecbf3edbb29d4442f3", "type": "subsegment"}, {"end_time": 1532676781.4083207, "http": {"request": {"method": "READ", "url": "https://codecommit.ap-southeast-1.amazonaws.com/"}, "response": {"status": 200}}, "id": "ad9b717abe0773e5", "in_progress": false, "name": "https://codecommit.ap-southeast-1.amazonaws.com/", "namespace": "remote", "parent_id": "8ec94650265cf358", "start_time": 1532676781.408112, "trace_id": "1-5b5acaac-b87df6ecbf3edbb29d4442f3", "type": "subsegment"}, {"end_time": 1532676781.408436, "http": {"request": {"method": "READ", "url": "https://codecommit.ap-southeast-1.amazonaws.com/"}, "response": {"status": 200}}, "id": "9d0e8e7b08a3030b", "in_progress": false, "name": "https://codecommit.ap-southeast-1.amazonaws.com/", "namespace": "remote", "parent_id": "8ec94650265cf358", "start_time": 1532676781.4084244, "trace_id": "1-5b5acaac-b87df6ecbf3edbb29d4442f3", "type": "subsegment"}], "trace_id": "1-5b5acaac-b87df6ecbf3edbb29d4442f3", "type": "subsegment"}], "trace_id": "1-5b5acaac-b87df6ecbf3edbb29d4442f3"}

此外,当我在AWS Console上查看X-Ray时,服务图或跟踪上均未显示任何内容。

在网上搜索,我找不到此错误的任何实例。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

我在AWS论坛上问了一个answer

如果参数传递给xray_recorder.end_segment(),它将在几秒钟内自动解析为时期。可以留空。