{"id":21450594,"url":"https://github.com/ogaudefroy/yanrpp","last_synced_at":"2025-07-07T14:36:12.318Z","repository":{"id":80337897,"uuid":"75224986","full_name":"ogaudefroy/yanrpp","owner":"ogaudefroy","description":"Yet Another New Relic Perfmon Plugin","archived":false,"fork":false,"pushed_at":"2017-07-11T08:07:01.000Z","size":21,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-17T02:24:33.025Z","etag":null,"topics":["metrics","newrelic","perfmon","performance-counters"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ogaudefroy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-30T20:35:55.000Z","updated_at":"2017-07-15T13:04:59.000Z","dependencies_parsed_at":"2023-06-05T18:45:13.458Z","dependency_job_id":null,"html_url":"https://github.com/ogaudefroy/yanrpp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ogaudefroy/yanrpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogaudefroy%2Fyanrpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogaudefroy%2Fyanrpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogaudefroy%2Fyanrpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogaudefroy%2Fyanrpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ogaudefroy","download_url":"https://codeload.github.com/ogaudefroy/yanrpp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogaudefroy%2Fyanrpp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264092860,"owners_count":23556401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["metrics","newrelic","perfmon","performance-counters"],"created_at":"2024-11-23T04:15:54.170Z","updated_at":"2025-07-07T14:36:12.284Z","avatar_url":"https://github.com/ogaudefroy.png","language":"C#","readme":"# Yet Another New Relic Perfmon Plugin\n\nThis project was born from the need to monitor SSAS instances in the wonderful New Relic APM. [Nick Floyd's perfmon plugin](https://github.com/nickfloyd/newrelic-perfmon-plugin) wouldn't work as it does not collect 64 bit counters and thus we decided to build a quick and dirty one.\n\n## Prerequisites\n+ Windows Server to locally collect Perfmon counters\n+ .Net 3.5 Client Profile\n+ A windows service wrapper like [NSSM](https://nssm.cc/)\n\n## Customize performance counters collected\nThe agent loads `config/counters.xml` file so you have to copy/rename/create your own counter file matching your needs.\n\nAs mentioned previously, it's a quick and dirty version and counters.xml is not currently validated with a XSD here is the way we parse it:\n+ **Counters**: root node containing all metric groups\n+ **MetricGroup**: a group of metrics, requires a Name attribute\n+ **Counter**: a performance counter with the following attributes\n    + **Category**: the category of the performance counter (required)\n    + **Name**: the performance counter name (required)\n    + **Instance**: the instance of the performance counter (optional)\n    + **MetricName**: the metric's name reported in New Relic (required)\n    + **Unit**: the metric's unit reported in New Relic (required)\n    + **ConversionRatio**: an optional ratio to declare a 1024^ConversionRatio of the collected metric value\n\nHere is a very simple counters.xml definition  \n```xml\n\u003c?xml version=\"1.0\"?\u003e\n\u003cCounters\u003e\n    \u003cMetricGroup Name=\"OverallMemory\"\u003e\n    \u003cCounter Category=\"Memory\" Name=\"Pages/sec\" MetricName=\"System Idle\" Unit=\"pages/s\" /\u003e\n    \u003cCounter Category=\"Memory\" Name=\"Committed Bytes\" MetricName=\"Committed VRAM\" Unit=\"Gigabytes\" ConversionRatio=\"3\" /\u003e\n    \u003cCounter Category=\"Memory\" Name=\"% Committed Bytes in Use\" MetricName=\"Committed VRAM usage\" Unit=\"%\" /\u003e\n  \u003c/MetricGroup\u003e\n\u003c/Counters\u003e\n```\nOut-of-the-box, this plugin collects various performance counters if you do want to monitor an SSAS instance. Two configuration files are available in config folder:\n+ `Counters.SSAS.2012.xml`: SQL Server Analysis Services 2012 Performance Counters \n+ `Counters.SSAS.2014.xml`: SQL Server Analysis Services 2014 Performance Counters  \n\n\n## Retrieve performance counter names and categories\nA very simple way to retrieve them is to use typeperf command line: `typeperf -q`  \n**Performance counters are unfortunately culture sensitive, the provided configuration files are for en-US version only.**\n\n## New Relic dashboard configuration\nOnce the perfmon plugin up and running you need to create a custom dashboard in New Relic. Follow the official documentation available here:\n+ [New Relic - Working with plugin dashboard](https://docs.newrelic.com/docs/plugins/developing-plugins/structuring-your-plugin/working-plugin-dashboards) \n+ [New Relic - Summary metrics](https://docs.newrelic.com/docs/plugins/developing-plugins/structuring-your-plugin/creating-summary-metrics-plugins)\n\n## Troubleshooting\n+ To output collected metrics set `log_level:debug` in `config\\newrelic.json`\n+ If you do not see the plugin in your dashboard, set your license_key in `config\\plugin.json`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fogaudefroy%2Fyanrpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fogaudefroy%2Fyanrpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fogaudefroy%2Fyanrpp/lists"}