Skip to main content

chronon::observe::TimelineCounter

Push-model counter track: explicit samples on the Perfetto timeline. More...

#include <TimelineTrack.hpp>

Inherits from chronon::observe::TimelineTrackBase

Public Functions

Name
voidsample(int64_t value)
TimelineCounter(ObservableUnit * owner, std::string_view name, std::string_view unit ={})

Additional inherited members

Public Functions inherited from chronon::observe::TimelineTrackBase

Name
uint32_ttrackId() const
TimelineTrackBase &operator=(const TimelineTrackBase & ) =delete
const std::string &name() const
boolisRegistered() const
TimelineTrackBase(ObservableUnit * owner, std::string_view name, std::string_view unit, uint16_t lanes, TimelineTrackInfo::Kind kind)
TimelineTrackBase(const TimelineTrackBase & ) =delete

Protected Functions inherited from chronon::observe::TimelineTrackBase

Name
voidstampCycle_()
Stamps the owner's cycle into the context (same as ObservableUnit::trace).

Protected Attributes inherited from chronon::observe::TimelineTrackBase

Name
std::stringunit_
uint32_ttrack_id_
boolregistered_
ObservableUnit *owner_
std::stringname_
uint16_tlanes_
TimelineTrackInfo::Kindkind_
ObservationContext *ctx_

Friends inherited from chronon::observe::TimelineTrackBase

Name
classObservableUnit

Detailed Description

class chronon::observe::TimelineCounter;

Push-model counter track: explicit samples on the Perfetto timeline.

Independent of the pull-model Counter/counters.csv machinery — sample() is an event through the trace channel, so temporal filters apply and lookahead rollback discards speculative samples.

TimelineCounter occ_{this, "lsq_occupancy", "entries"};
occ_.sample(lsq_.size());

Public Functions Documentation

function sample

inline void sample(
int64_t value
)

function TimelineCounter

inline TimelineCounter(
ObservableUnit * owner,
std::string_view name,
std::string_view unit ={}
)

Updated on 2026-06-12 at 09:16:39 +0000