Skip to content

Commit

Permalink
Lambda Layer Update - OTel Python 1.6.2 and 0.25b2 (aws-observability…
Browse files Browse the repository at this point in the history
…#167)

* Update Lambda Layer with OTel Python 1.6.2 and 0.25b2

* Just remove the OTEL_TRACES_EXPORTER because its a default
  • Loading branch information
NathanielRN committed Oct 28, 2021
1 parent d58ef1e commit 4cd0321
Show file tree
Hide file tree
Showing 10 changed files with 68 additions and 68 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/pr-python.yml
Expand Up @@ -9,7 +9,7 @@ on:

env:
AWS_REGION: us-east-1
CORE_REPO_SHA: 10208c1be1e720925a80a66f711b8afbe67537f4
CORE_REPO_SHA: e65baa4680cd9dafc026ca5ed760e6d2c2232c96

jobs:
PR-Python:
Expand Down
Expand Up @@ -55,9 +55,9 @@ def lambda_handler(event, context):
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
from opentelemetry.instrumentation.utils import unwrap
from opentelemetry.propagate import get_global_textmap
from opentelemetry.sdk.extension.aws.trace.propagation.aws_xray_format import (
from opentelemetry.propagators.aws.aws_xray_propagator import (
TRACE_HEADER_KEY,
AwsXRayFormat,
AwsXRayPropagator,
)
from opentelemetry.semconv.trace import SpanAttributes
from opentelemetry.trace import (
Expand Down Expand Up @@ -169,7 +169,7 @@ def _determine_parent_context(lambda_event: Any) -> Context:
xray_env_var = os.environ.get("_X_AMZN_TRACE_ID")

if xray_env_var:
parent_context = AwsXRayFormat().extract(
parent_context = AwsXRayPropagator().extract(
{TRACE_HEADER_KEY: xray_env_var}
)

Expand Down
Expand Up @@ -12,4 +12,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.

__version__ = "0.16.dev0"
__version__ = "0.25b2"
19 changes: 0 additions & 19 deletions python/src/otel/otel_sdk/opentelemetry/resource/__init__.py

This file was deleted.

21 changes: 20 additions & 1 deletion python/src/otel/otel_sdk/otel-instrument
Expand Up @@ -96,10 +96,29 @@ fi
#
# TODO: waiting on OTel Python support for configuring Resource Detectors from
# an environment variable. Replace the bottom code with the following when
# this is possible.
# this is possible. We will have to download `opentelemetry-sdk-extension-aws`
# when that happens to get the resource detector.
#
# export OTEL_RESOURCE_DETECTORS="aws_lambda";
#
# In the meantime, if doing manual instrumentation, (which means we CANNOT use
# this script) we could do the following:
#
# import opentelemetry.trace as trace
# from opentelemetry.sdk.trace import TracerProvider
# from opentelemetry.sdk.extension.aws.resource._lambda import (
# AwsLambdaResourceDetector,
# )
# from opentelemetry.sdk.resources import get_aggregated_resources
# trace.set_tracer_provider(
# TracerProvider(
# resource=get_aggregated_resources(
# [
# AwsLambdaResourceDetector(),
# ]
# ),
# )
# )

export OTEL_RESOURCE_ATTRIBUTES="cloud.region=$AWS_REGION,cloud.provider=aws,faas.name=$AWS_LAMBDA_FUNCTION_NAME,faas.version=$AWS_LAMBDA_FUNCTION_VERSION,$OTEL_RESOURCE_ATTRIBUTES";

Expand Down
56 changes: 28 additions & 28 deletions python/src/otel/otel_sdk/requirements-nodeps.txt
@@ -1,29 +1,29 @@
opentelemetry-instrumentation-aiohttp-client==0.24b0
opentelemetry-util-http==0.24b0
opentelemetry-instrumentation-aiohttp-client==0.25b2
opentelemetry-util-http==0.25b2
asgiref~=3.0
opentelemetry-instrumentation-asgi==0.24b0
opentelemetry-instrumentation-asyncpg==0.24b0
opentelemetry-instrumentation-boto==0.24b0
opentelemetry-instrumentation-botocore==0.24b0
opentelemetry-instrumentation-celery==0.24b0
opentelemetry-instrumentation-dbapi==0.24b0
opentelemetry-instrumentation-django==0.24b0
opentelemetry-instrumentation-elasticsearch==0.24b0
opentelemetry-instrumentation-fastapi==0.24b0
opentelemetry-instrumentation-falcon==0.24b0
opentelemetry-instrumentation-flask==0.24b0
opentelemetry-instrumentation-grpc==0.24b0
opentelemetry-instrumentation-jinja2==0.24b0
opentelemetry-instrumentation-mysql==0.24b0
opentelemetry-instrumentation-psycopg2==0.24b0
opentelemetry-instrumentation-pymemcache==0.24b0
opentelemetry-instrumentation-pymongo==0.24b0
opentelemetry-instrumentation-pymysql==0.24b0
opentelemetry-instrumentation-pyramid==0.24b0
opentelemetry-instrumentation-redis==0.24b0
opentelemetry-instrumentation-requests==0.24b0
opentelemetry-instrumentation-sqlalchemy==0.24b0
opentelemetry-instrumentation-sqlite3==0.24b0
opentelemetry-instrumentation-starlette==0.24b0
opentelemetry-instrumentation-tornado==0.24b0
opentelemetry-instrumentation-wsgi==0.24b0
opentelemetry-instrumentation-asgi==0.25b2
opentelemetry-instrumentation-asyncpg==0.25b2
opentelemetry-instrumentation-boto==0.25b2
opentelemetry-instrumentation-botocore==0.25b2
opentelemetry-instrumentation-celery==0.25b2
opentelemetry-instrumentation-dbapi==0.25b2
opentelemetry-instrumentation-django==0.25b2
opentelemetry-instrumentation-elasticsearch==0.25b2
opentelemetry-instrumentation-fastapi==0.25b2
opentelemetry-instrumentation-falcon==0.25b2
opentelemetry-instrumentation-flask==0.25b2
opentelemetry-instrumentation-grpc==0.25b2
opentelemetry-instrumentation-jinja2==0.25b2
opentelemetry-instrumentation-mysql==0.25b2
opentelemetry-instrumentation-psycopg2==0.25b2
opentelemetry-instrumentation-pymemcache==0.25b2
opentelemetry-instrumentation-pymongo==0.25b2
opentelemetry-instrumentation-pymysql==0.25b2
opentelemetry-instrumentation-pyramid==0.25b2
opentelemetry-instrumentation-redis==0.25b2
opentelemetry-instrumentation-requests==0.25b2
opentelemetry-instrumentation-sqlalchemy==0.25b2
opentelemetry-instrumentation-sqlite3==0.25b2
opentelemetry-instrumentation-starlette==0.25b2
opentelemetry-instrumentation-tornado==0.25b2
opentelemetry-instrumentation-wsgi==0.25b2
8 changes: 4 additions & 4 deletions python/src/otel/otel_sdk/requirements.txt
@@ -1,4 +1,4 @@
opentelemetry-exporter-otlp==1.5.0
opentelemetry-distro==0.24b0
opentelemetry-sdk-extension-aws==1.0.1
opentelemetry-instrumentation==0.24b0
opentelemetry-exporter-otlp==1.6.2
opentelemetry-distro==0.25b2
opentelemetry-propagator-aws-xray==1.0.1
opentelemetry-instrumentation==0.25b2
10 changes: 5 additions & 5 deletions python/src/otel/setup.cfg
Expand Up @@ -13,7 +13,7 @@
# limitations under the License.
#
[metadata]
name = opentelemetry-instrumentation-aws_lambda
name = opentelemetry-instrumentation-aws-lambda
description = OpenTelemetry AWS Lambda instrumentation
long_description = file: README.rst
long_description_content_type = text/x-rst
Expand All @@ -38,13 +38,13 @@ package_dir=
=otel_sdk
packages=find_namespace:
install_requires =
opentelemetry-distro == 0.24b0
opentelemetry-exporter-otlp == 1.5.0
opentelemetry-sdk-extension-aws == 1.0.1
opentelemetry-distro == 0.25b2
opentelemetry-exporter-otlp == 1.6.2
opentelemetry-propagator-aws-xray == 1.0.1

[options.extras_require]
test =
opentelemetry-test == 0.24b0
opentelemetry-test == 0.25b2

[options.packages.find]
where = otel_sdk
Expand Down
2 changes: 1 addition & 1 deletion python/src/otel/tests/test_otel.py
Expand Up @@ -21,7 +21,7 @@

from opentelemetry.instrumentation.aws_lambda import AwsLambdaInstrumentor
from opentelemetry.propagate import get_global_textmap
from opentelemetry.sdk.extension.aws.trace.propagation.aws_xray_format import (
from opentelemetry.propagators.aws.aws_xray_propagator import (
TRACE_ID_FIRST_PART_LENGTH,
TRACE_ID_VERSION,
)
Expand Down
10 changes: 5 additions & 5 deletions python/src/tox.ini
@@ -1,7 +1,7 @@
[tox]
envlist =
; opentelemetry-instrumentation-aws_lambda
py3{8,9}-test-instrumentation-aws_lambda
; opentelemetry-instrumentation-aws-lambda
py3{8,9}-test-instrumentation-aws-lambda

minversion = 3.8

Expand All @@ -15,17 +15,17 @@ passenv = TOXENV
setenv =
OTEL_PYTHON_TRACER_PROVIDER=sdk_tracer_provider
; override CORE_REPO_SHA via env variable when testing other branches/commits than main
; i.e: CORE_REPO_SHA=dde62cebffe519c35875af6d06fae053b3be65ec tox -e <env to test>
; i.e: CORE_REPO_SHA=<YOUR_COMMIT_SHA> tox -e test-instrumentation-aws-lambda
CORE_REPO_SHA={env:CORE_REPO_SHA:main}
CORE_REPO="git+https://github.com/open-telemetry/opentelemetry-python.git@{env:CORE_REPO_SHA}"

changedir =
test-instrumentation-aws_lambda: {toxinidir}/otel/tests
test-instrumentation-aws-lambda: {toxinidir}/otel/tests

commands_pre =
test: pip install "opentelemetry-test[test] @ {env:CORE_REPO}#egg=opentelemetry-test&subdirectory=tests/util"

aws_lambda: pip install {toxinidir}/otel[test]
aws-lambda: pip install {toxinidir}/otel[test]

deps =
test: pytest
Expand Down

0 comments on commit 4cd0321

Please sign in to comment.