5#ifndef RUNTIME_VM_METRICS_H_
6#define RUNTIME_VM_METRICS_H_
29#define DART_API_ISOLATE_GROUP_METRIC_LIST(V) \
30 V(MetricHeapOldUsed, HeapOldUsed, "heap.old.used", kByte) \
31 V(MetricHeapOldCapacity, HeapOldCapacity, "heap.old.capacity", kByte) \
32 V(MetricHeapOldExternal, HeapOldExternal, "heap.old.external", kByte) \
33 V(MetricHeapNewUsed, HeapNewUsed, "heap.new.used", kByte) \
34 V(MetricHeapNewCapacity, HeapNewCapacity, "heap.new.capacity", kByte) \
35 V(MetricHeapNewExternal, HeapNewExternal, "heap.new.external", kByte)
37#define ISOLATE_GROUP_METRIC_LIST(V) \
38 DART_API_ISOLATE_GROUP_METRIC_LIST(V) \
39 V(MaxMetric, HeapOldUsedMax, "heap.old.used.max", kByte) \
40 V(MaxMetric, HeapOldCapacityMax, "heap.old.capacity.max", kByte) \
41 V(MaxMetric, HeapNewUsedMax, "heap.new.used.max", kByte) \
42 V(MaxMetric, HeapNewCapacityMax, "heap.new.capacity.max", kByte) \
43 V(MetricHeapUsed, HeapGlobalUsed, "heap.global.used", kByte) \
44 V(MaxMetric, HeapGlobalUsedMax, "heap.global.used.max", kByte)
49#define ISOLATE_METRIC_LIST(V) \
50 V(Metric, RunnableLatency, "isolate.runnable.latency", kMicrosecond) \
51 V(Metric, RunnableHeapSize, "isolate.runnable.heap", kByte)
95 int64_t
value()
const {
return value_; }
100 const char*
name()
const {
return name_; }
119 const char* name_ =
nullptr;
120 const char* description_ =
nullptr;
124 static Metric* vm_list_head_;
125 DISALLOW_COPY_AND_ASSIGN(
Metric);
148 virtual int64_t
Value()
const;
153 virtual int64_t
Value()
const;
158 virtual int64_t
Value()
const;
163 virtual int64_t
Value()
const;
168 virtual int64_t
Value()
const;
173 virtual int64_t
Value()
const;
179 virtual int64_t
Value()
const;
184 virtual int64_t
Value()
const;
189 virtual int64_t
Value()
const;
195 virtual int64_t
Value()
const;
void SetValue(int64_t new_value)
virtual int64_t Value() const
virtual int64_t Value() const
virtual int64_t Value() const
virtual int64_t Value() const
virtual int64_t Value() const
virtual int64_t Value() const
virtual int64_t Value() const
virtual int64_t Value() const
void PrintJSON(JSONStream *stream)
static char * ValueToString(int64_t value, Unit unit)
IsolateGroup * isolate_group() const
static Metric * vm_head()
void set_value(int64_t value)
void InitInstance(Isolate *isolate, const char *name, const char *description, Unit unit)
const char * description() const
virtual int64_t Value() const
Isolate * isolate() const
const char * name() const
void SetValue(int64_t new_value)