ランキングに戻る

AppMetrics/AppMetrics

C#app-metrics.io

App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.

metricsdotnetcorehealth-checkmonitoringperformancedotnetinstrumentationapplication-insightsdotnet-coredotnet-standarddotnet-frameworkgrafana
スター成長
スター
2.2k
フォーク
292
週間成長
Issue
99
1k2k
2016年11月2020年1月2023年4月2026年7月
README

App Metrics App Metrics

License Donate

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. App Metrics abstracts away the underlaying repository of your Metrics for example InfluxDB, Graphite, Prometheus etc, by sampling and aggregating in memory and providing extensibility points to flush metrics to a repository at a specified interval.

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.

App.Metrics includes an Exponentially Forward Decaying, Sliding Window and Algorithm R reservoir implementations.

Documentation

https://github.com/AppMetrics/Docs.V2.Hugo/tree/main

Latest Builds, Packages & Repo Stats

Branch Azure Devops
dev Azure Devops
main AppVeyor

Visualization

Dashboards can be imported from Grafana

Grafana Web Monitoring

Grafana/InfluxDB Generic Web Dashboard Demo

Grafana OAuth2 Client Web Monitoring

Grafana/InfluxDB Generic OAuth2 Web Dashboard Demo

How to build

Azure Devops builds are triggered on commits and PRs to the dev branch

  • Install the latest .NET Core 2.x SDK
  • Run build.ps1 or build.sh in the root of the repository

How to run benchmarks

App.Metrics includes benchmarking using BenchmarkDotNet.

Two benchmark projects exist targeting App.Metrics.Core and App.Metrics.Concurrency

	cd .\src\Core\benchmarks\App.Metrics.Benchmarks.Runner
	dotnet run -c "Release" --framework netcoreapp3.1

	cd .\src\Concurrency\benchmarks\App.Metrics.Concurrency.Benchmarks.Runner
	dotnet run -c "Release" --framework netcoreapp3.1

You'll then be prompted to choose a benchmark to run which will output a markdown file with the result in directory.

You can find the benchmark results here and here.

Contributing

See the contribution guidlines for details.

Acknowledgements

Thanks for providing free open source licensing

License

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

See LICENSE


App Metrics is based on the Metrics.NET library, and at the moment uses the same reservoir sampling code from the original library which is a port of the Java Dropwizard Metrics library.

Metrics.NET Licensed under these terms: "Metrics.NET is release under Apache 2.0 License Copyright (c) 2014 Iulian Margarintescu" see LICENSE

Dropwizard Metrics Licensed under these terms*: "Copyright (c) 2010-2013 Coda Hale, Yammer.com Published under Apache Software License 2.0, see LICENSE"

関連リポジトリ
grafana/grafana

The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

TypeScriptnpmGNU Affero General Public License v3.0grafanamonitoring
grafana.com
75.7k14.3k
prometheus/prometheus

The Prometheus monitoring system and time series database.

GoGo ModulesApache License 2.0monitoringmetrics
prometheus.io
65.3k10.7k
roboflow/supervision

We write your reusable computer vision tools. 💜

PythonPyPIMIT Licensecomputer-visionimage-processing
supervision.roboflow.com
48.3k4.4k
influxdata/influxdb

Scalable datastore for metrics, events, and real-time analytics

Rustcrates.ioApache License 2.0influxdbmonitoring
influxdata.com
31.7k3.7k
SigNoz/signoz

SigNoz is an open-source, OpenTelemetry-native observability platform for your team and their AI agents. Get logs, metrics, and traces in one tool with features like APM, distributed tracing, log management, infra monitoring, etc. Combined with SigNoz MCP and a native AI teammate (in SigNoz Cloud) it helps you build more resilient apps.

TypeScriptnpmOtherobservabilityapplication-monitoring
signoz.io
31.5k2.4k
taosdata/TDengine

High-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios

CGNU Affero General Public License v3.0iotbigdata
tdengine.com
25k5k
apache/skywalking

APM, Application Performance Monitoring System

JavaMavenApache License 2.0skywalkingobservability
skywalking.apache.org
24.9k6.6k
hagezi/dns-blocklists

DNS-Blocklists: For a better internet - keep the internet clean!

TextGNU General Public License v3.0dnsads
24.6k755
vectordotdev/vector

A high-performance observability data pipeline.

Rustcrates.ioMozilla Public License 2.0logsmetrics
vector.dev
22.2k2.2k
elastic/kibana

Your window into all of your data

TypeScriptnpmOtherkibanaelasticsearch
elastic.co/products/kibana
21.2k8.6k
gofr-dev/gofr

An opinionated GoLang framework for accelerated microservice development. Built in support for databases and observability.

GoGo ModulesApache License 2.0gogolang
gofr.dev
21.1k1.8k
openobserve/openobserve

Open source observability platform for logs, metrics, traces, frontend monitoring, pipelines and LLM observability. A sophisticated, simple and highly performant alternative to Datadog, Splunk, and Elasticsearch with 140x lower storage costs and single binary deployment.

TypeScriptnpmGNU Affero General Public License v3.0logsmetrics
openobserve.ai
20.3k952