Add instrumentation for AWS Lambda Service - pkg metadata files (Part 1/2)#739
Conversation
b2b0422 to
fc943f4
Compare
fc943f4 to
0f15526
Compare
ecebc7a to
6f99ec4
Compare
...elemetry-instrumentation-aws_lambda/src/opentelemetry/instrumentation/aws_lambda/__init__.py
Outdated
Show resolved
Hide resolved
301d2bc to
3fc7fff
Compare
3fc7fff to
7cb3428
Compare
...elemetry-instrumentation-aws_lambda/src/opentelemetry/instrumentation/aws_lambda/__init__.py
Outdated
Show resolved
Hide resolved
a710b10 to
7c0787b
Compare
instrumentation/opentelemetry-instrumentation-aws_lambda/scripts/otel-instrument
Outdated
Show resolved
Hide resolved
owais
left a comment
There was a problem hiding this comment.
Q: How would this work if the lambda uses a framework like flask or falcon? Wouldn't that result in two SERVER spans?
...elemetry-instrumentation-aws_lambda/src/opentelemetry/instrumentation/aws_lambda/__init__.py
Outdated
Show resolved
Hide resolved
...elemetry-instrumentation-aws_lambda/src/opentelemetry/instrumentation/aws_lambda/__init__.py
Outdated
Show resolved
Hide resolved
...elemetry-instrumentation-aws_lambda/src/opentelemetry/instrumentation/aws_lambda/__init__.py
Outdated
Show resolved
Hide resolved
owais
left a comment
There was a problem hiding this comment.
aiohttp-client uses - as the separate but this PR is using _ i.e, aws_lambda instead of aws-lambda. Can we use aws-lambda instead?
| with tracer.start_as_current_span( | ||
| name=orig_handler_name, | ||
| context=parent_context, | ||
| kind=SpanKind.SERVER, |
There was a problem hiding this comment.
What if the lambda was triggered by SQS/SNS/Kinesis/S3/etc? It would be a consumer span in that case.
There was a problem hiding this comment.
Moved this conversation to #777 (comment)
...telemetry-instrumentation-aws_lambda/src/opentelemetry/instrumentation/aws_lambda/package.py
Show resolved
Hide resolved
instrumentation/opentelemetry-instrumentation-aws_lambda/README.rst
Outdated
Show resolved
Hide resolved
instrumentation/opentelemetry-instrumentation-aws_lambda/setup.cfg
Outdated
Show resolved
Hide resolved
7c0787b to
2a20f4d
Compare
05a8c46 to
1d984e8
Compare
opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py
Show resolved
Hide resolved
|
Sorry for the trouble but any chance we can convert this into PR number 2 with all the code and create a new PR with the package skeleton? 😬 Only asking because we already started a review on this and it'd be weird to have these discussions in the wrong place. Happy to copy all the comments and add them to another PR though if it is too much trouble. |
Oh I was going to copy all your Python code related comments to #777! It's pretty dependent on this PR so I thought it would be best to merge this one first 🙂 If you prefer to make this PR the "Python code" PR we can do that instead though? Let me know! |
|
Whatever is easier for you @NathanielRN |
1d984e8 to
657c2b1
Compare
Description
In this PR, we ONLY add package metadata files.
This PR adds Instrumentation for Lambda functions on the AWS Lambda service. Specifically, when you use AWS Lambda to call your
def lambda_handler(lambda_event, lambda_context)on AWS, you can use this instrumentation package and its scripts to instrument that invocation with OpenTelemetry!OpenTelemetry already hosts this code on the OpenTelemetry Lambda repository, but it has a
TODOto migrate it here, to the OpenTelemetry Python Contrib repository.Instrumenting AWS Lambda is defined in the OpenTelemetry specifications and "AWS Lambda Instrumentations" also already exist in other languages:
You can learn more about how they are used on the AWS Distro for OpenTelemetry - Python Lambda Layer documentation
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
N/A
Does This PR Require a Core Repo Change?
Checklist:
See contributing.md for styleguide, changelog guidelines, and more.