1#!/usr/bin/env python3 2# Copyright (C) 2023 The Android Open Source Project 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# You may obtain a copy of the License a 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16from python.generators.diff_tests.testing import DataPath, Path 17from python.generators.diff_tests.testing import MetricV2SpecTextproto 18from python.generators.diff_tests.testing import DiffTestBlueprint 19from python.generators.diff_tests.testing import TestSuite 20 21 22class SummaryMetricsV2(TestSuite): 23 24 def test_smoke_metric_v2(self): 25 return DiffTestBlueprint( 26 trace=DataPath('android_postboot_unlock.pftrace'), 27 query=MetricV2SpecTextproto(''' 28 id: "memory_per_process" 29 dimensions: "process_name" 30 value: "avg_rss_and_swap" 31 query: { 32 table: { 33 table_name: "memory_rss_and_swap_per_process" 34 module_name: "linux.memory.process" 35 } 36 group_by: { 37 column_names: "process_name" 38 aggregates: { 39 column_name: "rss_and_swap" 40 op: DURATION_WEIGHTED_MEAN 41 result_column_name: "avg_rss_and_swap" 42 } 43 } 44 } 45 '''), 46 out=Path('smoke_metric_v2.out')) 47