#!/usr/bin/env vpython3 # Copyright 2024 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """ A metric implementation to record the raw inputs. """ from google.protobuf.timestamp_pb2 import Timestamp from measure import Measure from test_script_metrics_pb2 import TestScriptMetric class DataPoints(Measure): def __init__(self, name: str) -> None: self._name = name self._points = [] def record(self, value: float) -> None: point = TestScriptMetric.DataPoint() point.value = value # The function name is confusing, it updates itself to the current time. point.timestamp.GetCurrentTime() self._points.append(point) def dump(self) -> TestScriptMetric: result = TestScriptMetric() result.name = self._name result.points.points.extend(self._points) return result