{"id":17227091,"url":"https://github.com/terinjokes/openrct2-prometheus-exporter","last_synced_at":"2026-02-20T00:02:25.283Z","repository":{"id":66019550,"uuid":"291611976","full_name":"terinjokes/openrct2-prometheus-exporter","owner":"terinjokes","description":"An OpenRCT2 plugin that implements a Prometheus exporter.","archived":false,"fork":false,"pushed_at":"2020-09-08T01:10:03.000Z","size":220,"stargazers_count":10,"open_issues_count":6,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-19T13:59:48.815Z","etag":null,"topics":["openrct2","openrct2-plugin"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/terinjokes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2020-08-31T04:13:38.000Z","updated_at":"2022-10-08T14:31:16.000Z","dependencies_parsed_at":"2023-04-11T10:24:56.463Z","dependency_job_id":null,"html_url":"https://github.com/terinjokes/openrct2-prometheus-exporter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/terinjokes/openrct2-prometheus-exporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terinjokes%2Fopenrct2-prometheus-exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terinjokes%2Fopenrct2-prometheus-exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terinjokes%2Fopenrct2-prometheus-exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terinjokes%2Fopenrct2-prometheus-exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/terinjokes","download_url":"https://codeload.github.com/terinjokes/openrct2-prometheus-exporter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terinjokes%2Fopenrct2-prometheus-exporter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29637400,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T22:32:43.237Z","status":"ssl_error","status_checked_at":"2026-02-19T22:32:38.330Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["openrct2","openrct2-plugin"],"created_at":"2024-10-15T04:18:05.776Z","updated_at":"2026-02-20T00:02:25.245Z","avatar_url":"https://github.com/terinjokes.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenRCT2 Prometheus Exporter\n\n![consolelog on Twitch](https://img.shields.io/twitch/status/consolelog?logo=twitch\u0026logoColor=white\u0026style=flat-square)\n![Ecologi (Trees)](https://img.shields.io/ecologi/trees/terinjokes?label=planted%20trees\u0026style=flat-square)\n\nAn OpenRCT2 plugin that exports Prometheus metrics for a (limited but growing)\nset of park metrics.\n\n## Installation\n\nThis plugin requires the [OpenRCT2 networking API][networking-api], available on\nthe OpenRCT2 master branch, in preparation for OpenRCT2 v0.4.0.\n\nDownload [index.js](./index.js) from GitHub and save the file into your OpenRCT2\nplugin folder. This location can be found according to the [OpenRCT2\nscripting][scripting] documentation.\n\n## Usage\n\nThe plugin runs in the background, listening for scripts at the address\n\"localhost:9751\", which is currently hardcoded into the file, but may be\nconfigurable soon.\n\n### Metrics\n\nThe following metrics are available. Metric names and labels are subject to\nchange until version 1.0.0.\n\n| metric                  | type  | stability | labels |\n| ----------------------- | ----- | --------- | ------ |\n| park_cash               | gauge | unstable  | park   |\n| park_entrance_fee_cash  | gauge | unstable  | park   |\n| park_bank_loan_cash     | gauge | unstable  | park   |\n| park_max_bank_loan_cash | gauge | unstable  | park   |\n| park_rating             | gauge | unstable  | park   |\n| guests                  | gauge | unstable  | park   |\n| staff                   | gauge | unstable  | park   |\n| peeps                   | gauge | unstable  | park   |\n| ducks                   | gauge | unstable  | park   |\n\nYes, these metrics names are bad and don't follow the [naming best practices]. I\nconsider this to be a bug.\n\n## Development\n\nThis plugin is maintained in a single file, [index.js](./index.js). While\nunusal, this allows me to keep the number of dependencies to a minimium and\nmakes it easy for users to install into their copy of OpenRCT2. (This is\ninspired by the reasoning behind the C [single-file libraries][sfl] list).\n\nThis plugin should be written to target EcmaScript 5 only, with no extensions.\nThe plugin environment in OpenRCT2 is not a modern browser nor Node.js\ninstallation, and thus only ES5 is reliably available. This policy may change if\nand when OpenRCT2 upgrades and enables later feature sets of Duktape.\n\nThis project uses specific versions and configurations of Prettier and ESLint\nusing [Nix]. Once installed, you'll be able to use these versions by running\n`nix-shell`. You can also use a Docker container, similar to the GitHub Actions\nconfiguration.\n\n## Twitch Livestreams\n\nYou can catch me working on this, or other programming projects, as\n[\\@consolelog][twitch] on Twitch. Fill free to come by and ask questions!\n\n## Donations\n\n![OpenRCT2 trees scenery window](./trees.png)\n\nIf you enjoy using this plugin, I ask that you plant some trees on\n[Ecologi][ecologi] to help offset and reduce our carbon impact.\n\n[networking-api]: https://github.com/OpenRCT2/OpenRCT2/blob/96d1db97e0bbc689ef9d5d48ee2514bec7c5c7f8/distribution/scripting.md#:~:text=Can%20plugins%20communicate%20with%20other%20processes,%20or%20the%20internet?\n[scripting]: https://github.com/OpenRCT2/OpenRCT2/blob/96d1db97e0bbc689ef9d5d48ee2514bec7c5c7f8/distribution/scripting.md#scripts-for-openrct2\n[naming best practices]: https://prometheus.io/docs/practices/naming/\n[nix]: https://nixos.org/manual/nix/stable/#chap-introduction\n[sfl]: https://github.com/nothings/single_file_libs#single-file-public-domainopen-source-libraries-with-minimal-dependencies\n[twitch]: https://twitch.tv/consolelog\n[ecologi]: https://ecologi.com/terinjokes\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterinjokes%2Fopenrct2-prometheus-exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fterinjokes%2Fopenrct2-prometheus-exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterinjokes%2Fopenrct2-prometheus-exporter/lists"}