44import inspect
55import logging
66import os
7- from distutils .util import strtobool
87from typing import Any , Callable , Dict , List , Optional , Tuple
98
109import aws_xray_sdk
1110import aws_xray_sdk .core
1211
13- from aws_lambda_powertools . shared . constants import TRACER_CAPTURE_ERROR_ENV , TRACER_CAPTURE_RESPONSE_ENV
14- from aws_lambda_powertools . shared .functions import resolve_env_var_choice
12+ from .. shared import constants
13+ from .. shared .functions import resolve_truthy_env_var_choice
1514
1615is_cold_start = True
1716logger = logging .getLogger (__name__ )
@@ -283,9 +282,12 @@ def handler(event, context):
283282 )
284283
285284 lambda_handler_name = lambda_handler .__name__
286-
287- capture_response = resolve_env_var_choice (env = TRACER_CAPTURE_RESPONSE_ENV , choice = capture_response )
288- capture_error = resolve_env_var_choice (env = TRACER_CAPTURE_ERROR_ENV , choice = capture_error )
285+ capture_response = resolve_truthy_env_var_choice (
286+ env = os .getenv (constants .TRACER_CAPTURE_RESPONSE_ENV , "true" ), choice = capture_response
287+ )
288+ capture_error = resolve_truthy_env_var_choice (
289+ env = os .getenv (constants .TRACER_CAPTURE_ERROR_ENV , "true" ), choice = capture_error
290+ )
289291
290292 @functools .wraps (lambda_handler )
291293 def decorate (event , context ):
@@ -478,8 +480,12 @@ async def async_tasks():
478480
479481 method_name = f"{ method .__name__ } "
480482
481- capture_response = resolve_env_var_choice (env = TRACER_CAPTURE_RESPONSE_ENV , choice = capture_response )
482- capture_error = resolve_env_var_choice (env = TRACER_CAPTURE_ERROR_ENV , choice = capture_error )
483+ capture_response = resolve_truthy_env_var_choice (
484+ env = os .getenv (constants .TRACER_CAPTURE_RESPONSE_ENV , "true" ), choice = capture_response
485+ )
486+ capture_error = resolve_truthy_env_var_choice (
487+ env = os .getenv (constants .TRACER_CAPTURE_ERROR_ENV , "true" ), choice = capture_error
488+ )
483489
484490 if inspect .iscoroutinefunction (method ):
485491 return self ._decorate_async_function (
@@ -681,14 +687,13 @@ def _is_tracer_disabled() -> bool:
681687 bool
682688 """
683689 logger .debug ("Verifying whether Tracing has been disabled" )
684- is_lambda_sam_cli = os .getenv ("AWS_SAM_LOCAL" )
685- is_chalice_cli = os .getenv ("AWS_CHALICE_CLI_MODE" )
686- env_option = str (os .getenv ("POWERTOOLS_TRACE_DISABLED" , "false" ))
687- disabled_env = strtobool (env_option )
690+ is_lambda_sam_cli = os .getenv (constants .SAM_LOCAL_ENV )
691+ is_chalice_cli = os .getenv (constants .CHALICE_LOCAL_ENV )
692+ is_disabled = resolve_truthy_env_var_choice (env = os .getenv (constants .TRACER_DISABLED_ENV , "false" ))
688693
689- if disabled_env :
694+ if is_disabled :
690695 logger .debug ("Tracing has been disabled via env var POWERTOOLS_TRACE_DISABLED" )
691- return disabled_env
696+ return is_disabled
692697
693698 if is_lambda_sam_cli or is_chalice_cli :
694699 logger .debug ("Running under SAM CLI env or not in Lambda env; disabling Tracing" )
@@ -706,7 +711,7 @@ def __build_config(
706711 ):
707712 """ Populates Tracer config for new and existing initializations """
708713 is_disabled = disabled if disabled is not None else self ._is_tracer_disabled ()
709- is_service = service if service is not None else os .getenv ("POWERTOOLS_SERVICE_NAME" )
714+ is_service = service if service is not None else os .getenv (constants . SERVICE_NAME_ENV )
710715
711716 self ._config ["provider" ] = provider if provider is not None else self ._config ["provider" ]
712717 self ._config ["auto_patch" ] = auto_patch if auto_patch is not None else self ._config ["auto_patch" ]
0 commit comments