实例介绍
Metrics.NET是基于Java优秀的监控库Coda Hale开发的.NET版本,它增添了许多额外的功能。这个库提供了一种方式,让开发者能够为他们的应用程序加入自定义的监控指标(例如计时器、直方图、计数器等),从而更好地了解和优化应用程序的性能。
如果你正在寻找一个强大的.NET应用程序监控工具,Metrics.NET值得考虑。它不仅提供了广泛的监控指标选项,还支持自定义指标,使得开发者能够根据自己的需求进行灵活配置。
// 示例代码:创建一个计时器指标 var timer = Metric.Timer("Application.Workflow", Unit.Requests); // 开始计时 using(timer.NewContext()) { // 执行一些操作 }【实例截图】
【核心代码】
文件清单
└── Metrics.NET-dee08fd67b910ca717ae12048d0d99fd37f0ceed
├── build.bat
├── build.sh
├── CHANGELOG.md
├── create-nuget.bat
├── Doxyfile
├── LICENSE
├── Metrics.FxCop
├── Metrics.sln
├── Metrics.sln.DotSettings
├── Publishing
│ ├── icon-source.md
│ ├── metrics_128.png
│ ├── metrics_32.png
│ ├── metrics_64.png
│ ├── Metrics.NET.nuspec
│ ├── Nancy.Metrics.nuspec
│ ├── Owin.Metrics.nuspec
│ └── push-nuget.bat
├── README.md
├── Samples
│ ├── Metrics.SampleReporter
│ │ ├── Metrics.SampleReporter.csproj
│ │ ├── packages.config
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RollingCSVFileAppender.cs
│ │ └── SampleResettingReporter.cs
│ ├── Metrics.Samples
│ │ ├── HealthChecksSample.cs
│ │ ├── Metrics.Samples.csproj
│ │ ├── MultiContextMetrics.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── SampleMetrics.cs
│ │ ├── SetCounterSample.cs
│ │ ├── SetMeterSample.cs
│ │ ├── UserValueHistogramSample.cs
│ │ └── UserValueTimerSample.cs
│ ├── Metrics.SamplesConsole
│ │ ├── App.config
│ │ ├── Metrics.SamplesConsole.csproj
│ │ ├── NLog.config
│ │ ├── Program.cs
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ ├── Metrics.Samples.FSharp
│ │ ├── HealthChecksSample.fs
│ │ ├── Metrics.Samples.FSharp.fsproj
│ │ └── SampleMetrics.fs
│ ├── Metrics.StupidBenchmarks
│ │ ├── App.config
│ │ ├── FixedIterationsBenchmark.cs
│ │ ├── FixedTimeBenchmark.cs
│ │ ├── Metrics.StupidBenchmarks.csproj
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ ├── NancyFx.Sample
│ │ ├── App.config
│ │ ├── NancyFx.Sample.csproj
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── SampleBootstrapper.cs
│ │ └── SampleModule.cs
│ └── Owin.Sample
│ ├── App.config
│ ├── Controllers
│ │ ├── SampleController.cs
│ │ └── SampleIgnoreController.cs
│ ├── Owin.Sample.csproj
│ ├── packages.config
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── SetOwinRouteTemplateMessageHandler.cs
│ └── Startup.cs
├── SharedAssemblyInfo.cs
└── Src
├── Adapters
│ ├── Metrics.NLog
│ │ ├── CsvLayoutExtensions.cs
│ │ ├── CsvMetricLayout.cs
│ │ ├── Metrics.NLog.csproj
│ │ ├── NLogCSVAppender.cs
│ │ ├── NLogReportsConfigExtensions.cs
│ │ ├── NLogTextReporter.cs
│ │ ├── packages.config
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ ├── Nancy.Metrics
│ │ ├── MetricsModule.cs
│ │ ├── NancyGlobalMetrics.cs
│ │ ├── NancyMetricsConfig.cs
│ │ ├── NancyMetrics.cs
│ │ ├── Nancy.Metrics.csproj
│ │ ├── NancyModuleMetricExtensions.cs
│ │ ├── packages.config
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ └── Owin.Metrics
│ ├── Middleware
│ │ ├── ActiveRequestCounterMiddleware.cs
│ │ ├── ErrorMeterMiddleware.cs
│ │ ├── MetricMiddleware.cs
│ │ ├── MetricsEndpointMiddleware.cs
│ │ ├── PostAndPutRequestSizeHistogramMiddleware.cs
│ │ ├── RequestTimerMiddleware.cs
│ │ └── TimerForEachRequestMiddleware.cs
│ ├── OwinMetricsConfig.cs
│ ├── OwinMetrics.cs
│ ├── Owin.Metrics.csproj
│ ├── OwinMetricsEndpointConfig.cs
│ ├── OwinRequestMetricsConfig.cs
│ └── Properties
│ └── AssemblyInfo.cs
├── Metrics
│ ├── AdvancedMetricsContext.cs
│ ├── App_Packages
│ │ └── LibLog.3.1
│ │ └── LibLog.cs
│ ├── Core
│ │ ├── BaseMetricsContext.cs
│ │ ├── CounterMetric.cs
│ │ ├── DefaultDataProvider.cs
│ │ ├── DefaultMetricsBuilder.cs
│ │ ├── DefaultMetricsContext.cs
│ │ ├── DefaultMetricsRegistry.cs
│ │ ├── DefaultRegistryDataProvider.cs
│ │ ├── GaugeMetric.cs
│ │ ├── HealthCheck.cs
│ │ ├── HistogramMetric.cs
│ │ ├── MeterMetric.cs
│ │ ├── MetricsBuilder.cs
│ │ ├── MetricsRegistry.cs
│ │ ├── NullMetricsRegistry.cs
│ │ ├── ReadOnlyMetricsContext.cs
│ │ └── TimerMetric.cs
│ ├── Counter.cs
│ ├── ElasticSearch
│ │ ├── ElasticSearchConfigExtensions.cs
│ │ └── ElasticSearchReport.cs
│ ├── Graphite
│ │ ├── GraphiteExtensions.cs
│ │ ├── GraphiteReport.cs
│ │ ├── GraphiteSender.cs
│ │ ├── PickleGraphiteSender.cs
│ │ ├── PickleJar.cs
│ │ ├── TcpGraphiteSender.cs
│ │ └── UdpGraphiteSender.cs
│ ├── HealthCheckResult.cs
│ ├── HealthChecks.cs
│ ├── Histogram.cs
│ ├── Influxdb
│ │ ├── InfluxdbConfigExtensions.cs
│ │ └── InfluxdbReport.cs
│ ├── Json
│ │ ├── JsonBuilderV1.cs
│ │ ├── JsonBuilderV2.cs
│ │ ├── JsonCounter.cs
│ │ ├── JsonGauge.cs
│ │ ├── JsonHealthChecks.cs
│ │ ├── JsonHistogram.cs
│ │ ├── JsonMeter.cs
│ │ ├── JsonMetric.cs
│ │ ├── JsonMetricsContext.cs
│ │ ├── JsonObject.cs
│ │ ├── JsonProperty.cs
│ │ ├── JsonTimer.cs
│ │ └── JsonValue.cs
│ ├── Meter.cs
│ ├── Metric.cs
│ ├── MetricData
│ │ ├── ConstantValue.cs
│ │ ├── CounterValue.cs
│ │ ├── EnvironmentEntry.cs
│ │ ├── GaugeValue.cs
│ │ ├── HistogramValue.cs
│ │ ├── MeterValue.cs
│ │ ├── MetricsData.cs
│ │ ├── MetricsDataProvider.cs
│ │ ├── MetricsFilter.cs
│ │ ├── MetricValueSource.cs
│ │ └── TimerValue.cs
│ ├── MetricsConfig.cs
│ ├── MetricsContext.cs
│ ├── Metrics.csproj
│ ├── MetricsErrorHandler.cs
│ ├── MetricTags.cs
│ ├── packages.config
│ ├── PerfCounters
│ │ ├── PerformanceCounterGauge.cs
│ │ ├── PerformanceCountersConfigExtensions.cs
│ │ ├── PerformanceCounters.cs
│ │ └── ThreadPoolMetrics.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── RemoteMetrics
│ │ ├── HttpRemoteMetrics.cs
│ │ ├── RemoteMetricsContext.cs
│ │ └── RemoteMetricsExtensions.cs
│ ├── Reporters
│ │ ├── BaseReport.cs
│ │ ├── ConsoleReport.cs
│ │ ├── CSVAppender.cs
│ │ ├── CSVFileAppender.cs
│ │ ├── CSVReport.cs
│ │ ├── HumanReadableReport.cs
│ │ ├── MetricsReport.cs
│ │ ├── MetricsReports.cs
│ │ ├── ScheduledReporter.cs
│ │ ├── StringReport.cs
│ │ └── TextFileReport.cs
│ ├── ResetableMetric.cs
│ ├── Sampling
│ │ ├── ExponentiallyDecayingReservoir.cs
│ │ ├── Reservoir.cs
│ │ ├── SlidingWindowReservoir.cs
│ │ ├── Snapshot.cs
│ │ ├── UniformReservoir.cs
│ │ ├── UniformSnapshot.cs
│ │ ├── UserValueWrapper.cs
│ │ └── WeightedSnapshot.cs
│ ├── SamplingType.cs
│ ├── Timer.cs
│ ├── TimeUnit.cs
│ ├── Unit.cs
│ ├── Utils
│ │ ├── ActionScheduler.cs
│ │ ├── AppEnvironment.cs
│ │ ├── AtomicLong.cs
│ │ ├── AtomicLongHolder.cs
│ │ ├── Clock.cs
│ │ ├── EWMA.cs
│ │ ├── HostResolver.cs
│ │ ├── IHideObjectMembers.cs
│ │ ├── Scheduler.cs
│ │ ├── ThreadLocalRandom.cs
│ │ ├── TimeMeasuringContext.cs
│ │ ├── TimeUnitExtensions.cs
│ │ └── VolatileDouble.cs
│ └── Visualization
│ ├── FlotWebApp.cs
│ ├── index.full.html.gz
│ └── MetricsHttpListener.cs
├── Metrics.Central
│ ├── App.config
│ ├── Metrics.Central.csproj
│ ├── MetricsService.cs
│ ├── packages.config
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── remotes.txt
└── Metrics.Tests
├── app.config
├── Core
│ ├── DefaultContextCustomMetricsTests.cs
│ ├── DefaultContextTests.cs
│ └── MetricTagsTests.cs
├── HealthChecksTests
│ ├── HealthCheckRegistryTests.cs
│ └── HealthCheckTests.cs
├── Json
│ ├── JsonSerializationTests.cs
│ └── JsonTests.cs
├── Metrics
│ ├── CounterMetricTests.cs
│ ├── GaugeMetricTests.cs
│ ├── HistogramMetricTests.cs
│ ├── MeterMetricTests.cs
│ └── TimerMetricTests.cs
├── MetricsConfigTests
│ └── HttpEndpointTests.cs
├── Metrics.Tests.csproj
├── NancyAdapter
│ ├── NancyAdapterGlobalMetrics.cs
│ └── NancyAdapterModuleMetricsTests.cs
├── OwinAdapter
│ └── OwinMiddlewareTests.cs
├── packages.config
├── Properties
│ └── AssemblyInfo.cs
├── Sampling
│ ├── ExponentiallyDecayingReservoirTests.cs
│ ├── SlidingWindowReservoirTest.cs
│ ├── UniformReservoirTests.cs
│ ├── UniformSnapshotTests.cs
│ └── WeightedSnapshotTests.cs
├── TestClock.cs
├── TestContext.cs
├── TestMetricsBuilder.cs
├── TestScheduler.cs
├── Utils
│ ├── ActionSchedulerTests.cs
│ ├── AtomicLongTests.cs
│ ├── EWMATests.cs
│ └── TimeUnitTests.cs
└── Visualization
└── FlotVisualizationTests.cs
56 directories, 247 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论