MemoryGauge.h revision af222500aa2ce2b18149277e561cdf75f2115df2
1//
2//  MemoryGauge.h
3//  PerfTestDriver
4//
5//  Created by Enrico Granata on 3/6/13.
6//  Copyright (c) 2013 Apple Inc. All rights reserved.
7//
8
9#ifndef __PerfTestDriver__MemoryGauge__
10#define __PerfTestDriver__MemoryGauge__
11
12#include "Gauge.h"
13
14#include <mach/task_info.h>
15
16namespace lldb_perf
17{
18class MemoryGauge : public Gauge<mach_vm_size_t>
19{
20private:
21    enum class State
22    {
23        eMSNeverUsed,
24        eMSCounting,
25        eMSStopped
26    };
27
28    SizeType
29    now ();
30
31    SizeType m_start;
32    State m_state;
33    SizeType m_value;
34
35public:
36    MemoryGauge ();
37
38    virtual
39    ~MemoryGauge ()
40    {}
41
42    void
43    start ();
44
45    SizeType
46    stop ();
47
48    SizeType
49    value ();
50};
51}
52
53#endif /* defined(__PerfTestDriver__MemoryGauge__) */
54