Merge pull request #472 from RedBrogdon/warmup
Update warmup script to include Flutter requests
diff --git a/tool/warmup.dart b/tool/warmup.dart
index ff4fd25..1c0d4c9 100644
--- a/tool/warmup.dart
+++ b/tool/warmup.dart
@@ -7,14 +7,36 @@
import 'package:http/http.dart' as http;
-String uri;
-
const BASE_URI = 'dart-services.appspot.com/api/dartservices/v1/';
-// const BASE_URI = "localhost:8080/api/dartservices/v1/";
+
const count = 200;
-Future main(List<String> args) async {
+const dartSource =
+ "import 'dart:html'; void main() { var a = 3; var b = a.abs(); int c = 7;}";
+
+const flutterSource = """import 'package:flutter/material.dart';
+
+void main() {
+ final widget = Container(color: Colors.white);
+ runApp(widget);
+}
+""";
+
+const dartData = {'offset': 17, 'source': dartSource};
+const dartDocData = {'offset': 84, 'source': dartSource};
+const flutterData = {'offset': 96, 'source': flutterSource};
+const flutterDocData = {'offset': 93, 'source': flutterSource};
+
+final dartPayload = convert.json.encode(dartData);
+final dartDocPayload = convert.json.encode(dartDocData);
+final flutterPayload = convert.json.encode(flutterData);
+final flutterDocPayload = convert.json.encode(flutterDocData);
+
+String uri;
+
+Future<void> main(List<String> args) async {
String appPrefix;
+
if (args.isNotEmpty) {
appPrefix = '${args[0]}.';
} else {
@@ -27,36 +49,34 @@
print('Target URI\n$uri');
- String source =
- "import 'dart:html'; void main() { var a = 3; var b = a.abs(); int c = 7;}";
-
for (int j = 0; j < count; j++) {
- var data = {'offset': 17, 'source': source};
- var dartdocData = {'offset': 84, 'source': source};
-
- String postPayload = convert.json.encode(data);
- String postPayloadDartdoc = convert.json.encode(dartdocData);
-
- await request('complete', postPayload);
- await request('analyze', postPayload);
- await request('compile', postPayload);
- await request('document', postPayloadDartdoc);
+ await request('Dart', 'complete', dartPayload);
+ await request('Dart', 'analyze', dartPayload);
+ await request('Dart', 'compile', dartPayload);
+ await request('Dart', 'document', dartDocPayload);
+ await request('Flutter', 'complete', flutterPayload);
+ await request('Flutter', 'analyze', flutterPayload);
+ await request('Flutter', 'compileDDC', flutterPayload);
+ await request('Flutter', 'document', flutterDocPayload);
}
}
-Future request(String verb, String postPayload) async {
- Stopwatch sw = Stopwatch()..start();
+Future<int> request(String codeType, String verb, String postPayload) async {
+ final sw = Stopwatch()..start();
- var response = await http.post(Uri.parse(uri + verb),
- body: postPayload,
- headers: {'content-type': 'text/plain; charset=utf-8'});
+ final response = await http.post(
+ Uri.parse(uri + verb),
+ body: postPayload,
+ headers: {'content-type': 'text/plain; charset=utf-8'},
+ );
- int status = response.statusCode;
+ final status = response.statusCode;
if (status != 200) {
- print('$verb \t $status \t ${response.body} ${response.headers}');
+ print('$codeType $verb \t $status \t ${response.body} ${response.headers}');
} else {
- print('$verb \t ${sw.elapsedMilliseconds} \t $status');
+ print('$codeType $verb \t ${sw.elapsedMilliseconds} \t $status');
}
+
return response.statusCode;
}