1*8975f5c5SAndroid Build Coastguard Worker#!/usr/bin/env vpython3 2*8975f5c5SAndroid Build Coastguard Worker 3*8975f5c5SAndroid Build Coastguard Worker# Copyright 2024 The Chromium Authors 4*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 5*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file. 6*8975f5c5SAndroid Build Coastguard Worker""" A metric implementation to count the number of inputs. """ 7*8975f5c5SAndroid Build Coastguard Worker 8*8975f5c5SAndroid Build Coastguard Workerfrom measure import Measure 9*8975f5c5SAndroid Build Coastguard Workerfrom test_script_metrics_pb2 import TestScriptMetric 10*8975f5c5SAndroid Build Coastguard Worker 11*8975f5c5SAndroid Build Coastguard Worker 12*8975f5c5SAndroid Build Coastguard Workerclass Count(Measure): 13*8975f5c5SAndroid Build Coastguard Worker 14*8975f5c5SAndroid Build Coastguard Worker def __init__(self, name: str) -> None: 15*8975f5c5SAndroid Build Coastguard Worker self._name = name 16*8975f5c5SAndroid Build Coastguard Worker self._count = 0 17*8975f5c5SAndroid Build Coastguard Worker 18*8975f5c5SAndroid Build Coastguard Worker def record(self) -> None: 19*8975f5c5SAndroid Build Coastguard Worker self._count += 1 20*8975f5c5SAndroid Build Coastguard Worker 21*8975f5c5SAndroid Build Coastguard Worker def dump(self) -> TestScriptMetric: 22*8975f5c5SAndroid Build Coastguard Worker result = TestScriptMetric() 23*8975f5c5SAndroid Build Coastguard Worker result.name = self._name 24*8975f5c5SAndroid Build Coastguard Worker result.value = self._count 25*8975f5c5SAndroid Build Coastguard Worker return result 26