AWS X-Ray показывает повторяющиеся узлы на карте обслуживания

Я только начал работать с AWS Xray и использую его с AWS Lambda. Дело в том, что я заметил дублирование узлов AWS Xray на карте сервиса. Например, SNS подразделяется на AWS :: SNS и Удаленный вызов. Хотя это одно и то же, имеют одинаковые трассировки и среднее время отклика. Просто отображается как два разных узла. Кто-нибудь знает, как уменьшить этот шум?

Я использую функцию patch_all () для исправления всех служб. Вот изображения: Изображение 1 Изображение 2

Вот изображения и суть следов. Image SNS, Image Remote, Image Remote (подробности), SNS изображения (подробности), Суть

Обновление:

  • Я добавил изображения по просьбе @Rohit
  • Проблема была решена с помощью

Используя следующую замену

from aws_xray_sdk.core import patch_all
patch_all()

//replaced by 

from aws_xray_sdk.core import patch
patch('boto3') //etc etc

person NoorJafri    schedule 16.03.2018    source источник
comment
Не могли бы вы опубликовать образец трассировки, содержащий повторяющиеся сегменты социальных сетей? Также, если вы можете опубликовать вывод GetServiceGraph API, будет полезно отладить проблему. docs.aws.amazon.com/xray/latest/api/API_GetServiceGraph. html. Замаскируйте любую конфиденциальную информацию, которая может быть у вас на графике обслуживания.   -  person Rohit Banga    schedule 17.03.2018
comment
Хорошо, я сделаю это с утра, но я тоже собирался обновить. Я решил проблему, но просто не смог найти точное место в самом репозитории SDK, где возникает проблема. Итак, как я уже упоминал, я использовал patch_all (), но каким-то образом, когда я использовал что-то вроде простого patch («boto3», «...») и т. Д., Он перестал дублировать узлы, но, тем не менее, он публикует сообщения со скриншотами и выводом.   -  person NoorJafri    schedule 18.03.2018
comment
@RohitBanga Я добавил изображения. Для GetServiceGraph придется заново настроить ветку и снова ее протестировать.   -  person NoorJafri    schedule 19.03.2018


Ответы (1)


Узел, который вы видите, взят из этого PR https://github.com/aws/aws-xray-sdk-python/pull/19 для добавления поддержки httplib. Если вы используете patch_all httplib, операции также будут захвачены. В вашем случае дерево зависимостей boto3 -> botocore -> vendored requests -> httplib. Таким образом, ваш подсегмент AWS будет иметь дочерние подсегменты, представляющие операции, выполняемые httplib.

Однако граф обслуживания будет отображать «удаленный» подсегмент как узел, который вы и видите. Рекомендуемый способ - явное исправление библиотеки, которую вы хотите записать, чтобы избежать неожиданного поведения.

person haotian465    schedule 04.04.2018
comment
Я мог просто видеть, что что-то происходит: D, но я не знал причины. Что ж, я принимаю ваш как правильный и исчерпывающий ответ. : D - person NoorJafri; 09.04.2018