[packages/prometheus-cpp-lite] - new
qboosh
qboosh at pld-linux.org
Wed Jun 18 19:14:42 CEST 2025
commit e64a332f3d44cdbccb26d5b8419548d1446b38a3
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Wed Jun 18 18:56:05 2025 +0200
- new
prometheus-cpp-lite-git.patch | 441 ++++++++++++++++++++++++++++++++++++++++++
prometheus-cpp-lite.spec | 149 ++++++++++++++
2 files changed, 590 insertions(+)
---
diff --git a/prometheus-cpp-lite.spec b/prometheus-cpp-lite.spec
new file mode 100644
index 0000000..a4cb68f
--- /dev/null
+++ b/prometheus-cpp-lite.spec
@@ -0,0 +1,149 @@
+Summary: C++ header-only Prometheus client library
+Summary(pl.UTF-8): Biblioteka klienta Prometheusa z samych plików nagłówkowych C++
+Name: prometheus-cpp-lite
+Version: 1.0
+Release: 1
+License: MIT
+Group: Libraries
+#Source0Download: https://github.com/biaks/prometheus-cpp-lite/releases
+Source0: https://github.com/biaks/prometheus-cpp-lite/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 284064732a693846673b1852e75ae2cc
+# git log -p --reverse v1.0..master
+Patch0: %{name}-git.patch
+URL: https://github.com/biaks/prometheus-cpp-lite
+BuildRequires: cmake >= 3.2
+BuildRequires: libstdc++-devel >= 6:4.7
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 1.605
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+It is a tool for quickly adding metrics (and profiling) functionality
+to C++ projects.
+
+Advantages:
+- Written in pure C++,
+- Header-only,
+- Cross-platform,
+- Compiles with C++ 11, C++ 14, C++ 17 standards,
+- Several APIs for use in your projects,
+- Saving metrics to a file (and then works with node_exporter) or
+ sending via HTTP (uses header-only http-client-lite library),
+- Possiblity to use different types for storing metrics data,
+- Five types of metrics are supported: counter, gauge, summary,
+ histogram and benchmark,
+- Has detailed examples of use.
+
+%description -l pl.UTF-8
+Narzędzie do szybkiego dodawania funkcji metryk (i profilowania) do
+projektów w C++.
+
+Zalety:
+- napisane w czystym C++
+- składa się wyłącznie z plików nagłówkowych
+- wieloplatformowe
+- zgodne ze standardami C++ 11, C++ 14, C++ 17
+- do użycia w projektach dostępne jest kilka API
+- zapis metryk do pliku (działa z node_exporter) lub wysyłanie przez
+ HTTP (wykorzystuje bibliotekę z samego pliku nagłówkowego
+ http-client-lite)
+- możliwość użycia różnych typów do przechowywania danych metryk
+- obsługa pięciu typów metryk: licznik, miernik, podsumowanie,
+ histogram, dane o wydajności
+- szczegółowe przykłady użycia.
+
+%package devel
+Summary: C++ header-only Prometheus client library
+Summary(pl.UTF-8): Biblioteka klienta Prometheusa z samych plików nagłówkowych C++
+Group: Development/Libraries
+Requires: libstdc++-devel >= 6:4.7
+Requires: http-client-lite-devel
+BuildArch: noarch
+
+%description devel
+It is a tool for quickly adding metrics (and profiling) functionality
+to C++ projects.
+
+Advantages:
+- Written in pure C++,
+- Header-only,
+- Cross-platform,
+- Compiles with C ++ 11, C ++ 14, C ++ 17 standards,
+- Has no third-party dependencies,
+- Several APIs for use in your projects,
+- Saving metrics to a file (and then works with node_exporter) or
+ sending via HTTP (uses header-only http-client-lite library),
+- Possiblity to use different types for storing metrics data,
+- Five types of metrics are supported: counter, gauge, summary,
+ histogram and benchmark,
+- Has detailed examples of use.
+
+%description devel -l pl.UTF-8
+Narzędzie do szybkiego dodawania funkcji metryk (i profilowania) do
+projektów w C++.
+
+Zalety:
+- napisane w czystym C++
+- składa się wyłącznie z plików nagłówkowych
+- wieloplatformowe
+- zgodne ze standardami C++ 11, C++ 14, C++ 17
+- do użycia w projektach dostępne jest kilka API
+- zapis metryk do pliku (działa z node_exporter) lub wysyłanie przez
+ HTTP (wykorzystuje bibliotekę z samego pliku nagłówkowego
+ http-client-lite)
+- możliwość użycia różnych typów do przechowywania danych metryk
+- obsługa pięciu typów metryk: licznik, miernik, podsumowanie,
+ histogram, dane o wydajności
+- szczegółowe przykłady użycia.
+
+%package simpleapi-devel
+Summary: Prometheus client Simple API library
+Summary(pl.UTF-8): Biblioteka Simple API klienta Prometheusa
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description simpleapi-devel
+Prometheus client Simple API library.
+
+%description simpleapi-devel -l pl.UTF-8
+Biblioteka Simple API klienta Prometheusa.
+
+%prep
+%setup -q
+%patch -P0 -p1
+
+%build
+install -d build
+cd build
+%cmake ..
+
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/prometheus-cpp-lite}
+
+# no cmake install, do it manually;
+# use subdir to resolve conflict with prometheus-cpp-devel
+cp -pr core/include/prometheus $RPM_BUILD_ROOT%{_includedir}/prometheus-cpp-lite
+
+cp -p simpleapi/include/prometheus/simpleapi.h $RPM_BUILD_ROOT%{_includedir}/prometheus-cpp-lite/prometheus
+cp -p build/simpleapi/libprometheus-cpp-simpleapi.a $RPM_BUILD_ROOT%{_libdir}
+
+install -d $RPM_BUILD_ROOT%{_examplesdir}
+cp -pr examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files devel
+%defattr(644,root,root,755)
+%doc LICENSE README.md
+%{_includedir}/prometheus-cpp-lite
+%exclude %{_includedir}/prometheus-cpp-lite/prometheus/simpleapi.h
+%{_examplesdir}/%{name}-%{version}
+
+%files simpleapi-devel
+%defattr(644,root,root,755)
+%{_libdir}/libprometheus-cpp-simpleapi.a
+%{_includedir}/prometheus-cpp-lite/prometheus/simpleapi.h
diff --git a/prometheus-cpp-lite-git.patch b/prometheus-cpp-lite-git.patch
new file mode 100644
index 0000000..6158fcf
--- /dev/null
+++ b/prometheus-cpp-lite-git.patch
@@ -0,0 +1,441 @@
+commit 966dc7092f33259a81b84adc53c88ba89cc801f4
+Author: biaks <ianiskr at gmail.com>
+Date: Sun Aug 29 17:32:00 2021 +0300
+
+ Add config for github CI
+
+diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml
+new file mode 100644
+index 0000000..6468158
+--- /dev/null
++++ b/.github/workflows/cmake.yml
+@@ -0,0 +1,30 @@
++name: CMake
++
++on:
++ push:
++ branches: [ master ]
++ pull_request:
++ branches: [ master ]
++
++env:
++ # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
++ BUILD_TYPE: Release
++
++jobs:
++ build:
++ # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
++ # You can convert this to a matrix build if you need cross-platform coverage.
++ # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
++ runs-on: ubuntu-latest
++
++ steps:
++ - uses: actions/checkout at v2
++
++ - name: Configure CMake
++ # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
++ # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
++ run: cmake -B ${{github.workspace}}/build -DPROMETHEUS_BUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
++
++ - name: Build
++ # Build your program with the given configuration
++ run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
+diff --git a/README.md b/README.md
+index 5aeae60..88b42ce 100644
+--- a/README.md
++++ b/README.md
+@@ -1,5 +1,7 @@
+ # C++ Header-only Prometheus client library
+
++[](https://github.com/biaks/prometheus-cpp-lite/actions/workflows/cmake.yml)
++
+ It is a tool for quickly adding metrics (and profiling) functionality to C++ projects.
+
+ ## Advantages:
+
+commit 8f252c36e55d8a82cae16df9eeed9ed64199643c
+Author: Biaks <ianiskr at mail.ru>
+Date: Tue Dec 21 12:47:40 2021 +0300
+
+ Update issue templates
+
+diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
+new file mode 100644
+index 0000000..dd84ea7
+--- /dev/null
++++ b/.github/ISSUE_TEMPLATE/bug_report.md
+@@ -0,0 +1,38 @@
++---
++name: Bug report
++about: Create a report to help us improve
++title: ''
++labels: ''
++assignees: ''
++
++---
++
++**Describe the bug**
++A clear and concise description of what the bug is.
++
++**To Reproduce**
++Steps to reproduce the behavior:
++1. Go to '...'
++2. Click on '....'
++3. Scroll down to '....'
++4. See error
++
++**Expected behavior**
++A clear and concise description of what you expected to happen.
++
++**Screenshots**
++If applicable, add screenshots to help explain your problem.
++
++**Desktop (please complete the following information):**
++ - OS: [e.g. iOS]
++ - Browser [e.g. chrome, safari]
++ - Version [e.g. 22]
++
++**Smartphone (please complete the following information):**
++ - Device: [e.g. iPhone6]
++ - OS: [e.g. iOS8.1]
++ - Browser [e.g. stock browser, safari]
++ - Version [e.g. 22]
++
++**Additional context**
++Add any other context about the problem here.
+diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md
+new file mode 100644
+index 0000000..48d5f81
+--- /dev/null
++++ b/.github/ISSUE_TEMPLATE/custom.md
+@@ -0,0 +1,10 @@
++---
++name: Custom issue template
++about: Describe this issue template's purpose here.
++title: ''
++labels: ''
++assignees: ''
++
++---
++
++
+diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
+new file mode 100644
+index 0000000..bbcbbe7
+--- /dev/null
++++ b/.github/ISSUE_TEMPLATE/feature_request.md
+@@ -0,0 +1,20 @@
++---
++name: Feature request
++about: Suggest an idea for this project
++title: ''
++labels: ''
++assignees: ''
++
++---
++
++**Is your feature request related to a problem? Please describe.**
++A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
++
++**Describe the solution you'd like**
++A clear and concise description of what you want to happen.
++
++**Describe alternatives you've considered**
++A clear and concise description of any alternative solutions or features you've considered.
++
++**Additional context**
++Add any other context or screenshots about the feature request here.
+
+#commit 76be2bc7874bedd257c48340666d5c2305ac0912
+#Author: aSemy <897017+aSemy at users.noreply.github.com>
+#Date: Mon Dec 12 22:10:33 2022 +0100
+#
+# Update histogram.h
+#
+#diff --git a/core/include/prometheus/histogram.h b/core/include/prometheus/histogram.h
+#index 03cf461..aa6dfc4 100644
+#--- a/core/include/prometheus/histogram.h
+#+++ b/core/include/prometheus/histogram.h
+#@@ -105,7 +105,7 @@ namespace prometheus {
+# auto cumulative_count = 0ULL;
+# metric.histogram.bucket.reserve(bucket_counts_.size());
+# for (std::size_t i{0}; i < bucket_counts_.size(); ++i) {
+#- cumulative_count += static_cast<std::size_t>(bucket_counts_[i].Value());
+#+ cumulative_count += static_cast<std::size_t>(bucket_counts_[i].Get());
+# auto bucket = ClientMetric::Bucket{};
+# bucket.cumulative_count = cumulative_count;
+# bucket.upper_bound = (i == bucket_boundaries_.size()
+#
+#commit 42e12527db163f5632c50c3641b170673faa6c32
+#Author: aSemy <897017+aSemy at users.noreply.github.com>
+#Date: Tue Dec 13 00:00:18 2022 +0100
+#
+# Histogram, inherit from public Metric
+#
+#diff --git a/core/include/prometheus/histogram.h b/core/include/prometheus/histogram.h
+#index 03cf461..7745283 100644
+#--- a/core/include/prometheus/histogram.h
+#+++ b/core/include/prometheus/histogram.h
+#@@ -27,7 +27,7 @@ namespace prometheus {
+# /// The class is thread-safe. No concurrent call to any API of this type causes
+# /// a data race.
+# template <typename Value_ = uint64_t>
+#- class Histogram : Metric {
+#+ class Histogram : public Metric {
+#
+# using BucketBoundaries = std::vector<Value_>;
+#
+#
+commit bcd99241ef31f30821a61b2ff8edbbe39c391d03
+Author: Sergey Grigoryan <sergeygrigoryan0903 at gmail.com>
+Date: Wed Jan 4 16:04:28 2023 +0400
+
+ Fixed some bugs in Histogram class. Made it to work with templates correctly. Also some general changes.
+
+diff --git a/core/include/prometheus/client_metric.h b/core/include/prometheus/client_metric.h
+index 39acff7..4232c63 100644
+--- a/core/include/prometheus/client_metric.h
++++ b/core/include/prometheus/client_metric.h
+@@ -3,11 +3,11 @@
+ #include <cstdint>
+ #include <string>
+ #include <tuple>
++#include <utility>
+ #include <vector>
+
+ namespace prometheus {
+
+- // ���������, � ������� ���������� �������� ������ ����� �� �������������
+ struct ClientMetric {
+
+ // Label
+@@ -17,7 +17,7 @@ namespace prometheus {
+ std::string name;
+ std::string value;
+
+- Label(const std::string name_, const std::string value_) : name(name_), value(value_) {}
++ Label(std::string name_, std::string value_) : name(std::move(name_)), value(std::move(value_)) {}
+
+ bool operator<(const Label& rhs) const {
+ return std::tie(name, value) < std::tie(rhs.name, rhs.value);
+diff --git a/core/include/prometheus/counter.h b/core/include/prometheus/counter.h
+index 3523188..93fbd23 100644
+--- a/core/include/prometheus/counter.h
++++ b/core/include/prometheus/counter.h
+@@ -28,7 +28,7 @@ namespace prometheus {
+ template <typename Value_ = uint64_t>
+ class Counter : public Metric {
+
+- std::atomic<Value_> value{ 0 };
++ std::atomic<Value_> value{};
+
+ public:
+
+diff --git a/core/include/prometheus/family.h b/core/include/prometheus/family.h
+index 956c7df..1c625c1 100644
+--- a/core/include/prometheus/family.h
++++ b/core/include/prometheus/family.h
+@@ -87,10 +87,10 @@ namespace prometheus {
+ static bool isLocaleIndependentDigit (char c) { return '0' <= c && c <= '9'; }
+ static bool isLocaleIndependentAlphaNumeric (char c) { return isLocaleIndependentDigit(c) || ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z'); }
+
+- bool nameStartsValid (const std::string& name) {
+- if (name.empty()) return false; // must not be empty
+- if (isLocaleIndependentDigit(name.front())) return false; // must not start with a digit
+- if (name.compare(0, 2, "__") == 0) return false; // must not start with "__"
++ bool nameStartsValid (const std::string& cur_name) {
++ if (cur_name.empty()) return false; // must not be empty
++ if (isLocaleIndependentDigit(cur_name.front())) return false; // must not start with a digit
++ if (cur_name.compare(0, 2, "__") == 0) return false; // must not start with "__"
+ return true;
+ }
+
+@@ -102,12 +102,12 @@ namespace prometheus {
+ ///
+ /// \param name metric name
+ /// \return true is valid, false otherwise
+- bool CheckMetricName (const std::string& name) {
++ bool CheckMetricName (const std::string& cur_name) {
+
+- if (!nameStartsValid(name))
++ if (!nameStartsValid(cur_name))
+ return false;
+
+- for (const char& c : name)
++ for (const char& c : cur_name)
+ if ( !isLocaleIndependentAlphaNumeric(c) && c != '_' && c != ':' )
+ return false;
+
+@@ -123,12 +123,12 @@ namespace prometheus {
+ ///
+ /// \param name label name
+ /// \return true is valid, false otherwise
+- bool CheckLabelName (const std::string& name) {
++ bool CheckLabelName (const std::string& cur_name) {
+
+- if (!nameStartsValid(name))
++ if (!nameStartsValid(cur_name))
+ return false;
+
+- for (const char& c : name)
++ for (const char& c : cur_name)
+ if (!isLocaleIndependentAlphaNumeric(c) && c != '_')
+ return false;
+
+@@ -198,8 +198,8 @@ namespace prometheus {
+ /// \brief Returns true if the dimensional data with the given labels exist
+ ///
+ /// \param labels A set of key-value pairs (= labels) of the dimensional data.
+- bool Has (const Labels& labels) const {
+- const Hash hash = hash_labels (labels);
++ bool Has (const Labels& cur_labels) const {
++ const Hash hash = hash_labels (cur_labels);
+ std::lock_guard<std::mutex> lock{ mutex };
+ return metrics.find(hash) != metrics.end();
+ }
+@@ -262,8 +262,9 @@ namespace prometheus {
+
+ static const Metric::Type static_type = CustomMetric::static_type;
+
+- CustomFamily(const std::string& name, const std::string& help, const Family::Labels& constant_labels)
+- : Family(static_type, name, help, constant_labels) {}
++ CustomFamily(const std::string& name_, const std::string& help_,
++ const Family::Labels& constant_labels_)
++ : Family(static_type, name_, help_, constant_labels_) {}
+
+ /// \brief Add a new dimensional data.
+ ///
+diff --git a/core/include/prometheus/histogram.h b/core/include/prometheus/histogram.h
+index 03cf461..40aa4f3 100644
+--- a/core/include/prometheus/histogram.h
++++ b/core/include/prometheus/histogram.h
+@@ -7,6 +7,7 @@
+ #include "prometheus/metric.h"
+ #include "prometheus/family.h"
+ #include "prometheus/counter.h"
++#include "prometheus/gauge.h"
+
+ namespace prometheus {
+
+@@ -27,16 +28,10 @@ namespace prometheus {
+ /// The class is thread-safe. No concurrent call to any API of this type causes
+ /// a data race.
+ template <typename Value_ = uint64_t>
+- class Histogram : Metric {
+-
+- using BucketBoundaries = std::vector<Value_>;
+-
+- const BucketBoundaries bucket_boundaries_;
+- std::vector<Counter<Value_>> bucket_counts_;
+- Gauge<Value_> sum_;
+-
++ class Histogram : public Metric {
+ public:
+ using Value = Value_;
++ using BucketBoundaries = std::vector<Value>;
+ using Family = CustomFamily<Histogram<Value>>;
+
+ static const Metric::Type static_type = Metric::Type::Histogram;
+@@ -69,7 +64,7 @@ namespace prometheus {
+ bucket_boundaries_.begin(),
+ std::find_if(
+ std::begin(bucket_boundaries_), std::end(bucket_boundaries_),
+- [value](const double boundary) { return boundary >= value; })));
++ [value](const Value boundary) { return boundary >= value; })));
+ sum_.Increment(value);
+ bucket_counts_[bucket_index].Increment();
+ }
+@@ -105,20 +100,24 @@ namespace prometheus {
+ auto cumulative_count = 0ULL;
+ metric.histogram.bucket.reserve(bucket_counts_.size());
+ for (std::size_t i{0}; i < bucket_counts_.size(); ++i) {
+- cumulative_count += static_cast<std::size_t>(bucket_counts_[i].Value());
++ cumulative_count += static_cast<std::size_t>(bucket_counts_[i].Get());
+ auto bucket = ClientMetric::Bucket{};
+ bucket.cumulative_count = cumulative_count;
+- bucket.upper_bound = (i == bucket_boundaries_.size()
+- ? std::numeric_limits<double>::infinity()
+- : bucket_boundaries_[i]);
++ bucket.upper_bound = static_cast<double>((i == bucket_boundaries_.size()
++ ? std::numeric_limits<Value>::infinity()
++ : bucket_boundaries_[i]));
+ metric.histogram.bucket.push_back(std::move(bucket));
+ }
+ metric.histogram.sample_count = cumulative_count;
+- metric.histogram.sample_sum = sum_.Get();
++ metric.histogram.sample_sum = static_cast<double>(sum_.Get());
+
+ return metric;
+ }
+
++ private:
++ const BucketBoundaries bucket_boundaries_;
++ std::vector<Counter<Value_>> bucket_counts_;
++ Gauge<Value_> sum_;
+ };
+
+ /// \brief Return a builder to configure and register a Histogram metric.
+@@ -151,4 +150,5 @@ namespace prometheus {
+ using BuildHistogram = Builder<Histogram<double>>;
+
+
++
+ } // namespace prometheus
+
+commit 3f4adb40450db196f716cbca5583120378f4a4a7
+Author: Sergey Grigoryan <sergeygrigoryan0903 at gmail.com>
+Date: Fri Jan 6 14:49:30 2023 +0400
+
+ Fixed bug that std::numeric_limits<T>::infinity was incorrectly casted to double.
+
+diff --git a/core/include/prometheus/histogram.h b/core/include/prometheus/histogram.h
+index 40aa4f3..72a5b5b 100644
+--- a/core/include/prometheus/histogram.h
++++ b/core/include/prometheus/histogram.h
+@@ -103,9 +103,9 @@ namespace prometheus {
+ cumulative_count += static_cast<std::size_t>(bucket_counts_[i].Get());
+ auto bucket = ClientMetric::Bucket{};
+ bucket.cumulative_count = cumulative_count;
+- bucket.upper_bound = static_cast<double>((i == bucket_boundaries_.size()
+- ? std::numeric_limits<Value>::infinity()
+- : bucket_boundaries_[i]));
++ bucket.upper_bound = i == bucket_boundaries_.size()
++ ? std::numeric_limits<double>::infinity()
++ : static_cast<double>(bucket_boundaries_[i]);
+ metric.histogram.bucket.push_back(std::move(bucket));
+ }
+ metric.histogram.sample_count = cumulative_count;
+
+commit e0afbf7f11bd486467ab2f655eb863f136d69fc5
+Merge: 8f252c3 76be2bc
+Author: Biaks <ianiskr at gmail.com>
+Date: Sun Aug 13 22:23:48 2023 +0300
+
+ Merge pull request #17 from aSemy/fix/histogram-collect
+
+ Update histogram.h - use `Counter.Get()`
+
+commit 92c9449d66544de47f6f687812ac2d1d07df7ebf
+Merge: e0afbf7 42e1252
+Author: Biaks <ianiskr at gmail.com>
+Date: Sun Aug 13 22:24:10 2023 +0300
+
+ Merge pull request #18 from aSemy/patch-1
+
+ Histogram, inherit from public Metric
+
+commit cac781b022aa96e5d9b3d50f1424bb11c60eb50e
+Merge: 3f4adb4 92c9449
+Author: Biaks <ianiskr at gmail.com>
+Date: Sun Aug 13 22:26:37 2023 +0300
+
+ Merge branch 'master' into some_useful_changes
+
+commit 48d09c45ee6deb90e02579b03037740e1c01fd27
+Merge: 92c9449 cac781b
+Author: Biaks <ianiskr at gmail.com>
+Date: Sun Aug 13 22:30:00 2023 +0300
+
+ Merge pull request #19 from grigoryan-sergey/some_useful_changes
+
+ Fixed some bugs in Histogram class. Made it to work with templates correctly.
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/prometheus-cpp-lite.git/commitdiff/e64a332f3d44cdbccb26d5b8419548d1446b38a3
More information about the pld-cvs-commit
mailing list