a 97aY ã@s:ddlZddlZddlmZe e¡ZGdd„deƒZdS)éN)Ú strtoboolc@s@eZdZdZdZdZdZedd„ƒZedd„ƒZ ed d „ƒZ dS) Ú SDKConfiga/ Global Configuration Class that defines SDK-level configuration properties. Enabling/Disabling the SDK: By default, the SDK is enabled unless if an environment variable AWS_XRAY_SDK_ENABLED is set. If it is set, it needs to be a valid string boolean, otherwise, it will default to true. If the environment variable is set, all calls to set_sdk_enabled() will prioritize the value of the environment variable. Disabling the SDK affects the recorder, patcher, and middlewares in the following ways: For the recorder, disabling automatically generates DummySegments for subsequent segments and DummySubsegments for subsegments created and thus not send any traces to the daemon. For the patcher, module patching will automatically be disabled. The SDK must be disabled before calling patcher.patch() method in order for this to function properly. For the middleware, no modification is made on them, but since the recorder automatically generates DummySegments for all subsequent calls, they will not generate segments/subsegments to be sent. Environment variables: "AWS_XRAY_SDK_ENABLED" - If set to 'false' disables the SDK and causes the explained above to occur. ZAWS_XRAY_SDK_ENABLEDÚdummyNcCs@t |jd¡}ztt|ƒƒWSty:t d¡YdS0dS)zç Searches for the environment variable to see if the SDK should be disabled. If no environment variable is found, it returns True by default. :return: bool - True if it is enabled, False otherwise. Útruez^Invalid literal passed into environment variable `AWS_XRAY_SDK_ENABLED`. Defaulting to True...TN)ÚosÚgetenvÚXRAY_ENABLED_KEYÚboolrÚ ValueErrorÚlogÚwarning)ÚclsZ env_var_str©rúr/private/var/folders/s6/9n5zrl012gv99k63s4q6ccsd4s6mqz/T/pip-target-f5cq3f2q/lib/python/aws_xray_sdk/sdk_config.pyZ__get_enabled_from_env#s   z SDKConfig.__get_enabled_from_envcCs|jdur| ¡|_|jS)z< Returns whether the SDK is enabled or not. N)Ú_SDKConfig__SDK_ENABLEDÚ _SDKConfig__get_enabled_from_env)r rrrÚ sdk_enabled2s  zSDKConfig.sdk_enabledcCs@|jtjvr| ¡|_n$t|ƒtkr,||_nd|_t d¡dS)a¬ Modifies the enabled flag if the "AWS_XRAY_SDK_ENABLED" environment variable is not set, otherwise, set the enabled flag to be equal to the environment variable. If the env variable is an invalid string boolean, it will default to true. :param bool value: Flag to set whether the SDK is enabled or disabled. Environment variables AWS_XRAY_SDK_ENABLED overrides argument value. TzKInvalid parameter type passed into set_sdk_enabled(). Defaulting to True...N) rrÚenvironrrÚtyper r r )r ÚvaluerrrÚset_sdk_enabled;s   zSDKConfig.set_sdk_enabled) Ú__name__Ú __module__Ú __qualname__Ú__doc__rZDISABLED_ENTITY_NAMErÚ classmethodrrrrrrrrs  r) rÚloggingÚdistutils.utilrÚ getLoggerrr ÚobjectrrrrrÚs