Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,250 changes: 1,818 additions & 432 deletions .github/patches/opentelemetry-java-instrumentation.patch

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .github/patches/versions
Original file line number Diff line number Diff line change
@@ -1 +1 @@
OTEL_JAVA_INSTRUMENTATION_VERSION=v1.33.6
OTEL_JAVA_INSTRUMENTATION_VERSION=v2.10.0
13 changes: 13 additions & 0 deletions .github/workflows/docker-build-smoke-tests-fake-backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,19 @@ jobs:
with:
java-version: 17
distribution: 'temurin'
# cache local patch outputs
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: |
~/.m2/repository/io/opentelemetry/
key: ${{ runner.os }}-maven-local-${{ hashFiles('.github/patches/opentelemetry-java*.patch') }}

- name: Publish patched dependencies to maven local
uses: ./.github/actions/patch-dependencies
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg_password: ${{ secrets.GPG_PASSPHRASE }}
- uses: gradle/wrapper-validation-action@v1
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/main-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ jobs:
fetch-depth: 0
- uses: actions/setup-java@v4
with:
java-version: 21
java-version: 23
distribution: 'temurin'
- uses: gradle/wrapper-validation-action@v1

Expand All @@ -219,7 +219,7 @@ jobs:
key: ${{ runner.os }}-maven-local-${{ hashFiles('.github/patches/opentelemetry-java*.patch') }}

- name: Pull base image of Contract Tests Sample Apps
run: docker pull public.ecr.aws/docker/library/amazoncorretto:21-alpine
run: docker pull public.ecr.aws/docker/library/amazoncorretto:23-alpine

- name: Build snapshot with Gradle
uses: gradle/gradle-build-action@v3
Expand Down
18 changes: 16 additions & 2 deletions .github/workflows/nightly-upstream-snapshot-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,20 @@ jobs:
java-version: 17
distribution: 'temurin'

# cache local patch outputs
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: |
~/.m2/repository/io/opentelemetry/
key: ${{ runner.os }}-maven-local-${{ hashFiles('.github/patches/opentelemetry-java*.patch') }}

- name: Publish patched dependencies to maven local
uses: ./.github/actions/patch-dependencies
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg_password: ${{ secrets.GPG_PASSPHRASE }}

- uses: gradle/wrapper-validation-action@v1

- name: Configure AWS Credentials
Expand Down Expand Up @@ -120,7 +134,7 @@ jobs:
fetch-depth: 0
- uses: actions/setup-java@v4
with:
java-version: 21
java-version: 23
distribution: 'temurin'
- uses: gradle/wrapper-validation-action@v1

Expand All @@ -136,7 +150,7 @@ jobs:
registry: public.ecr.aws

- name: Pull base image of Contract Tests Sample Apps
run: docker pull public.ecr.aws/docker/library/amazoncorretto:21-alpine
run: docker pull public.ecr.aws/docker/library/amazoncorretto:23-alpine

- name: Build snapshot with Gradle
uses: gradle/gradle-build-action@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/patch-release-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:

env:
AWS_DEFAULT_REGION: us-east-1
TEST_TAG: public.ecr.aws/aws-observability/adot-autoinstrumentation-java:test
TEST_TAG: public.ecr.aws/aws-observability/adot-autoinstrumentation-java:test-v2

permissions:
id-token: write
Expand Down
13 changes: 12 additions & 1 deletion .github/workflows/pr-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
- main
- "release/v*"
env:
TEST_TAG: public.ecr.aws/aws-observability/adot-autoinstrumentation-java:test
TEST_TAG: public.ecr.aws/aws-observability/adot-autoinstrumentation-java:test-v2

jobs:
testpatch:
Expand Down Expand Up @@ -63,6 +63,13 @@ jobs:

- uses: gradle/wrapper-validation-action@v1

# Cleanup directories before proceeding with setup
- name: Clean up old installations
if: ${{ matrix.os != 'windows-latest' }}
run: |
sudo rm -rf /usr/local/lib/android
sudo rm -rf /usr/share/dotnet

