• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License").
5  * You may not use this file except in compliance with the License.
6  * A copy of the License is located at
7  *
8  *  http://aws.amazon.com/apache2.0
9  *
10  * or in the "license" file accompanying this file. This file is distributed
11  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12  * express or implied. See the License for the specific language governing
13  * permissions and limitations under the License.
14  */
15 
16 package software.amazon.awssdk.benchmark.utils;
17 
18 import com.fasterxml.jackson.databind.ObjectMapper;
19 import java.time.Instant;
20 import java.time.LocalDateTime;
21 import java.time.ZoneOffset;
22 import software.amazon.awssdk.core.SdkBytes;
23 import software.amazon.awssdk.services.protocolec2.model.AllTypesRequest;
24 
25 /**
26  * Contains constants used by the benchmarks
27  */
28 @SuppressWarnings("unchecked")
29 public final class BenchmarkConstant {
30 
31     public static final String DEFAULT_JDK_SSL_PROVIDER = "jdk";
32     public static final String OPEN_SSL_PROVIDER = "openssl";
33 
34     public static final int CONCURRENT_CALLS = 50;
35 
36     public static final Instant TIMESTAMP_MEMBER = LocalDateTime.now().toInstant(ZoneOffset.UTC);
37 
38     public static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
39 
40     public static final String ERROR_JSON_BODY = "{}";
41 
42     public static final String JSON_BODY = "{\"StringMember\":\"foo\",\"IntegerMember\":123,\"BooleanMember\":true,"
43                                            + "\"FloatMember\":123.0,\"DoubleMember\":123.9,\"LongMember\":123,"
44                                            + "\"SimpleList\":[\"so simple\"],"
45                                            + "\"ListOfStructs\":[{\"StringMember\":\"listOfStructs1\"}],"
46                                            + "\"TimestampMember\":1540982918.887,"
47                                            + "\"StructWithNestedTimestampMember\":{\"NestedTimestamp\":1540982918.908},"
48                                            + "\"BlobArg\":\"aGVsbG8gd29ybGQ=\"}";
49 
50     public static final String XML_BODY = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><AllTypesResponse "
51                                           + "xmlns=\"https://restxml/\"><stringMember>foo</stringMember><integerMember>123"
52                                           + "</integerMember><booleanMember>true</booleanMember><floatMember>123"
53                                           + ".0</floatMember><doubleMember>123"
54                                           + ".9</doubleMember><longMember>123</longMember><simpleList><member>so "
55                                           + "simple</member></simpleList><listOfStructs><member><StringMember>listOfStructs1"
56                                           + "</StringMember></member></listOfStructs><timestampMember>2018-10-31T10:51:12"
57                                           + ".302183Z</timestampMember><structWithNestedTimestampMember><NestedTimestamp>2018"
58                                           + "-10-31T10:51:12.311305Z</NestedTimestamp></structWithNestedTimestampMember"
59                                           + "><blobArg>aGVsbG8gd29ybGQ=</blobArg></AllTypesResponse>";
60 
61     public static final String ERROR_XML_BODY = "<ErrorResponse>"
62                                                 + "   <Error>"
63                                                 + "      <Code>ImplicitPayloadException</Code>"
64                                                 + "      <Message>this is the service message</Message>"
65                                                 + "      <StringMember>foo</StringMember>"
66                                                 + "      <IntegerMember>42</IntegerMember>"
67                                                 + "      <LongMember>9001</LongMember>"
68                                                 + "      <DoubleMember>1234.56</DoubleMember>"
69                                                 + "      <FloatMember>789.10</FloatMember>"
70                                                 + "      <TimestampMember>2015-01-25T08:00:12Z</TimestampMember>"
71                                                 + "      <BooleanMember>true</BooleanMember>"
72                                                 + "      <BlobMember>dGhlcmUh</BlobMember>"
73                                                 + "      <ListMember>"
74                                                 + "         <member>valOne</member>"
75                                                 + "         <member>valTwo</member>"
76                                                 + "      </ListMember>"
77                                                 + "      <MapMember>"
78                                                 + "         <entry>"
79                                                 + "            <key>keyOne</key>"
80                                                 + "            <value>valOne</value>"
81                                                 + "         </entry>"
82                                                 + "         <entry>"
83                                                 + "            <key>keyTwo</key>"
84                                                 + "            <value>valTwo</value>"
85                                                 + "         </entry>"
86                                                 + "      </MapMember>"
87                                                 + "      <SimpleStructMember>"
88                                                 + "         <StringMember>foobar</StringMember>"
89                                                 + "      </SimpleStructMember>"
90                                                 + "   </Error>"
91                                                 + "</ErrorResponse>";
92 
93     public static final software.amazon.awssdk.services.protocolrestxml.model.AllTypesRequest XML_ALL_TYPES_REQUEST =
94         software.amazon.awssdk.services.protocolrestxml.model.AllTypesRequest.builder()
95                                                                              .stringMember("foo")
96                                                                              .integerMember(123)
97                                                                              .booleanMember(true)
98                                                                              .floatMember(123.0f)
99                                                                              .doubleMember(123.9)
100                                                                              .longMember(123L)
101                                                                              .simpleStructMember(b -> b.stringMember(
102                                                                                  "bar"))
103                                                                              .simpleList("so simple")
104                                                                              .listOfStructs(b -> b.stringMember(
105                                                                                  "listOfStructs1").stringMember(
106                                                                                  "listOfStructs1"))
107                                                                              .timestampMember(
108                                                                                  TIMESTAMP_MEMBER)
109                                                                              .structWithNestedTimestampMember(
110                                                                                  b -> b.nestedTimestamp(TIMESTAMP_MEMBER))
111                                                                              .blobArg(SdkBytes.fromUtf8String("hello "
112                                                                                                               + "world"))
113                                                                              .build();
114     public static final software.amazon.awssdk.services.protocolquery.model.AllTypesRequest QUERY_ALL_TYPES_REQUEST =
115         software.amazon.awssdk.services.protocolquery.model.AllTypesRequest.builder()
116                                                                            .stringMember("foo")
117                                                                            .integerMember(123)
118                                                                            .booleanMember(true)
119                                                                            .floatMember(123.0f)
120                                                                            .doubleMember(123.9)
121                                                                            .longMember(123L)
122                                                                            .simpleStructMember(b -> b.stringMember(
123                                                                                "bar"))
124                                                                            .simpleList("so simple")
125                                                                            .listOfStructs(b -> b.stringMember(
126                                                                                "listOfStructs1").stringMember(
127                                                                                "listOfStructs1"))
128                                                                            .timestampMember(
129                                                                                TIMESTAMP_MEMBER)
130                                                                            .structWithNestedTimestampMember(
131                                                                                b -> b.nestedTimestamp(
132                                                                                    TIMESTAMP_MEMBER))
133                                                                            .blobArg(SdkBytes.fromUtf8String("hello " +
134                                                                                                             "world"))
135                                                                            .build();
136 
137 
138     public static final software.amazon.awssdk.services.protocolrestjson.model.AllTypesRequest JSON_ALL_TYPES_REQUEST =
139         software.amazon.awssdk.services.protocolrestjson.model.AllTypesRequest.builder()
140                                                                               .stringMember("foo")
141                                                                               .integerMember(123)
142                                                                               .booleanMember(true)
143                                                                               .floatMember(123.0f)
144                                                                               .doubleMember(123.9)
145                                                                               .longMember(123L)
146                                                                               .simpleList("so simple")
147                                                                               .listOfStructs(b -> b.stringMember(
148                                                                                   "listOfStructs1").stringMember(
149                                                                                   "listOfStructs1"))
150                                                                               .timestampMember(
151                                                                                   TIMESTAMP_MEMBER)
152                                                                               .structWithNestedTimestampMember(
153                                                                                   b -> b.nestedTimestamp(
154                                                                                       TIMESTAMP_MEMBER))
155                                                                               .blobArg(SdkBytes.fromUtf8String("hello "
156                                                                                                                + "world"))
157                                                                               .build();
158     public static final AllTypesRequest EC2_ALL_TYPES_REQUEST =
159         AllTypesRequest.builder()
160                        .stringMember("foo")
161                        .integerMember(123)
162                        .booleanMember(true)
163                        .floatMember(123.0f)
164                        .doubleMember(123.9)
165                        .longMember(123L)
166                        .simpleStructMember(b -> b.stringMember(
167                            "bar"))
168                        .simpleList("so simple")
169                        .listOfStructs(b -> b.stringMember(
170                            "listOfStructs1").stringMember(
171                            "listOfStructs1"))
172                        .timestampMember(TIMESTAMP_MEMBER)
173                        .structWithNestedTimestampMember(b -> b.nestedTimestamp(
174                            TIMESTAMP_MEMBER))
175                        .blobArg(SdkBytes.fromUtf8String("hello "
176                                                         + "world"))
177                        .build();
178 
BenchmarkConstant()179     private BenchmarkConstant() {
180     }
181 }
182