{"adoption": {"forks": 291, "observed_at": "2026-08-28T04:06:30.845938+00:00", "stars": 2249}, "canonical_url": "https://ross.abutalabs.com/products/appmetrics", "card": {"archived": false, "artifact_type": "library", "description": "App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.", "domain": ["monitoring", "developer-tools", "backend", "apis"], "enriched": true, "function": ["monitoring", "logging", "middleware"], "health_score": 40, "homepage": "https://app-metrics.io", "language": "C#", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["AppMetrics/AppMetrics"], "name": "AppMetrics/AppMetrics", "platform": ["dotnet", "cross-platform", "cloud"], "pushed_at": "2025-07-23T12:16:32+00:00", "repo": "AppMetrics/AppMetrics", "stars": 2249, "tags": ["metrics", "apdex", "grafana", "prometheus", "influxdb", "graphite", "health-checks", "instrumentation", "application-insights", "docker"], "topics": ["metrics", "dotnetcore", "health-check", "monitoring", "performance", "dotnet", "instrumentation", "application-insights", "dotnet-core", "dotnet-standard", "dotnet-framework", "grafana", "grafana-dashboard", "influxdb", "graphite", "prometheus"], "urls": [], "use_cases": ["record request rates and response times in a .NET web app", "measure how long database queries take", "track counts of user logins over time", "export .NET application metrics to Prometheus or InfluxDB", "monitor free memory and other gauges in a service", "calculate Apdex scores for API performance", "build Grafana dashboards for .NET application health"], "what_it_is": "App Metrics is an open-source, cross-platform .NET library for recording and reporting application metrics such as gauges, counters, meters, histograms, timers, and Apdex scores. It aggregates metrics in memory and flushes them to backends like InfluxDB, Graphite, or Prometheus, with Grafana dashboards for visualization.", "when_to_avoid": ["your stack is not .NET-based", "you need distributed tracing or log aggregation rather than metrics", "you prefer a vendor-managed APM solution with zero instrumentation code"], "when_to_choose": ["you have a .NET or .NET Core application needing in-process metrics instrumentation", "you want a single library abstracting multiple metrics backends like Prometheus, InfluxDB, and Graphite", "you need rich metric types including Apdex and reservoir sampling"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/appmetrics", "repo": "AppMetrics/AppMetrics", "role": "main", "score": 38}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.845938+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:43:53.437348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a40fadc892618aec3e1a4866371f7f09e0266ccf022d964151ac1c1396e01102", "fetched_at": "2026-08-28T04:06:30.845938+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AppMetrics/AppMetrics"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.845938+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:43:53.437348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a40fadc892618aec3e1a4866371f7f09e0266ccf022d964151ac1c1396e01102", "fetched_at": "2026-08-28T04:06:30.845938+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AppMetrics/AppMetrics"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:43:53.437348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a40fadc892618aec3e1a4866371f7f09e0266ccf022d964151ac1c1396e01102", "fetched_at": "2026-08-28T04:06:30.845938+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AppMetrics/AppMetrics"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.845938+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.845938+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.845938+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:43:53.437348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a40fadc892618aec3e1a4866371f7f09e0266ccf022d964151ac1c1396e01102", "fetched_at": "2026-08-28T04:06:30.845938+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AppMetrics/AppMetrics"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.845938+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.845938+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:43:53.437348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a40fadc892618aec3e1a4866371f7f09e0266ccf022d964151ac1c1396e01102", "fetched_at": "2026-08-28T04:06:30.845938+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AppMetrics/AppMetrics"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.845938+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.845938+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.845938+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:43:53.437348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a40fadc892618aec3e1a4866371f7f09e0266ccf022d964151ac1c1396e01102", "fetched_at": "2026-08-28T04:06:30.845938+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AppMetrics/AppMetrics"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.845938+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.845938+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:43:53.437348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a40fadc892618aec3e1a4866371f7f09e0266ccf022d964151ac1c1396e01102", "fetched_at": "2026-08-28T04:06:30.845938+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AppMetrics/AppMetrics"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:43:53.437348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a40fadc892618aec3e1a4866371f7f09e0266ccf022d964151ac1c1396e01102", "fetched_at": "2026-08-28T04:06:30.845938+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AppMetrics/AppMetrics"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:43:53.437348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a40fadc892618aec3e1a4866371f7f09e0266ccf022d964151ac1c1396e01102", "fetched_at": "2026-08-28T04:06:30.845938+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AppMetrics/AppMetrics"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:43:53.437348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a40fadc892618aec3e1a4866371f7f09e0266ccf022d964151ac1c1396e01102", "fetched_at": "2026-08-28T04:06:30.845938+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AppMetrics/AppMetrics"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 33, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3573, "days_push": 406, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 38, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}