Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Warning 'No subsegment to end' written to logs when X-Ray SDK is disabled.

オープン
#331 コメント 4 件 リアクション 0 件 担当者 1 名 GitHub で見る

@srprash がすでに取り組んでいます。

2022年4月18日 から。

評価

この issue はまだ評価されていません。

説明

When running locally, I don't want X-Ray to be enabled. Out of the box, the sam local start-lambda logs warnings about the X-Ray SDK, but I'm trying to disable the SDK entirely.

I'm disabling the SDK by checking the environment variable AWS_SAM_LOCAL. If it's present and it's value is 'true', then the global SDK config is disabled. Then when I patch the desired libraries, nothing happens and there are no [INFO] logs. That's good.

from aws_xray_sdk import global_sdk_config as global_xray_sdk_config
from aws_xray_sdk.core import patch, xray_recorder

if environ.get('AWS_SAM_LOCAL', 'false') == 'true':
    global_xray_sdk_config.set_sdk_enabled(False)

patch(['boto3', 'requests'])

However, I have a function that adds a subsegment, and this is emitting logs even with the X-Ray SDK disabled.

def add_xray_subsegment(name: str, annotations: dict, e: Exception = None) -> None:
    with xray_recorder.capture(name) as subsegment:
        a = {k: v for k, v in annotations.items() if v is not None}
        for k, v in a.items():
            subsegment.put_annotation(k, v)
        if e:
            limit = xray_recorder._max_trace_back
            stack = traceback.extract_stack(limit=limit)
            subsegment.add_exception(e, stack)

[WARNING] {date} {request-id} No subsegment to end.

While the function still works locally, it's causing delay because people don't expect to see these warnings in the logs and are wasting their time investigating.

I'm guessing this isn't expected behaviour with the SDK disabled; so is this a bug, or is there some other configuration that I can add to remove the warnings?

Thanks.

主要言語
Python
スター
339
フォーク
147
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

aws/aws-xray-sdk-python のほかの issue

aws/aws-xray-sdk-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。