{"id":13440933,"url":"https://github.com/jupp0r/prometheus-cpp","last_synced_at":"2025-10-21T03:57:12.766Z","repository":{"id":37359245,"uuid":"66925865","full_name":"jupp0r/prometheus-cpp","owner":"jupp0r","description":"Prometheus Client Library for Modern C++","archived":false,"fork":false,"pushed_at":"2025-03-22T16:29:05.000Z","size":1275,"stargazers_count":1057,"open_issues_count":59,"forks_count":351,"subscribers_count":36,"default_branch":"master","last_synced_at":"2025-10-21T03:57:01.483Z","etag":null,"topics":["metrics","prometheus"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jupp0r.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":"2016-08-30T09:18:37.000Z","updated_at":"2025-10-14T13:45:21.000Z","dependencies_parsed_at":"2024-01-22T07:46:21.290Z","dependency_job_id":"4b73bba0-9427-4984-bc86-50e2d61a268f","html_url":"https://github.com/jupp0r/prometheus-cpp","commit_stats":{"total_commits":551,"total_committers":77,"mean_commits":"7.1558441558441555","dds":0.426497277676951,"last_synced_commit":"651da4aa52117dacf5619ea5ad664c4509e525e7"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/jupp0r/prometheus-cpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupp0r%2Fprometheus-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupp0r%2Fprometheus-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupp0r%2Fprometheus-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupp0r%2Fprometheus-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jupp0r","download_url":"https://codeload.github.com/jupp0r/prometheus-cpp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupp0r%2Fprometheus-cpp/sbom","scorecard":{"id":543106,"data":{"date":"2025-08-11","repo":{"name":"github.com/jupp0r/prometheus-cpp","commit":"f13cdd052eeae5e89decc11bf03697d0f78b15bc"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":3,"reason":"Found 6/18 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/bazel-ci.yml:1","Warn: no topLevel permission defined: .github/workflows/cmake-ci.yml:1","Warn: no topLevel permission defined: .github/workflows/coverage.yml:1","Warn: no topLevel permission defined: .github/workflows/doxygen.yml:1","Warn: no topLevel permission defined: .github/workflows/linting.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":1,"reason":"dependency not pinned by hash detected -- score normalized to 1","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/bazel-ci.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/jupp0r/prometheus-cpp/bazel-ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cmake-ci.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/jupp0r/prometheus-cpp/cmake-ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cmake-ci.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/jupp0r/prometheus-cpp/cmake-ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/coverage.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/jupp0r/prometheus-cpp/coverage.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/coverage.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/jupp0r/prometheus-cpp/coverage.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/coverage.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/jupp0r/prometheus-cpp/coverage.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/doxygen.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/jupp0r/prometheus-cpp/doxygen.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/doxygen.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/jupp0r/prometheus-cpp/doxygen.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linting.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/jupp0r/prometheus-cpp/linting.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linting.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/jupp0r/prometheus-cpp/linting.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/jupp0r/prometheus-cpp/release.yml/master?enable=pin","Info:   0 out of   9 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   3 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.3.0 not signed: https://api.github.com/repos/jupp0r/prometheus-cpp/releases/183256030","Warn: release artifact v1.2.4 not signed: https://api.github.com/repos/jupp0r/prometheus-cpp/releases/144494134","Warn: release artifact v1.2.3 not signed: https://api.github.com/repos/jupp0r/prometheus-cpp/releases/140388908","Warn: release artifact v1.2.2 not signed: https://api.github.com/repos/jupp0r/prometheus-cpp/releases/140174200","Warn: release artifact v1.2.1 not signed: https://api.github.com/repos/jupp0r/prometheus-cpp/releases/136888642","Warn: release artifact v1.3.0 does not have provenance: https://api.github.com/repos/jupp0r/prometheus-cpp/releases/183256030","Warn: release artifact v1.2.4 does not have provenance: https://api.github.com/repos/jupp0r/prometheus-cpp/releases/144494134","Warn: release artifact v1.2.3 does not have provenance: https://api.github.com/repos/jupp0r/prometheus-cpp/releases/140388908","Warn: release artifact v1.2.2 does not have provenance: https://api.github.com/repos/jupp0r/prometheus-cpp/releases/140174200","Warn: release artifact v1.2.1 does not have provenance: https://api.github.com/repos/jupp0r/prometheus-cpp/releases/136888642"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-20T08:44:09.667Z","repository_id":37359245,"created_at":"2025-08-20T08:44:09.667Z","updated_at":"2025-08-20T08:44:09.667Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280200868,"owners_count":26289477,"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","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["metrics","prometheus"],"created_at":"2024-07-31T03:01:28.037Z","updated_at":"2025-10-21T03:57:12.746Z","avatar_url":"https://github.com/jupp0r.png","language":"C++","readme":"# Prometheus Client Library for Modern C++\n\n[![Bazel CI](https://github.com/jupp0r/prometheus-cpp/workflows/Bazel%20CI/badge.svg)](https://github.com/jupp0r/prometheus-cpp/actions?workflow=Continuous+Integration)\n[![CMake CI](https://github.com/jupp0r/prometheus-cpp/workflows/CMake%20CI/badge.svg)](https://github.com/jupp0r/prometheus-cpp/actions?workflow=Continuous+Integration)\n[![Coverage Status](https://coveralls.io/repos/github/jupp0r/prometheus-cpp/badge.svg?branch=master)](https://coveralls.io/github/jupp0r/prometheus-cpp?branch=master)\n\nThis library aims to enable\n[Metrics-Driven Development](https://sookocheff.com/post/mdd/mdd/) for\nC++ services. It implements the\n[Prometheus Data Model](https://prometheus.io/docs/concepts/data_model/),\na powerful abstraction on which to collect and expose metrics. We\noffer the possibility for metrics to be collected by Prometheus, but\nother push/pull collections can be added as plugins.\n\n## Usage\n\nSee https://jupp0r.github.io/prometheus-cpp for more detailed interface documentation.\n\n``` c++\n#include \u003cprometheus/counter.h\u003e\n#include \u003cprometheus/exposer.h\u003e\n#include \u003cprometheus/registry.h\u003e\n\n#include \u003carray\u003e\n#include \u003cchrono\u003e\n#include \u003ccstdlib\u003e\n#include \u003cmemory\u003e\n#include \u003cstring\u003e\n#include \u003cthread\u003e\n\nint main() {\n  using namespace prometheus;\n\n  // create an http server running on port 8080\n  Exposer exposer{\"127.0.0.1:8080\"};\n\n  // create a metrics registry\n  // @note it's the users responsibility to keep the object alive\n  auto registry = std::make_shared\u003cRegistry\u003e();\n\n  // add a new counter family to the registry (families combine values with the\n  // same name, but distinct label dimensions)\n  //\n  // @note please follow the metric-naming best-practices:\n  // https://prometheus.io/docs/practices/naming/\n  auto\u0026 packet_counter = BuildCounter()\n                             .Name(\"observed_packets_total\")\n                             .Help(\"Number of observed packets\")\n                             .Register(*registry);\n\n  // add and remember dimensional data, incrementing those is very cheap\n  auto\u0026 tcp_rx_counter =\n      packet_counter.Add({{\"protocol\", \"tcp\"}, {\"direction\", \"rx\"}});\n  auto\u0026 tcp_tx_counter =\n      packet_counter.Add({{\"protocol\", \"tcp\"}, {\"direction\", \"tx\"}});\n  auto\u0026 udp_rx_counter =\n      packet_counter.Add({{\"protocol\", \"udp\"}, {\"direction\", \"rx\"}});\n  auto\u0026 udp_tx_counter =\n      packet_counter.Add({{\"protocol\", \"udp\"}, {\"direction\", \"tx\"}});\n\n  // add a counter whose dimensional data is not known at compile time\n  // nevertheless dimensional values should only occur in low cardinality:\n  // https://prometheus.io/docs/practices/naming/#labels\n  auto\u0026 http_requests_counter = BuildCounter()\n                                    .Name(\"http_requests_total\")\n                                    .Help(\"Number of HTTP requests\")\n                                    .Register(*registry);\n\n  // ask the exposer to scrape the registry on incoming HTTP requests\n  exposer.RegisterCollectable(registry);\n\n  for (;;) {\n    std::this_thread::sleep_for(std::chrono::seconds(1));\n    const auto random_value = std::rand();\n\n    if (random_value \u0026 1) tcp_rx_counter.Increment();\n    if (random_value \u0026 2) tcp_tx_counter.Increment();\n    if (random_value \u0026 4) udp_rx_counter.Increment();\n    if (random_value \u0026 8) udp_tx_counter.Increment();\n\n    const std::array\u003cstd::string, 4\u003e methods = {\"GET\", \"PUT\", \"POST\", \"HEAD\"};\n    auto method = methods.at(random_value % methods.size());\n    // dynamically calling Family\u003cT\u003e.Add() works but is slow and should be\n    // avoided\n    http_requests_counter.Add({{\"method\", method}}).Increment();\n  }\n  return 0;\n}\n\n```\n\n## Requirements\n\nUsing `prometheus-cpp` requires a C++11 compliant compiler. It has been successfully tested with GNU GCC 7.4 on Ubuntu Bionic (18.04) and Visual Studio 2017.\n\n## Building\n\nThere are two supported ways to build\n`prometheus-cpp` - [CMake](https://cmake.org)\nand [bazel](https://bazel.io). Both are tested in CI and should work\non master and for all releases.\n\nIn case these instructions don't work for you, looking at\nthe [GitHub Workflows](.github/workflows) might help.\n\n### With CMake\n\nFor CMake builds don't forget to fetch the submodules first. Please note that\n[zlib](https://zlib.net/) and [libcurl](https://curl.se/) are not provided by\nthe included submodules. In the example below their usage is disabled.\n\nThen build as usual.\n\n``` shell\n# fetch third-party dependencies\ngit submodule init\ngit submodule update\n\nmkdir _build\ncd _build\n\n# run cmake\ncmake .. -DBUILD_SHARED_LIBS=ON -DENABLE_PUSH=OFF -DENABLE_COMPRESSION=OFF\n\n# build\ncmake --build . --parallel 4\n\n# run tests\nctest -V\n\n# install the libraries and headers\ncmake --install .\n```\n\n### With Bazel\n\nInstall a recent [bazel](https://www.bazel.io) version with Modules support.\nTo build and test prometheus-cpp run:\n\n```shell\nbazel test //...\n```\n\n## Packaging\n\nBy configuring CPack you can generate an installer like a\nDebian package (.deb) or RPM (.rpm) for the static or dynamic\nlibraries so they can be easily installed on\nother systems.\n\nPlease refer to the [CPack](https://cmake.org/cmake/help/latest/module/CPack.html)\ndocumentation for all available generators and their\nconfiguration options.\n\nTo generate a Debian package you could follow these steps:\n\n``` shell\n# fetch third-party dependencies\ngit submodule update --init\n\n# run cmake\ncmake -B_build -DCPACK_GENERATOR=DEB -DBUILD_SHARED_LIBS=ON # or OFF for static libraries\n\n# build and package\ncmake --build _build --target package --parallel $(nproc)\n```\n\nThis will place an appropriately named .deb in the\n`_build` folder. To build a RPM package set the `CPACK_GENERATOR`\nvariable to `RPM`. \n\n## Consuming the installed project\n\n### CMake\n\nConsuming prometheus-cpp via CMake is the preferred way because all the dependencies\nbetween the three prometheus-cpp libraries are handled correctly.\n\nThe `cmake/project-import` directory contains an\nexample project and minimal [CMakeLists.txt](cmake/project-import-cmake/CMakeLists.txt).\n\n### Ubuntu PPA\n\nThe Launchpad [prometheus-cpp team](https://launchpad.net/~prometheus-cpp) provides a\n[PPA for stable versions](https://code.launchpad.net/~prometheus-cpp/+archive/ubuntu/prometheus-cpp-stable).\nPlease follow the \"Adding this PPA to your system\" steps to use it.\n\n### vcpkg\n\nThe [vcpkg](https://github.com/microsoft/vcpkg) package manager contains a\nprometheus-cpp port which has been tested on Linux, macOS, and Windows.\n\n### Conan\n\n[Conan](https://conan.io/) package manager contains prometheus-cpp package as well\nin [ConanCenter](https://conan.io/center/prometheus-cpp) repository\n\n### Bazel\n\nThe Bazel Central Registry (BCR\n[provides the prometheus-cpp package](https://registry.bazel.build/modules/prometheus-cpp).\nAdd the following to your `MODULE.bazel` file:\n\n```python\nbazel_dep(name = \"prometheus-cpp\", version = \"1.2.4\")\n```\n\n### Plain Makefiles\n\nWhen manually linking prometheus-cpp the library order matters. The needed\nlibraries depend on the individual use case but the following should work for the pull metrics approach:\n\n```\n-lprometheus-cpp-pull -lprometheus-cpp-core -lz\n```\n\nFor the push-workflow please try:\n\n```\n-lprometheus-cpp-push -lprometheus-cpp-core -lcurl -lz\n```\n\n## Contributing\n\nPlease adhere to the [Google C++ Style\nGuide](https://google.github.io/styleguide/cppguide.html). Make sure\nto clang-format your patches before opening a PR. Also make sure to\nadhere to [these commit message\nguidelines](https://chris.beams.io/posts/git-commit/).\n\nYou can check out this repo and build the library using\n``` bash\nbazel build //...\n```\n\nRun the unit tests using\n```\nbazel test //...\n```\n\nThere is also an integration test that\nuses [telegraf](https://github.com/influxdata/telegraf) to scrape a\nsample server. With telegraf installed, it can be run using\n```\nbazel test //pull/tests/integration:scrape-test\n```\n\n## Benchmarks\n\nThere's a benchmark suite you can run:\n\n```\nbazel run -c opt //core/benchmarks\n\nINFO: Analysed target //core/benchmarks:benchmarks (0 packages loaded, 0 targets configured).\nINFO: Found 1 target...\nTarget //core/benchmarks:benchmarks up-to-date:\n  bazel-bin/core/benchmarks/benchmarks\nINFO: Elapsed time: 0.356s, Critical Path: 0.01s, Remote (0.00% of the time): [queue: 0.00%, setup: 0.00%, process: 0.00%]\nINFO: 0 processes.\nINFO: Build completed successfully, 1 total action\nINFO: Build completed successfully, 1 total action\n2018-11-30 15:13:14\nRun on (4 X 2200 MHz CPU s)\nCPU Caches:\n  L1 Data 32K (x2)\n  L1 Instruction 32K (x2)\n  L2 Unified 262K (x2)\n  L3 Unified 4194K (x1)\n-----------------------------------------------------------------------------------\nBenchmark                                            Time           CPU Iterations\n-----------------------------------------------------------------------------------\nBM_Counter_Increment                                13 ns         12 ns   55616469\nBM_Counter_Collect                                   7 ns          7 ns   99823170\nBM_Gauge_Increment                                  12 ns         12 ns   51511873\nBM_Gauge_Decrement                                  12 ns         12 ns   56831098\nBM_Gauge_SetToCurrentTime                          184 ns        183 ns    3928964\nBM_Gauge_Collect                                     6 ns          6 ns  117223478\nBM_Histogram_Observe/0                             134 ns        124 ns    5665310\nBM_Histogram_Observe/1                             122 ns        120 ns    5937185\nBM_Histogram_Observe/8                             137 ns        135 ns    4652863\nBM_Histogram_Observe/64                            143 ns        143 ns    4835957\nBM_Histogram_Observe/512                           259 ns        257 ns    2334750\nBM_Histogram_Observe/4096                         1545 ns       1393 ns     620754\nBM_Histogram_Collect/0                             103 ns        102 ns    5654829\nBM_Histogram_Collect/1                             100 ns        100 ns    7015153\nBM_Histogram_Collect/8                             608 ns        601 ns    1149652\nBM_Histogram_Collect/64                           1438 ns       1427 ns     515236\nBM_Histogram_Collect/512                          5178 ns       5159 ns     114619\nBM_Histogram_Collect/4096                        33527 ns      33280 ns      20785\nBM_Registry_CreateFamily                           320 ns        316 ns    2021567\nBM_Registry_CreateCounter/0                        128 ns        128 ns    5487140\nBM_Registry_CreateCounter/1                       2066 ns       2058 ns     386002\nBM_Registry_CreateCounter/8                       7672 ns       7634 ns      91328\nBM_Registry_CreateCounter/64                     63270 ns      62761 ns      10780\nBM_Registry_CreateCounter/512                   560714 ns     558328 ns       1176\nBM_Registry_CreateCounter/4096                18672798 ns   18383000 ns         35\nBM_Summary_Observe/0/iterations:262144            9351 ns       9305 ns     262144\nBM_Summary_Observe/1/iterations:262144            9242 ns       9169 ns     262144\nBM_Summary_Observe/8/iterations:262144           14344 ns      14195 ns     262144\nBM_Summary_Observe/64/iterations:262144          19176 ns      18950 ns     262144\nBM_Summary_Collect/0/0                              31 ns         30 ns   24873766\nBM_Summary_Collect/1/0                             166 ns        166 ns    4266706\nBM_Summary_Collect/8/0                            1040 ns       1036 ns     660527\nBM_Summary_Collect/64/0                           4529 ns       4489 ns     155600\nBM_Summary_Collect/0/1                              28 ns         28 ns   24866697\nBM_Summary_Collect/1/1                             190 ns        188 ns    3930354\nBM_Summary_Collect/8/1                            1372 ns       1355 ns     535779\nBM_Summary_Collect/64/1                           9901 ns       9822 ns      64632\nBM_Summary_Collect/0/8                              29 ns         29 ns   24922651\nBM_Summary_Collect/1/8                             217 ns        215 ns    3278381\nBM_Summary_Collect/8/8                            2275 ns       2256 ns     282503\nBM_Summary_Collect/64/8                          56790 ns      55804 ns      13878\nBM_Summary_Collect/0/64                             32 ns         31 ns   22548350\nBM_Summary_Collect/1/64                            395 ns        389 ns    1817073\nBM_Summary_Collect/8/64                          10187 ns      10064 ns      71928\nBM_Summary_Collect/64/64                        374835 ns     373560 ns       1812\nBM_Summary_Collect/0/512                            28 ns         28 ns   25234228\nBM_Summary_Collect/1/512                          1710 ns       1639 ns     802285\nBM_Summary_Collect/8/512                         50355 ns      49335 ns      15975\nBM_Summary_Collect/64/512                      2520972 ns    2493417 ns        295\nBM_Summary_Collect/0/4096                           31 ns         31 ns   24059034\nBM_Summary_Collect/1/4096                         2719 ns       2698 ns     286186\nBM_Summary_Collect/8/4096                       121689 ns     119995 ns       5647\nBM_Summary_Collect/64/4096                     5660131 ns    5587634 ns        134\nBM_Summary_Collect/0/32768                          29 ns         29 ns   22217567\nBM_Summary_Collect/1/32768                        4344 ns       4294 ns     138135\nBM_Summary_Collect/8/32768                      331563 ns     326403 ns       2017\nBM_Summary_Collect/64/32768                   16363553 ns   16038182 ns         44\nBM_Summary_Collect/0/262144                         27 ns         27 ns   23923036\nBM_Summary_Collect/1/262144                      10457 ns      10332 ns      67690\nBM_Summary_Collect/8/262144                     930434 ns     869234 ns        792\nBM_Summary_Collect/64/262144                  39217069 ns   39054846 ns         13\nBM_Summary_Observe_Common/iterations:262144       5587 ns       5557 ns     262144\nBM_Summary_Collect_Common/0                        676 ns        673 ns    1054630\nBM_Summary_Collect_Common/1                        709 ns        705 ns     990659\nBM_Summary_Collect_Common/8                       1030 ns       1025 ns     685649\nBM_Summary_Collect_Common/64                      2066 ns       2055 ns     339969\nBM_Summary_Collect_Common/512                     5754 ns       5248 ns     156895\nBM_Summary_Collect_Common/4096                   23894 ns      23292 ns      31096\nBM_Summary_Collect_Common/32768                  49831 ns      49292 ns      13492\nBM_Summary_Collect_Common/262144                128723 ns     126987 ns       5579\n```\n\n## Project Status\nStable and used in production.\n\nParts of the library are instrumented by itself\n(bytes scraped, number of scrapes, scrape request latencies).  There\nis a working [example](pull/tests/integration/sample_server.cc) that's\nscraped by telegraf as part of integration tests.\n\n## FAQ\n\n### What scrape formats do you support\n\nOnly the [Prometheus Text Exposition\nFormat](https://github.com/prometheus/docs/blob/master/content/docs/instrumenting/exposition_formats.md#text-format-details).\nSupport for the protobuf format was removed because it's been removed\nfrom Prometheus 2.0.\n\n## License\n\nMIT\n","funding_links":[],"categories":["HarmonyOS","Projects built with Bazel","C++"],"sub_categories":["Windows Manager","non-Google projects"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjupp0r%2Fprometheus-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjupp0r%2Fprometheus-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjupp0r%2Fprometheus-cpp/lists"}