Как использовать дополнительные функции в X-Ray с функцией AWS Lambda в Python?

Я пытаюсь настроить функцию AWS Lambda с помощью X Ray. Согласно официальной документации aws_xray_sdk, я не могу ничего настроить вне функции обработчика. Если у меня есть следующий пример кода:

from aws_xray_sdk.core import xray_recorder


@xray_recorder.capture("handler")
def my_handler(event, context):
  # some code here
  xray_recorder.begin_subsegment("my_function")
  my_function(params)
  xray_recorder.end_subsegment("my_function")
  return {"message": "done"}

@xray_recorder.capture("my_function")
def my_function(params):
  # do work

ничто не обрабатывается в рентгеновских снимках, кроме handler. Я пробовал разные комбинации begin_subsegment и не имел @xray_recorder.capture() на my_function. Кажется, ничто не генерирует никаких следов для my_function. Как мне обойти это?


person ramdesh    schedule 20.10.2020    source источник


Ответы (1)


Пожалуйста, попробуйте изменить

xray_recorder.end_subsegment("my_function")

to

xray_recorder.end_subsegment()
person Lei Wang    schedule 23.10.2020