26 Commits

Author SHA1 Message Date
37f85bf8cc instrumentation/aws-lambda: don't print warnings outside of AWS Lambda (#3183)
If we are not running inside AWS Lambda don't print warnings on missing
OTel lambda extension layer.
The instrumentation is installed by the OTel k8s operator and so this
warning may confuse users.
2025-01-21 13:57:53 +00:00
0adc58b4bf Introducing ruff as linter and formatter (basic setup) (#2921) 2024-10-23 10:54:14 -07:00
0d28c8b978 Increase test coverage of instrumentation-aws-lambda (#2760) 2024-08-05 09:10:37 -07:00
4ea9e5a99a Fixing w3c baggage support in opentelemetry-instrumentation-aws-lambda (#2589)
* Fixing w3c baggage support in opentelemetry-instrumentation-aws-lambda

* Changelog update

* Passing context not needed

* Fixing unit test after rebase
2024-08-01 15:24:18 -06:00
d563f8d841 refactor: avoid exception when lambda_handler envs not present in aws-lambda instrumentation (#2750) 2024-07-30 10:53:08 -07:00
a47810c2a2 Enable global propagator for AWS instrumentation (#2599)
* Enable global propagator for AWS instrumentation

Fixes #2598

* Add entry point test case

* Update instrumentation/opentelemetry-instrumentation-aws-lambda/pyproject.toml

Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>

* Add test for propagator

* Fix entry point name

* Update instrumentation/opentelemetry-instrumentation-aws-lambda/tests/test_aws_lambda_instrumentation_manual.py

Co-authored-by: Emídio Neto <9735060+emdneto@users.noreply.github.com>

* Try with ubuntu latest

* Try with 24.04

* Fix propagator key

* Fix lint

* Revert ununtuns

---------

Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
Co-authored-by: Emídio Neto <9735060+emdneto@users.noreply.github.com>
2024-07-24 14:55:21 -06:00
a61739c9c2 bugfix: AWS Lambda event source key incorrect for SNS in instrumenta… (#2612) 2024-06-20 10:50:31 -07:00
de7ce0fb22 Use local imports when importing from tests (#2464) 2024-04-29 11:49:08 -07:00
d5b5925cf8 Fix exception handling for events with requestContext (#2418)
* Fix exception handling for events with requestContext

* added entry to changelog

* reformatted with black

---------

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2024-04-25 10:57:39 -05:00
07318bd378 Change AwsLambdaInstrumentor span attrs to meet faas semconv (#2372) 2024-04-17 09:09:55 -07:00
37aba928d4 Add cloud.account.id attribute by AwsLambdaInstrumentor (#2367)
* Add cloud.account.id attribute by AwsLambdaInstrumentor

* Changelog

* Update test

* lint
2024-03-22 17:46:10 -06:00
efb327d4d7 AwsLambdaInstrumentor handles and re-raises handler function exception (#2245) 2024-02-22 09:16:34 -08:00
5888d4ef95 Enable lint on CI and update deps (#2067)
* Fix black an isort

* change bootstrap_gen to use a list instead of dict

* Bunch of updates

* Fix build

* fix lint

* Fix docs

* Fix lint

* More fixes

* Fix lint

* fix stupid mistake

---------

Co-authored-by: Christian Hartung <christian.hartung@olist.com>
2023-11-21 10:25:11 +02:00
0871dd455c Revert "update awslambda to use _X_AMZN_TRACE_ID as a Span Link" (#1911)
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-08-21 18:42:12 +02:00
7603a1fc69 update awslambda to use _X_AMZN_TRACE_ID as a Span Link (#1657)
Co-authored-by: Ron Yishai <ronyish@cisco.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-07-18 22:03:59 +02:00
a7a4f71570 Prevent AttributeError from being raised when lambda event is a list (#1738) 2023-04-05 00:23:21 +05:30
a217682a39 Add a test for aws lambda using NoOpTracerProvider (#1602)
* add a test for aws lambda using NoOpTracerProvider

* fix import

* add assert for spans

---------

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-02-04 19:41:30 +00:00
78874df5c2 Fix install of Python 3.10 on GitHub Actions (#1609)
* Fix install of Python 3.10 on GitHub Actions

In PR #1604 the Python version was upgraded to Python 3.10 to fix a
local issue on M1 MacBooks.

The GitHub Action workflows now exit with the following message for the
docker-tests, spellcheck and lint checks, skipping these checks.

```
lint create: /home/runner/work/opentelemetry-python-contrib/opentelemetry-python-contrib/.tox/lint
SKIPPED: InterpreterNotFound: python3.10
___________________________________ summary ____________________________________
SKIPPED:  lint: InterpreterNotFound: python3.10
  congratulations :)
```

Upgrade the Python version in the GitHub Actions workflow to fix this.

* Fix YAML interpretation of Python 3.10

* Upgrade Docker tests dependencies

Upgrade the asyncpg and psycopg2 packages, they don't work on Python
3.10.

This also fixes running these tests no M1 MacBooks.

* Fix linter issues merged into main

They went unnoticed while the CI didn't fail on the lint task not
working.

---------

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-02-03 08:37:24 +05:30
7f8fe690a0 Adds an option to configure disable_aws_context_propagation by environment variable (#1507)
* Adds an option to configure `disable_aws_context_propagation` by environment variable

The variable `OTEL_LAMBDA_DISABLE_AWS_CONTEXT_PROPAGATION` can be used to disable aws context propagation. This is similar to the proposed changes in the JS implementation: https://github.com/open-telemetry/opentelemetry-js-contrib/pull/1227

Signed-off-by: Alex Boten <aboten@lightstep.com>

* update changelog

* Apply suggestions from code review

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>

Signed-off-by: Alex Boten <aboten@lightstep.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2022-12-19 16:50:36 -06:00
a9f34136d2 Add uninstrument test for aws lambda (#1505) 2022-12-20 03:15:43 +05:30
8dbd1428c2 opentelemetry-instrumentation-aws-lambda: Adding option to disable context propagation (#1466)
* `opentelemetry-instrumentation-aws-lambda`: Adding option to disable context propagation

Adding the following option to disable context propagation `disable_aws_context_propagation`. This is similar to the disableAwsContextPropagation option in the nodejs instrumentation.

* update changelog

* lint

* more lint
2022-11-23 22:30:06 +01:00
36264e97c3 Capture common HTTP attributes from API Gateway proxy events in Lambda instrumentor (#1233) 2022-11-02 04:27:09 +00:00
5539d1f35a adding additional event sources (#926) 2022-03-11 10:39:01 -08:00
07f81461df lambda instrumentation - support for flush timeout (#825)
* lambda instrumentation - support for flush timeout

* Update instrumentation/opentelemetry-instrumentation-aws-lambda/tests/test_aws_lambda_instrumentation_manual.py

Co-authored-by: (Eliseo) Nathaniel Ruiz Nowell <enruizno@uwaterloo.ca>

* Update instrumentation/opentelemetry-instrumentation-aws-lambda/tests/test_aws_lambda_instrumentation_manual.py

Co-authored-by: (Eliseo) Nathaniel Ruiz Nowell <enruizno@uwaterloo.ca>

* fixing lint

* fixing django lint

Co-authored-by: (Eliseo) Nathaniel Ruiz Nowell <enruizno@uwaterloo.ca>
2021-12-14 18:06:36 +05:30
3137c1fa41 Upgrade black (#802) 2021-11-10 20:57:01 +00:00
671aea32f9 Add instrumentation for AWS Lambda Service - Implementation (Part 2/2) (#777)
* Add instrumentation for AWS Lambda Service - Implementation

* Lambda is CONSUMER SQS trace if 'Records' key in Lambda event

* More robust check of SQS by indexing and catching

* Explicitly catch errors we expect when determinig if SQS triggered Lambda
2021-11-01 20:02:58 +05:30