[cloud functions] Print request info when cloud function throws an exception.
Change-Id: I6e05d5d636d6ebf1261eddb4ac8ab670aea25bd6
Bug: https://github.com/dart-lang/dart_ci/issues/49
Reviewed-on: https://dart-review.googlesource.com/c/dart_ci/+/127281
Reviewed-by: Jonas Termansen <sortie@google.com>
diff --git a/functions/node/index.dart b/functions/node/index.dart
index 1242414..7a016c8 100644
--- a/functions/node/index.dart
+++ b/functions/node/index.dart
@@ -18,12 +18,16 @@
final results = (message.json as List).cast<Map<String, dynamic>>();
final first = results.first;
final String commit = first['commit_hash'];
-
- if (commit.startsWith('refs/changes')) {
- return Tryjob(commit, FirestoreServiceImpl(), http.NodeClient())
- .process(results);
- } else {
- return Build(commit, first, FirestoreServiceImpl(), http.NodeClient())
- .process(results);
+ try {
+ if (commit.startsWith('refs/changes')) {
+ return Tryjob(commit, FirestoreServiceImpl(), http.NodeClient())
+ .process(results);
+ } else {
+ return Build(commit, first, FirestoreServiceImpl(), http.NodeClient())
+ .process(results);
+ }
+ } catch (e) {
+ print('Exception when processing message. First record is:\n$first');
+ rethrow;
}
}