├── .editorconfig ├── .gitattributes ├── .github └── workflows │ └── publish.yml ├── .gitignore ├── Directory.Build.props ├── Directory.Build.targets ├── Finite.Metrics.sln ├── LICENSE ├── docs ├── README.md └── TODO.md ├── src ├── Abstractions │ ├── Finite.Metrics.Abstractions.csproj │ ├── IMetric.cs │ ├── IMetricFactory.cs │ ├── IMetricProvider.cs │ ├── MetricExtensions.cs │ ├── TagValues.Properties.cs │ └── TagValues.cs ├── Configuration │ ├── Finite.Metrics.Configuration.csproj │ ├── IMetricProviderConfiguration.cs │ ├── IMetricProviderConfigurationFactory.cs │ ├── MetricProviderConfiguration.cs │ ├── MetricProviderConfigurationFactory.cs │ ├── MetricProviderConfigureOptions.cs │ ├── MetricProviderOptions.cs │ ├── MetricProviderOptionsChangeTokenSource.cs │ ├── MetricsBuilderConfigurationExtensions.cs │ └── MetricsConfiguration.cs ├── Core │ ├── Finite.Metrics.csproj │ ├── IMetricsBuilder.cs │ ├── Measure.Duration.cs │ ├── Metric.cs │ ├── MetricFactory.cs │ ├── MetricsBuilder.cs │ └── MetricsServiceCollectionExtensions.cs ├── Directory.Build.props ├── Directory.Build.targets └── Providers │ └── OpenTsdb │ ├── DefaultSystemClock.cs │ ├── Finite.Metrics.OpenTsdb.csproj │ ├── ISystemClock.cs │ ├── MetricsBuilderTsdbExtensions.cs │ ├── OpenTsdbMetricsOptions.cs │ ├── TsdbMetric.cs │ ├── TsdbMetricProvider.cs │ ├── TsdbMetricsUploader.cs │ ├── TsdbPutRequest.cs │ └── TsdbPutResponse.cs └── tests ├── Configuration ├── Finite.Metrics.Configuration.UnitTests.csproj ├── MetricProviderConfiguration.Tests.cs ├── MetricProviderConfigurationFactory.Tests.cs ├── MetricProviderConfigureOptions.Tests.cs ├── MetricProviderOptions.Tests.cs ├── MetricProviderOptionsChangeTokenSource.Tests.cs ├── MetricsBuilderConfigurationExtensions.Tests.cs ├── ThrowingOptions.cs └── ThrowingProvider.cs ├── Core ├── DisabledAndThrowingMetric.cs ├── EnabledButThrowingMetric.cs ├── EnabledNonThrowingMetric.cs ├── Finite.Metrics.UnitTests.csproj ├── Measure.Duration.Tests.cs ├── Metric.Tests.cs ├── MetricFactory.Tests.cs ├── MetricsServiceCollectionExtensions.Tests.cs ├── NonThrowingMetricProvider.cs ├── ThrowingMetric.cs └── ThrowingMetricProvider.cs ├── Directory.Build.props ├── Directory.Build.targets └── Providers └── OpenTsdb ├── DummyHttpMessageHandler.cs ├── Finite.Metrics.OpenTsdb.UnitTests.csproj ├── MetricsBuilderTsdbExtensions.Tests.cs ├── OpenTsdbProvider.Tests.cs └── TestSystemClock.cs /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/.github/workflows/publish.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/.gitignore -------------------------------------------------------------------------------- /Directory.Build.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/Directory.Build.props -------------------------------------------------------------------------------- /Directory.Build.targets: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/Directory.Build.targets -------------------------------------------------------------------------------- /Finite.Metrics.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/Finite.Metrics.sln -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/LICENSE -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/docs/TODO.md -------------------------------------------------------------------------------- /src/Abstractions/Finite.Metrics.Abstractions.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Abstractions/Finite.Metrics.Abstractions.csproj -------------------------------------------------------------------------------- /src/Abstractions/IMetric.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Abstractions/IMetric.cs -------------------------------------------------------------------------------- /src/Abstractions/IMetricFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Abstractions/IMetricFactory.cs -------------------------------------------------------------------------------- /src/Abstractions/IMetricProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Abstractions/IMetricProvider.cs -------------------------------------------------------------------------------- /src/Abstractions/MetricExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Abstractions/MetricExtensions.cs -------------------------------------------------------------------------------- /src/Abstractions/TagValues.Properties.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Abstractions/TagValues.Properties.cs -------------------------------------------------------------------------------- /src/Abstractions/TagValues.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Abstractions/TagValues.cs -------------------------------------------------------------------------------- /src/Configuration/Finite.Metrics.Configuration.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Configuration/Finite.Metrics.Configuration.csproj -------------------------------------------------------------------------------- /src/Configuration/IMetricProviderConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Configuration/IMetricProviderConfiguration.cs -------------------------------------------------------------------------------- /src/Configuration/IMetricProviderConfigurationFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Configuration/IMetricProviderConfigurationFactory.cs -------------------------------------------------------------------------------- /src/Configuration/MetricProviderConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Configuration/MetricProviderConfiguration.cs -------------------------------------------------------------------------------- /src/Configuration/MetricProviderConfigurationFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Configuration/MetricProviderConfigurationFactory.cs -------------------------------------------------------------------------------- /src/Configuration/MetricProviderConfigureOptions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Configuration/MetricProviderConfigureOptions.cs -------------------------------------------------------------------------------- /src/Configuration/MetricProviderOptions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Configuration/MetricProviderOptions.cs -------------------------------------------------------------------------------- /src/Configuration/MetricProviderOptionsChangeTokenSource.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Configuration/MetricProviderOptionsChangeTokenSource.cs -------------------------------------------------------------------------------- /src/Configuration/MetricsBuilderConfigurationExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Configuration/MetricsBuilderConfigurationExtensions.cs -------------------------------------------------------------------------------- /src/Configuration/MetricsConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Configuration/MetricsConfiguration.cs -------------------------------------------------------------------------------- /src/Core/Finite.Metrics.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Core/Finite.Metrics.csproj -------------------------------------------------------------------------------- /src/Core/IMetricsBuilder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Core/IMetricsBuilder.cs -------------------------------------------------------------------------------- /src/Core/Measure.Duration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Core/Measure.Duration.cs -------------------------------------------------------------------------------- /src/Core/Metric.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Core/Metric.cs -------------------------------------------------------------------------------- /src/Core/MetricFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Core/MetricFactory.cs -------------------------------------------------------------------------------- /src/Core/MetricsBuilder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Core/MetricsBuilder.cs -------------------------------------------------------------------------------- /src/Core/MetricsServiceCollectionExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Core/MetricsServiceCollectionExtensions.cs -------------------------------------------------------------------------------- /src/Directory.Build.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Directory.Build.props -------------------------------------------------------------------------------- /src/Directory.Build.targets: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Directory.Build.targets -------------------------------------------------------------------------------- /src/Providers/OpenTsdb/DefaultSystemClock.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Providers/OpenTsdb/DefaultSystemClock.cs -------------------------------------------------------------------------------- /src/Providers/OpenTsdb/Finite.Metrics.OpenTsdb.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Providers/OpenTsdb/Finite.Metrics.OpenTsdb.csproj -------------------------------------------------------------------------------- /src/Providers/OpenTsdb/ISystemClock.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Providers/OpenTsdb/ISystemClock.cs -------------------------------------------------------------------------------- /src/Providers/OpenTsdb/MetricsBuilderTsdbExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Providers/OpenTsdb/MetricsBuilderTsdbExtensions.cs -------------------------------------------------------------------------------- /src/Providers/OpenTsdb/OpenTsdbMetricsOptions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Providers/OpenTsdb/OpenTsdbMetricsOptions.cs -------------------------------------------------------------------------------- /src/Providers/OpenTsdb/TsdbMetric.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Providers/OpenTsdb/TsdbMetric.cs -------------------------------------------------------------------------------- /src/Providers/OpenTsdb/TsdbMetricProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Providers/OpenTsdb/TsdbMetricProvider.cs -------------------------------------------------------------------------------- /src/Providers/OpenTsdb/TsdbMetricsUploader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Providers/OpenTsdb/TsdbMetricsUploader.cs -------------------------------------------------------------------------------- /src/Providers/OpenTsdb/TsdbPutRequest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Providers/OpenTsdb/TsdbPutRequest.cs -------------------------------------------------------------------------------- /src/Providers/OpenTsdb/TsdbPutResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/src/Providers/OpenTsdb/TsdbPutResponse.cs -------------------------------------------------------------------------------- /tests/Configuration/Finite.Metrics.Configuration.UnitTests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Configuration/Finite.Metrics.Configuration.UnitTests.csproj -------------------------------------------------------------------------------- /tests/Configuration/MetricProviderConfiguration.Tests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Configuration/MetricProviderConfiguration.Tests.cs -------------------------------------------------------------------------------- /tests/Configuration/MetricProviderConfigurationFactory.Tests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Configuration/MetricProviderConfigurationFactory.Tests.cs -------------------------------------------------------------------------------- /tests/Configuration/MetricProviderConfigureOptions.Tests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Configuration/MetricProviderConfigureOptions.Tests.cs -------------------------------------------------------------------------------- /tests/Configuration/MetricProviderOptions.Tests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Configuration/MetricProviderOptions.Tests.cs -------------------------------------------------------------------------------- /tests/Configuration/MetricProviderOptionsChangeTokenSource.Tests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Configuration/MetricProviderOptionsChangeTokenSource.Tests.cs -------------------------------------------------------------------------------- /tests/Configuration/MetricsBuilderConfigurationExtensions.Tests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Configuration/MetricsBuilderConfigurationExtensions.Tests.cs -------------------------------------------------------------------------------- /tests/Configuration/ThrowingOptions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Configuration/ThrowingOptions.cs -------------------------------------------------------------------------------- /tests/Configuration/ThrowingProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Configuration/ThrowingProvider.cs -------------------------------------------------------------------------------- /tests/Core/DisabledAndThrowingMetric.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Core/DisabledAndThrowingMetric.cs -------------------------------------------------------------------------------- /tests/Core/EnabledButThrowingMetric.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Core/EnabledButThrowingMetric.cs -------------------------------------------------------------------------------- /tests/Core/EnabledNonThrowingMetric.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Core/EnabledNonThrowingMetric.cs -------------------------------------------------------------------------------- /tests/Core/Finite.Metrics.UnitTests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Core/Finite.Metrics.UnitTests.csproj -------------------------------------------------------------------------------- /tests/Core/Measure.Duration.Tests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Core/Measure.Duration.Tests.cs -------------------------------------------------------------------------------- /tests/Core/Metric.Tests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Core/Metric.Tests.cs -------------------------------------------------------------------------------- /tests/Core/MetricFactory.Tests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Core/MetricFactory.Tests.cs -------------------------------------------------------------------------------- /tests/Core/MetricsServiceCollectionExtensions.Tests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Core/MetricsServiceCollectionExtensions.Tests.cs -------------------------------------------------------------------------------- /tests/Core/NonThrowingMetricProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Core/NonThrowingMetricProvider.cs -------------------------------------------------------------------------------- /tests/Core/ThrowingMetric.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Core/ThrowingMetric.cs -------------------------------------------------------------------------------- /tests/Core/ThrowingMetricProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Core/ThrowingMetricProvider.cs -------------------------------------------------------------------------------- /tests/Directory.Build.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Directory.Build.props -------------------------------------------------------------------------------- /tests/Directory.Build.targets: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Directory.Build.targets -------------------------------------------------------------------------------- /tests/Providers/OpenTsdb/DummyHttpMessageHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Providers/OpenTsdb/DummyHttpMessageHandler.cs -------------------------------------------------------------------------------- /tests/Providers/OpenTsdb/Finite.Metrics.OpenTsdb.UnitTests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Providers/OpenTsdb/Finite.Metrics.OpenTsdb.UnitTests.csproj -------------------------------------------------------------------------------- /tests/Providers/OpenTsdb/MetricsBuilderTsdbExtensions.Tests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Providers/OpenTsdb/MetricsBuilderTsdbExtensions.Tests.cs -------------------------------------------------------------------------------- /tests/Providers/OpenTsdb/OpenTsdbProvider.Tests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Providers/OpenTsdb/OpenTsdbProvider.Tests.cs -------------------------------------------------------------------------------- /tests/Providers/OpenTsdb/TestSystemClock.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FiniteReality/Finite.Metrics/HEAD/tests/Providers/OpenTsdb/TestSystemClock.cs --------------------------------------------------------------------------------