Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: POWERTOOLS_TRACE_DISABLED=true environment variable does not disable tracing #1898

Closed
mobal opened this issue Feb 4, 2023 · 3 comments
Assignees

Comments

@mobal
Copy link

mobal commented Feb 4, 2023

Expected Behaviour

Setting the POWERTOOLS_TRACE_DISABLED environment variable to true disables tracing at runtime.

Current Behaviour

Setting the POWERTOOLS_TRACE_DISABLED environment variable to true does not disables tracing at runtime. Log entry is generated but it still works.

Code snippet

Please check my repository for code snippet: https://github.com/mobal/powertools-disable-tracing-error-poc

Possible Solution

No response

Steps to Reproduce

  1. Deploy the given code using serverless
  2. GET the /hello_world endpoint
  3. Check CloudWatch logs about disabling tracing
  4. Look at the tracing page, the new entry was created

AWS Lambda Powertools for Python version

2.7.1

AWS Lambda function runtime

3.9

Packaging format used

Lambda Layers

Debugging logs

2023-02-04T18:56:35.658000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a INIT_START Runtime Version: python:3.9.v16	Runtime Version ARN: arn:aws:lambda:eu-central-1::runtime:07a48df201798d627f2b950f03bb227aab4a655a1d019c3296406f95937e2525
2023-02-04T18:56:35.802000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a /opt/python/aws_lambda_powertools/shared/functions.py:118: UserWarning: POWERTOOLS_DEBUG environment variable is enabled. Setting logging level to DEBUG.
2023-02-04T18:56:35.802000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a warnings.warn("POWERTOOLS_DEBUG environment variable is enabled. Setting logging level to DEBUG.")
2023-02-04T18:56:35.971000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:35,971 aws_lambda_powertools.logging.logger [DEBUG] Adding filter in root logger to suppress child logger records to bubble up
2023-02-04T18:56:35.971000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:35,971 aws_lambda_powertools.logging.logger [DEBUG] Adding filter in root logger to suppress child logger records to bubble up
2023-02-04T18:56:35.971000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:35.971Z		Adding filter in root logger to suppress child logger records to bubble up
2023-02-04T18:56:35.971000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:35,971 aws_lambda_powertools.logging.logger [DEBUG] Marking logger powertools-disable-tracing-error-poc as preconfigured
2023-02-04T18:56:35.971000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:35,971 aws_lambda_powertools.logging.logger [DEBUG] Marking logger powertools-disable-tracing-error-poc as preconfigured
2023-02-04T18:56:35.971000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:35.971Z		Marking logger powertools-disable-tracing-error-poc as preconfigured
2023-02-04T18:56:35.971000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:35,971 aws_lambda_powertools.tracing.tracer [DEBUG] Verifying whether Tracing has been disabled
2023-02-04T18:56:35.971000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:35,971 aws_lambda_powertools.tracing.tracer [DEBUG] Verifying whether Tracing has been disabled
2023-02-04T18:56:35.971000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:35.971Z		Verifying whether Tracing has been disabled
2023-02-04T18:56:35.971000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:35,971 aws_lambda_powertools.tracing.tracer [DEBUG] Tracing has been disabled via env var POWERTOOLS_TRACE_DISABLED
2023-02-04T18:56:35.971000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:35,971 aws_lambda_powertools.tracing.tracer [DEBUG] Tracing has been disabled via env var POWERTOOLS_TRACE_DISABLED
2023-02-04T18:56:35.971000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:35.971Z		Tracing has been disabled via env var POWERTOOLS_TRACE_DISABLED
2023-02-04T18:56:36.018000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,018 aws_lambda_powertools.tracing.tracer [DEBUG] Disabling tracer provider...
2023-02-04T18:56:36.018000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,018 aws_lambda_powertools.tracing.tracer [DEBUG] Disabling tracer provider...
2023-02-04T18:56:36.018000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.018Z		Disabling tracer provider...
2023-02-04T18:56:36.018000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,018 aws_lambda_powertools.tracing.tracer [DEBUG] Tracing has been disabled, aborting patch
2023-02-04T18:56:36.018000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,018 aws_lambda_powertools.tracing.tracer [DEBUG] Tracing has been disabled, aborting patch
2023-02-04T18:56:36.018000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.018Z		Tracing has been disabled, aborting patch
2023-02-04T18:56:36.018000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,018 aws_lambda_powertools.tracing.tracer [DEBUG] Tracing has been disabled, aborting streaming override
2023-02-04T18:56:36.018000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,018 aws_lambda_powertools.tracing.tracer [DEBUG] Tracing has been disabled, aborting streaming override
2023-02-04T18:56:36.018000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.018Z		Tracing has been disabled, aborting streaming override
2023-02-04T18:56:36.018000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,018 aws_lambda_powertools.event_handler.api_gateway [DEBUG] Adding route using rule /hello_world and methods: GET
2023-02-04T18:56:36.018000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,018 aws_lambda_powertools.event_handler.api_gateway [DEBUG] Adding route using rule /hello_world and methods: GET
2023-02-04T18:56:36.018000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.018Z		Adding route using rule /hello_world and methods: GET
2023-02-04T18:56:36.018000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,018 aws_lambda_powertools.metrics.base [DEBUG] Decorator called with parameters
2023-02-04T18:56:36.018000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,018 aws_lambda_powertools.metrics.base [DEBUG] Decorator called with parameters
2023-02-04T18:56:36.019000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.018Z		Decorator called with parameters
2023-02-04T18:56:36.019000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,019 aws_lambda_powertools.logging.logger [DEBUG] Decorator called with parameters
2023-02-04T18:56:36.019000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,019 aws_lambda_powertools.logging.logger [DEBUG] Decorator called with parameters
2023-02-04T18:56:36.019000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.019Z		Decorator called with parameters
2023-02-04T18:56:36.021000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a START RequestId: d44c4758-6c23-47b3-846d-9e2c19389755 Version: $LATEST
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,022 aws_lambda_powertools.logging.logger [DEBUG] Event received
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,022 aws_lambda_powertools.logging.logger [DEBUG] Event received
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.022Z	d44c4758-6c23-47b3-846d-9e2c19389755	Event received
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a {"level":"INFO","location":"decorate:440","message":{"version":"2.0","routeKey":"$default","rawPath":"/hello_world","rawQueryString":"","headers":{"accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","accept-encoding":"gzip, deflate, br","accept-language":"hu-HU,hu;q=0.9,en-US;q=0.8,en;q=0.7","cache-control":"max-age=0","content-length":"0","dnt":"1","host":"e8s0cz5nab.execute-api.eu-central-1.amazonaws.com","sec-ch-ua":"\"Not_A Brand\";v=\"99\", \"Google Chrome\";v=\"109\", \"Chromium\";v=\"109\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\"","sec-fetch-dest":"document","sec-fetch-mode":"navigate","sec-fetch-site":"none","sec-fetch-user":"?1","sec-gpc":"1","upgrade-insecure-requests":"1","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36","x-amzn-trace-id":"Root=1-63deaa63-37f4e01542ad6be46a44e329","x-forwarded-for":"80.98.142.44","x-forwarded-port":"443","x-forwarded-proto":"https"},"requestContext":{"accountId":"","apiId":"","domainName":".execute-api.eu-central-1.amazonaws.com","domainPrefix":"","http":{"method":"GET","path":"/hello_world","protocol":"HTTP/1.1","sourceIp":"80.98.142.44","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"},"requestId":"f0-PjhnzFiAEPtw=","routeKey":"$default","stage":"$default","time":"04/Feb/2023:18:56:35 +0000","timeEpoch":1675536995312},"isBase64Encoded":false},"timestamp":"2023-02-04 18:56:36,022+0000","service":"powertools-disable-tracing-error-poc","cold_start":true,"function_name":"powertools-disable-tracing-error-poc-dev-lambda_handler","function_memory_size":"512","function_arn":"arn:aws:lambda:eu-central-1::function:powertools-disable-tracing-error-poc-dev-lambda_handler","function_request_id":"d44c4758-6c23-47b3-846d-9e2c19389755","correlation_id":"f0-PjhnzFiAEPtw=","xray_trace_id":"1-63deaa63-1d6fa8c201d1b8807809801d"}
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,022 aws_lambda_powertools.tracing.tracer [DEBUG] Calling lambda handler
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,022 aws_lambda_powertools.tracing.tracer [DEBUG] Calling lambda handler
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.022Z	d44c4758-6c23-47b3-846d-9e2c19389755	Calling lambda handler
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,022 aws_lambda_powertools.event_handler.api_gateway [DEBUG] Converting event to API Gateway HTTP API contract
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,022 aws_lambda_powertools.event_handler.api_gateway [DEBUG] Converting event to API Gateway HTTP API contract
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.022Z	d44c4758-6c23-47b3-846d-9e2c19389755	Converting event to API Gateway HTTP API contract
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,022 aws_lambda_powertools.event_handler.api_gateway [DEBUG] Found a registered route. Calling function
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,022 aws_lambda_powertools.event_handler.api_gateway [DEBUG] Found a registered route. Calling function
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.022Z	d44c4758-6c23-47b3-846d-9e2c19389755	Found a registered route. Calling function
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.022Z	d44c4758-6c23-47b3-846d-9e2c19389755	Calling method: src.main.hello_world
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,022 aws_lambda_powertools.tracing.tracer [DEBUG] Calling method: src.main.hello_world
2023-02-04T18:56:36.022000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,022 aws_lambda_powertools.tracing.tracer [DEBUG] Calling method: src.main.hello_world
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a {"level":"INFO","location":"hello_world:21","message":"hello, world!","timestamp":"2023-02-04 18:56:36,022+0000","service":"powertools-disable-tracing-error-poc","cold_start":true,"function_name":"powertools-disable-tracing-error-poc-dev-lambda_handler","function_memory_size":"512","function_arn":"arn:aws:lambda:eu-central-1:function:powertools-disable-tracing-error-poc-dev-lambda_handler","function_request_id":"d44c4758-6c23-47b3-846d-9e2c19389755","correlation_id":"f0-PjhnzFiAEPtw=","xray_trace_id":"1-63deaa63-1d6fa8c201d1b8807809801d"}
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.event_handler.api_gateway [DEBUG] Simple response detected, serializing return before constructing final response
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.event_handler.api_gateway [DEBUG] Simple response detected, serializing return before constructing final response
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.023Z	d44c4758-6c23-47b3-846d-9e2c19389755	Simple response detected, serializing return before constructing final response
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.tracing.tracer [DEBUG] Received lambda handler response successfully
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.tracing.tracer [DEBUG] Received lambda handler response successfully
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.023Z	d44c4758-6c23-47b3-846d-9e2c19389755	Received lambda handler response successfully
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.tracing.tracer [DEBUG] Annotating cold start
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.tracing.tracer [DEBUG] Annotating cold start
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.023Z	d44c4758-6c23-47b3-846d-9e2c19389755	Annotating cold start
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.metrics.base [DEBUG] Adding cold start metric and function_name dimension
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.metrics.base [DEBUG] Adding cold start metric and function_name dimension
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.023Z	d44c4758-6c23-47b3-846d-9e2c19389755	Adding cold start metric and function_name dimension
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.metrics.base [DEBUG] Adding metric: ColdStart with defaultdict(<class 'list'>, {'Unit': 'Count', 'Value': [1.0]})
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.metrics.base [DEBUG] Adding metric: ColdStart with defaultdict(<class 'list'>, {'Unit': 'Count', 'Value': [1.0]})
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.023Z	d44c4758-6c23-47b3-846d-9e2c19389755	Adding metric: ColdStart with defaultdict(<class 'list'>, {'Unit': 'Count', 'Value': [1.0]})
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.metrics.base [DEBUG] Adding dimension: function_name:powertools-disable-tracing-error-poc-dev-lambda_handler
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.metrics.base [DEBUG] Adding dimension: function_name:powertools-disable-tracing-error-poc-dev-lambda_handler
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.023Z	d44c4758-6c23-47b3-846d-9e2c19389755	Adding dimension: function_name:powertools-disable-tracing-error-poc-dev-lambda_handler
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.metrics.base [DEBUG] Adding dimension: service:powertools-disable-tracing-error-poc
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.metrics.base [DEBUG] Adding dimension: service:powertools-disable-tracing-error-poc
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.023Z	d44c4758-6c23-47b3-846d-9e2c19389755	Adding dimension: service:powertools-disable-tracing-error-poc
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.metrics.base [DEBUG] {'details': 'Serializing metrics', 'metrics': {'ColdStart': defaultdict(<class 'list'>, {'Unit': 'Count', 'Value': [1.0]})}, 'dimensions': {'function_name': 'powertools-disable-tracing-error-poc-dev-lambda_handler', 'service': 'powertools-disable-tracing-error-poc'}}
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a 2023-02-04 18:56:36,023 aws_lambda_powertools.metrics.base [DEBUG] {'details': 'Serializing metrics', 'metrics': {'ColdStart': defaultdict(<class 'list'>, {'Unit': 'Count', 'Value': [1.0]})}, 'dimensions': {'function_name': 'powertools-disable-tracing-error-poc-dev-lambda_handler', 'service': 'powertools-disable-tracing-error-poc'}}
2023-02-04T18:56:36.023000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a [DEBUG]	2023-02-04T18:56:36.023Z	d44c4758-6c23-47b3-846d-9e2c19389755	{'details': 'Serializing metrics', 'metrics': {'ColdStart': defaultdict(<class 'list'>, {'Unit': 'Count', 'Value': [1.0]})}, 'dimensions': {'function_name': 'powertools-disable-tracing-error-poc-dev-lambda_handler', 'service': 'powertools-disable-tracing-error-poc'}}
2023-02-04T18:56:36.024000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a {"_aws":{"Timestamp":1675536996023,"CloudWatchMetrics":[{"Namespace":"powertools-disable-tracing-error-poc-metrics","Dimensions":[["function_name","service"]],"Metrics":[{"Name":"ColdStart","Unit":"Count"}]}]},"function_name":"powertools-disable-tracing-error-poc-dev-lambda_handler","service":"powertools-disable-tracing-error-poc","ColdStart":[1.0]}
2023-02-04T18:56:36.024000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a /opt/python/aws_lambda_powertools/metrics/base.py:351: UserWarning: No metrics to publish, skipping
2023-02-04T18:56:36.024000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a warnings.warn("No metrics to publish, skipping")
2023-02-04T18:56:36.026000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a END RequestId: d44c4758-6c23-47b3-846d-9e2c19389755
2023-02-04T18:56:36.026000+00:00 2023/02/04/[$LATEST]66a6e599b4e146aab5d22130fc9b080a REPORT RequestId: d44c4758-6c23-47b3-846d-9e2c19389755	Duration: 5.11 ms	Billed Duration: 6 ms	Memory Size: 512 MB	Max Memory Used: 58 MB	Init Duration: 362.33 ms	
XRAY TraceId: 1-63deaa63-1d6fa8c201d1b8807809801d	SegmentId: 7608ce6e637dcedc	Sampled: true
@mobal mobal added bug Something isn't working triage Pending triage from maintainers labels Feb 4, 2023
@leandrodamascena
Copy link
Contributor

