NVIDIA DeepStream SDK API Reference

9.2 Release
includes/prometheus/counter.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #pragma once
19 
20 #include "prometheus/client_metric.h"
21 #include "prometheus/detail/builder.h" // IWYU pragma: export
22 #include "prometheus/detail/core_export.h"
23 #include "prometheus/gauge.h"
24 #include "prometheus/metric_type.h"
25 
26 namespace prometheus {
27 
44  public:
45  static const MetricType metric_type{MetricType::Counter};
46 
48  Counter() = default;
49 
51  void Increment();
52 
56  void Increment(double);
57 
59  void Reset();
60 
62  double Value() const;
63 
67  ClientMetric Collect() const;
68 
69  private:
70  Gauge gauge_{0.0};
71 };
72 
100 PROMETHEUS_CPP_CORE_EXPORT detail::Builder<Counter> BuildCounter();
101 
102 } // namespace prometheus
prometheus::BuildCounter
PROMETHEUS_CPP_CORE_EXPORT detail::Builder< Counter > BuildCounter()
Return a builder to configure and register a Counter metric.
prometheus::ClientMetric
Definition: includes/prometheus/client_metric.h:29
PROMETHEUS_CPP_CORE_EXPORT
#define PROMETHEUS_CPP_CORE_EXPORT
Definition: includes/prometheus/detail/core_export.h:31
prometheus::MetricType
MetricType
Definition: includes/prometheus/metric_type.h:22
prometheus::MetricType::Counter
@ Counter
prometheus::Gauge
A gauge metric to represent a value that can arbitrarily go up and down.
Definition: includes/prometheus/gauge.h:41
prometheus::Counter
A counter metric to represent a monotonically increasing value.
Definition: includes/prometheus/counter.h:43
prometheus
Definition: includes/prometheus/check_names.h:25