Compress the binary_size.pb artifact
Bug: 183934389 Test: m out/soong/binary_sizes.pb.gz Change-Id: Ib79fd9cd82c7029f3ee409df91697797a8be7d06
This commit is contained in:
@@ -23,7 +23,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const bloatyDescriptorExt = ".bloaty.csv"
|
const bloatyDescriptorExt = ".bloaty.csv"
|
||||||
const protoFilename = "binary_sizes.pb"
|
const protoFilename = "binary_sizes.pb.gz"
|
||||||
|
|
||||||
var (
|
var (
|
||||||
fileSizeMeasurerKey blueprint.ProviderKey
|
fileSizeMeasurerKey blueprint.ProviderKey
|
||||||
|
@@ -16,12 +16,13 @@
|
|||||||
Merges a list of .csv files from Bloaty into a protobuf. It takes the list as
|
Merges a list of .csv files from Bloaty into a protobuf. It takes the list as
|
||||||
a first argument and the output as second. For instance:
|
a first argument and the output as second. For instance:
|
||||||
|
|
||||||
$ bloaty_merger binary_sizes.lst binary_sizes.pb
|
$ bloaty_merger binary_sizes.lst binary_sizes.pb.gz
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import csv
|
import csv
|
||||||
|
import gzip
|
||||||
|
|
||||||
import ninja_rsp
|
import ninja_rsp
|
||||||
|
|
||||||
@@ -57,7 +58,8 @@ def create_file_size_metrics(input_list, output_proto):
|
|||||||
Args:
|
Args:
|
||||||
input_list: The path to the file which contains the list of CSV files. Each
|
input_list: The path to the file which contains the list of CSV files. Each
|
||||||
filepath is separated by a space.
|
filepath is separated by a space.
|
||||||
output_proto: The path for the output protobuf.
|
output_proto: The path for the output protobuf. It will be compressed using
|
||||||
|
gzip.
|
||||||
"""
|
"""
|
||||||
metrics = file_sections_pb2.FileSizeMetrics()
|
metrics = file_sections_pb2.FileSizeMetrics()
|
||||||
reader = ninja_rsp.NinjaRspFileReader(input_list)
|
reader = ninja_rsp.NinjaRspFileReader(input_list)
|
||||||
@@ -65,7 +67,7 @@ def create_file_size_metrics(input_list, output_proto):
|
|||||||
file_proto = parse_csv(csv_path)
|
file_proto = parse_csv(csv_path)
|
||||||
if file_proto:
|
if file_proto:
|
||||||
metrics.files.append(file_proto)
|
metrics.files.append(file_proto)
|
||||||
with open(output_proto, "wb") as output:
|
with gzip.open(output_proto, "wb") as output:
|
||||||
output.write(metrics.SerializeToString())
|
output.write(metrics.SerializeToString())
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
@@ -11,6 +11,7 @@
|
|||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
import gzip
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from pyfakefs import fake_filesystem_unittest
|
from pyfakefs import fake_filesystem_unittest
|
||||||
@@ -53,10 +54,10 @@ class BloatyMergerTestCase(fake_filesystem_unittest.TestCase):
|
|||||||
self.fs.create_file("file1.bloaty.csv", contents=file1_content)
|
self.fs.create_file("file1.bloaty.csv", contents=file1_content)
|
||||||
self.fs.create_file("file2.bloaty.csv", contents=file2_content)
|
self.fs.create_file("file2.bloaty.csv", contents=file2_content)
|
||||||
|
|
||||||
bloaty_merger.create_file_size_metrics("files.lst", "output.pb")
|
bloaty_merger.create_file_size_metrics("files.lst", "output.pb.gz")
|
||||||
|
|
||||||
metrics = file_sections_pb2.FileSizeMetrics()
|
metrics = file_sections_pb2.FileSizeMetrics()
|
||||||
with open("output.pb", "rb") as output:
|
with gzip.open("output.pb.gz", "rb") as output:
|
||||||
metrics.ParseFromString(output.read())
|
metrics.ParseFromString(output.read())
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user