-
Notifications
You must be signed in to change notification settings - Fork 178
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: add aws Lambda instrumentation #721
Merged
kaylareopelle
merged 65 commits into
open-telemetry:main
from
xuan-cao-swi:lambda-instrumentation
May 10, 2024
Merged
Changes from 61 commits
Commits
Show all changes
65 commits
Select commit
Hold shift + click to select a range
a5a5386
feat: add aws lambda instrumentation
xuan-cao-swi 42dba8e
feat: return original handler response and require the handler file
xuan-cao-swi 845cc06
Merge branch 'main' of https://github.com/open-telemetry/opentelemetr…
xuan-cao-swi c708d0a
Update instrumentation/aws_lambda/README.md
xuan-cao-swi 0b5891a
Update instrumentation/aws_lambda/lib/opentelemetry/instrumentation/a…
xuan-cao-swi 9601fd1
Update instrumentation/aws_lambda/lib/opentelemetry/instrumentation/a…
xuan-cao-swi 34db557
Update instrumentation/aws_lambda/lib/opentelemetry/instrumentation/a…
xuan-cao-swi 3e54dfa
Update instrumentation/aws_lambda/lib/opentelemetry/instrumentation/a…
xuan-cao-swi fbc942e
Update instrumentation/aws_lambda/example/Gemfile
xuan-cao-swi 157f219
Merge branch 'lambda-instrumentation' of github.com:xuan-cao-swi/open…
xuan-cao-swi 432670a
feat: revision on fix sample test, update readme and add rubocop-perf…
xuan-cao-swi 25f0495
feat: update readme
xuan-cao-swi 3252264
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi 0a19da1
Update instrumentation/aws_lambda/CHANGELOG.md
xuan-cao-swi 609a419
Update instrumentation/aws_lambda/lib/opentelemetry/instrumentation/a…
xuan-cao-swi d7627e8
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi 118f6ee
feat: add codeowner for aws_lambda
xuan-cao-swi 4e71325
Merge branch 'main' into lambda-instrumentation
kaylareopelle b1536ac
Update instrumentation/aws_lambda/lib/opentelemetry/instrumentation/a…
xuan-cao-swi 72c7e9e
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi 313e33e
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi 625efa3
Update CODEOWNERS
xuan-cao-swi ea195c6
feat: lambda - update semantic convention and test case
xuan-cao-swi 9807308
feat: add lambda to workflow
xuan-cao-swi 198d464
feat: lambda - run test with rake test directly
xuan-cao-swi f01e9fe
feat: lambda - add rescue to avoid break user function
xuan-cao-swi d7c47b3
feat: aws lambda - make faas.trigger static to http as following spec…
xuan-cao-swi 4fe7b87
Update instrumentation/aws_lambda/README.md
xuan-cao-swi ba86dc7
Update instrumentation/aws_lambda/lib/opentelemetry/instrumentation/a…
xuan-cao-swi 3cb6dd6
Update instrumentation/aws_lambda/lib/opentelemetry/instrumentation/a…
xuan-cao-swi f412fd5
feat: lambda - use symbol and str for statusCode
xuan-cao-swi e8ed3aa
Merge branch 'lambda-instrumentation' of github.com:xuan-cao-swi/open…
xuan-cao-swi f80067b
feat: lambda - refactor on status code
xuan-cao-swi 63bf9ad
Update instrumentation/aws_lambda/lib/opentelemetry/instrumentation/a…
xuan-cao-swi 52d9bda
feat: lambda - update span name calculation period. add non-http trig…
xuan-cao-swi 4381f30
Merge branch 'lambda-instrumentation' of github.com:xuan-cao-swi/open…
xuan-cao-swi 8f187c9
feat: aws_lambda update
xuan-cao-swi b2fab00
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi 8608e43
feat: aws lambda - update attributes
xuan-cao-swi 834622f
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi 9e86457
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi 3896d9b
feat: aws lambda - revision
xuan-cao-swi 26300b3
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi 078618f
Update instrumentation/aws_lambda/README.md
xuan-cao-swi 78a7040
Update instrumentation/aws_lambda/lib/opentelemetry/instrumentation/a…
xuan-cao-swi ebcf312
Update instrumentation/aws_lambda/lib/opentelemetry/instrumentation/a…
xuan-cao-swi 5c873c9
feat: aws lambda - revision
xuan-cao-swi 3ae6620
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi dcdbc65
Update instrumentation/aws_lambda/example/sample.rb
xuan-cao-swi d6eaea7
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi 7da938f
feat: merge
xuan-cao-swi 6279914
Merge branch 'lambda-instrumentation' of github.com:xuan-cao-swi/open…
xuan-cao-swi 45a42bc
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi 88b38c8
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi 80ee871
Update instrumentation/aws_lambda/README.md
xuan-cao-swi 0aec40e
Update instrumentation/aws_lambda/lib/opentelemetry/instrumentation/a…
xuan-cao-swi 75e0ce5
Update instrumentation/aws_lambda/lib/opentelemetry/instrumentation/a…
xuan-cao-swi 237465a
Update instrumentation/aws_lambda/README.md
xuan-cao-swi 40c6316
Update instrumentation/aws_lambda/README.md
xuan-cao-swi 4ebb79c
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi f70a66f
feat: lambda - update release file
xuan-cao-swi 79d00bb
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi 26801c0
feat: remove ci-instrumentation-canary.yml
xuan-cao-swi ecc8b54
Merge branch 'lambda-instrumentation' of github.com:xuan-cao-swi/open…
xuan-cao-swi 1b4d969
Merge branch 'main' into lambda-instrumentation
xuan-cao-swi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
name: CI Instrumentation - Canary | ||
|
||
on: | ||
workflow_dispatch: | ||
schedule: | ||
- cron: "0 0 * * *" | ||
|
||
jobs: | ||
instrumentation: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
gem: | ||
- action_pack | ||
- action_view | ||
- active_job | ||
- active_model_serializers | ||
- active_record | ||
- active_support | ||
- all | ||
- aws_sdk | ||
- aws_lambda | ||
- base | ||
- concurrent_ruby | ||
- delayed_job | ||
- ethon | ||
- excon | ||
- faraday | ||
- grape | ||
- graphql | ||
- gruf | ||
- http | ||
- http_client | ||
- koala | ||
- lmdb | ||
- net_http | ||
- httpx | ||
- rack | ||
- rails | ||
- restclient | ||
- rspec | ||
- sinatra | ||
os: | ||
- ubuntu-latest | ||
- macos-latest | ||
- windows-latest | ||
exclude: | ||
- os: windows-latest | ||
gem: ethon | ||
- os: windows-latest | ||
gem: action_pack | ||
- os: windows-latest | ||
gem: restclient | ||
- os: windows-latest | ||
gem: rails | ||
- os: macos-latest | ||
gem: lmdb | ||
|
||
name: ${{ matrix.gem }} / ${{ matrix.os }} | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: "Test Ruby 3.3" | ||
uses: ./.github/actions/test_gem | ||
with: | ||
gem: "opentelemetry-instrumentation-${{ matrix.gem }}" | ||
ruby: "3.3" | ||
latest: "true" | ||
- name: "Test Ruby 3.2" | ||
uses: ./.github/actions/test_gem | ||
with: | ||
gem: "opentelemetry-instrumentation-${{ matrix.gem }}" | ||
ruby: "3.2" | ||
latest: "true" | ||
- name: "Test Ruby 3.1" | ||
uses: ./.github/actions/test_gem | ||
with: | ||
gem: "opentelemetry-instrumentation-${{ matrix.gem }}" | ||
ruby: "3.1" | ||
latest: "true" | ||
- name: "Test Ruby 3.0" | ||
if: "${{ matrix.os == 'ubuntu-latest' }}" | ||
uses: ./.github/actions/test_gem | ||
with: | ||
gem: "opentelemetry-instrumentation-${{ matrix.gem }}" | ||
ruby: "3.0" | ||
latest: "true" | ||
yard: true | ||
rubocop: true | ||
build: true | ||
- name: "JRuby Filter" | ||
id: jruby_skip | ||
shell: bash | ||
run: | | ||
echo "skip=false" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "action_pack" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "action_view" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "active_model_serializers" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "active_record" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "active_support" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "aws_sdk" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "aws_lambda" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "delayed_job" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "graphql" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "http" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "http_client" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "koala" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "lmdb" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "rack" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "rails" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
# This is essentially a bash script getting evaluated, so we need to return true or the whole job fails. | ||
true | ||
- name: "Test JRuby" | ||
if: "${{ matrix.os == 'ubuntu-latest' && steps.jruby_skip.outputs.skip == 'false' }}" | ||
uses: ./.github/actions/test_gem | ||
with: | ||
gem: "opentelemetry-instrumentation-${{ matrix.gem }}" | ||
latest: "true" | ||
ruby: "jruby-9.4.2.0" | ||
- name: "Truffleruby Filter" | ||
id: truffleruby_skip | ||
shell: bash | ||
run: | | ||
echo "skip=false" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "action_pack" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "action_view" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "active_job" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "active_record" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "active_support" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "delayed_job" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "lmdb" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
[[ "${{ matrix.gem }}" == "rails" ]] && echo "skip=true" >> $GITHUB_OUTPUT | ||
# This is essentially a bash script getting evaluated, so we need to return true or the whole job fails. | ||
true | ||
- name: "Test Truffleruby" | ||
if: "${{ matrix.os == 'ubuntu-latest' && steps.truffleruby_skip.outputs.skip == 'false' }}" | ||
uses: ./.github/actions/test_gem | ||
with: | ||
gem: "opentelemetry-instrumentation-${{ matrix.gem }}" | ||
ruby: "truffleruby" | ||
latest: "true" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
inherit_from: ../../.rubocop.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--no-private | ||
--title=OpenTelemetry AWS Lambda Instrumentation | ||
--markup=markdown | ||
--main=README.md | ||
./lib/opentelemetry/instrumentation/**/*.rb | ||
./lib/opentelemetry/instrumentation.rb | ||
- | ||
README.md | ||
CHANGELOG.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Release History: opentelemetry-instrumentation-aws_lambda |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# frozen_string_literal: true | ||
|
||
# Copyright The OpenTelemetry Authors | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
source 'https://rubygems.org' | ||
|
||
gemspec | ||
|
||
group :test do | ||
gem 'opentelemetry-instrumentation-base', path: '../base' | ||
gem 'webrick', '~> 1.7' | ||
end |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file was deleted on main. Please remove it from this branch.