src/share/vm/jfr/recorder/service/jfrRecorderService.cpp

changeset 9875
6388d0d497f7
parent 9858
b985cbb00e68
child 9885
8e875c964f41
equal deleted inserted replaced
9874:9c3c8469d9be 9875:6388d0d497f7
26 #include "jfr/jni/jfrJavaSupport.hpp" 26 #include "jfr/jni/jfrJavaSupport.hpp"
27 #include "jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp" 27 #include "jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp"
28 #include "jfr/recorder/jfrRecorder.hpp" 28 #include "jfr/recorder/jfrRecorder.hpp"
29 #include "jfr/recorder/checkpoint/jfrCheckpointManager.hpp" 29 #include "jfr/recorder/checkpoint/jfrCheckpointManager.hpp"
30 #include "jfr/recorder/checkpoint/jfrMetadataEvent.hpp" 30 #include "jfr/recorder/checkpoint/jfrMetadataEvent.hpp"
31 #include "jfr/recorder/repository/jfrChunkSizeNotifier.hpp" 31 #include "jfr/recorder/repository/jfrChunkRotation.hpp"
32 #include "jfr/recorder/repository/jfrChunkWriter.hpp" 32 #include "jfr/recorder/repository/jfrChunkWriter.hpp"
33 #include "jfr/recorder/repository/jfrRepository.hpp" 33 #include "jfr/recorder/repository/jfrRepository.hpp"
34 #include "jfr/recorder/service/jfrPostBox.hpp" 34 #include "jfr/recorder/service/jfrPostBox.hpp"
35 #include "jfr/recorder/service/jfrRecorderService.hpp" 35 #include "jfr/recorder/service/jfrRecorderService.hpp"
36 #include "jfr/recorder/stacktrace/jfrStackTraceRepository.hpp" 36 #include "jfr/recorder/stacktrace/jfrStackTraceRepository.hpp"
337 } 337 }
338 338
339 void JfrRecorderService::open_new_chunk(bool vm_error) { 339 void JfrRecorderService::open_new_chunk(bool vm_error) {
340 assert(!_chunkwriter.is_valid(), "invariant"); 340 assert(!_chunkwriter.is_valid(), "invariant");
341 assert(!JfrStream_lock->owned_by_self(), "invariant"); 341 assert(!JfrStream_lock->owned_by_self(), "invariant");
342 JfrChunkRotation::on_rotation();
342 MutexLockerEx stream_lock(JfrStream_lock, Mutex::_no_safepoint_check_flag); 343 MutexLockerEx stream_lock(JfrStream_lock, Mutex::_no_safepoint_check_flag);
343 if (!_repository.open_chunk(vm_error)) { 344 if (!_repository.open_chunk(vm_error)) {
344 assert(!_chunkwriter.is_valid(), "invariant"); 345 assert(!_chunkwriter.is_valid(), "invariant");
345 _storage.control().set_to_disk(false); 346 _storage.control().set_to_disk(false);
346 return; 347 return;
532 void JfrRecorderService::scavenge() { 533 void JfrRecorderService::scavenge() {
533 _storage.scavenge(); 534 _storage.scavenge();
534 } 535 }
535 536
536 void JfrRecorderService::evaluate_chunk_size_for_rotation() { 537 void JfrRecorderService::evaluate_chunk_size_for_rotation() {
537 const size_t size_written = _chunkwriter.size_written(); 538 JfrChunkRotation::evaluate(_chunkwriter);
538 if (size_written > JfrChunkSizeNotifier::chunk_size_threshold()) { 539 }
539 JfrChunkSizeNotifier::notify();
540 }
541 }

mercurial