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
enum class MetricType

指标类型。

指示指标的类型。对于硬件指标,可能的值为 COUNTERRATIOTHROUGHPUT,对于所有其他类型(例如启动指标、设备属性),可能的值为 OTHER

enumerator OTHER
enumerator COUNTER
enumerator RATIO
enumerator THROUGHPUT
enum class RollupOperation

汇总操作。

指示用于累积给定指标的多个值的操作类型。可能的值为 AVGMAXMINSUM,以及 None(如果未指定此类操作)。

enumerator NONE
enumerator AVG
enumerator MAX
enumerator MIN
enumerator SUM
using Unit = std::string
enum class ValueKind

指标值类型。

指示指标值、指标实例值或关联 ID 的类型(或种类)。

enumerator UNKNOWN
enumerator ANY
enumerator STRING
enumerator FLOAT
enumerator DOUBLE
enumerator UINT32
enumerator UINT64

公共函数

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() = 0

获取指标值的类型。

获取指标值的类型

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

获取汇总操作的类型。

获取汇总操作的类型

virtual Unit unit() const = 0

获取指标单位。

获取指标单位

inline virtual ~IMetric()