Skip to content

Commit 826b344

Browse files
committed
[WIP]
1 parent 1f0a78b commit 826b344

35 files changed

Lines changed: 554 additions & 144 deletions

File tree

labs/.idea/misc.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

labs/README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
2+
3+
`export AWS_ACCESS_KEY_ID=$(aws --profile default configure get aws_access_key_id)`
4+
`export AWS_SECRET_ACCESS_KEY=$(aws --profile default configure get aws_secret_access_key)`
5+
`export AWS_REGION=$(aws --profile default configure get region)`
6+
7+
java -cp lab-2-optimize/aws-java-sdk-v2/target/app.jar -verbose:class com.aws.samples.petclinic.Main | grep '\[Loaded' | wc -l
8+
9+
java -cp lab-2-optimize/aws-java-sdk-v2/target/app.jar -verbose:class com.aws.samples.petclinic.Main | grep '\[Loaded' | grep '.jar\]' | sed 's/\[Loaded \([^A-Z]*\)[\$A-Za-z0-9]* from .*\]/\1/g' | sort | uniq -c | sort
10+
11+
java -cp lab-2-optimize/aws-java-sdk-v2/target/app.jar -javaagent:java-instrumentation-1.0-SNAPSHOT.jar=instrumentation.cfg com.aws.samples.petclinic.Main
12+
13+
sam package --template-file lab-2-optimize/aws-java-sdk-v2/template.yaml --output-template-file lab-2-optimize/aws-java-sdk-v2/packaged.yaml --s3-bucket $SAM_ARTIFACT_BUCKET
14+
sam deploy --template-file lab-2-optimize/aws-java-sdk-v2/packaged.yaml --stack-name aws-java-sdk-v2 --capabilities CAPABILITY_IAM
15+
export ENDPOINT=$(aws cloudformation describe-stacks \
16+
--stack-name aws-java-sdk-v2 \
17+
--query 'Stacks[].Outputs[?OutputKey==`PetsApiServiceURL`].OutputValue' \
18+
--output text)
19+
export FUNCTION_ARN=$(aws cloudformation describe-stacks \
20+
--stack-name aws-java-sdk-v2 \
21+
--query 'Stacks[].Outputs[?OutputKey==`CreatePetLambdaHandlerFunction`].OutputValue' \
22+
--output text)
23+
24+
25+
export JAVA_OPTS="-DBASE_URL=$ENDPOINT"
26+
for i in {1..10}; do aws lambda update-function-configuration --function-name $FUNCTION_ARN --environment "Variables={KeyName1=KeyValue$i}"; gatling.sh --simulations-folder lab-2-optimize/aws-java-sdk-v2/src/test/scala --simulation LoadTest --run-description "aws-java-sdk-v2-run-$i"; done
27+
28+
29+
30+
31+
32+
33+
curl -i -X POST -d '{"name": "Max", "type": "dog", "birthday": "2010-11-03", "medicalRecord": "bla bla bla"}' $ENDPOINT/pet
34+
35+
aws lambda update-function-configuration --function-name $FUNCTION_ARN --environment Variables={KeyName1=KeyValue1}
36+
curl -i -X POST -d '{"name": "Max", "type": "dog", "birthday": "2010-11-03", "medicalRecord": "bla bla bla"}' $ENDPOINT/pet

labs/instrumentation.cfg

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
com.fasterxml.jackson.databind.ObjectMapper
2+
software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient
3+
software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient
4+
software.amazon.awssdk.http.apache.ApacheHttpClient
5+
software.amazon.awssdk.services.dynamodb.DefaultDynamoDbClient
6+
software.amazon.awssdk.services.s3.DefaultS3Client
7+
com.aws.samples.petclinic.CreatePetLambdaHandler
728 KB
Binary file not shown.

labs/lab-1-replatform/serverless-java-container-springboot2/serverless-java-container-springboot2.iml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
<configuration>
66
<setting name="validation-enabled" value="true" />
77
<setting name="provider-name" value="Hibernate" />
8-
<datasource-mapping />
8+
<datasource-mapping>
9+
<factory-entry name="Entities" />
10+
</datasource-mapping>
911
<naming-strategy-map />
1012
</configuration>
1113
</facet>
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
./mvnw clean package
2-
31
sam package --template-file template.yaml --output-template-file packaged.yaml --s3-bucket tmp-cmr
42

