App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application and reports it's health.
C# Other
Permalink
Failed to load latest commit information.
benchmarks re-orgranizing benchmarks Feb 14, 2017
scripts #72 removing reservoir class libraries into reservoir repo Jan 27, 2017
src updating all packages to 1.0.0-rc1 for release Feb 15, 2017
test ignoring with group string reporter test for now Feb 14, 2017
.gitattributes initial commit Apr 22, 2016
.gitignore #22 Adding app.metrics benchmarking project with metric types and res… Feb 4, 2017
AppMetrics.ruleset letting resharper generate license headers instead of using vs extens… Jan 14, 2017
AppMetrics.sln moving concurrency benchmarks into shared benchmark running project Feb 14, 2017
AppMetrics.sln.DotSettings #66 Fixing coverage filter in dot settings Jan 30, 2017
CONTRIBUTING.md letting resharper generate license headers instead of using vs extens… Jan 14, 2017
GitReleaseManager.yaml updating grm yml to include investigate issue tags Jan 31, 2017
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md Dec 14, 2016
LICENSE Initial commit Apr 22, 2016
NuGet.config aspnet core rtm update, defaultroute handler no longer runs for attri… Jun 30, 2016
PULL_REQUEST_TEMPLATE.md Create PULL_REQUEST_TEMPLATE.md Dec 14, 2016
README.md cache busting coveralls badge in readme Jan 31, 2017
app-metrics.licenseheader letting resharper generate license headers instead of using vs extens… Jan 14, 2017
appveyor.yml updating appveyor.yml to deploy all branches to myget Dec 2, 2016
build.cmd #34 Adding open cover and coveralls.net to build script, open cover a… Dec 23, 2016
global.json #18 Nov 25, 2016
run-benchmarks.ps1 #3 Adding reservoir sampling benchmarks which compares uniform, slidi… Nov 26, 2016
stylecop.json letting resharper generate license headers instead of using vs extens… Jan 14, 2017

README.md

App Metrics

Official Site Build status License Coverage Status

Package Dev Release Pre Release Latest Release
App.Metrics MyGet Status NuGet Status NuGet Status
App.Metrics.Extensions.Mvc MyGet Status NuGet Status NuGet Status
App.Metrics.Extensions.Middleware MyGet Status NuGet Status NuGet Status
App.Metrics.Formatters.Json MyGet Status NuGet Status NuGet Status

What is App Metrics?

App Metrics is an open-source and cross-platform .NET library used to record metrics within an application. App Metrics can run on .NET Core or on the full .NET framework also supporting .NET 4.5.2. App Metrics abstracts away the underlaying repository of your Metrics for example InfluxDB, Graphite, Elasticsearch etc, by sampling and aggregating in memory and providing extensibility points to flush metrics to a repository at a specified interval. For pre .NET Core web applications see AppMetrics.Owin

App Metrics provides various metric types to measure things such as the rate of requests, counting the number of user logins over time, measure the time taken to execute a database query, measure the amount of free memory and so on. Metrics types supported are Gauges, Counters, Meters, Histograms and Timers and Application Performance Indexes Apdex.

For metric reporting capabilities see the reporting repo.

App.Metrics includes an Exponentially Forward Decaying, Sliding Window and Algorithm R reservoir implementations, for additional reservoir sampling see the reservoir repo. For more details on reservoir sampling see the docs.

App Metrics also provides a health checking system allowing you to monitor the health of your application through user defined checks.

Contributing

See the contribution guidlines for details.

Acknowledgements

Built using the following open source projects

License

This library is release under Apache 2.0 License ( see LICENSE ) Copyright (c) 2016 Allan Hardy


App Metrics is based on the Metrics.NET library, using the same reservoir sampling code from the original library, which is a port of the Java Metrics library.

Why another .NET port? The main reason for porting Metrics.NET was to have it run on .NET Standard and provide a more modern API into the libraries features.

The original metrics project is released under these terms:

"Metrics.NET is release under Apache 2.0 License Copyright (c) 2014 Iulian Margarintescu"