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.