{"id":15174295,"url":"https://github.com/cubxity/unifiedmetrics","last_synced_at":"2025-04-08T04:11:02.283Z","repository":{"id":42365468,"uuid":"330712847","full_name":"Cubxity/UnifiedMetrics","owner":"Cubxity","description":"Fully-featured metrics collection agent for Minecraft servers. Supports Prometheus and InfluxDB. Dashboard included out-of-box.","archived":false,"fork":false,"pushed_at":"2025-03-31T16:34:28.000Z","size":7027,"stargazers_count":465,"open_issues_count":26,"forks_count":44,"subscribers_count":2,"default_branch":"dev/0.3.x","last_synced_at":"2025-04-01T03:26:11.476Z","etag":null,"topics":["api","bukkit","folia","grafana","grafana-dashboard","hacktoberfest","influxdb","metrics","metrics-collection","minecraft","minestom-extension","monitoring","prometheus","prometheus-exporter","spigot","velocity"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Cubxity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2021-01-18T15:43:11.000Z","updated_at":"2025-03-30T12:12:52.000Z","dependencies_parsed_at":"2023-10-05T06:55:42.364Z","dependency_job_id":"b377411a-5200-426f-a03d-7933c1980288","html_url":"https://github.com/Cubxity/UnifiedMetrics","commit_stats":{"total_commits":226,"total_committers":11,"mean_commits":"20.545454545454547","dds":0.5973451327433628,"last_synced_commit":"d5f466a76037a8a282caec0a5bb6bf100ec44ab8"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cubxity%2FUnifiedMetrics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cubxity%2FUnifiedMetrics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cubxity%2FUnifiedMetrics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cubxity%2FUnifiedMetrics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cubxity","download_url":"https://codeload.github.com/Cubxity/UnifiedMetrics/tar.gz/refs/heads/dev/0.3.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247773719,"owners_count":20993639,"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":["api","bukkit","folia","grafana","grafana-dashboard","hacktoberfest","influxdb","metrics","metrics-collection","minecraft","minestom-extension","monitoring","prometheus","prometheus-exporter","spigot","velocity"],"created_at":"2024-09-27T11:42:45.103Z","updated_at":"2025-04-08T04:11:02.248Z","avatar_url":"https://github.com/Cubxity.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"![UnifiedMetrics](.github/assets/banner.png)\n\n[![License](https://img.shields.io/github/license/Cubxity/UnifiedMetrics?style=flat-square)](COPYING.LESSER)\n[![Workflow Status](https://img.shields.io/github/workflow/status/Cubxity/UnifiedMetrics/gradle-preview-ci/master?style=flat-square)](https://github.com/Cubxity/UnifiedMetrics/actions)\n[![Maven Central](https://img.shields.io/maven-central/v/dev.cubxity.plugins/unifiedmetrics-api?color=green\u0026style=flat-square)](https://search.maven.org/search?q=g:dev.cubxity.plugins%20a:unifiedmetrics-api)\n[![Discord](https://img.shields.io/badge/join-discord-blue?style=flat-square)](https://discord.gg/kDDhqJmPpA)\n\nUnifiedMetrics is a fully-featured free and open-source metrics collection plugin for Minecraft servers. This project is\nlicensed under [GNU LGPLv3](COPYING.LESSER).\n\n[![Grafana Dashboard](.github/assets/grafana.png)](https://unifiedmetrics-demo.cubxity.dev)\n*Dashboard [included](https://docs.cubxity.dev/docs/unifiedmetrics/guides/grafana) out-of-box!*\nClick [here](https://unifiedmetrics-demo.cubxity.dev) for live preview!\n\n## Features\n\n- **Platform-agnostic \u0026 compatible with popular platforms**. Get the same metrics and features on any supported\n  platform.\n- **Monitor your server in real-time** with Prometheus/InfluxDB and provided Grafana dashboards.\n- **High performance** metric collection. Low to none performance impact on the server's performance.\n- **Free and open-source**. The code is free and open for anyone to audit and contribute to.\n\n## Compatibility\n\n**Server:**\n\n- 1.8+ Spigot servers *(includes Spigot-based forks)*\n- 1.16+ Fabric servers\n- Minestom\n- Velocity\n- BungeeCord\n\n**Metrics:**\n\n- Prometheus\n- InfluxDB\n\n## Getting started\n\nRead the [wiki](https://docs.cubxity.dev/docs/unifiedmetrics/intro) for instructions on how to get started.\n\n## Metrics\n\n\u003cdetails\u003e \n  \u003csummary\u003eTable of metrics (click to show)\u003c/summary\u003e\n\n| Collector     | Description                                     | Platform         | Default |\n| ------------- | ----------------------------------------------- | ---------------- | ------- |\n| systemGc      | Garbage collection duration and freed bytes     | All              | true    |\n| systemMemory  | Memory used, committed, max and init            | All              | true    |\n| systemProcess | CPU load, seconds, and process start time       | All              | true    |\n| systemThread  | Current, daemon, started, and peak thread count | All              | true    |\n| events        | Login, join, quit, chat, and ping event counter | All              | true    |\n| server        | Plugins count and player counts                 | All              | true    |\n| tick          | Tick duration histogram                         | Bukkit, Minestom | true    |\n| world         | World entities, players, and chunks count       | Bukkit, Minestom | true    |\n\n\u003c/details\u003e\n\n## Special Thanks\n\n[Bloom Host](https://billing.bloom.host/aff.php?aff=9) has kindly provided UnifiedMetrics with development servers.\nBloom has server splitting built-in, which makes it extremely easy to build your monitoring stack. Get high performance\nservers at Bloom by using [this link](https://billing.bloom.host/aff.php?aff=9).\n\n[![Bloom logo](https://billing.bloom.host/templates/lagom/assets/img/logo/logo_big_inverse.svg)](https://billing.bloom.host/aff.php?aff=9)\n\nYourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET\napplications. YourKit is the creator of [YourKit Java Profiler](https://www.yourkit.com/java/profiler/),\n[YourKit .NET Profiler](https://www.yourkit.com/.net/profiler/),\nand [YourKit YouMonitor](https://www.yourkit.com/youmonitor/).\n\n[![YourKit Logo](https://www.yourkit.com/images/yklogo.png)](https://www.yourkit.com/)\n\n## Building from source\n\n\u003cdetails\u003e \n  \u003csummary\u003eInstructions (click to show)\u003c/summary\u003e\n\n**Requirements:**\n\n- JDK 8+ (16+ for Fabric, 17+ for Minestom)\n- Git (Optional)\n\nTo build UnifiedMetrics, you need to obtain the source code first. You can download the source from GitHub or use the\nGit CLI.\n\n```bash\n$ git clone https://github.com/Cubxity/UnifiedMetrics \u0026\u0026 cd UnifiedMetrics\n```\n\nOpen a terminal in the cloned directory and run the following command. The following command will build all subprojects.\n\n```bash\n$ ./gradlew assemble -x signArchives\n```\n\n\u003e `-x signArchives` is required to skip signing, unless you have signing set up\n\nTo build a specific subproject, you can prefix it with the subproject path. For example:\n\n```bash\n$ ./gradlew :unifiedmetrics-platform-bukkit:assemble -x signArchives\n```\n\nThe output artifacts can be found in `subproject/build/libs`.\n\u003c/details\u003e\n\n## API\n\n[![Maven Central](https://img.shields.io/maven-central/v/dev.cubxity.plugins/unifiedmetrics-api?color=green\u0026style=flat-square)](https://search.maven.org/search?q=g:dev.cubxity.plugins%20a:unifiedmetrics-api)\n![Sonatype Nexus (Snapshots)](https://img.shields.io/nexus/s/dev.cubxity.plugins/unifiedmetrics-api?color=yellow\u0026label=snapshots\u0026server=https%3A%2F%2Fs01.oss.sonatype.org\u0026style=flat-square)\n\n\u003cdetails\u003e \n  \u003csummary\u003eInstructions (click to show)\u003c/summary\u003e\n\n### Examples\n\nExample plugins can be found under [examples](examples) directory.\n\n### Gradle (Kotlin)\n\n```kotlin\nrepositories {\n    mavenCentral()\n\n    // Snapshots repository (only required for -SNAPSHOT versions)\n    maven(\"https://s01.oss.sonatype.org/content/repositories/snapshots/\")\n}\n```\n\n```kotlin\ndependencies {\n    // Replace this with the desired version\n    compileOnly(\"dev.cubxity.plugins\", \"unifiedmetrics-api\", \"0.3.6\")\n}\n```\n\n### Usage\n\nAdd `:unifiedmetrics-api` as a dependency (compileOnly/provided). Prefer using platform's service manager if possible.\n\n```kotlin\nimport dev.cubxity.plugins.metrics.api.UnifiedMetricsProvider\n\n/* ... */\n\nval api = UnifiedMetricsProvider.get()\n```\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcubxity%2Funifiedmetrics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcubxity%2Funifiedmetrics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcubxity%2Funifiedmetrics/lists"}