Отметить родительский сегмент AWS лямбда как ошибку или ошибку

Можно ли пометить родительский сегмент функции aws-lambda как ошибку или ошибку?

В документации AWS указано, что нельзя добавить аннотации и метаданные для родительского сегмента, но я не могу найти, можно ли пометить родительский сегмент как ошибку или ошибку.

Пометка подсегментов с ошибкой / ошибкой работает должным образом с:

AWSXRayRecorder recorder = AWSXRayRecorder.Instance;
recorder.BeginSubsegment("X");
recorder.MarkFault();
recorder.EndSubsegment();

приводит к:

результат подсегмента X

Но он не будет отмечать родительский сегмент как имеющий ошибку, а только подсегмент.

lambda_one сегменты

Как мне пометить родительский сегмент как «неисправный»?


person Xiduzo    schedule 24.01.2019    source источник


Ответы (1)


Родительский сегмент управляется лямбда-сервисом. Невозможно изменить содержимое этого сегмента. Этот сегмент помечается как ошибка или сбой только тогда, когда ваша функция вызывает необработанное исключение.

В настоящее время ваш единственный вариант - добавить аннотации к X в вашем примере. Скажем, вы можете добавить аннотацию xfailed со значением true.

Каков ваш точный пример использования для обозначения неисправности в этом сегменте? Ищет ли следы по каким-то критериям?

В этом случае вы также можете использовать выражение фильтра, например annotation.xfailed = true. Это найдет следы, соответствующие этому критерию.

Вы также можете создать группу с этим критерием. Таким образом, вы можете просмотреть карту сервиса, содержащую только те трассы, которые соответствуют этому критерию. Вы можете узнать больше о группах здесь:

https://aws.amazon.com/about-aws/whats-new/2018/11/aws-xray-adds-the-ability-to-group-traces/

https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-groups

Примечание. Счета для групп выставляются по количеству извлеченных трассировок, соответствующих выражению фильтра.

Пожалуйста, дайте мне более подробную информацию о вашем использовании.

person Rohit Banga    schedule 24.01.2019
comment
В случае использования я хочу визуально показать на графике службы, когда в лямбда-функции произошла ошибка. Я ожидал, что смогу пометить родительский сегмент как неисправный, если где-то в функции произошла ошибка. Теперь я могу отметить только подсегмент как ошибку, которая видна на самой трассе, но не визуально на графике обслуживания. - person Xiduzo; 25.01.2019
comment
Да, в настоящее время это невозможно, поскольку сегмент управляется лямбда-выражением. Также лямбда-сегмент имеет зеленый цвет, потому что само выполнение функции не вызвало исключения. По крайней мере, таково поведение сегодня. - person Rohit Banga; 25.01.2019
comment
Чтобы визуально увидеть это на графике обслуживания, вы можете добавить аннотацию в подсегмент для таких случаев. Затем вы можете создать группу с этим выражением фильтра, как я описал в ответе выше. Таким образом, вы можете увидеть два графика обслуживания - один по умолчанию, как вы видите сегодня, и один для группы, основанный на выражении фильтра. Группа будет содержать только те трассы, которые соответствуют фильтру. Для группы вам выставляется счет только за количество трасс, соответствующих фильтру, как я упоминал в ответе. Если сбои, которые вы хотите отслеживать визуально, случаются нечасто, стоимость будет относительно низкой. - person Rohit Banga; 25.01.2019
comment
Итак, на мой вопрос, можно ли пометить родительский сегмент функции aws-lambda как ошибку или ошибку? простой ответ - нет. - person Xiduzo; 12.02.2019
comment
Верно, сейчас нет. - person Rohit Banga; 12.02.2019