<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft.Extensions.Diagnostics</name>
    </assembly>
    <members>
        <member name="T:Microsoft.Extensions.Diagnostics.Metrics.Configuration.IMetricListenerConfigurationFactory">
            <summary>
            Used to retrieve the metrics configuration for any listener name.
            </summary>
        </member>
        <member name="M:Microsoft.Extensions.Diagnostics.Metrics.Configuration.IMetricListenerConfigurationFactory.GetConfiguration(System.String)">
            <summary>
            Gets the configuration for the given listener.
            </summary>
            <param name="listenerName">The name of listener.</param>
            <returns>The configuration for this listener type.</returns>
        </member>
        <member name="T:Microsoft.Extensions.Diagnostics.Metrics.MetricsBuilderConfigurationExtensions">
            <summary>
            Extensions for <see cref="T:Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder"/> for enabling metrics based on <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Extensions.Diagnostics.Metrics.MetricsBuilderConfigurationExtensions.AddConfiguration(Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder,Microsoft.Extensions.Configuration.IConfiguration)">
            <summary>
            Reads metrics configuration from the provided <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> section and configures
            which <see cref="T:System.Diagnostics.Metrics.Meter">Meters</see>, <see cref="T:System.Diagnostics.Metrics.Instrument">Instruments</see>, and <see cref="T:Microsoft.Extensions.Diagnostics.Metrics.IMetricsListener">IMetricsListeners</see> are enabled.
            </summary>
            <param name="builder">The <see cref="T:Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder"/>.</param>
            <param name="configuration">The <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> section to load.</param>
            <returns>The original <see cref="T:Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder"/> for chaining.</returns>
        </member>
        <member name="T:Microsoft.Extensions.Diagnostics.Metrics.ConsoleMetrics">
            <summary>
            Provides constants for the Console metrics listener.
            </summary>
        </member>
        <member name="P:Microsoft.Extensions.Diagnostics.Metrics.ConsoleMetrics.DebugListenerName">
            <summary>
            Gets the name of the listener used in configuration and enabling instruments.
            </summary>
        </member>
        <member name="T:Microsoft.Extensions.Diagnostics.Metrics.MetricsBuilderConsoleExtensions">
            <summary>
            IMetricsBuilder extension methods for console output.
            </summary>
        </member>
        <member name="M:Microsoft.Extensions.Diagnostics.Metrics.MetricsBuilderConsoleExtensions.AddDebugConsole(Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder)">
            <summary>
            Enables console output for metrics for debugging purposes. This is not recommended for production use.
            </summary>
            <param name="builder">The metrics builder.</param>
            <returns>The original metrics builder for chaining.</returns>
        </member>
        <member name="T:Microsoft.Extensions.DependencyInjection.MetricsServiceExtensions">
            <summary>
            Extension methods for setting up metrics services in an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
            </summary>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.MetricsServiceExtensions.AddMetrics(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
            <summary>
            Adds metrics services to the specified <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
            </summary>
            <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param>
            <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.MetricsServiceExtensions.AddMetrics(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder})">
            <summary>
            Adds metrics services to the specified <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
            </summary>
            <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param>
            <param name="configure">A callback to configure the <see cref="T:Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder"/>.</param>
            <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
        </member>
        <member name="M:System.Diagnostics.DiagnosticsHelper.CompareTags(System.Collections.Generic.IList{System.Collections.Generic.KeyValuePair{System.String,System.Object}},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Object}})">
            <summary>
            Compares two tag collections for equality.
            </summary>
            <param name="sortedTags">The first collection of tags. it has to be a sorted List</param>
            <param name="tags2">The second collection of tags. This one doesn't have to be sorted nor be specific collection type</param>
            <returns>True if the two collections are equal, false otherwise</returns>
            <remarks>
            This method is used to compare two collections of tags for equality. The first collection is expected to be a sorted array
            of tags. The second collection can be any collection of tags.
            we avoid the allocation of a new array by using the second collection as is and not converting it to an array. the reason
            is we call this every time we try to create a meter or instrument and we don't want to allocate a new array every time.
            </remarks>
        </member>
        <member name="M:System.ThrowHelper.ThrowIfNull(System.Object,System.String)">
            <summary>Throws an <see cref="T:System.ArgumentNullException"/> if <paramref name="argument"/> is null.</summary>
            <param name="argument">The reference type argument to validate as non-null.</param>
            <param name="paramName">The name of the parameter with which <paramref name="argument"/> corresponds.</param>
        </member>
        <member name="M:System.ThrowHelper.IfNullOrWhitespace(System.String,System.String)">
            <summary>
            Throws either an <see cref="T:System.ArgumentNullException"/> or an <see cref="T:System.ArgumentException"/>
            if the specified string is <see langword="null"/> or whitespace respectively.
            </summary>
            <param name="argument">String to be checked for <see langword="null"/> or whitespace.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="P:System.SR.InvalidScope">
            <summary>The meter factory does not allow a custom scope value when creating a meter.</summary>
        </member>
        <member name="P:System.SR.MoreThanOneWildcard">
            <summary>Only one wildcard character is allowed in category name.</summary>
        </member>
    </members>
</doc>
