|
CIRCT 22.0.0git
|
A telemetry port which gets attached to a service port. More...
#include <Services.h>


Public Member Functions | |
| void | connect () |
| Connect to a particular telemetry port. Offset should be non-nullopt. | |
| std::future< MessageData > | read () |
| uint64_t | readInt () |
| virtual std::optional< std::string > | toString () const override |
Public Member Functions inherited from esi::services::ServicePort | |
| virtual | ~ServicePort ()=default |
| BundlePort (AppID id, const BundleType *type, PortMap channels) | |
| Construct a port. | |
Public Member Functions inherited from esi::BundlePort | |
| BundlePort (AppID id, const BundleType *type, PortMap channels) | |
| Construct a port. | |
| virtual | ~BundlePort ()=default |
| AppID | getID () const |
| Get the ID of the port. | |
| WriteChannelPort & | getRawWrite (const std::string &name) const |
| Get access to the raw byte streams of a channel. | |
| ReadChannelPort & | getRawRead (const std::string &name) const |
| const PortMap & | getChannels () const |
| template<typename T > | |
| T * | getAs () const |
| Cast this Bundle port to a subclass which is actually useful. | |
| bool | poll () |
Calls poll on all channels in the bundle and returns true if any of them returned true. | |
Private Member Functions | |
| Metric (AppID id, const BundleType *type, PortMap channels, const TelemetryService *telemetryService, std::optional< uint64_t > offset) | |
Private Attributes | |
| const TelemetryService * | telemetryService |
| MMIO::MMIORegion * | mmio |
| std::optional< uint64_t > | offset |
Friends | |
| class | TelemetryService |
Additional Inherited Members | |
Static Public Member Functions inherited from esi::BundlePort | |
| static bool | isWrite (BundleType::Direction bundleDir) |
| Compute the direction of a channel given the bundle direction and the bundle port's direction. | |
Protected Attributes inherited from esi::BundlePort | |
| AppID | id |
| const BundleType * | type |
| PortMap | channels |
A telemetry port which gets attached to a service port.
Definition at line 386 of file Services.h.
|
private |
Definition at line 370 of file Services.cpp.
| void TelemetryService::Metric::connect | ( | ) |
Connect to a particular telemetry port. Offset should be non-nullopt.
Definition at line 378 of file Services.cpp.
References assert(), esi::services::TelemetryService::mmio, and esi::toString().
Referenced by aggregateHostmemBandwidthTest(), hostmemReadBandwidthTest(), hostmemWriteBandwidthTest(), and PYBIND11_MODULE().
| std::future< MessageData > TelemetryService::Metric::read | ( | ) |
Definition at line 385 of file Services.cpp.
References esi::MessageData::from().
Referenced by PYBIND11_MODULE().
| uint64_t TelemetryService::Metric::readInt | ( | ) |
Definition at line 392 of file Services.cpp.
References assert(), esi::services::TelemetryService::mmio, and esi::services::MMIO::MMIORegion::read().
Referenced by hostmemReadBandwidthTest(), hostmemWriteBandwidthTest(), and PYBIND11_MODULE().
|
inlineoverridevirtual |
Reimplemented from esi::services::ServicePort.
Definition at line 397 of file Services.h.
References esi::BundleType::findChannel(), esi::Type::getID(), and esi::BundlePort::type.
|
friend |
Definition at line 387 of file Services.h.
|
private |
Definition at line 406 of file Services.h.
|
private |
Definition at line 407 of file Services.h.
|
private |
Definition at line 405 of file Services.h.