--- old/src/hotspot/share/gc/z/zServiceability.cpp 2018-07-27 23:19:14.659851992 +0900 +++ new/src/hotspot/share/gc/z/zServiceability.cpp 2018-07-27 23:19:14.434851190 +0900 @@ -52,11 +52,16 @@ private: ZOldGenerationCounters _old_collection_counters; HSpaceCounters _old_space_counters; + CollectorCounters* _cgc_counters; public: ZServiceabilityCounters(size_t min_capacity, size_t max_capacity); void update_sizes(); + + CollectorCounters* cgc_counters() { + return _cgc_counters; + } }; ZServiceabilityCounters::ZServiceabilityCounters(size_t min_capacity, size_t max_capacity) : @@ -69,7 +74,9 @@ "space", 0 /* ordinal */, max_capacity /* max_capacity */, - min_capacity /* init_capacity */) {} + min_capacity /* init_capacity */), + // gc.collector.2 + _cgc_counters(new CollectorCounters("Z stop-the-world phases", 2)) {} void ZServiceabilityCounters::update_sizes() { if (UsePerfData) { @@ -147,9 +154,8 @@ is_gc_end /* recordGCEndTime */, is_gc_end /* countCollection */) {} -ZServiceabilityCountersTracer::ZServiceabilityCountersTracer() { - // Nothing to trace with TraceCollectorStats, since ZGC has - // neither a young collector nor a full collector. +ZServiceabilityCountersTracer::ZServiceabilityCountersTracer() : + _stats(ZHeap::heap()->serviceability_counters()->cgc_counters()) { } ZServiceabilityCountersTracer::~ZServiceabilityCountersTracer() {