MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
time_based_metric_stub.h
Go to the documentation of this file.
1// Copyright (c) 2024, 2025, Oracle and/or its affiliates.
2//
3// This program is free software; you can redistribute it and/or modify
4// it under the terms of the GNU General Public License, version 2.0,
5// as published by the Free Software Foundation.
6//
7// This program is designed to work with certain software (including
8// but not limited to OpenSSL) that is licensed under separate terms,
9// as designated in a particular file or component or in included license
10// documentation. The authors of MySQL hereby grant you an additional
11// permission to link the program and your derivative works with the
12// separately licensed software that they have either included with
13// the program or referenced in the documentation.
14//
15// This program is distributed in the hope that it will be useful,
16// but WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18// GNU General Public License, version 2.0, for more details.
19//
20// You should have received a copy of the GNU General Public License
21// along with this program; if not, write to the Free Software
22// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
23
24#ifndef CHANGESTREAMS_APPLY_METRICS_TIME_BASED_METRIC_STUB_H
25#define CHANGESTREAMS_APPLY_METRICS_TIME_BASED_METRIC_STUB_H
26
28
29/// @brief Class that intends to be a dummy end point for time metrics
31 public:
32 /// @brief Resets the counter and summed time to 0
33 void reset() override;
34
35 /// @brief Returns the time waited across all executions of the start/stop
36 /// methods
37 /// @return The total time waited, in nanoseconds.
38 int64_t get_time() const override;
39
40 /// @brief Increments the waiting counter
41 void increment_counter() override;
42
43 /// @brief Returns the number of time we waited on give spot
44 /// @return the number of times waited
45 int64_t get_count() const override;
46
47 protected:
48 /// @brief Starts counting time we are waiting on something
49 void start_timer() override;
50
51 /// @brief Stops the timer for the wait.
52 /// Requires start_timer to be called first
53 void stop_timer() override;
54};
55
56#endif /* CHANGESTREAMS_APPLY_METRICS_TIME_BASED_METRIC_STUB_H */
Abstract class for time based metrics implementations.
Definition: time_based_metric_interface.h:32
Class that intends to be a dummy end point for time metrics.
Definition: time_based_metric_stub.h:30
int64_t get_time() const override
Returns the time waited across all executions of the start/stop methods.
Definition: time_based_metric_stub.cc:32
void increment_counter() override
Increments the waiting counter.
Definition: time_based_metric_stub.cc:34
int64_t get_count() const override
Returns the number of time we waited on give spot.
Definition: time_based_metric_stub.cc:36
void start_timer() override
Starts counting time we are waiting on something.
Definition: time_based_metric_stub.cc:28
void stop_timer() override
Stops the timer for the wait.
Definition: time_based_metric_stub.cc:30
void reset() override
Resets the counter and summed time to 0.
Definition: time_based_metric_stub.cc:26