Apache Geode Native C++ Reference 1.15.0
CacheStatistics.hpp
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. 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#ifndef GEODE_CACHESTATISTICS_H_
21#define GEODE_CACHESTATISTICS_H_
22
23#include <atomic>
24#include <chrono>
25
26#include "internal/geode_globals.hpp"
27
32namespace apache {
33namespace geode {
34namespace client {
35
36class LocalRegion;
37
48class APACHE_GEODE_EXPORT CacheStatistics {
49 private:
50 using time_point = std::chrono::steady_clock::time_point;
51
52 public:
54 CacheStatistics(const CacheStatistics&) = delete;
55 virtual ~CacheStatistics();
56
79 virtual std::chrono::system_clock::time_point getLastModifiedTime() const;
80
98 virtual std::chrono::system_clock::time_point getLastAccessedTime() const;
99
100 time_point getLastModifiedSteadyTime() const;
101 time_point getLastAccessedSteadyTime() const;
102
103 private:
104 virtual void setLastAccessedTime(time_point tp);
105 virtual void setLastModifiedTime(time_point tp);
106
107 std::atomic<time_point::duration::rep> last_accessed_;
108 std::atomic<time_point::duration::rep> last_modified_;
109
110 friend class LocalRegion;
111};
112
113} // namespace client
114} // namespace geode
115} // namespace apache
116
117#endif // GEODE_CACHESTATISTICS_H_
Defines common statistical information for both the region and its entries.
Definition: CacheStatistics.hpp:48
virtual std::chrono::system_clock::time_point getLastModifiedTime() const
For an entry, returns the time that the entry's value was last modified.
virtual std::chrono::system_clock::time_point getLastAccessedTime() const
For an entry, returns the last time it was accessed via Region.get.

Apache Geode C++ Cache API Documentation