NV::Rules::IMetric
-
class IMetric
指标接口。
表示单个命名的指标。如果指标是实例化的指标,则可以携带一个或多个值。
公共类型
-
using Description = std::string
-
enum class MetricSubtype
指标子类型。
指示指标的子类型。子类型仅适用于硬件指标。其他指标类型在 Python 中具有子类型
None
。值
-
enumerator NONE
-
enumerator PEAK_SUSTAINED
-
enumerator PEAK_SUSTAINED_ACTIVE
-
enumerator PEAK_SUSTAINED_ACTIVE_PER_SECOND
-
enumerator PEAK_SUSTAINED_ELAPSED
-
enumerator PEAK_SUSTAINED_ELAPSED_PER_SECOND
-
enumerator PEAK_SUSTAINED_FRAME
-
enumerator PEAK_SUSTAINED_FRAME_PER_SECOND
-
enumerator PEAK_SUSTAINED_REGION
-
enumerator PEAK_SUSTAINED_REGION_PER_SECOND
-
enumerator PER_CYCLE_ACTIVE
-
enumerator PER_CYCLE_ELAPSED
-
enumerator PER_CYCLE_IN_FRAME
-
enumerator PER_CYCLE_IN_REGION
-
enumerator PER_SECOND
-
enumerator PCT_OF_PEAK_SUSTAINED_ACTIVE
-
enumerator PCT_OF_PEAK_SUSTAINED_ELAPSED
-
enumerator PCT_OF_PEAK_SUSTAINED_FRAME
-
enumerator PCT_OF_PEAK_SUSTAINED_REGION
-
enumerator MAX_RATE
-
enumerator PCT
-
enumerator RATIO
-
enumerator NONE
-
enum class MetricType
指标类型。
指示指标的类型。对于硬件指标,可能的值为
COUNTER
、RATIO
或THROUGHPUT
,对于所有其他类型(例如启动指标、设备属性),可能的值为OTHER
。值
-
enumerator OTHER
-
enumerator COUNTER
-
enumerator RATIO
-
enumerator THROUGHPUT
-
enumerator OTHER
-
enum class RollupOperation
汇总操作。
指示用于累积给定指标的多个值的操作类型。可能的值为
AVG
、MAX
、MIN
和SUM
,以及None
(如果未指定此类操作)。值
-
enumerator NONE
-
enumerator AVG
-
enumerator MAX
-
enumerator MIN
-
enumerator SUM
-
enumerator NONE
-
using Unit = std::string
公共函数
-
virtual double as_double() = 0
以 double 形式获取指标值。
以 double 形式获取指标值
-
virtual double as_double(size_t instance) = 0
以 double 形式从指标实例获取值。
以 double 形式获取指标实例
instance
的值
-
virtual const char *as_string() = 0
以字符串形式获取指标值。
以字符串形式获取指标值
-
virtual const char *as_string(size_t instance) = 0
以字符串形式从指标实例获取值。
以字符串形式获取指标实例
instance
的值
-
virtual uint64_t as_uint64() = 0
以 64 位整数形式获取指标值。
以 64 位整数形式获取指标值
-
virtual uint64_t as_uint64(size_t instance) = 0
以 64 位整数形式从指标实例获取值。
以 64 位整数形式获取指标实例
instance
的值
-
virtual IMetric *correlation_ids() = 0
获取此指标的实例值的关联 ID 的指标对象。
返回一个新的指标对象,表示指标实例值的关联 ID。使用 has_correlation_ids 检查此指标是否具有其实例值的关联 ID。关联 ID 用于将实例值与其值表示的“实例”相关联。在返回的新指标对象中,关联 ID 是该对象的实例值。
-
virtual Description description() const = 0
获取指标描述。
获取指标的文本描述
-
virtual bool has_correlation_ids() = 0
检查指标是否具有关联 ID。
如果为 true,则指标具有与其实例值匹配的关联 ID,可以使用 correlation_ids 访问这些关联 ID 。
-
virtual bool has_value() = 0
检查指标是否具有非实例化的值。
检查指标是否具有非实例化的值。如果为 true,则指标可能仍然具有实例值。
-
virtual bool has_value(ValueKind value_kind) = 0
检查指标是否具有特定类型的非实例化值。
检查指标是否具有特定
value_kind
的值。如果为 true,则指标可能仍然具有实例值。
-
virtual ValueKind kind(size_t instance) = 0
获取实例值的指标值类型。
获取其实例值
instance
的指标值类型。 num_instances 可用于检查实例值的总数。
-
virtual MetricSubtype metric_subtype() const = 0
获取指标子类型。
获取指标子类型
-
virtual MetricType metric_type() const = 0
获取指标类型。
获取指标类型
-
virtual const char *name() = 0
获取指标名称。
获取指标名称
-
virtual size_t num_instances() = 0
获取此指标的实例值数量。
获取此指标的实例值数量。并非所有指标都具有实例值。如果指标具有实例值,则它也可能具有与这些实例值匹配的 correlation_ids。
-
virtual RollupOperation rollup_operation() const = 0
获取汇总操作的类型。
获取汇总操作的类型
-
inline virtual ~IMetric()
-
using Description = std::string