Skip to content

Implemented AWS lambda spec changes#2424

Merged
AlexanderWert merged 19 commits intoelastic:mainfrom
AlexanderWert:lambda
Mar 15, 2022
Merged

Implemented AWS lambda spec changes#2424
AlexanderWert merged 19 commits intoelastic:mainfrom
AlexanderWert:lambda

Conversation

@AlexanderWert
Copy link
Member

@AlexanderWert AlexanderWert commented Jan 27, 2022

  • Fixes Fix Lambda Instrumentation for non existent status code #2346
  • Implements [META 584] Implement changes on AWS lambda context capturing #2394
    • Change transaction.name for API Gateway-triggered Lambda functions: To be consistent with other HTTP-based instrumentations include the low-cardinality resourcePath into the name.
    • Respect setting for use_path_as_transaction_name: If use_path_as_transaction_name is enabled use the full HTTP path for the transaction.name in API Gateway-triggered Lambda functions.
    • Respect service_name and service_version agent config options: If service_name and/or service_version are explicitly configured use the configured values instead of the derived ones.
    • Use the full domain name of the API Gateway as service.origin.name
    • Replaced service.id metadata field with new transaction-level field faas.id: To being able to capture different Lambda function ARN values (semantically correct) under one APM service umbrella (for the scenario of consolidating multiple lambda functions in one APM service).
  • Send empty request with flushed=true query param on Lambda data flush ([META 569] Add query param flushed=true to final intake request at the end of lambda function #2305)
  • Update docs:
    • Remove the experimental flag from the Lambda feature
    • Add something about potential long start and possible configurations - enable_instrumentations, increasing timeout, increasing heap size
@ghost
Copy link

ghost commented Jan 27, 2022

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2022-03-15T13:09:57.748+0000

  • Duration: 49 min 6 sec

Test stats 🧪

Test Results
Failed 0
Passed 2760
Skipped 16
Total 2776

💚 Flaky test report

Tests succeeded.

🤖 GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

  • run benchmark tests : Run the benchmark tests.

  • run jdk compatibility tests : Run the JDK Compatibility tests.

  • run integration tests : Run the Agent Integration tests.

  • run end-to-end tests : Run the APM-ITs.

  • run windows tests : Build & tests on windows.

  • run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

@AlexanderWert AlexanderWert marked this pull request as draft January 27, 2022 09:17
@AlexanderWert AlexanderWert marked this pull request as ready for review January 27, 2022 11:35
@github-actions
Copy link

/test

@SylvainJuge SylvainJuge added the size:medium Medium (M) tasks label Jan 31, 2022
Copy link
Contributor

@eyalkoren eyalkoren left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!
Missing:

  • Serialization test for faas fields (id, name, version)
  • Tests for faas.name and faas.version correctness in the Lambda tests

Let's sort out our transaction naming approach offline and I will make adjustments if required and implement #2305

Copy link
Member Author

@AlexanderWert AlexanderWert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reviewed the changes.
Except a small bug, that I found in my own code, everything looks good.

Tested the interplay with the extension: The extension receives the flush=true signal as expected. So all good on that side as well.

Co-authored-by: Alexander Wert <AlexanderWert@users.noreply.github.com>
@SylvainJuge SylvainJuge added the await-release Mark issues that depend on next release, or PRs that are planned to be included label Mar 14, 2022
@AlexanderWert AlexanderWert merged commit 664e4ff into elastic:main Mar 15, 2022
@SylvainJuge SylvainJuge removed the await-release Mark issues that depend on next release, or PRs that are planned to be included label May 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4 participants