bencher.variables.time ====================== .. py:module:: bencher.variables.time Classes ------- .. autoapisummary:: bencher.variables.time.TimeBase bencher.variables.time.TimeSnapshot bencher.variables.time.TimeEvent Module Contents --------------- .. py:class:: TimeBase(objects=None, default=None, instantiate=False, compute_default_fn=None, check_on_set=None, allow_None=None, empty_default=False, **params) Bases: :py:obj:`bencher.variables.sweep_base.SweepBase`, :py:obj:`param.Selector` A class to capture a time snapshot of benchmark values. Time is represent as a continuous value i.e a datetime which is converted into a np.datetime64. To represent time as a discrete value use the TimeEvent class. The distinction is because holoview and plotly code makes different assumptions about discrete vs continuous variables .. py:attribute:: __slots__ :value: ['units', 'samples', 'optimize'] .. py:method:: values() -> list[str] return all the values for a parameter sweep. If debug is true return a reduced list .. py:class:: TimeSnapshot(datetime_src: datetime.datetime | str, units: str = 'time', samples: int | None = None, **params) Bases: :py:obj:`TimeBase` A class to capture a time snapshot of benchmark values. Time is represent as a continuous value i.e a datetime which is converted into a np.datetime64. To represent time as a discrete value use the TimeEvent class. The distinction is because holoview and plotly code makes different assumptions about discrete vs continuous variables .. py:attribute:: __slots__ :value: ['units', 'samples', 'optimize'] .. py:attribute:: units :value: 'time' .. py:attribute:: optimize :value: False .. py:class:: TimeEvent(time_event: str, units: str = 'event', samples: int | None = None, **params) Bases: :py:obj:`TimeBase` A class to represent a discrete event in time where the data was captured i.e a series of pull requests. Here time is discrete and can't be interpolated, to represent time as a continuous value use the TimeSnapshot class. The distinction is because holoview and plotly code makes different assumptions about discrete vs continuous variables .. py:attribute:: __slots__ :value: ['units', 'samples', 'optimize'] .. py:attribute:: units :value: 'event' .. py:attribute:: optimize :value: False