{"id":26063243,"url":"https://github.com/edgio/promts","last_synced_at":"2026-04-15T22:35:19.790Z","repository":{"id":43310121,"uuid":"301811683","full_name":"Edgio/promts","owner":"Edgio","description":"TypeScript Native Prometheus Client for Deno","archived":false,"fork":false,"pushed_at":"2022-03-08T22:32:52.000Z","size":116,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-07-05T10:46:28.085Z","etag":null,"topics":["deno","prometheus","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Edgio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"Code-of-Conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-06T17:57:41.000Z","updated_at":"2025-04-19T11:03:21.000Z","dependencies_parsed_at":"2022-09-07T02:24:37.148Z","dependency_job_id":null,"html_url":"https://github.com/Edgio/promts","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/Edgio/promts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Edgio%2Fpromts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Edgio%2Fpromts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Edgio%2Fpromts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Edgio%2Fpromts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Edgio","download_url":"https://codeload.github.com/Edgio/promts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Edgio%2Fpromts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31863495,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"last_error":"SSL_read: 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":["deno","prometheus","typescript"],"created_at":"2025-03-08T16:34:22.197Z","updated_at":"2026-04-15T22:35:19.772Z","avatar_url":"https://github.com/Edgio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\nid: promts\ntitle: README\nsidebar_label: README\n---\n\n# promts\n\npromts is a native TypeScript based implementation of promclient. Create Prometheus compatible metrics for your TypeScript/Deno Service.\n\nPronounced: Prom-tsss\n\n## Table of Contents\n\n- [Background](#background)\n- [Install](#install)\n- [Usage](#usage)\n- [Contribute](#contribute)\n- [License](#license)\n\n## Background\n\n Since no current TypeScript Native implementation for Node.JS or Deno seemed to exist, promts fills the gap. This allows for your TypeScript code to have type checking on the promclient types.\n\n## Install\n\n### Usage from Deno\n\n```ts\n    import { MetricsManager } from 'https://deno.land/x/promts@v0.1.14/mod.ts'\n```\n\n## Usage\n\n### Counters\nCounters are monotonically increasing--counters never go down.  Think http request.\n```ts\n    import { MetricsManager } from 'https://deno.land/x/promts@v0.1.14/mod.ts'\n    const httpTotalRequests = MetricsManager.getCounter(\"http_requests_total\")\n      .with({ service: \"web\" });\n    httpTotalRequests.inc();\n```\n\n### Gauges\nGauges can go up and down... Think water levels, temperature, thread counts.\n```ts\n    import { MetricsManager } from 'https://deno.land/x/promts@v0.1.14/mod.ts'\n    const processCount = MetricsManager.getGauge(\"process_count\").with({app:\"server\"});\n    processCount.inc(); // 1\n    processCount.inc(3);\n    processCount.dec();\n    processCount.getTotal(); // 3\n\n```\n\n### Histogram\nHistograms can be though of as a list of counters.  These counters each represent a bucket.  Buckets have a label `le` which denotes the upper bound.  Histograms also contain their sum and count.\n```ts\n\n    import { MetricsManager } from 'https://deno.land/x/promts@v0.1.14/mod.ts'\n    const histogram = new Histogram(\"http_request_duration\");\n    histogram.observe(0.01);\n    histogram.observe(0.1);\n    histogram.observe(5);\n    histogram.observe(5);\n    histogram.getCount(); // 4\n    histogram.getSum();   // 10.11\n    histogram.toString(); // dump to string\n\n```\n\n### Pushgateway\n```ts\n    const pushgateway = new PushGateway(\"test_job\");\n    pushgateway.sendOnInterval(MetricsManager);\n```\n\n### Dumping the metrics in prometheus format\n```ts\n    import { MetricsManager } from 'https://deno.land/x/promts@v0.1.14/mod.ts'\n    const metricsData = MetricsManager.toString();\n```\n\n## Contribute\n\nPlease refer to [CONTRIBUTIONS.md](CONTRIBUTIONS.md) for information about how to get involved. We welcome issues, questions, and pull requests.\n\n## Maintainers\n- Justin Thomas: jthomas@edgecast.com\n\n## License\n- This project is licensed under the terms of the [MIT](LICENSE) open source license. Please refer to [LICENSE](LICENSE) for the full terms.\n\n\n## Future Roadmap\n\n+ Add support for configurable histogram buckets.\n+ Add the summary metric type.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedgio%2Fpromts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedgio%2Fpromts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedgio%2Fpromts/lists"}