# cache local patch outputs
- name: Cache local Maven repository
uses: actions/cache@v3
Expand All @@ -88,6 +95,10 @@ jobs:
distribution: temurin

- name: Pull base image of Contract Tests Sample Apps
if: ${{ matrix.os == 'ubuntu-latest' }}
run: docker pull public.ecr.aws/docker/library/amazoncorretto:23-alpine

- name: Pull base image of Contract Tests Sample Apps V21
if: ${{ matrix.os == 'ubuntu-latest' }}
run: docker pull public.ecr.aws/docker/library/amazoncorretto:21-alpine

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
env:
AWS_PUBLIC_ECR_REGION: us-east-1
AWS_PRIVATE_ECR_REGION: us-west-2
TEST_TAG: public.ecr.aws/aws-observability/adot-autoinstrumentation-java:test
TEST_TAG: public.ecr.aws/aws-observability/adot-autoinstrumentation-java:test-v2
PUBLIC_REPOSITORY: public.ecr.aws/aws-observability/adot-autoinstrumentation-java
PRIVATE_REPOSITORY: 020628701572.dkr.ecr.us-west-2.amazonaws.com/adot-autoinstrumentation-java
PRIVATE_REGISTRY: 020628701572.dkr.ecr.us-west-2.amazonaws.com
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,4 @@ In addition to the sample apps in this repository, there are also a set of [stan
Please note that as per policy, we're providing support via GitHub on a best effort basis. However, if you have AWS Enterprise Support you can create a ticket and we will provide direct support within the respective SLAs.

## Security issue notifications
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.
2 changes: 1 addition & 1 deletion appsignals-tests/contract-tests/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
java
kotlin("jvm") version "1.8.22"
kotlin("jvm") version "2.1.0-RC2"
}

java {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -263,19 +263,19 @@ private void assertSemanticConventionsAttributes(
List<KeyValue> attributesList,
String service,
String method,
String peerName,
int peerPort,
String address,
int port,
String url,
int statusCode) {
assertThat(attributesList)
.satisfiesOnlyOnce(assertAttribute(SemanticConventionsConstants.RPC_METHOD, method))
.satisfiesOnlyOnce(assertAttribute(SemanticConventionsConstants.RPC_SERVICE, service))
.satisfiesOnlyOnce(assertAttribute(SemanticConventionsConstants.RPC_SYSTEM, "aws-api"))
.satisfiesOnlyOnce(assertAttribute(SemanticConventionsConstants.NET_PEER_NAME, peerName))
.satisfiesOnlyOnce(assertAttribute(SemanticConventionsConstants.NET_PEER_PORT, peerPort))
.satisfiesOnlyOnce(assertAttribute(SemanticConventionsConstants.SERVER_ADDRESS, address))
.satisfiesOnlyOnce(assertAttribute(SemanticConventionsConstants.SERVER_PORT, port))
.satisfiesOnlyOnce(
assertAttribute(SemanticConventionsConstants.HTTP_STATUS_CODE, statusCode))
.satisfiesOnlyOnce(assertAttributeStartsWith(SemanticConventionsConstants.HTTP_URL, url))
assertAttribute(SemanticConventionsConstants.HTTP_RESPONSE_STATUS_CODE, statusCode))
.satisfiesOnlyOnce(assertAttributeStartsWith(SemanticConventionsConstants.URL_FULL, url))
.satisfiesOnlyOnce(assertKeyIsPresent(SemanticConventionsConstants.THREAD_ID));
}

