You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ERROR:aws_xray_sdk.core.context:cannot find the current segment/subsegment, please make sure you have a segment open #452
I am experiencing an issue with the AWS X-Ray SDK for Python where segments are not being properly created or propagated, resulting in the following exception:
ERROR:aws_xray_sdk.core.context:cannot find the current segment/subsegment, please make sure you have a segment open
The file is being successfully being uploaded in my s3 bucket but the segment is not being traced.
Steps to Reproduce:
import json
import os
import boto3
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all
import logging
from botocore.exceptions import NoCredentialsError, PartialCredentialsError
from aws_xray_sdk import global_sdk_config
from boto3.s3.transfer import TransferConfig
patch_all()
logging.basicConfig(level='ERROR')
logging.getLogger('aws_xray_sdk.core').setLevel(logging.ERROR)
.
.
.
.
def generate_and_upload(init, count):
session = boto3.Session(profile_name=aws_profile_name)
s3_client = session.client("s3")
# Create file path
file_path = os.path.join("generated", "data.json")
# Write data to the file
with open(file_path, "w") as file:
json.dump(
generate_json_document(init, count),
file,
separators=(",", ":"),
ensure_ascii=False,
)
xray_recorder.configure(service='data-generator')
with xray_recorder.in_segment('generate_and_upload') as segment:
trace_header = segment.trace_id
print(f"Trace Header: {trace_header}")
try:
trnasver_config = TransferConfig(max_concurrency=1)
s3_client.upload_file(
file_path,
f"{bucket}",
f"{path}",
ExtraArgs={"Metadata": {"X-Amzn-Trace-Id": trace_header}},
Config=trnasver_config,
)
print(
f"Uploaded"
)
finally:
xray_recorder.end_segment()
I tried to set os.environ['AWS_XRAY_SDK_ENABLED'] = 'false' and a dummy segment was created, but I am not able to see it in the AWS X-ray console.
I am using Python 3.11.1 and aws-xray-sdk is Version: 2.14.0
I have also tried to set off threading and also have 1 thread. The issue still exist,
Activity