Hi @mobal, thanks for opening this issue and giving us an opportunity to hear from the customer about what is unclear in our documentation. Let's try to clarify how this env "POWERTOOLS_TRACE_DISABLED" works.

This option is handy when you are running your code outside from Lambda Runtime, I mean, in your local environment when you run sls invoke local --function lambda_handler. We added this option because it is very usual that in the local environment, the devs are not running XRay daemon or even don't want to pollute their logs with XRay info/warning.
When you deploy your code to Lambda Runtime in AWS and enable the tracing option using tracing (https://github.com/mobal/powertools-disable-tracing-error-poc/blob/main/serverless.yml#L23) the Lambda runtime automatically send traces to XRay, check the documentation here.

If you've enabled X-Ray tracing in a service that invokes your function, Lambda sends traces to X-Ray automatically.

I deployed your code here and if you check the tracer sent to XRay it is not the tracer of your lambda_handler function, but the automatic tracer that Lambda sends to XRAY. We can't disable this in Powertools because it's part of Lambda Runtime.

image

If you remove the POWERTOOLS_TRACE_DISABLED env or set to false you will see that in addition to the automatic tracer that Lambda sends, you will see that Powertools also creates one.

image

We can summarize it all this way:

  • When the tracing option is enabled in Lambda then default tracers are sent automatically.
  • Using env POWERTOOLS_TRACE_DISABLED false, means that Powertools will not trace the functions either locally or in a Lambda environment.

This issue will help us improve our documentation and make this clearer. Would you like to send us a PR to make our documentation clearer for this?

@leandrodamascena leandrodamascena added not-a-bug and removed triage Pending triage from maintainers bug Something isn't working labels Feb 5, 2023
@leandrodamascena leandrodamascena self-assigned this Feb 5, 2023
@mobal
Copy link
Author

mobal commented Feb 5, 2023

Hi @leandrodamascena,

Now I fully understand how it works, and in this case it is not a bug! Unfortunately, I haven't been using X-Ray for a long time. I will try to complete the relevant part of the documentation, and when I am done I will send a PR!

Thanks for the help!

@mobal mobal closed this as completed Feb 5, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Feb 5, 2023

⚠️COMMENT VISIBILITY WARNING⚠️

This issue is now closed. Please be mindful that future comments are hard for our team to see.

If you need more assistance, please either tag a team member or open a new issue that references this one.

If you wish to keep having a conversation with other community members under this issue feel free to do so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants