{"id":13998077,"url":"https://github.com/hawkw/tinymetrics","last_synced_at":"2025-04-07T16:18:01.031Z","repository":{"id":108970002,"uuid":"609617145","full_name":"hawkw/tinymetrics","owner":"hawkw","description":" a minimal, allocation-free Prometheus/OpenMetrics metrics implementation for `no-std` and embedded Rust.","archived":false,"fork":false,"pushed_at":"2024-06-14T16:28:12.000Z","size":67,"stargazers_count":300,"open_issues_count":5,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-09T07:09:08.991Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/hawkw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["hawkw"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2023-03-04T18:07:54.000Z","updated_at":"2024-10-07T18:35:07.000Z","dependencies_parsed_at":"2024-10-25T22:41:39.002Z","dependency_job_id":null,"html_url":"https://github.com/hawkw/tinymetrics","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hawkw%2Ftinymetrics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hawkw%2Ftinymetrics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hawkw%2Ftinymetrics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hawkw%2Ftinymetrics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hawkw","download_url":"https://codeload.github.com/hawkw/tinymetrics/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247685628,"owners_count":20979085,"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":[],"created_at":"2024-08-09T19:01:22.600Z","updated_at":"2025-04-07T16:18:01.008Z","avatar_url":"https://github.com/hawkw.png","language":"Rust","funding_links":["https://github.com/sponsors/hawkw"],"categories":["Rust"],"sub_categories":[],"readme":"# tinymetrics\n\na minimal, allocation-free [Prometheus]/[OpenMetrics] metrics implementation for\n`no-std` and embedded projects.\n\n[![crates.io][crates-badge]][crates-url]\n[![Documentation][docs-badge]][docs-url]\n[![MIT licensed][mit-badge]][mit-url]\n[![Test Status][tests-badge]][tests-url]\n[![Sponsor @hawkw on GitHub Sponsors][sponsor-badge]][sponsor-url]\n\n[crates-badge]: https://img.shields.io/crates/v/tinymetrics.svg\n[crates-url]: https://crates.io/crates/tinymetrics\n[docs-badge]: https://docs.rs/tinymetrics/badge.svg\n[docs-url]: https://docs.rs/tinymetrics\n[mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg\n[mit-url]: ../LICENSE\n[tests-badge]: https://github.com/hawkw/tinymetrics/actions/workflows/CI.yml/badge.svg?branch=main\n[tests-url]: https://github.com/hawkw/tinymetrics/actions/workflows/CI.yml\n[sponsor-badge]: https://img.shields.io/badge/sponsor-%F0%9F%A4%8D-ff69b4\n[sponsor-url]: https://github.com/sponsors/hawkw\n\n## why should you use it?\n\nyou may want to use this crate if:\n\n1. **you want the [Prometheus]/[OpenMetrics] text exposition format.** other metrics\n   systems are not supported. if you want a generic way to record metrics that\n   can be emitted in a number of different formats, the i highly recommend the\n   [`metrics` crate] and its ecosystem, which provide a generic facade\n   implementation that can be used with multiple metrics systems. however, these\n   libraries may be less suitable for use in embedded systems \u0026mdash; read on\n   for why.\n2. **you can't (or don't want to) allocate memory dynamically.** this crate\n   is intended to allow all metrics storage to be declared in `static`s, for use\n   in embedded systems and other `no-std` use-cases. in order to support\n   completely static usage, this crate has some additional limitations over\n   other Prometheus/OpenMetrics implementations. in particular:\n3. **the cardinality of metrics labels is known ahead of time.** because\n   `tinymetrics` stores metrics in `static`, fixed-size arrays, the maximum size\n   of the label set of each metric must be declared at compile time. this is an\n   inherent limitation to using static storage, but it may be acceptable if you\n   only want to expose a small number of metrics with known labels.\n4. **you only need [counter] and [gauge] metrics.** i haven't implemented the\n   [summary] and [histogram] metric types yet, although it would be nice to\n   eventually.\n\n[Prometheus]: https://prometheus.io/\n[OpenMetrics]: https://github.com/OpenObservability/OpenMetrics\n[`metrics` crate]: https://docs.rs/metrics/\n[counter]: https://prometheus.io/docs/concepts/metric_types/#counter\n[gauge]: https://prometheus.io/docs/concepts/metric_types/#gauge\n[histogram]: https://prometheus.io/docs/concepts/metric_types/#histogram\n[summary]: https://prometheus.io/docs/concepts/metric_types/#summary","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhawkw%2Ftinymetrics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhawkw%2Ftinymetrics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhawkw%2Ftinymetrics/lists"}