instana / python-sensor

:snake: Python Distributed Tracing & Metrics Sensor for Instana
https://www.instana.com/
MIT License
69 stars 31 forks source link

[Bug]: Python Lambda Layer versions > 61 throw an Opentelemetry import error #671

Open janritter opened 1 day ago

janritter commented 1 day ago

Problem Description

When upgrading a Lambda Function that previously ran fine with Instana layer version 61 to 62 or above the execution fails with the error Unable to import module 'instana': No module named 'opentelemetry'

Minimal, Complete, Verifiable, Example

Create an AWS Lambda Function with Python 3.12 / arm64 and the following code:

def handler(event, context):
    return context.function_name

Set the handler to instana.lambda_handler and add the layer with the ARN arn:aws:lambda:eu-central-1:410797082306:layer:instana-python:62

Configure the following environment variables: INSTANA_AGENT_KEY=test-agent-key INSTANA_ENDPOINT_URL=https://serverless-blue-saas.instana.io LAMBDA_HANDLER=app.handler LAMBDA_TIMEOUT=30

Try to execute the Lambda and it will fail with Unable to import module 'instana': No module named 'opentelemetry'

Python Version

3.12

Python Modules

Standard Lambda Python 3.12 environment without any additional packages

Python Environment

INSTANA_AGENT_KEY=test-agent-key
INSTANA_ENDPOINT_URL=https://serverless-blue-saas.instana.io
LAMBDA_HANDLER=app.handler
LAMBDA_TIMEOUT=30
pvital commented 1 day ago

Hello, @janritter. Thanks for reporting this issue.

We have migrated from the OpenTracing dependency to the OpenTelemetry dependency, which is contained in the newer versions of the AWS Lambda Layer.

We will definitely fix it and let you know when a new version is available. Meanwhile, can you downgrade to version 61?