53
sam deploy --template-file packaged.yaml --stack-name optimized-lambda-sdk-v2 --capabilities CAPABILITY_IAM
4+

labs/lab-2-optimize/aws-java-sdk-v2/aws-java-sdk-v2.iml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
<orderEntry type="library" name="Maven: software.amazon.awssdk:protocol-core:2.10.25" level="project" />
1616
<orderEntry type="library" name="Maven: software.amazon.awssdk:sdk-core:2.10.25" level="project" />
1717
<orderEntry type="library" name="Maven: software.amazon.awssdk:profiles:2.10.25" level="project" />
18-
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.28" level="project" />
1918
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.0" level="project" />
2019
<orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.2" level="project" />
2120
<orderEntry type="library" name="Maven: software.amazon.awssdk:auth:2.10.25" level="project" />
@@ -50,5 +49,7 @@
5049
<orderEntry type="library" name="Maven: com.amazonaws:aws-lambda-java-core:1.2.0" level="project" />
5150
<orderEntry type="library" name="Maven: com.amazonaws:aws-lambda-java-events:2.2.7" level="project" />
5251
<orderEntry type="library" name="Maven: joda-time:joda-time:2.6" level="project" />
52+
<orderEntry type="library" name="Maven: org.slf4j:slf4j-simple:1.7.28" level="project" />
53+
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.28" level="project" />
5354
</component>
5455
</module>

labs/lab-2-optimize/aws-java-sdk-v2/pom.xml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,16 @@
4141
<artifactId>aws-lambda-java-events</artifactId>
4242
<version>${com.amazonaws.aws-lambda-java-events.version}</version>
4343
</dependency>
44+
45+
<dependency>
46+
<groupId>org.slf4j</groupId>
47+
<artifactId>slf4j-simple</artifactId>
48+
<version>${org.slf4j.version}</version>
49+
</dependency>
4450
</dependencies>
4551

4652
<build>
47-
<finalName>${project.artifactId}</finalName>
53+
<finalName>${artifactId}</finalName>
4854

4955
<plugins>
5056
<plugin>
@@ -57,9 +63,16 @@
5763
<artifactId>maven-assembly-plugin</artifactId>
5864
<version>3.1.0</version>
5965
<configuration>
66+
<finalName>app</finalName>
67+
<appendAssemblyId>false</appendAssemblyId>
6068
<descriptorRefs>
6169
<descriptorRef>jar-with-dependencies</descriptorRef>
6270
</descriptorRefs>
71+
<archive>
72+
<manifest>
73+
<mainClass>com.aws.samples.petclinic.Main</mainClass>
74+
</manifest>
75+
</archive>
6376
</configuration>
6477
<executions>
6578
<execution>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.aws.samples.petclinic;
2+
3+
import com.amazonaws.services.lambda.runtime.Context;
4+
import com.amazonaws.services.lambda.runtime.events.APIGatewayV2ProxyRequestEvent;
5+
import com.amazonaws.services.lambda.runtime.events.APIGatewayV2ProxyResponseEvent;
6+
7+
public class Main {
8+
9+
/*
10+
only for test purpose
11+
*/
12+
public static void main(String[] args) {
13+
CreatePetLambdaHandler handler = new CreatePetLambdaHandler();
14+
15+
APIGatewayV2ProxyRequestEvent request = new APIGatewayV2ProxyRequestEvent();
16+
request.setBody("{\"name\": \"Max\", \"type\": \"dog\", \"birthday\": \"2010-11-03\", \"medicalRecord\": \"bla bla bla\"}");
17+
Context context = null;
18+
19+
APIGatewayV2ProxyResponseEvent response = handler.handleRequest(request, context);
20+
}
21+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
appender.out.type = Console
2+
appender.out.name = out
3+
appender.out.layout.type = PatternLayout
4+
appender.out.layout.pattern = %d{DEFAULT} [%30.30t] %-30.30c{1} %-5p %m%n
5+
rootLogger.level = INFO
6+
rootLogger.appenderRef.out.ref = out

0 commit comments

Comments
 (0)