Expose file size from log file reader classes

Change-Id: Ib826c4405ba78e9e1ab37dfd1893d67fc08a7522
Signed-off-by: James Kuszmaul <james.kuszmaul@bluerivertech.com>
diff --git a/aos/events/logging/s3_fetcher.cc b/aos/events/logging/s3_fetcher.cc
index f44a20b..4207286 100644
--- a/aos/events/logging/s3_fetcher.cc
+++ b/aos/events/logging/s3_fetcher.cc
@@ -179,22 +179,25 @@
   get_next_chunk_ = GetS3Client().GetObjectCallable(get_request);
 }
 
-std::vector<std::string> ListS3Objects(std::string_view url) {
+std::vector<std::pair<std::string, size_t>> ListS3Objects(
+    std::string_view url) {
   Aws::S3::Model::ListObjectsV2Request list_request;
   const ObjectName object_name = ParseUrl(url);
   list_request.SetBucket(object_name.bucket);
   list_request.SetPrefix(object_name.key);
   Aws::S3::Model::ListObjectsV2Outcome list_outcome =
       GetS3Client().ListObjectsV2(list_request);
-  std::vector<std::string> result;
+  std::vector<std::pair<std::string, size_t>> result;
   while (true) {
     CHECK(list_outcome.IsSuccess()) << ": Listing objects for " << url
                                     << " failed: " << list_outcome.GetError();
     auto &list_result = list_outcome.GetResult();
     for (const Aws::S3::Model::Object &object : list_result.GetContents()) {
-      result.push_back(absl::StrCat("s3://", list_outcome.GetResult().GetName(),
-                                    "/", object.GetKey()));
-      VLOG(2) << "got " << result.back();
+      result.emplace_back(
+          absl::StrCat("s3://", list_outcome.GetResult().GetName(), "/",
+                       object.GetKey()),
+          object.GetSize());
+      VLOG(2) << "got " << result.back().first;
     }
     if (!list_result.GetIsTruncated()) {
       break;