Compono.Metrics.CompositionBuilderExtensions.UseMetrics(thisCompono.CompositionBuilder)
Compono.Metrics¶
Compono.Metrics.CompositionBuilderExtensions¶
CompositionBuilderExtensions.UseMetrics(this CompositionBuilder) Method¶
Registers a stage-6 test-double provider (Compono.Metrics.MetricsProvider) so a bare System.Diagnostics.Metrics.IMeterFactory composes as a new CapturingMeterFactory per request.
Parameters¶
builder CompositionBuilder
The builder to register into.
Returns¶
CompositionBuilder
The same builder, for chaining.
Exceptions¶
System.ArgumentNullException
builder is null.
Remarks¶
Register this beforeUseNSubstitute() or any other catch-all test-double provider if System.Diagnostics.Metrics.IMeterFactory should resolve through Compono.Metrics rather than a substitute - Compono's stage-6 providers resolve in registration order (first-registered-wins), an existing, documented, Accepted pattern (ADR-0024) this package follows rather than replacing. An exact Register<IMeterFactory>(...) always wins over UseMetrics() regardless of order.
Order against UseGeneratedTestDoubles() doesn't matter while ComponoMetricsOwnsMeterFactory is enabled (the default whenever Compono.Metrics is referenced): System.Diagnostics.Metrics.IMeterFactory is then Metrics-owned and Compono.TestDoubles never generates a double for it. The same default means a composer that calls UseGeneratedTestDoubles() without UseMetrics() gets no System.Diagnostics.Metrics.IMeterFactory double at all. See docs/adr/0072-compono-metrics-testing-support-package.md Amendment 5.