Expand All @@ -284,16 +284,16 @@ private void assertSemanticConventionsSqsConsumerAttributes(
List<KeyValue> attributesList,
String service,
String method,
String peerName,
int peerPort,
String address,
int port,
String url) {
assertThat(attributesList)
.satisfiesOnlyOnce(assertAttribute(SemanticConventionsConstants.RPC_METHOD, method))
.satisfiesOnlyOnce(assertAttribute(SemanticConventionsConstants.RPC_SERVICE, service))
.satisfiesOnlyOnce(assertAttribute(SemanticConventionsConstants.RPC_SYSTEM, "aws-api"))
.satisfiesOnlyOnce(assertAttribute(SemanticConventionsConstants.NET_PEER_NAME, peerName))
.satisfiesOnlyOnce(assertAttribute(SemanticConventionsConstants.NET_PEER_PORT, peerPort))
.satisfiesOnlyOnce(assertAttributeStartsWith(SemanticConventionsConstants.HTTP_URL, url))
.satisfiesOnlyOnce(assertAttribute(SemanticConventionsConstants.SERVER_ADDRESS, address))
.satisfiesOnlyOnce(assertAttribute(SemanticConventionsConstants.SERVER_PORT, port))
.satisfiesOnlyOnce(assertAttributeStartsWith(SemanticConventionsConstants.URL_FULL, url))
.satisfiesOnlyOnce(assertKeyIsPresent(SemanticConventionsConstants.THREAD_ID));
}

Expand All @@ -308,8 +308,8 @@ private void assertSpanClientAttributes(
String type,
String identifier,
String cloudformationIdentifier,
String peerName,
int peerPort,
String address,
int port,
String url,
int statusCode,
List<ThrowingConsumer<KeyValue>> extraAssertions) {
Expand All @@ -327,8 +327,8 @@ private void assertSpanClientAttributes(
type,
identifier,
cloudformationIdentifier,
peerName,
peerPort,
address,
port,
url,
statusCode,
extraAssertions);
Expand All @@ -345,8 +345,8 @@ private void assertSpanProducerAttributes(
String type,
String identifier,
String cloudformationIdentifier,
String peerName,
int peerPort,
String address,
int port,
String url,
int statusCode,
List<ThrowingConsumer<KeyValue>> extraAssertions) {
Expand All @@ -363,8 +363,8 @@ private void assertSpanProducerAttributes(
type,
identifier,
cloudformationIdentifier,
peerName,
peerPort,
address,
port,
url,
statusCode,
extraAssertions);
Expand All @@ -377,8 +377,8 @@ private void assertSpanConsumerAttributes(
String operation,
String localService,
String method,
String peerName,
int peerPort,
String address,
int port,
String url,
int statusCode,
List<ThrowingConsumer<KeyValue>> extraAssertions) {
Expand All @@ -391,7 +391,7 @@ private void assertSpanConsumerAttributes(
assertThat(span.getKind()).isEqualTo(SpanKind.SPAN_KIND_CONSUMER);
assertThat(span.getName()).isEqualTo(spanName);
assertSemanticConventionsSqsConsumerAttributes(
spanAttributes, rpcService, method, peerName, peerPort, url);
spanAttributes, rpcService, method, address, port, url);
assertSqsConsumerAwsAttributes(span.getAttributesList(), operation);
for (var assertion : extraAssertions) {
assertThat(spanAttributes).satisfiesOnlyOnce(assertion);
Expand All @@ -412,8 +412,8 @@ private void assertSpanAttributes(
String type,
String identifier,
String cloudformationIdentifier,
String peerName,
int peerPort,
String address,
int port,
String url,
int statusCode,
List<ThrowingConsumer<KeyValue>> extraAssertions) {
Expand All @@ -425,9 +425,8 @@ private void assertSpanAttributes(
var spanAttributes = span.getAttributesList();
assertThat(span.getKind()).isEqualTo(spanKind);
assertThat(span.getName()).isEqualTo(spanName);

assertSemanticConventionsAttributes(
spanAttributes, rpcService, method, peerName, peerPort, url, statusCode);
spanAttributes, rpcService, method, address, port, url, statusCode);
assertAwsAttributes(
spanAttributes,
localService,
Expand Down
Loading
Loading