This namespace enables you to consume and implement metrics.
To consume a metric, begin with a declaration, then call the extension method MetricsExtensions.Metric. Afterward, call Get.
Class Diagram
classDiagram class IMeasurable { } class IDeclaration { } class IMetric~TMeasurable~ { } class YourCustomMetric { } class YourCustomMetricProvider { <<sdk>> } class IMetricProvider~TMetric~ { GetMetric(IMeasurable) } class Metrics~TMeasurable~ { Get() } class MetricsExtensions { <<extension class>> Metrics()$ } IMeasurable <-- MetricsExtensions : extension methods Metrics <-- MetricsExtensions : exposes IMetric~TMeasurable~ <-- Metrics : exposes IMeasurable <|-- IDeclaration : implements IMetric~TMeasurable~ <|-- YourCustomMetric : implements IMetricProvider~TMetric~ <|-- YourCustomMetricProvider : implements YourCustomMetric <-- YourCustomMetricProvider : computes IMetric~TMeasurable~ <-- IMetricProvider~TMetric~ : computes IMeasurable <-- IMetric~TMeasurable~ : applies to
Namespace members
Classes
MetricsExtensions
Exposes metrics to eligible objects.
Structs
Metrics<TMeasurable>
Exposes a Get<TExtension>() method, which computes and returns a metric for an eligible object.
Interfaces
IMeasurable
Base interface for objects that can be extended with metrics.
IMetric
A weakly-typed base interface for IMetric<T>. Never implement directly. Always implement IMetric<T>.
IMetricProvider<T>
Implements the computation or reading of a metric.
IMetric<T>
Base interface for all metrics. This interface exists only for strong typing. It does not have any members.