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

feat: report url for lambda invoked via api gateway #2404

Merged
merged 16 commits into from
Dec 10, 2024

Conversation

johnbley
Copy link
Member

Which problem is this PR solving?

  • Currently lambda invocations through an api gateway don't report the invoked url. The event passed to the handler has a different shape in that type of invocation. This can make it hard to tell invocations apart when different paths flow to the same logic.

Short description of the changes

  • I cribbed from the java implementation of this concept - basically if it appears that all the necessary information to compute the invoked url is there, then use that. Java was using the new http semantic conventions (url.full) but nothing else in this repo was, so I stuck with http.url

Copy link

codecov bot commented Aug 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 90.78%. Comparing base (ba615db) to head (67b0ae5).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2404      +/-   ##
==========================================
+ Coverage   90.75%   90.78%   +0.03%     
==========================================
  Files         169      169              
  Lines        8026     8055      +29     
  Branches     1635     1643       +8     
==========================================
+ Hits         7284     7313      +29     
  Misses        742      742              
Files with missing lines Coverage Δ
...-instrumentation-aws-lambda/src/instrumentation.ts 94.52% <100.00%> (+0.92%) ⬆️

@pichlermarc pichlermarc added the pkg-status:unmaintained This package is unmaintained. Only bugfixes may be acceped until a new owner has been found. label Sep 4, 2024
Copy link
Contributor

github-actions bot commented Sep 5, 2024

This package does not have an assigned component owner and is considered unmaintained. As such this package is in feature-freeze and this PR will be closed with 14 days unless a new owner or a sponsor (a member of @open-telemetry/javascript-approvers) for the feature is found. It is the responsibility of the author to find a sponsor for this feature.
Are you familiar with this package? Consider becoming a component owner.

@johnbley
Copy link
Member Author

johnbley commented Sep 6, 2024

Could we mark @open-telemetry/lambda-extension-approvers or somesuch as the owner of the lambda instrumentation? Essentially this component is used as part of the otel-lambda repo/build.

@johnbley
Copy link
Member Author

johnbley commented Sep 6, 2024

Could we mark @open-telemetry/lambda-extension-approvers or somesuch as the owner of the lambda instrumentation? Essentially this component is used as part of the otel-lambda repo/build.

@pichlermarc also #2403 was approved and merged a couple days ago... this lambda instrumentation is in fact under active development/maintenance.

@tylerbenson your thoughts on lambda sig ownership of the various language components?

@tylerbenson
Copy link
Member

I'm fine with the lambda approvers taking ownership. @serkan-ozal also volunteered to own it if you'd prefer an individual vs a team.

@pichlermarc
Copy link
Member

Could we mark @open-telemetry/lambda-extension-approvers or somesuch as the owner of the lambda instrumentation? Essentially this component is used as part of the otel-lambda repo/build.

@johnbley absolutely, we'd very much appreciate this. 🙂 The way to do is is that someone from @open-telemetry/lambda-extension-maintainers opens a component ownership request issue. I'll then open a PR to add the team there 🙂

@pichlermarc also #2403 was approved and merged a couple days ago... this lambda instrumentation is in fact under active development/maintenance.

In #2403 @dyladan acted as a feature sponsor according to the guidelines. Components are marked as "unmaintained" when there's no assigned owner.

Unfortunately, we had to introduce this guideline as many contributed components (like @opentelemetry/instrumentation-aws-lambda) got abandoned by their original owners. We would like to keep all components around, but the diverse set of packages that are being instrumented in this repo require immense maintenance effort which significantly slows down SDK/API development.

@johnbley
Copy link
Member Author

@serkan-ozal Thanks for your careful review!

@serkan-ozal
Copy link
Contributor

@johnbley You're welcome and thanks for the contribution.

@david-luna
Copy link
Contributor

there is a ongoing PR for adding a component owner #2506

@jj22ee you may want to have a look a this one

@johnbley johnbley requested a review from a team as a code owner November 14, 2024 19:31
@pichlermarc pichlermarc added status:approved-by-owner PR has been approved by the owner listed in .github/component_owners.yml and removed pkg-status:unmaintained:autoclose-scheduled pkg-status:unmaintained This package is unmaintained. Only bugfixes may be acceped until a new owner has been found. labels Dec 10, 2024
@pichlermarc pichlermarc merged commit 91c9089 into open-telemetry:main Dec 10, 2024
25 checks passed
@dyladan dyladan mentioned this pull request Dec 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pkg:instrumentation-aws-lambda status:approved-by-owner PR has been approved by the owner listed in .github/component_owners.yml
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants