mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-13 03:45:19 +00:00
8292265: Add old gen used field at G1HeapSummary JFR event
Reviewed-by: tschatzl, ayang
This commit is contained in:
parent
478ef389dc
commit
8ea2a6777b
@ -2558,16 +2558,17 @@ bool G1CollectedHeap::print_location(outputStream* st, void* addr) const {
|
||||
|
||||
G1HeapSummary G1CollectedHeap::create_g1_heap_summary() {
|
||||
|
||||
size_t eden_used_bytes = _eden.used_bytes();
|
||||
size_t survivor_used_bytes = _survivor.used_bytes();
|
||||
size_t eden_used_bytes = _monitoring_support->eden_space_used();
|
||||
size_t survivor_used_bytes = _monitoring_support->survivor_space_used();
|
||||
size_t old_gen_used_bytes = _monitoring_support->old_gen_used();
|
||||
size_t heap_used = Heap_lock->owned_by_self() ? used() : used_unlocked();
|
||||
|
||||
size_t eden_capacity_bytes =
|
||||
(policy()->young_list_target_length() * HeapRegion::GrainBytes) - survivor_used_bytes;
|
||||
|
||||
VirtualSpaceSummary heap_summary = create_heap_space_summary();
|
||||
return G1HeapSummary(heap_summary, heap_used, eden_used_bytes,
|
||||
eden_capacity_bytes, survivor_used_bytes, num_regions());
|
||||
return G1HeapSummary(heap_summary, heap_used, eden_used_bytes, eden_capacity_bytes,
|
||||
survivor_used_bytes, old_gen_used_bytes, num_regions());
|
||||
}
|
||||
|
||||
G1EvacSummary G1CollectedHeap::create_g1_evac_summary(G1EvacStats* stats) {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -117,13 +117,15 @@ class G1HeapSummary : public GCHeapSummary {
|
||||
size_t _edenUsed;
|
||||
size_t _edenCapacity;
|
||||
size_t _survivorUsed;
|
||||
size_t _oldGenUsed;
|
||||
uint _numberOfRegions;
|
||||
public:
|
||||
G1HeapSummary(VirtualSpaceSummary& heap_space, size_t heap_used, size_t edenUsed, size_t edenCapacity, size_t survivorUsed, uint numberOfRegions) :
|
||||
GCHeapSummary(heap_space, heap_used), _edenUsed(edenUsed), _edenCapacity(edenCapacity), _survivorUsed(survivorUsed), _numberOfRegions(numberOfRegions) { }
|
||||
G1HeapSummary(VirtualSpaceSummary& heap_space, size_t heap_used, size_t edenUsed, size_t edenCapacity, size_t survivorUsed, size_t oldGenUsed, uint numberOfRegions) :
|
||||
GCHeapSummary(heap_space, heap_used), _edenUsed(edenUsed), _edenCapacity(edenCapacity), _survivorUsed(survivorUsed), _oldGenUsed(oldGenUsed), _numberOfRegions(numberOfRegions) { }
|
||||
const size_t edenUsed() const { return _edenUsed; }
|
||||
const size_t edenCapacity() const { return _edenCapacity; }
|
||||
const size_t survivorUsed() const { return _survivorUsed; }
|
||||
const size_t oldGenUsed() const { return _oldGenUsed; }
|
||||
const uint numberOfRegions() const { return _numberOfRegions; }
|
||||
|
||||
virtual void accept(GCHeapSummaryVisitor* visitor) const {
|
||||
|
||||
@ -244,6 +244,7 @@ class GCHeapSummaryEventSender : public GCHeapSummaryVisitor {
|
||||
e.set_edenUsedSize(g1_heap_summary->edenUsed());
|
||||
e.set_edenTotalSize(g1_heap_summary->edenCapacity());
|
||||
e.set_survivorUsedSize(g1_heap_summary->survivorUsed());
|
||||
e.set_oldGenUsedSize(g1_heap_summary->oldGenUsed());
|
||||
e.set_numberOfRegions(g1_heap_summary->numberOfRegions());
|
||||
e.commit();
|
||||
}
|
||||
|
||||
@ -329,6 +329,7 @@
|
||||
<Field type="ulong" contentType="bytes" name="edenUsedSize" label="Eden Used Size" />
|
||||
<Field type="ulong" contentType="bytes" name="edenTotalSize" label="Eden Total Size" />
|
||||
<Field type="ulong" contentType="bytes" name="survivorUsedSize" label="Survivor Used Size" />
|
||||
<Field type="ulong" contentType="bytes" name="oldGenUsedSize" label="Old Generation Used Size" />
|
||||
<Field type="uint" name="numberOfRegions" label="Number of Regions" />
|
||||
</Event>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user