Thread: 1 (ceph-osd) - 2000 samples + 100.00% main + 100.00% AsyncMessenger::wait + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 2 (rocksdb:bg0) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% std::(anonymous namespace)::execute_native_thread_routine + 100.00% rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper + 100.00% rocksdb::ThreadPoolImpl::Impl::BGThread + 77.55% std::condition_variable::wait | + 77.55% __gthread_cond_wait | + 77.55% pthread_cond_wait@@GLIBC_2.3.2 + 22.45% rocksdb::DBImpl::BackgroundCallCompaction + 22.45% rocksdb::DBImpl::BackgroundCompaction + 22.40% rocksdb::CompactionJob::Run | + 22.40% rocksdb::CompactionJob::ProcessKeyValueCompaction | + 11.80% rocksdb::CompactionIterator::Next | | + 5.95% rocksdb::MergingIterator::Next | | | + 5.35% Next | | | | + 3.70% rocksdb::(anonymous namespace)::TwoLevelIterator::Next | | | | | + 3.60% Next | | | | | + 3.15% rocksdb::(anonymous namespace)::TwoLevelIterator::SkipEmptyDataBlocksForward | | | | | | + 3.05% rocksdb::(anonymous namespace)::TwoLevelIterator::InitDataBlock | | | | | | | + 2.90% rocksdb::BlockBasedTable::BlockEntryIteratorState::NewSecondaryIterator | | | | | | | | + 2.90% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | + 2.70% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | + 2.70% rocksdb::ReadBlockContents | | | | | | | | | + 2.55% ReadBlock | | | | | | | | | | + 2.15% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | + 2.15% rocksdb::(anonymous namespace)::ReadaheadRandomAccessFile::Read | | | | | | | | | | | + 1.80% ReadIntoBuffer | | | | | | | | | | | | + 1.80% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | + 1.80% read_random | | | | | | | | | | | | + 1.80% BlueFS::_read_random | | | | | | | | | | | | + 1.80% KernelDevice::read_random | | | | | | | | | | | | + 1.80% pread | | | | | | | | | | | | + 1.80% pread64 | | | | | | | | | | | + 0.35% TryReadFromCache | | | | | | | | | | | + 0.35% __memcpy_ssse3_back | | | | | | | | | | + 0.40% Value | | | | | | | | | | + 0.40% rocksdb::crc32c::ExtendImpl | | | | | | | | | | + 0.20% Fast_CRC32 | | | | | | | | | | + 0.20% _mm_crc32_u64 | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | + 0.05% tc_newarray | | | | | | | | + 0.20% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | + 0.20% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | + 0.15% rocksdb::(anonymous namespace)::GetEntryFromCache | | | | | | | | + 0.15% rocksdb::LRUCacheShard::Lookup | | | | | | | | + 0.10% rocksdb::LRUHandleTable::Lookup | | | | | | | | | + 0.10% rocksdb::LRUHandleTable::FindPointer | | | | | | | | + 0.05% MutexLock | | | | | | | + 0.10% std::string::_M_replace_safe | | | | | | | | + 0.05% std::string::_M_mutate | | | | | | | + 0.05% rocksdb::(anonymous namespace)::TwoLevelIterator::SetSecondLevelIterator | | | | | | + 0.05% status | | | | | | + 0.05% SeekToFirst | | | | | + 0.35% rocksdb::(anonymous namespace)::TwoLevelIterator::Next | | | | | | + 0.35% Next | | | | | | + 0.35% rocksdb::BlockIter::ParseNextKey | | | | | | + 0.15% DecodeEntry | | | | | | | + 0.10% GetVarint32Ptr | | | | | | | + 0.05% rocksdb::GetVarint32PtrFallback | | | | | | + 0.10% TrimAppend | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | + 0.05% EnlargeBufferIfNeeded | | | | | | + 0.05% NextEntryOffset | | | | | + 0.10% rocksdb::BlockIter::ParseNextKey | | | | | + 0.05% NextEntryOffset | | | | + 1.60% rocksdb::(anonymous namespace)::TwoLevelIterator::SkipEmptyDataBlocksForward | | | | | + 1.50% rocksdb::(anonymous namespace)::TwoLevelIterator::InitDataBlock | | | | | | + 1.35% rocksdb::BlockBasedTable::BlockEntryIteratorState::NewSecondaryIterator | | | | | | | + 1.30% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | + 1.05% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | + 1.05% rocksdb::ReadBlockContents | | | | | | | | | + 1.00% ReadBlock | | | | | | | | | | + 0.80% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | + 0.80% rocksdb::(anonymous namespace)::ReadaheadRandomAccessFile::Read | | | | | | | | | | | + 0.80% ReadIntoBuffer | | | | | | | | | | | + 0.80% BlueRocksRandomAccessFile::Read | | | | | | | | | | | + 0.80% read_random | | | | | | | | | | | + 0.80% BlueFS::_read_random | | | | | | | | | | | + 0.80% KernelDevice::read_random | | | | | | | | | | | + 0.80% pread | | | | | | | | | | | + 0.80% pread64 | | | | | | | | | | + 0.20% Value | | | | | | | | | | + 0.20% rocksdb::crc32c::ExtendImpl | | | | | | | | | | + 0.10% Fast_CRC32 | | | | | | | | | | + 0.10% _mm_crc32_u64 | | | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | | + 0.20% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | + 0.20% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | + 0.20% rocksdb::(anonymous namespace)::GetEntryFromCache | | | | | | | | + 0.20% rocksdb::LRUCacheShard::Lookup | | | | | | | | + 0.15% rocksdb::LRUHandleTable::Lookup | | | | | | | | | + 0.15% rocksdb::LRUHandleTable::FindPointer | | | | | | | | + 0.05% rocksdb::LRUCacheShard::LRU_Remove | | | | | | | + 0.05% rocksdb::BlockHandle::DecodeFrom | | | | | | + 0.10% rocksdb::(anonymous namespace)::LevelFileIteratorState::NewSecondaryIterator | | | | | | | + 0.10% rocksdb::TableCache::NewIterator | | | | | | | + 0.10% rocksdb::TableCache::GetTableReader | | | | | | | + 0.10% rocksdb::BlockBasedTableFactory::NewTableReader(rocksdb::TableReaderOptions const&, std::unique_ptr >&&, unsigned long, std::unique_ptr >*, bool) const | | | | | | | + 0.10% rocksdb::BlockBasedTable::Open(rocksdb::ImmutableCFOptions const&, rocksdb::EnvOptions const&, rocksdb::BlockBasedTableOptions const&, rocksdb::InternalKeyComparator const&, std::unique_ptr >&&, unsigned long, std::unique_ptr >*, bool, bool, int) | | | | | | | + 0.05% rocksdb::ReadProperties | | | | | | | + 0.05% Prefetch | | | | | | + 0.05% compare | | | | | + 0.05% Next | | | | + 0.05% Update | | | + 0.40% replace_top | | | | + 0.40% downheap | | | | + 0.30% operator() | | | | + 0.20% rocksdb::InternalKeyComparator::Compare | | | | + 0.10% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | + 0.10% compare | | | | + 0.10% __memcmp_sse4_1 | | | + 0.05% CurrentForward | | + 5.70% rocksdb::CompactionIterator::NextFromInput | | + 2.55% rocksdb::MergingIterator::Next | | | + 2.45% Next | | | | + 1.85% rocksdb::(anonymous namespace)::TwoLevelIterator::Next | | | | | + 1.75% Next | | | | | + 1.50% rocksdb::(anonymous namespace)::TwoLevelIterator::SkipEmptyDataBlocksForward | | | | | | + 1.50% rocksdb::(anonymous namespace)::TwoLevelIterator::InitDataBlock | | | | | | + 1.45% rocksdb::BlockBasedTable::BlockEntryIteratorState::NewSecondaryIterator | | | | | | | + 1.45% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | + 1.20% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | + 1.20% rocksdb::ReadBlockContents | | | | | | | | + 1.20% ReadBlock | | | | | | | | + 1.10% rocksdb::RandomAccessFileReader::Read | | | | | | | | | + 1.10% rocksdb::(anonymous namespace)::ReadaheadRandomAccessFile::Read | | | | | | | | | + 1.00% ReadIntoBuffer | | | | | | | | | | + 1.00% BlueRocksRandomAccessFile::Read | | | | | | | | | | + 1.00% read_random | | | | | | | | | | + 1.00% BlueFS::_read_random | | | | | | | | | | + 1.00% KernelDevice::read_random | | | | | | | | | | + 1.00% pread | | | | | | | | | | + 1.00% pread64 | | | | | | | | | + 0.10% TryReadFromCache | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | + 0.10% Value | | | | | | | | + 0.10% rocksdb::crc32c::ExtendImpl | | | | | | | | + 0.10% Fast_CRC32 | | | | | | | | + 0.10% _mm_crc32_u64 | | | | | | | + 0.15% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | + 0.15% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | + 0.15% rocksdb::(anonymous namespace)::GetEntryFromCache | | | | | | | | + 0.15% rocksdb::LRUCacheShard::Lookup | | | | | | | | + 0.10% MutexLock | | | | | | | | | + 0.10% rocksdb::port::Mutex::Lock | | | | | | | | | + 0.10% __GI___pthread_mutex_lock | | | | | | | | | + 0.10% _L_lock_791 | | | | | | | | | + 0.10% __lll_lock_wait | | | | | | | | + 0.05% rocksdb::LRUHandleTable::Lookup | | | | | | | + 0.10% rocksdb::Block::NewIterator | | | | | | | + 0.05% tc_new | | | | | | | + 0.05% rocksdb::Block::NumRestarts | | | | | | + 0.05% rocksdb::(anonymous namespace)::TwoLevelIterator::SetSecondLevelIterator | | | | | + 0.15% rocksdb::(anonymous namespace)::TwoLevelIterator::Next | | | | | | + 0.15% Next | | | | | | + 0.10% rocksdb::BlockIter::ParseNextKey | | | | | | | + 0.05% TrimAppend | | | | | | | + 0.05% DecodeEntry | | | | | | + 0.05% Update | | | | | + 0.10% rocksdb::BlockIter::ParseNextKey | | | | | + 0.05% TrimAppend | | | | | + 0.05% DecodeEntry | | | | + 0.50% rocksdb::(anonymous namespace)::TwoLevelIterator::SkipEmptyDataBlocksForward | | | | | + 0.45% rocksdb::(anonymous namespace)::TwoLevelIterator::InitDataBlock | | | | | | + 0.45% rocksdb::BlockBasedTable::BlockEntryIteratorState::NewSecondaryIterator | | | | | | + 0.45% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | + 0.35% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | + 0.35% rocksdb::ReadBlockContents | | | | | | | + 0.20% ReadBlock | | | | | | | | + 0.20% rocksdb::RandomAccessFileReader::Read | | | | | | | | + 0.20% rocksdb::(anonymous namespace)::ReadaheadRandomAccessFile::Read | | | | | | | | + 0.20% ReadIntoBuffer | | | | | | | | + 0.20% BlueRocksRandomAccessFile::Read | | | | | | | | + 0.20% read_random | | | | | | | | + 0.20% BlueFS::_read_random | | | | | | | | + 0.20% KernelDevice::read_random | | | | | | | | + 0.20% pread | | | | | | | | + 0.20% pread64 | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | + 0.05% tc_newarray | | | | | | + 0.10% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | + 0.10% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | + 0.10% rocksdb::(anonymous namespace)::GetEntryFromCache | | | | | | + 0.10% rocksdb::LRUCacheShard::Lookup | | | | | | + 0.10% rocksdb::LRUHandleTable::Lookup | | | | | | + 0.10% rocksdb::LRUHandleTable::FindPointer | | | | | + 0.05% SeekToFirst | | | | + 0.10% Update | | | + 0.10% replace_top | | | + 0.10% downheap | | | + 0.10% operator() | | | + 0.10% rocksdb::InternalKeyComparator::Compare | | | + 0.05% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | + 1.70% rocksdb::MergeHelper::MergeUntil | | | + 0.55% rocksdb::MergingIterator::Next | | | | + 0.35% Next | | | | | + 0.25% rocksdb::(anonymous namespace)::TwoLevelIterator::Next | | | | | | + 0.25% Next | | | | | | + 0.15% rocksdb::(anonymous namespace)::TwoLevelIterator::SkipEmptyDataBlocksForward | | | | | | | + 0.15% rocksdb::(anonymous namespace)::TwoLevelIterator::InitDataBlock | | | | | | | + 0.15% rocksdb::BlockBasedTable::BlockEntryIteratorState::NewSecondaryIterator | | | | | | | + 0.15% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | + 0.10% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | + 0.10% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | + 0.10% rocksdb::(anonymous namespace)::GetEntryFromCache | | | | | | | | + 0.10% rocksdb::LRUCacheShard::Lookup | | | | | | | | + 0.05% rocksdb::LRUHandleTable::Lookup | | | | | | | | + 0.05% MutexLock | | | | | | | + 0.05% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | + 0.05% rocksdb::BlockIter::ParseNextKey | | | | | | + 0.05% rocksdb::(anonymous namespace)::TwoLevelIterator::Next | | | | | + 0.10% rocksdb::(anonymous namespace)::TwoLevelIterator::SkipEmptyDataBlocksForward | | | | | + 0.05% rocksdb::(anonymous namespace)::TwoLevelIterator::InitDataBlock | | | | + 0.15% replace_top | | | | + 0.15% downheap | | | | + 0.10% operator() | | | | | + 0.10% rocksdb::InternalKeyComparator::Compare | | | | | + 0.10% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | + 0.05% compare | | | | + 0.05% size | | | + 0.30% rocksdb::Slice::ToString | | | | + 0.20% std::string::_M_replace_safe | | | | | + 0.10% _M_copy | | | | | | + 0.10% copy | | | | | | + 0.10% __memcpy_ssse3_back | | | | | + 0.05% std::string::_M_mutate | | | | + 0.10% std::string::assign | | | | + 0.05% _M_check_length | | | + 0.25% clear | | | | + 0.25% _M_erase_at_end | | | | + 0.20% _M_destroy_data | | | | + 0.15% std::deque >::_M_destroy_data_aux | | | | + 0.15% _Destroy*, std::basic_string > | | | | + 0.15% _Destroy*> | | | | + 0.15% __destroy*> | | | | + 0.15% _Destroy > | | | | + 0.15% ~basic_string | | | | + 0.10% std::string::_Rep::_M_dispose | | | | | + 0.05% __exchange_and_add_dispatch | | | | + 0.05% tc_delete | | | + 0.10% rocksdb::MergeHelper::TimedFullMerge | | | | + 0.10% rocksdb::AssociativeMergeOperator::FullMergeV2 | | | | + 0.10% RocksDBStore::MergeOperatorRouter::Merge | | | | + 0.10% XorMergeOperator::merge | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | + 0.05% operator[] | | | + 0.10% ParseInternalKey | | | + 0.05% rocksdb::RangeDelAggregator::ShouldDelete | | | + 0.05% rocksdb::MergingIterator::value | | | + 0.05% rocksdb::MergingIterator::key | | | + 0.05% rocksdb::MergingIterator::Valid | | | + 0.05% rocksdb::MergeOperator::PartialMergeMulti | | | + 0.05% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Equal | | | + 0.05% push_front | | | + 0.05% ParsedInternalKey | | + 0.30% rocksdb::RangeDelAggregator::ShouldDelete | | | + 0.20% rocksdb::RangeDelAggregator::ShouldDelete | | | + 0.15% rocksdb::RangeDelAggregator::GetPositionalTombstoneMap | | + 0.25% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Equal | | | + 0.25% operator== | | | + 0.25% __memcmp_sse4_1 | | + 0.15% SetInternalKey | | | + 0.15% SetInternalKey | | | + 0.15% SetKeyImpl | | | + 0.10% __memcpy_ssse3_back | | | + 0.05% EnlargeBufferIfNeeded | | + 0.10% rocksdb::MergingIterator::value | | | + 0.10% value | | | + 0.05% rocksdb::(anonymous namespace)::TwoLevelIterator::value | | + 0.05% value | | + 0.05% rocksdb::MergingIterator::key | | + 0.05% rocksdb::Compaction::KeyNotExistsBeyondOutputLevel | | + 0.05% UpdateInternalKey | + 6.95% rocksdb::BlockBasedTableBuilder::Add | | + 2.80% rocksdb::BlockBasedTableBuilder::Flush | | | + 2.80% rocksdb::BlockBasedTableBuilder::WriteBlock | | | + 2.70% rocksdb::BlockBasedTableBuilder::WriteBlock | | | | + 2.65% rocksdb::BlockBasedTableBuilder::WriteRawBlock | | | | | + 2.35% rocksdb::WritableFileWriter::Append | | | | | | + 2.35% rocksdb::WritableFileWriter::WriteBuffered | | | | | | + 2.30% BlueRocksWritableFile::Append | | | | | | | + 2.25% append | | | | | | | | + 2.25% append | | | | | | | | + 2.25% memcpy | | | | | | | | + 2.25% __memcpy_ssse3_back | | | | | | | + 0.05% OK | | | | | | + 0.05% PerfStepTimer | | | | | + 0.30% Value | | | | | + 0.30% rocksdb::crc32c::ExtendImpl | | | | | + 0.25% Fast_CRC32 | | | | | + 0.25% _mm_crc32_u64 | | | | + 0.05% Slice | | | + 0.05% rocksdb::BlockBuilder::Finish | | + 2.25% rocksdb::BlockBuilder::Add | | | + 0.65% std::string::append | | | | + 0.45% _M_copy | | | | | + 0.45% copy | | | | | + 0.40% __memcpy_ssse3_back | | | | + 0.05% _M_set_length_and_sharable | | | + 0.65% difference_offset | | | + 0.50% std::string::_M_replace_safe | | | | + 0.30% std::string::_M_mutate | | | | | + 0.10% _M_set_length_and_sharable | | | | + 0.10% _M_copy | | | | + 0.10% copy | | | | + 0.10% __memcpy_ssse3_back | | | + 0.35% PutVarint32Varint32Varint32 | | | + 0.15% std::string::append | | | | + 0.10% _M_set_length_and_sharable | | | | | + 0.10% _M_set_sharable | | | | + 0.05% _M_copy | | | + 0.10% rocksdb::EncodeVarint32 | | + 0.90% rocksdb::ShortenedIndexBuilder::AddIndexEntry | | | + 0.35% rocksdb::InternalKeyComparator::FindShortestSeparator | | | | + 0.10% std::basic_string, std::allocator >::basic_string | | | | | + 0.05% _S_construct | | | | + 0.10% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::FindShortestSeparator | | | | | + 0.05% operator[] | | | | + 0.10% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | + 0.10% compare | | | | | + 0.05% __memcmp_sse4_1 | | | | + 0.05% PutFixed64 | | | + 0.30% rocksdb::BlockBuilder::Add | | | | + 0.25% std::string::append | | | | | + 0.20% std::string::reserve | | | | | + 0.10% std::string::_Rep::_M_clone | | | | | | + 0.10% _M_copy | | | | | | + 0.10% copy | | | | | | + 0.10% __memcpy_ssse3_back | | | | | + 0.10% _M_dispose | | | | | + 0.10% std::string::_Rep::_M_dispose | | | | | + 0.10% std::string::_Rep::_M_destroy | | | | | + 0.10% deallocate | | | | | + 0.10% tc_delete | | | | | + 0.10% do_free | | | | | + 0.10% do_free_with_callback | | | | | + 0.10% do_free_helper | | | | | + 0.10% tcmalloc::PageHeap::Delete | | | | | + 0.10% tcmalloc::PageHeap::MergeIntoFreeList | | | | | + 0.10% tcmalloc::PageHeap::DecommitSpan | | | | | + 0.10% TCMalloc_SystemRelease | | | | | + 0.10% madvise | | | | + 0.05% size | | | + 0.15% rocksdb::BlockHandle::EncodeTo | | | | + 0.15% PutVarint64Varint64 | | | | + 0.15% std::string::append | | | | + 0.10% std::string::reserve | | | | | + 0.10% std::string::_Rep::_M_clone | | | | | + 0.05% std::string::_Rep::_S_create | | | | + 0.05% _M_copy | | | + 0.10% ~basic_string | | | + 0.10% _M_dispose | | | + 0.05% std::string::_Rep::_M_destroy | | + 0.25% rocksdb::NotifyCollectTableCollectorsOnAdd | | | + 0.10% rocksdb::InternalKeyPropertiesCollector::InternalAdd | | | | + 0.05% ParseInternalKey | | | + 0.05% rocksdb::BlockBasedTableBuilder::BlockBasedTablePropertiesCollector::InternalAdd | | + 0.25% rocksdb::FlushBlockBySizePolicy::Update | | | + 0.05% BlockAlmostFull | | + 0.20% std::string::_M_replace_safe | | | + 0.15% _M_copy | | | + 0.15% copy | | | + 0.15% __memcpy_ssse3_back | | + 0.10% rocksdb::IndexBuilder::OnKeyAdded | | + 0.05% std::string::assign | | + 0.05% ok | + 2.40% rocksdb::CompactionJob::FinishCompactionOutputFile | | + 2.20% rocksdb::WritableFileWriter::Sync | | | + 1.80% rocksdb::WritableFileWriter::SyncInternal | | | | + 1.80% BlueRocksWritableFile::Sync | | | | + 1.80% fsync | | | | + 1.80% BlueFS::_fsync | | | | + 1.80% BlueFS::_flush_bdev_safely | | | | + 1.45% BlueFS::wait_for_aio | | | | | + 1.45% IOContext::aio_wait | | | | | + 1.45% std::condition_variable::wait | | | | | + 1.45% __gthread_cond_wait | | | | | + 1.45% pthread_cond_wait@@GLIBC_2.3.2 | | | | + 0.35% clear | | | | + 0.35% std::_List_base >::_M_clear | | | | + 0.35% destroy > | | | | + 0.35% ~_List_node | | | | + 0.35% ~aio_t | | | | + 0.35% ~list | | | | + 0.35% ~list | | | | + 0.35% ~_List_base | | | | + 0.35% std::_List_base >::_M_clear | | | | + 0.35% destroy > | | | | + 0.35% ~_List_node | | | | + 0.35% ~ptr | | | | + 0.35% ceph::buffer::ptr::release | | | | + 0.35% ceph::buffer::raw_posix_aligned::~raw_posix_aligned | | | | + 0.35% ~raw_posix_aligned | | | | + 0.35% deallocate_aligned | | | | + 0.35% tc_free | | | | + 0.35% do_free | | | | + 0.35% do_free_with_callback | | | | + 0.35% do_free_helper | | | | + 0.35% tcmalloc::PageHeap::Delete | | | | + 0.35% tcmalloc::PageHeap::MergeIntoFreeList | | | | + 0.35% tcmalloc::PageHeap::DecommitSpan | | | | + 0.35% TCMalloc_SystemRelease | | | | + 0.35% madvise | | | + 0.40% rocksdb::WritableFileWriter::Flush | | | + 0.40% BlueRocksWritableFile::Flush | | | + 0.40% flush | | | + 0.40% BlueFS::_flush | | | + 0.40% BlueFS::_flush_range | | | + 0.40% KernelDevice::aio_submit | | | + 0.40% aio_queue_t::submit | | | + 0.40% io_submit | | + 0.15% rocksdb::BlockBasedTableBuilder::Finish | | | + 0.10% rocksdb::BlockBasedTableBuilder::WriteBlock | | | | + 0.10% rocksdb::BlockBasedTableBuilder::WriteRawBlock | | | | + 0.10% rocksdb::WritableFileWriter::Append | | | | + 0.10% rocksdb::WritableFileWriter::WriteBuffered | | | | + 0.10% BlueRocksWritableFile::Append | | | | + 0.10% append | | | | + 0.10% append | | | | + 0.10% memcpy | | | | + 0.10% __memcpy_ssse3_back | | | + 0.05% rocksdb::MetaIndexBuilder::MetaIndexBuilder | | + 0.05% rocksdb::TableCache::NewIterator | + 0.40% UpdateBoundaries | | + 0.35% DecodeFrom | | + 0.30% std::string::_M_replace_safe | | + 0.15% std::string::_M_mutate | | | + 0.10% _M_set_length_and_sharable | | | + 0.10% assign | | + 0.10% _M_copy | | + 0.05% copy | + 0.25% rocksdb::CompactionJob::SubcompactionState::ShouldStopBefore | | + 0.10% rocksdb::InternalKeyComparator::Compare | | + 0.05% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | + 0.20% rocksdb::CompactionIterator::PrepareOutput | | + 0.10% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Equal | | + 0.05% operator== | + 0.05% size | + 0.05% rocksdb::MergingIterator::SeekToFirst | + 0.05% rocksdb::BlockBasedTableBuilder::FileSize + 0.05% rocksdb::CompactionJob::Install Thread: 3 (rocksdb:bg0) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% std::(anonymous namespace)::execute_native_thread_routine + 100.00% rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper + 100.00% rocksdb::ThreadPoolImpl::Impl::BGThread + 92.25% std::condition_variable::wait | + 92.25% __gthread_cond_wait | + 92.25% pthread_cond_wait@@GLIBC_2.3.2 + 7.75% rocksdb::DBImpl::BackgroundCallFlush + 7.75% rocksdb::DBImpl::BackgroundFlush + 7.75% rocksdb::DBImpl::FlushMemTableToOutputFile + 7.75% rocksdb::FlushJob::Run + 7.70% rocksdb::FlushJob::WriteLevel0Table | + 7.70% rocksdb::BuildTable | + 3.55% rocksdb::CompactionIterator::Next | | + 3.30% rocksdb::CompactionIterator::NextFromInput | | | + 1.70% rocksdb::MergeHelper::MergeUntil | | | | + 0.55% rocksdb::MemTableIterator::key | | | | | + 0.40% GetLengthPrefixedSlice | | | | | | + 0.40% GetVarint32Ptr | | | | | + 0.05% rocksdb::(anonymous namespace)::SkipListRep::Iterator::key | | | | + 0.20% rocksdb::MergeOperator::PartialMergeMulti | | | | | + 0.20% RocksDBStore::MergeOperatorRouter::Merge | | | | | + 0.20% XorMergeOperator::merge | | | | | + 0.10% std::basic_string, std::allocator >::basic_string | | | | | + 0.10% _S_construct | | | | | + 0.10% _S_construct_aux | | | | | + 0.10% std::string::_S_construct | | | | | + 0.05% std::string::_Rep::_S_create | | | | | + 0.05% _S_copy_chars | | | | + 0.15% deque<__gnu_cxx::__normal_iterator >, void> | | | | | + 0.15% _M_initialize_dispatch<__gnu_cxx::__normal_iterator > > | | | | | + 0.15% _M_range_initialize<__gnu_cxx::__normal_iterator > > | | | | | + 0.15% std::_Deque_base >::_M_initialize_map | | | | | + 0.15% _M_create_nodes | | | | | + 0.15% _M_allocate_node | | | | | + 0.15% allocate | | | | | + 0.15% tc_new | | | | | + 0.15% cpp_alloc | | | | | + 0.15% do_malloc_no_errno | | | | | + 0.15% do_malloc_small | | | | | + 0.10% class_to_size | | | | | + 0.05% SizeClass | | | | + 0.10% std::deque >::erase | | | | | + 0.05% operator-, std::basic_string&, std::basic_string*> | | | | | + 0.05% _M_erase_at_begin | | | | + 0.10% ParseInternalKey | | | | + 0.05% ~deque | | | | + 0.05% ~basic_string | | | | + 0.05% rocksdb::Slice::ToString | | | | + 0.05% rocksdb::RangeDelAggregator::ShouldDelete | | | | + 0.05% rocksdb::MergeHelper::FilterMerge | | | | + 0.05% rocksdb::MemTableIterator::value | | | | + 0.05% rocksdb::MemTableIterator::Next | | | | + 0.05% push_front | | | | + 0.05% clear | | | | + 0.05% GetOperands | | | | + 0.05% Clear | | | + 0.75% rocksdb::MemTableIterator::key | | | | + 0.70% GetLengthPrefixedSlice | | | | | + 0.70% GetVarint32Ptr | | | | + 0.05% rocksdb::(anonymous namespace)::SkipListRep::Iterator::key | | | + 0.20% rocksdb::MemTableIterator::value | | | | + 0.20% GetLengthPrefixedSlice | | | | + 0.20% GetVarint32Ptr | | | | + 0.05% rocksdb::GetVarint32PtrFallback | | | + 0.20% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Equal | | | | + 0.10% operator== | | | | + 0.10% __memcmp_sse4_1 | | | + 0.15% rocksdb::RangeDelAggregator::ShouldDelete | | | | + 0.10% rocksdb::RangeDelAggregator::ShouldDelete | | | | + 0.05% rocksdb::RangeDelAggregator::GetPositionalTombstoneMap | | | + 0.10% SetInternalKey | | | | + 0.10% SetInternalKey | | | | + 0.05% SetKeyImpl | | | + 0.05% rocksdb::MemTableIterator::Next | | | + 0.05% ParseInternalKey | | + 0.20% rocksdb::MemTableIterator::Next | | + 0.10% rocksdb::(anonymous namespace)::SkipListRep::Iterator::Next | | + 0.10% Next | + 3.30% rocksdb::BlockBasedTableBuilder::Add | | + 1.65% rocksdb::BlockBuilder::Add | | | + 0.80% std::string::append | | | | + 0.70% _M_copy | | | | | + 0.70% copy | | | | | + 0.70% __memcpy_ssse3_back | | | | + 0.10% _M_set_length_and_sharable | | | | + 0.05% _M_set_sharable | | | + 0.25% std::string::_M_replace_safe | | | | + 0.10% std::string::_M_mutate | | | | + 0.10% _M_copy | | | | + 0.10% copy | | | | + 0.10% __memcpy_ssse3_back | | | + 0.20% difference_offset | | | + 0.15% PutVarint32Varint32Varint32 | | | | + 0.15% std::string::append | | | | + 0.05% _M_set_length_and_sharable | | | + 0.05% std::string::assign | | + 1.00% rocksdb::BlockBasedTableBuilder::Flush | | | + 1.00% rocksdb::BlockBasedTableBuilder::WriteBlock | | | + 0.95% rocksdb::BlockBasedTableBuilder::WriteBlock | | | | + 0.95% rocksdb::BlockBasedTableBuilder::WriteRawBlock | | | | + 0.90% rocksdb::WritableFileWriter::Append | | | | | + 0.85% rocksdb::WritableFileWriter::WriteBuffered | | | | | | + 0.85% BlueRocksWritableFile::Append | | | | | | + 0.85% append | | | | | | + 0.85% append | | | | | | + 0.80% memcpy | | | | | | | + 0.80% __memcpy_ssse3_back | | | | | | + 0.05% ceph::buffer::create_page_aligned | | | | | + 0.05% PerfStepTimer | | | | + 0.05% Value | | | + 0.05% rocksdb::BlockBuilder::Finish | | + 0.25% rocksdb::ShortenedIndexBuilder::AddIndexEntry | | | + 0.20% rocksdb::BlockBuilder::Add | | | + 0.20% std::string::append | | | + 0.10% _M_copy | | | | + 0.10% copy | | | | + 0.10% __memcpy_ssse3_back | | | + 0.05% std::string::reserve | | + 0.20% std::string::_M_replace_safe | | | + 0.10% std::string::_M_mutate | | | + 0.05% _M_move | | + 0.10% rocksdb::NotifyCollectTableCollectorsOnAdd | | | + 0.05% rocksdb::InternalKeyPropertiesCollector::InternalAdd | | | + 0.05% rocksdb::BlockBasedTableBuilder::BlockBasedTablePropertiesCollector::InternalAdd | | + 0.05% std::string::assign | + 0.70% rocksdb::WritableFileWriter::Sync | | + 0.45% rocksdb::WritableFileWriter::SyncInternal | | | + 0.45% BlueRocksWritableFile::Sync | | | + 0.45% fsync | | | + 0.45% BlueFS::_fsync | | | + 0.45% BlueFS::_flush_bdev_safely | | | + 0.40% BlueFS::wait_for_aio | | | | + 0.40% IOContext::aio_wait | | | | + 0.40% std::condition_variable::wait | | | | + 0.40% __gthread_cond_wait | | | | + 0.40% pthread_cond_wait@@GLIBC_2.3.2 | | | + 0.05% clear | | + 0.25% rocksdb::WritableFileWriter::Flush | | + 0.25% BlueRocksWritableFile::Flush | | + 0.25% flush | | + 0.25% BlueFS::_flush | | + 0.25% BlueFS::_flush_range | | + 0.25% KernelDevice::aio_submit | | + 0.25% aio_queue_t::submit | | + 0.25% io_submit | + 0.05% rocksdb::ThreadStatusUtil::SetThreadOperationProperty | + 0.05% rocksdb::TableCache::NewIterator + 0.05% rocksdb::MemTableList::InstallMemtableFlushResults Thread: 4 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 5 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 6 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 7 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 8 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 9 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 10 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 11 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 12 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 13 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 14 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 15 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 16 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 17 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 18 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 19 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 20 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 21 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 22 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 23 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 24 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 25 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 26 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 27 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 28 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 29 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 30 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 31 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 32 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 33 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 34 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 35 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 36 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 37 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 38 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 39 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 40 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 41 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 42 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 43 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 44 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 45 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 46 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 47 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 48 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 49 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 50 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 51 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 52 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 53 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 54 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 55 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 56 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 57 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 58 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 59 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 60 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 61 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 62 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 63 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 64 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 65 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 66 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 67 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 68 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 69 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 70 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 71 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 72 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 73 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 74 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 75 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 76 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 77 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 78 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 79 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 80 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 81 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 82 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 83 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 84 (signal_handler) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SignalHandler::entry + 100.00% poll + 100.00% poll Thread: 85 (osd_srv_agent) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% OSDService::AgentThread::entry + 100.00% OSDService::agent_entry + 100.00% Cond::Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 86 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 87 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 88 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% WaitUntil + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 Thread: 89 (fn_anonymous) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% Finisher::finisher_thread_entry + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 90 (fn_anonymous) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% Finisher::finisher_thread_entry + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 91 (osd_srv_heartbt) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% OSD::T_Heartbeat::entry + 100.00% OSD::heartbeat_entry + 100.00% WaitInterval + 100.00% WaitUntil + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 Thread: 92 (tp_osd_cmd) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ThreadPool::WorkThread::entry + 100.00% ThreadPool::worker + 100.00% WaitInterval + 100.00% WaitUntil + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 Thread: 93 (tp_osd_disk) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ThreadPool::WorkThread::entry + 100.00% ThreadPool::worker + 100.00% WaitInterval + 100.00% WaitUntil + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 Thread: 94 (tp_osd_tp) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ShardedThreadPool::WorkThreadSharded::entry + 100.00% ShardedThreadPool::shardedthreadpool_worker + 99.95% OSD::ShardedOpWQ::_process | + 58.50% run | | + 58.50% apply_visitor, PGSnapTrim, PGScrub, PGRecovery> > | | + 58.50% apply_visitor | | + 58.50% internal_apply_visitor > | | + 58.50% internal_apply_visitor_impl, void*> | | + 58.50% visitation_impl, boost::detail::variant::visitation_impl_step, boost::intrusive_ptr, boost::mpl::l_item, PGSnapTrim, boost::mpl::l_item, PGScrub, boost::mpl::l_item, PGRecovery, boost::mpl::l_end> > > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, void*, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | | + 58.50% visitation_impl_invoke, void*, boost::intrusive_ptr, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | | + 58.50% visitation_impl_invoke_impl, void*, boost::intrusive_ptr > | | + 58.50% internal_visit > | | + 58.50% PGQueueable::RunVis::operator() | | + 58.45% OSD::dequeue_op | | | + 58.40% PrimaryLogPG::do_request | | | | + 58.30% PrimaryLogPG::do_op | | | | | + 48.05% PrimaryLogPG::execute_ctx | | | | | | + 45.75% PrimaryLogPG::issue_repop | | | | | | | + 45.60% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr >&&, eversion_t const&, eversion_t const&, std::vector > const&, boost::optional&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr) | | | | | | | | + 42.85% PrimaryLogPG::queue_transactions | | | | | | | | | + 42.85% queue_transactions | | | | | | | | | + 42.80% BlueStore::queue_transactions | | | | | | | | | | + 38.35% BlueStore::_txc_add_transaction | | | | | | | | | | | + 36.45% BlueStore::_write | | | | | | | | | | | | + 36.45% BlueStore::_do_write | | | | | | | | | | | | + 33.45% BlueStore::ExtentMap::fault_range | | | | | | | | | | | | | + 32.35% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | | | | | + 32.30% operator() | | | | | | | | | | | | | | | + 32.30% BlueStore::ExtentMap::__lambda9::operator() | | | | | | | | | | | | | | | + 32.25% RocksDBStore::get | | | | | | | | | | | | | | | + 32.10% rocksdb::DB::Get | | | | | | | | | | | | | | | | + 32.10% rocksdb::DB::Get | | | | | | | | | | | | | | | | + 32.10% rocksdb::DBImpl::Get | | | | | | | | | | | | | | | | + 32.10% rocksdb::DBImpl::GetImpl | | | | | | | | | | | | | | | | + 31.70% rocksdb::Version::Get | | | | | | | | | | | | | | | | | + 31.40% rocksdb::TableCache::Get | | | | | | | | | | | | | | | | | | + 31.35% rocksdb::BlockBasedTable::Get | | | | | | | | | | | | | | | | | | + 30.80% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | | | | + 30.75% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | | | | | + 30.75% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | | | | | | | | | + 30.70% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | | | | | | | | | | + 30.65% rocksdb::ReadBlockContents | | | | | | | | | | | | | | | | | | | | | | + 30.60% ReadBlock | | | | | | | | | | | | | | | | | | | | | | | + 30.50% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | | | | | | | | | | | | + 30.50% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | | | | | | | | | | | | + 30.50% read_random | | | | | | | | | | | | | | | | | | | | | | | | + 30.50% BlueFS::_read_random | | | | | | | | | | | | | | | | | | | | | | | | + 30.50% KernelDevice::read_random | | | | | | | | | | | | | | | | | | | | | | | | + 30.50% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | | | | | | | | | | | | + 30.25% pread | | | | | | | | | | | | | | | | | | | | | | | | | + 30.25% pread64 | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% memcpy | | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::create_page_aligned | | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% raw_posix_aligned | | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::raw_posix_aligned::operator new | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | | | | | | | | | | | | | | | + 0.10% Value | | | | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::crc32c::ExtendImpl | | | | | | | | | | | | | | | | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::Block::Block(rocksdb::BlockContents&&, unsigned long, unsigned long, rocksdb::Statistics*) | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockHandle::DecodeFrom | | | | | | | | | | | | | | | | | | + 0.30% rocksdb::BlockIter::Seek | | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::BlockIter::BinarySeek | | | | | | | | | | | | | | | | | | | | + 0.10% DecodeEntry | | | | | | | | | | | | | | | | | | | + 0.10% Compare | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockIter::ParseNextKey | | | | | | | | | | | | | | | | | | + 0.10% ~BlockIter | | | | | | | | | | | | | | | | | | | + 0.05% ~IterKey | | | | | | | | | | | | | | | | | | | + 0.05% ~InternalIterator | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::NewIndexIterator | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::GetFilter | | | | | | | | | | | | | | | | | + 0.20% GetNextFile | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::(anonymous namespace)::FilePicker::PrepareNextLevel | | | | | | | | | | | | | | | | | | + 0.05% PrepareNextLevel | | | | | | | | | | | | | | | | | | + 0.05% ExtractUserKey | | | | | | | | | | | | | | | | | + 0.05% ~PinnedIteratorsManager | | | | | | | | | | | | | | | | + 0.30% Get | | | | | | | | | | | | | | | | | + 0.20% rocksdb::MemTable::Get | | | | | | | | | | | | | | | | | | + 0.20% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | | | | | | | | | | + 0.20% Seek | | | | | | | | | | | | | | | | | | + 0.20% Seek | | | | | | | | | | | | | | | | | | + 0.20% rocksdb::InlineSkipList::FindGreaterOrEqual | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | | | | | | | | | | | + 0.15% GetLengthPrefixedSlice | | | | | | | | | | | | | | | | | + 0.10% rocksdb::MemTableListVersion::Get | | | | | | | | | | | | | | | | | + 0.10% rocksdb::MemTableListVersion::GetFromList | | | | | | | | | | | | | | | | | + 0.05% rocksdb::MemTable::Get | | | | | | | | | | | | | | | | + 0.05% rocksdb::LookupKey::LookupKey | | | | | | | | | | | | | | | | + 0.05% rocksdb::DBImpl::ReturnAndCleanupSuperVersion | | | | | | | | | | | | | | | + 0.05% rocksdb::ReadOptions::ReadOptions | | | | | | | | | | | | | | | + 0.05% PerfCounters::tinc | | | | | | | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | | | | | | | + 0.05% get_extent_shard_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | | | | | | + 1.00% BlueStore::ExtentMap::decode_some | | | | | | | | | | | | | | + 0.50% BlueStore::Blob::decode | | | | | | | | | | | | | | | + 0.50% denc > | | | | | | | | | | | | | | | + 0.50% decode | | | | | | | | | | | | | | | + 0.50% decode | | | | | | | | | | | | | | | + 0.35% get_ptr | | | | | | | | | | | | | | | | + 0.25% ceph::buffer::copy | | | | | | | | | | | | | | | | | + 0.25% ceph::buffer::create_aligned | | | | | | | | | | | | | | | | | + 0.25% create | | | | | | | | | | | | | | | | | + 0.25% allocate_aligned | | | | | | | | | | | | | | | | | + 0.25% tc_posix_memalign | | | | | | | | | | | | | | | | | + 0.25% do_memalign_or_cpp_memalign | | | | | | | | | | | | | | | | | + 0.25% (anonymous namespace)::do_memalign | | | | | | | | | | | | | | | | | + 0.25% do_malloc | | | | | | | | | | | | | | | | | + 0.25% do_malloc_no_errno | | | | | | | | | | | | | | | | | + 0.25% do_malloc_small | | | | | | | | | | | | | | | | | + 0.25% Allocate | | | | | | | | | | | | | | | | | + 0.20% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | | | | + 0.20% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | | | | | + 0.20% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | | | | + 0.05% Pop | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::ptr | | | | | | | | | | | | | | | | + 0.10% inc | | | | | | | | | | | | | | | | + 0.10% AO_fetch_and_add_full | | | | | | | | | | | | | | | + 0.15% denc >, denc_traits > > > | | | | | | | | | | | | | | | + 0.15% decode | | | | | | | | | | | | | | | + 0.15% resize | | | | | | | | | | | | | | | + 0.15% std::vector >::_M_default_append | | | | | | | | | | | | | | | + 0.15% _M_allocate | | | | | | | | | | | | | | | + 0.15% allocate | | | | | | | | | | | | | | | + 0.15% tc_newarray | | | | | | | | | | | | | | | + 0.15% cpp_alloc | | | | | | | | | | | | | | | + 0.15% do_malloc_no_errno | | | | | | | | | | | | | | | + 0.15% do_malloc_small | | | | | | | | | | | | | | | + 0.15% Allocate | | | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | | | | + 0.05% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | + 0.15% BlueStore::Collection::open_shared_blob | | | | | | | | | | | | | | | + 0.15% BlueStore::SharedBlob::operator new | | | | | | | | | | | | | | | + 0.15% allocate | | | | | | | | | | | | | | | + 0.15% tc_newarray | | | | | | | | | | | | | | | + 0.15% cpp_alloc | | | | | | | | | | | | | | | + 0.15% do_malloc_no_errno | | | | | | | | | | | | | | | + 0.15% do_malloc_small | | | | | | | | | | | | | | | + 0.15% Allocate | | | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | | + 0.05% Pop | | | | | | | | | | | | | | + 0.10% ~intrusive_ptr | | | | | | | | | | | | | | | + 0.10% intrusive_ptr_release | | | | | | | | | | | | | | | + 0.05% BlueStore::Blob::put | | | | | | | | | | | | | | + 0.10% insert | | | | | | | | | | | | | | | + 0.10% boost::intrusive::bstree_impl, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, void, void, unsigned long, true, (boost::intrusive::algo_types)5, void>::insert_unique | | | | | | | | | | | | | | | + 0.10% insert_unique_check, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | | | | | + 0.05% get_right | | | | | | | | | | | | | | + 0.05% BlueStore::Extent::operator new | | | | | | | | | | | | | | + 0.05% BlueStore::Blob::operator new | | | | | | | | | | | | | | + 0.05% BlueStore::Blob::get_ref | | | | | | | | | | | | | + 0.05% seek_shard | | | | | | | | | | | | + 2.05% BlueStore::_do_alloc_write | | | | | | | | | | | | | + 1.25% BitMapAllocator::allocate | | | | | | | | | | | | | | + 1.25% BitMapAllocator::allocate_dis | | | | | | | | | | | | | | + 1.25% BitAllocator::alloc_blocks_dis_res | | | | | | | | | | | | | | + 1.25% BitAllocator::alloc_blocks_dis_work | | | | | | | | | | | | | | + 1.20% BitAllocator::alloc_blocks_dis_int | | | | | | | | | | | | | | | + 1.20% BitMapAreaIN::alloc_blocks_dis_int_work | | | | | | | | | | | | | | | + 0.80% BitAllocator::child_check_n_lock | | | | | | | | | | | | | | | | + 0.70% BitMapAreaIN::is_exhausted | | | | | | | | | | | | | | | | + 0.65% BitMapAreaIN::get_used_blocks | | | | | | | | | | | | | | | | + 0.30% ~lock_guard | | | | | | | | | | | | | | | | | + 0.30% unlock | | | | | | | | | | | | | | | | | + 0.30% __gthread_mutex_unlock | | | | | | | | | | | | | | | | | + 0.30% __GI___pthread_mutex_unlock | | | | | | | | | | | | | | | | | + 0.30% __pthread_mutex_unlock_usercnt | | | | | | | | | | | | | | | | + 0.30% lock_guard | | | | | | | | | | | | | | | | + 0.30% lock | | | | | | | | | | | | | | | | + 0.30% __gthread_mutex_lock | | | | | | | | | | | | | | | | + 0.25% __GI___pthread_mutex_lock | | | | | | | | | | | | | | | + 0.40% BitMapAreaIN::alloc_blocks_dis | | | | | | | | | | | | | | | + 0.40% BitMapAreaLeaf::alloc_blocks_dis_int | | | | | | | | | | | | | | | + 0.20% BitMapZone::alloc_blocks_dis | | | | | | | | | | | | | | | | + 0.05% BmapEntry::find_first_set_bits | | | | | | | | | | | | | | | + 0.15% child_check_n_lock | | | | | | | | | | | | | | | + 0.05% next | | | | | | | | | | | | | | + 0.05% BitAllocator::check_input_dis | | | | | | | | | | | | | + 0.25% map_bl | | | | | | | | | | | | | | + 0.20% operator() | | | | | | | | | | | | | | | + 0.20% KernelDevice::aio_write | | | | | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | | | | | | + 0.10% _M_insert | | | | | | | | | | | | | | | | + 0.05% std::__detail::_List_node_base::_M_hook | | | | | | | | | | | | | | | | + 0.05% _M_create_node | | | | | | | | | | | | | | | + 0.05% KernelDevice::_aio_log_start | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | | | | | + 0.15% std::basic_string, std::allocator >::basic_string | | | | | | | | | | | | | | + 0.10% _S_construct | | | | | | | | | | | | | | | + 0.10% _S_construct_aux | | | | | | | | | | | | | | | + 0.10% std::string::_S_construct | | | | | | | | | | | | | | | + 0.10% std::string::_Rep::_S_create | | | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | | | + 0.05% length | | | | | | | | | | | | | + 0.15% _buffer_cache_write | | | | | | | | | | | | | | + 0.10% write | | | | | | | | | | | | | | | + 0.05% _add_buffer | | | | | | | | | | | | | | | + 0.05% Buffer | | | | | | | | | | | | | | + 0.05% insert | | | | | | | | | | | | | + 0.10% interval_set::insert | | | | | | | | | | | | | | + 0.10% operator[] | | | | | | | | | | | | | | + 0.10% _M_emplace_hint_unique, std::tuple<> > | | | | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node | | | | | | | | | | | | | | + 0.05% std::_Rb_tree_insert_and_rebalance | | | | | | | | | | | | | + 0.05% ~vector | | | | | | | | | | | | | + 0.05% bluestore_blob_t::allocated | | | | | | | | | | | | | + 0.05% BlueStore::ExtentMap::set_lextent | | | | | | | | | | | | + 0.55% BlueStore::_do_write_data | | | | | | | | | | | | | + 0.55% BlueStore::_do_write_big | | | | | | | | | | | | | + 0.35% BlueStore::ExtentMap::punch_hole | | | | | | | | | | | | | | + 0.15% BlueStore::ExtentMap::seek_lextent | | | | | | | | | | | | | | | + 0.15% lower_bound | | | | | | | | | | | | | | | + 0.15% lower_bound > | | | | | | | | | | | | | | | + 0.15% lower_bound, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | | | | | + 0.15% lower_bound_loop, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | | | | | + 0.10% get_right | | | | | | | | | | | | | | + 0.10% BlueStore::OldExtent::create | | | | | | | | | | | | | | | + 0.10% BlueStore::Blob::put_ref | | | | | | | | | | | | | | | + 0.05% bluestore_blob_use_tracker_t::put | | | | | | | | | | | | | | | + 0.05% bluestore_blob_t::release_extents | | | | | | | | | | | | | | + 0.05% intrusive_ptr | | | | | | | | | | | | | | + 0.05% BlueStore::ExtentMap::add | | | | | | | | | | | | | + 0.15% write | | | | | | | | | | | | | | + 0.15% std::vector >::emplace_back&, unsigned long&, unsigned long&, ceph::buffer::list&, unsigned long&, unsigned long&, bool&, bool&> | | | | | | | | | | | | | | + 0.15% std::vector >::_M_emplace_back_aux&, unsigned long&, unsigned long&, ceph::buffer::list&, unsigned long&, unsigned long&, bool&, bool&> | | | | | | | | | | | | | | + 0.15% construct&, unsigned long&, unsigned long&, ceph::buffer::list&, unsigned long&, unsigned long&, bool&, bool&> | | | | | | | | | | | | | | + 0.15% _S_construct&, unsigned long&, unsigned long&, ceph::buffer::list&, unsigned long&, unsigned long&, bool&, bool&> | | | | | | | | | | | | | | + 0.15% construct&, unsigned long&, unsigned long&, ceph::buffer::list&, unsigned long&, unsigned long&, bool&, bool&> | | | | | | | | | | | | | | + 0.10% ~intrusive_ptr | | | | | | | | | | | | | | | + 0.10% intrusive_ptr_release | | | | | | | | | | | | | | | + 0.10% BlueStore::Blob::put | | | | | | | | | | | | | | + 0.05% write_item | | | | | | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | | | | | | + 0.20% BlueStore::_wctx_finish | | | | | | | | | | | | | + 0.05% ~OldExtent | | | | | | | | | | | | | + 0.05% interval_set::insert | | | | | | | | | | | | + 0.10% BlueStore::ExtentMap::compress_extent_map | | | | | | | | | | | | | + 0.05% rm | | | | | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | | | | | | + 0.05% intrusive_ptr | | | | | | | | | | | + 0.75% BlueStore::_omap_setkeys | | | | | | | | | | | | + 0.50% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | | | + 0.15% combine_strings | | | | | | | | | | | | | | + 0.10% std::basic_string, std::allocator >::basic_string | | | | | | | | | | | | | | | + 0.05% _M_grab | | | | | | | | | | | | | | + 0.05% push_back | | | | | | | | | | | | | + 0.15% Put | | | | | | | | | | | | | | + 0.15% rocksdb::WriteBatch::Put | | | | | | | | | | | | | | + 0.15% rocksdb::WriteBatchInternal::Put | | | | | | | | | | | | | | + 0.15% PutLengthPrefixedSlice | | | | | | | | | | | | | | + 0.15% std::string::append | | | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | | | | + 0.10% std::string::_Rep::_M_clone | | | | | | | | | | | | | | | + 0.10% std::string::_Rep::_S_create | | | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | | | | | + 0.05% cpp_alloc | | | | | | | | | | | | | | + 0.05% _M_copy | | | | | | | | | | | | | + 0.10% ceph::buffer::list::c_str | | | | | | | | | | | | | | + 0.10% ceph::buffer::list::rebuild | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::rebuild | | | | | | | | | | | | | + 0.05% ceph::buffer::list::list | | | | | | | | | | | | | + 0.05% ceph::buffer::list::is_contiguous | | | | | | | | | | | | + 0.10% std::string::push_back | | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | | + 0.10% std::string::_Rep::_M_clone | | | | | | | | | | | | | + 0.10% std::string::_Rep::_S_create | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | | | + 0.05% decode | | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | | | | + 0.05% operator+= | | | | | | | | | | | + 0.25% decode_attrset | | | | | | | | | | | | + 0.25% decode, std::allocator > >, denc_traits, std::allocator > >, void> > | | | | | | | | | | | | + 0.15% decode | | | | | | | | | | | | | + 0.15% decode_nohead | | | | | | | | | | | | | + 0.10% insert, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | | | | | | + 0.10% emplace_hint, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | | | | | | + 0.10% _M_emplace_hint_unique, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node | | | | | | | | | | | | | | + 0.05% std::_Rb_tree_insert_and_rebalance | | | | | | | | | | | | | + 0.05% denc, ceph::buffer::ptr>, denc_traits, ceph::buffer::ptr>, void> > | | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator::copy_shallow | | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy_shallow | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | | + 0.05% ceph::buffer::create | | | | | | | | | | | + 0.20% BlueStore::_get_collection | | | | | | | | | | | | + 0.20% find | | | | | | | | | | | | + 0.20% find | | | | | | | | | | | | + 0.15% _M_hash_code | | | | | | | | | | | | | + 0.15% operator() | | | | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | | | | + 0.05% to_str | | | | | | | | | | | | + 0.05% _M_find_node | | | | | | | | | | | + 0.10% ~list | | | | | | | | | | | | + 0.10% ~list | | | | | | | | | | | | + 0.10% ~_List_base | | | | | | | | | | | | + 0.10% std::_List_base >::_M_clear | | | | | | | | | | | | + 0.05% destroy > | | | | | | | | | | | | + 0.05% _M_put_node | | | | | | | | | | | + 0.10% decode_attrset_bl | | | | | | | | | | | | + 0.10% decode_str_str_map_to_bl | | | | | | | | | | | | + 0.05% decode | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | | | + 0.10% BlueStore::_setattrs | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | | | | | | | | | | | + 0.05% ~vector | | | | | | | | | | | + 0.05% vector | | | | | | | | | | | + 0.05% ghobject_t | | | | | | | | | | | + 0.05% decode_bl | | | | | | | | | | | + 0.05% begin | | | | | | | | | | | + 0.05% BlueStore::Collection::get_onode | | | | | | | | | | + 1.75% BlueStore::_txc_write_nodes | | | | | | | | | | | + 1.40% BlueStore::ExtentMap::update | | | | | | | | | | | | + 0.95% BlueStore::ExtentMap::encode_some | | | | | | | | | | | | | + 0.30% encode | | | | | | | | | | | | | | + 0.30% denc > | | | | | | | | | | | | | | + 0.30% encode | | | | | | | | | | | | | | + 0.30% encode | | | | | | | | | | | | | | + 0.20% ceph::buffer::ptr::c_str | | | | | | | | | | | | | | + 0.10% denc >, denc_traits > > > | | | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | | | + 0.10% denc > | | | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | | | + 0.10% _denc_friend | | | | | | | | | | | | | | + 0.10% denc_lba | | | | | | | | | | | | | + 0.20% get_contiguous_appender | | | | | | | | | | | | | | + 0.20% ceph::buffer::list::contiguous_appender::contiguous_appender | | | | | | | | | | | | | | + 0.20% ceph::buffer::create | | | | | | | | | | | | | | + 0.20% ceph::buffer::create_aligned | | | | | | | | | | | | | | + 0.20% create | | | | | | | | | | | | | | + 0.20% allocate_aligned | | | | | | | | | | | | | | + 0.20% tc_posix_memalign | | | | | | | | | | | | | | + 0.20% do_memalign_or_cpp_memalign | | | | | | | | | | | | | | + 0.20% (anonymous namespace)::do_memalign | | | | | | | | | | | | | | + 0.15% do_malloc | | | | | | | | | | | | | | | + 0.15% do_malloc_no_errno | | | | | | | | | | | | | | | + 0.15% do_malloc_small | | | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | | | + 0.05% tcmalloc::AlignmentForSize | | | | | | | | | | | | | + 0.15% get_sbid | | | | | | | | | | | | | + 0.05% denc_varint_lowz | | | | | | | | | | | | | + 0.05% denc > | | | | | | | | | | | | | + 0.05% bound_encode | | | | | | | | | | | | + 0.30% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | | | | + 0.20% operator() | | | | | | | | | | | | | | + 0.20% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | | | | + 0.10% combine_strings | | | | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | | | | + 0.05% _M_copy | | | | | | | | | | | | | | + 0.10% Put | | | | | | | | | | | | | | + 0.10% rocksdb::WriteBatch::Put | | | | | | | | | | | | | | + 0.10% rocksdb::WriteBatchInternal::Put | | | | | | | | | | | | | | + 0.10% PutLengthPrefixedSlice | | | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_clone | | | | | | | | | | | | | | + 0.05% _M_dispose | | | | | | | | | | | | | + 0.05% get_extent_shard_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | | | | | + 0.05% ~vector | | | | | | | | | | | | + 0.05% reserve | | | | | | | | | | | + 0.20% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | | + 0.15% combine_strings | | | | | | | | | | | | | + 0.05% std::string::reserve | | | | | | | | | | | | | + 0.05% push_back | | | | | | | | | | | | | + 0.05% operator= | | | | | | | | | | | | + 0.05% Put | | | | | | | | | | | + 0.05% get_logical_offset | | | | | | | | | | | + 0.05% denc > | | | | | | | | | | + 1.55% BlueStore::_txc_state_proc | | | | | | | | | | | + 1.55% BlueStore::_txc_aio_submit | | | | | | | | | | | + 1.55% KernelDevice::aio_submit | | | | | | | | | | | + 1.55% aio_queue_t::submit | | | | | | | | | | | + 1.55% io_submit | | | | | | | | | | + 0.30% BlueStore::_txc_finalize_kv | | | | | | | | | | | + 0.05% interval_set::intersection_of | | | | | | | | | | | + 0.05% BlueStore::_txc_update_store_statfs | | | | | | | | | | | + 0.05% BitmapFreelistManager::release | | | | | | | | | | | + 0.05% BitmapFreelistManager::allocate | | | | | | | | | | + 0.25% Throttle::get | | | | | | | | | | | + 0.10% Locker | | | | | | | | | | | | + 0.10% Mutex::Lock | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock | | | | | | | | | | | | + 0.10% _L_lock_791 | | | | | | | | | | | | + 0.10% __lll_lock_wait | | | | | | | | | | | + 0.05% Throttle::_wait | | | | | | | | | | | + 0.05% PerfCounters::set | | | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | | | + 0.20% BlueStore::_txc_create | | | | | | | | | | | + 0.10% RocksDBStore::get_transaction | | | | | | | | | | | | + 0.10% make_shared | | | | | | | | | | | | + 0.10% allocate_shared, RocksDBStore* const> | | | | | | | | | | | | + 0.10% shared_ptr, RocksDBStore* const> | | | | | | | | | | | | + 0.10% __shared_ptr, RocksDBStore* const> | | | | | | | | | | | | + 0.10% __shared_count, RocksDBStore* const> | | | | | | | | | | | | + 0.10% construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | | | | | + 0.10% _S_construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | | | | | + 0.10% construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | | | | | + 0.10% _Sp_counted_ptr_inplace | | | | | | | | | | | | + 0.10% construct | | | | | | | | | | | | + 0.10% _S_construct | | | | | | | | | | | | + 0.10% construct | | | | | | | | | | | | + 0.10% RocksDBStore::RocksDBTransactionImpl::RocksDBTransactionImpl | | | | | | | | | | | | + 0.10% rocksdb::WriteBatch::WriteBatch | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | + 0.10% std::string::_Rep::_M_clone | | | | | | | | | | | | + 0.05% std::string::_Rep::_S_create | | | | | | | | | | | + 0.05% tc_new | | | | | | | | | | | + 0.05% queue_new | | | | | | | | | | + 0.15% ceph_clock_now | | | | | | | | | | | + 0.10% clock_gettime | | | | | | | | | | | | + 0.10% clock_gettime | | | | | | | | | | | + 0.05% clock_gettime@plt | | | | | | | | | | + 0.10% collect_contexts | | | | | | | | | | | + 0.10% C_ContextsBase::list_to_context | | | | | | | | | | | + 0.05% tc_new | | | | | | | | | | + 0.10% PerfCounters::inc | | | | | | | | | | + 0.10% add | | | | | | | | | | + 0.10% ceph_spin_lock | | | | | | | | | | + 0.10% pthread_spin_lock | | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | | + 1.45% PrimaryLogPG::log_operation | | | | | | | | | + 1.45% PG::append_log | | | | | | | | | + 0.95% PG::write_if_dirty | | | | | | | | | | + 0.50% PG::prepare_write_info | | | | | | | | | | | + 0.50% PG::_prepare_write_info | | | | | | | | | | | + 0.15% operator== | | | | | | | | | | | | + 0.15% operator== | | | | | | | | | | | | + 0.05% operator== | | | | | | | | | | | | + 0.05% interval_set::operator== | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | + 0.10% pg_fast_info_t::encode | | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | | + 0.05% encode_raw | | | | | | | | | | | | | + 0.05% encode | | | | | | | | | | | | + 0.05% pg_info_t::encode | | | | | | | | | | | + 0.10% PerfCounters::inc | | | | | | | | | | | | + 0.05% add | | | | | | | | | | | + 0.05% std::map, std::allocator > >::operator[] | | | | | | | | | | | + 0.05% pg_info_t::operator= | | | | | | | | | | + 0.25% PGLog::write_log_and_missing | | | | | | | | | | | + 0.25% PGLog::_write_log_and_missing | | | | | | | | | | | + 0.10% pg_log_entry_t::encode_with_checksum | | | | | | | | | | | | + 0.10% pg_log_entry_t::encode | | | | | | | | | | | | + 0.05% encode > | | | | | | | | | | | | + 0.05% encode | | | | | | | | | | | + 0.05% pg_log_entry_t::get_key_name | | | | | | | | | | | + 0.05% insert | | | | | | | | | | + 0.15% omap_setkeys | | | | | | | | | | | + 0.15% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | + 0.15% encode, ceph::buffer::list> > | | | | | | | | | | | + 0.15% encode_nohead, ceph::buffer::list> > | | | | | | | | | | | + 0.10% denc, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | | + 0.10% encode > | | | | | | | | | | | | + 0.10% denc > | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | + 0.10% append | | | | | | | | | | | | + 0.05% flush_and_continue | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | + 0.05% pair const, ceph::buffer::list, void> | | | | | | | | | | + 0.05% ~map | | | | | | | | | + 0.15% PGLog::trim | | | | | | | | | | + 0.15% PGLog::IndexedLog::trim | | | | | | | | | | + 0.10% unindex | | | | | | | | | | | + 0.05% erase | | | | | | | | | | | + 0.05% count | | | | | | | | | | + 0.05% pop_front | | | | | | | | | + 0.15% PGLog::IndexedLog::trim | | | | | | | | | | + 0.10% unindex | | | | | | | | | | + 0.10% erase | | | | | | | | | | + 0.10% erase | | | | | | | | | | + 0.10% _M_erase | | | | | | | | | | + 0.05% _M_hash_code | | | | | | | | | | + 0.05% _M_bucket_index | | | | | | | | | + 0.15% PG::add_log_entry | | | | | | | | | | + 0.15% add | | | | | | | | | | + 0.15% PGLog::IndexedLog::add | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | + 0.10% _M_insert | | | | | | | | | | | + 0.10% _M_create_node | | | | | | | | | | | + 0.10% _M_get_node | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | + 0.05% pick_a_shard | | | | | | | | | | + 0.05% operator[] | | | | | | | | | + 0.05% tc_new | | | | | | | | + 0.40% generate_transaction | | | | | | | | | + 0.40% PGTransaction::safe_create_traverse&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26>() | | | | | | | | | + 0.30% operator() | | | | | | | | | | + 0.25% ObjectStore::Transaction::setattrs | | | | | | | | | | | + 0.10% ObjectStore::Transaction::_get_coll_id | | | | | | | | | | | | + 0.10% operator[] | | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | | | | | + 0.10% _M_create_node, std::tuple<> > | | | | | | | | | | | | + 0.05% construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> > | | | | | | | | | | | | + 0.05% _M_get_node | | | | | | | | | | | + 0.05% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_object_id | | | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_next_op | | | | | | | | | | + 0.05% operator= | | | | | | | | | + 0.05% find | | | | | | | | + 0.30% ~vector | | | | | | | | | + 0.30% _Destroy | | | | | | | | | + 0.30% _Destroy | | | | | | | | | + 0.30% __destroy | | | | | | | | | + 0.30% _Destroy | | | | | | | | | + 0.25% ObjectStore::Transaction::~Transaction | | | | | | | | | | + 0.25% ~list | | | | | | | | | | + 0.25% ~list | | | | | | | | | | + 0.25% ~_List_base | | | | | | | | | | + 0.25% std::_List_base >::_M_clear | | | | | | | | | | + 0.25% destroy > | | | | | | | | | | + 0.25% ~_List_node | | | | | | | | | | + 0.15% ~ptr | | | | | | | | | | + 0.15% ceph::buffer::ptr::release | | | | | | | | | | + 0.05% ceph::buffer::raw_combined::~raw_combined | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | + 0.15% insert, void> | | | | | | | | | + 0.15% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique >(std::pair&&) | | | | | | | | | + 0.15% _M_insert_ > | | | | | | | | | + 0.15% _M_create_node > | | | | | | | | | + 0.10% _M_get_node | | | | | | | | | | + 0.10% allocate | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | + 0.10% Pop | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | + 0.05% construct >, std::pair > | | | | | | | | + 0.10% ~unique_ptr | | | | | | | | | + 0.10% operator() | | | | | | | | | + 0.10% ~PGTransaction | | | | | | | | | + 0.10% ~map | | | | | | | | | + 0.10% ~_Rb_tree | | | | | | | | | + 0.05% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | + 0.10% count | | | | | | | | | + 0.10% end | | | | | | | | + 0.05% vector | | | | | | | | + 0.05% std::vector >::~vector | | | | | | | | + 0.05% push_back | | | | | | | | + 0.05% make_pair | | | | | | | | + 0.05% insert > | | | | | | | + 0.10% PGTransaction::add_obc | | | | | | | | + 0.05% operator[] | | | | | | | + 0.05% add | | | | | | + 1.75% PrimaryLogPG::prepare_transaction | | | | | | | + 1.30% PrimaryLogPG::finish_ctx | | | | | | | | + 0.50% encode | | | | | | | | | + 0.40% object_info_t::encode | | | | | | | | | | + 0.30% encode | | | | | | | | | | | + 0.15% hobject_t::encode | | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | + 0.05% encode | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | + 0.05% object_locator_t::encode | | | | | | | | | | | + 0.05% encode_raw | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | + 0.05% encode > | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy_in | | | | | | | | | + 0.10% SnapSet::encode | | | | | | | | | + 0.05% encode | | | | | | | | + 0.15% OSDMap::get_features | | | | | | | | | + 0.05% find_rule | | | | | | | | | + 0.05% find | | | | | | | | + 0.10% ~map | | | | | | | | | + 0.10% ~_Rb_tree | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | + 0.10% _M_destroy_node | | | | | | | | | + 0.10% destroy const, ceph::buffer::list> > > | | | | | | | | | + 0.10% ~_Rb_tree_node | | | | | | | | | + 0.10% ~pair | | | | | | | | | + 0.10% ~basic_string | | | | | | | | | + 0.10% std::string::_Rep::_M_dispose | | | | | | | | | + 0.10% __exchange_and_add_dispatch | | | | | | | | | + 0.10% __exchange_and_add | | | | | | | | + 0.10% PGTransaction::setattrs | | | | | | | | | + 0.05% operator++ | | | | | | | | | + 0.05% PGTransaction::get_object_op_for_modify | | | | | | | | + 0.05% std::map, std::allocator > >::operator[](std::string&&) | | | | | | | | + 0.05% push_back | | | | | | | | + 0.05% operator= | | | | | | | | + 0.05% list | | | | | | | | + 0.05% get_bytes_written | | | | | | | | + 0.05% ceph::buffer::list::claim | | | | | | | | + 0.05% SnapSet::operator= | | | | | | | + 0.45% PrimaryLogPG::do_osd_ops | | | | | | | + 0.25% PGTransaction::write | | | | | | | | + 0.10% interval_map, PGTransaction::ObjectOperation::SplitMerger>::insert(unsigned long, unsigned long, boost::variant&&) | | | | | | | | | + 0.05% make_pair > > | | | | | | | | | + 0.05% insert > >, void> | | | | | | | | + 0.10% ceph::buffer::list::list | | | | | | | | | + 0.05% make_shareable | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::iterator_impl | | | | | | | | + 0.05% get_object_op_for_modify | | | | | | | + 0.15% PrimaryLogPG::write_update_size_and_usage | | | | | | | + 0.15% interval_set::union_of | | | | | | | + 0.15% union_of | | | | | | | + 0.10% interval_set::intersection_of | | | | | | | | + 0.05% clear | | | | | | | + 0.05% clear | | | | | | + 0.15% MOSDOpReply::MOSDOpReply | | | | | | | + 0.10% Message::Message | | | | | | | | + 0.10% list | | | | | | | | + 0.05% ptr | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::iterator_impl | | | | | | | + 0.05% vector | | | | | | + 0.10% PrimaryLogPG::new_repop | | | | | | | + 0.10% ceph_clock_now | | | | | | | + 0.05% clock_gettime | | | | | | + 0.10% PrimaryLogPG::eval_repop | | | | | | + 0.10% PrimaryLogPG::calc_trim_to | | | | | | + 0.05% get_reqid | | | | | + 8.20% PrimaryLogPG::find_object_context | | | | | | + 8.20% PrimaryLogPG::get_object_context | | | | | | + 6.55% PGBackend::objects_get_attr | | | | | | | + 6.50% BlueStore::getattr | | | | | | | | + 6.25% BlueStore::Collection::get_onode | | | | | | | | | + 6.00% RocksDBStore::get | | | | | | | | | | + 5.90% rocksdb::DB::Get | | | | | | | | | | | + 5.90% rocksdb::DB::Get | | | | | | | | | | | + 5.90% rocksdb::DBImpl::Get | | | | | | | | | | | + 5.90% rocksdb::DBImpl::GetImpl | | | | | | | | | | | + 5.90% rocksdb::Version::Get | | | | | | | | | | | + 5.90% rocksdb::TableCache::Get | | | | | | | | | | | + 5.90% rocksdb::BlockBasedTable::Get | | | | | | | | | | | + 5.85% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | + 5.85% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | + 5.85% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | + 5.75% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | | + 5.75% rocksdb::ReadBlockContents | | | | | | | | | | | | | + 5.70% ReadBlock | | | | | | | | | | | | | | + 5.70% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | | + 5.70% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | | + 5.70% read_random | | | | | | | | | | | | | | + 5.70% BlueFS::_read_random | | | | | | | | | | | | | | + 5.70% KernelDevice::read_random | | | | | | | | | | | | | | + 5.70% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | | + 5.70% pread | | | | | | | | | | | | | | + 5.70% pread64 | | | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | | + 0.10% rocksdb::BlockBasedTable::PutDataBlockToCache | | | | | | | | | | | | + 0.10% rocksdb::ShardedCache::Insert | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::Insert | | | | | | | | | | | | + 0.05% rocksdb::LRUCache::GetShard | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::NewIndexIterator | | | | | | | | | | + 0.05% append | | | | | | | | | | + 0.05% PerfCounters::tinc | | | | | | | | | + 0.25% BlueStore::OnodeSpace::lookup | | | | | | | | | + 0.15% BlueStore::TwoQCache::_touch_onode | | | | | | | | | | + 0.10% iterator_to | | | | | | | | | | | + 0.05% inited | | | | | | | | | | + 0.05% erase | | | | | | | | | + 0.10% lock_guard | | | | | | | | | + 0.10% lock | | | | | | | | | + 0.10% __gthread_recursive_mutex_lock | | | | | | | | | + 0.10% __gthread_mutex_lock | | | | | | | | | + 0.10% __GI___pthread_mutex_lock | | | | | | | | | + 0.10% _L_lock_840 | | | | | | | | | + 0.10% __lll_lock_wait | | | | | | | | + 0.05% ~RLocker | | | | | | | | + 0.05% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::basic_string | | | | | | | | + 0.05% count | | | | | | | | + 0.05% ceph::buffer::ptr::operator= | | | | | | | + 0.05% clear | | | | | | + 0.70% PrimaryLogPG::get_snapset_context | | | | | | | + 0.25% SnapSet::decode | | | | | | | | + 0.10% decode, denc_traits, void> > | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy_shallow | | | | | | | | + 0.10% decode | | | | | | | | | + 0.05% decode_raw | | | | | | | | | + 0.05% decode | | | | | | | | + 0.05% decode >, denc_traits >, void> > | | | | | | | + 0.25% PGBackend::objects_get_attr | | | | | | | | + 0.25% BlueStore::getattr | | | | | | | | + 0.20% BlueStore::Collection::get_onode | | | | | | | | | + 0.15% BlueStore::OnodeSpace::lookup | | | | | | | | | | + 0.05% lock_guard | | | | | | | | | | + 0.05% find | | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | | + 0.05% match | | | | | | | | + 0.05% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::basic_string | | | | | | | + 0.20% find | | | | | | | + 0.20% find | | | | | | | + 0.20% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound | | | | | | | + 0.15% operator() | | | | | | | + 0.15% operator< | | | | | | | + 0.15% cmp | | | | | | | + 0.05% get_bitwise_key | | | | | | + 0.65% SharedLRU, std::hash >::lookup_or_create | | | | | | | + 0.35% ~list | | | | | | | | + 0.35% ~_List_base | | | | | | | | + 0.35% std::_List_base, std::allocator > >::_M_clear | | | | | | | | + 0.35% destroy > > | | | | | | | | + 0.35% ~_List_node | | | | | | | | + 0.35% ~shared_ptr | | | | | | | | + 0.35% ~__shared_ptr | | | | | | | | + 0.35% ~__shared_count | | | | | | | | + 0.30% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | | | | | | | | | + 0.30% std::_Sp_counted_deleter, std::hash >::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2>::_M_dispose | | | | | | | | | + 0.30% operator() | | | | | | | | | + 0.20% ~ObjectContext | | | | | | | | | | + 0.15% Context::complete | | | | | | | | | | + 0.05% PrimaryLogPG::put_snapset_context | | | | | | | | | | + 0.05% PrimaryLogPG::object_context_destructor_callback | | | | | | | | | + 0.10% remove | | | | | | | | | + 0.05% find | | | | | | | | | + 0.05% erase | | | | | | | | + 0.05% std::_Sp_counted_deleter, std::hash >::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2>::_M_destroy | | | | | | | + 0.05% ~pair | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | + 0.05% insert, ObjectContext*> >, void> | | | | | | | + 0.05% find | | | | | | | + 0.05% SharedLRU, std::hash >::lru_add | | | | | | | + 0.05% ObjectState | | | | | | + 0.20% decode | | | | | | | + 0.20% object_info_t::decode | | | | | | | + 0.15% decode | | | | | | | | + 0.10% object_locator_t::decode | | | | | | | | | + 0.05% decode | | | | | | | | + 0.05% decode_raw | | | | | | | + 0.05% decode > | | | | | | + 0.05% PrimaryLogPG::populate_obc_watchers | | | | | | + 0.05% PerfCounters::inc | | | | | + 0.45% OSDService::check_failsafe_full | | | | | | + 0.45% OSDService::_check_full | | | | | | + 0.25% operator<< | | | | | | | + 0.25% std::ostream::_M_insert | | | | | | | + 0.25% put | | | | | | | + 0.25% std::num_put > >::do_put | | | | | | | + 0.25% std::num_put > >::_M_insert_float | | | | | | | + 0.15% std::__convert_from_v | | | | | | | | + 0.10% _IO_vsnprintf | | | | | | | | | + 0.05% _IO_vfprintf_internal | | | | | | | | | + 0.05% _IO_no_init | | | | | | | | + 0.05% __GI___uselocale | | | | | | | + 0.05% std::use_facet > | | | | | | + 0.20% Locker | | | | | | + 0.20% Mutex::Lock | | | | | | + 0.20% __GI___pthread_mutex_lock | | | | | | + 0.15% _L_lock_791 | | | | | | + 0.15% __lll_lock_wait | | | | | + 0.30% finish_decode | | | | | | + 0.15% std::vector >::resize | | | | | | | + 0.15% std::vector >::_M_default_append | | | | | | | + 0.10% __uninitialized_default_n_a | | | | | | | + 0.10% __uninitialized_default_n | | | | | | | + 0.10% std::__uninitialized_default_n_1::__uninit_default_n | | | | | | | + 0.10% _Construct | | | | | | | + 0.05% memset | | | | | | | + 0.05% list | | | | | | + 0.15% decode | | | | | | + 0.05% object_locator_t::decode | | | | | | + 0.05% decode_raw > | | | | | | + 0.05% decode | | | | | + 0.30% clear_payload | | | | | | + 0.20% Throttle::put | | | | | | | + 0.10% Locker | | | | | | | | + 0.10% Mutex::Lock | | | | | | | | + 0.10% __GI___pthread_mutex_lock | | | | | | | | + 0.10% _L_lock_791 | | | | | | | | + 0.10% __lll_lock_wait | | | | | | | + 0.05% ~Locker | | | | | | | + 0.05% read | | | | | | + 0.05% ceph::buffer::list::clear | | | | | + 0.15% std::basic_ostringstream, std::allocator >::~basic_ostringstream | | | | | | + 0.10% ~basic_ios | | | | | | | + 0.10% std::ios_base::~ios_base | | | | | | | + 0.05% std::ios_base::_M_dispose_callbacks | | | | | | | + 0.05% std::ios_base::_M_call_callbacks | | | | | | + 0.05% ~basic_stringbuf | | | | | + 0.15% std::basic_ostringstream, std::allocator >::basic_ostringstream | | | | | | + 0.10% basic_ostream | | | | | | + 0.10% std::basic_ios >::init | | | | | | + 0.10% std::basic_ios >::_M_cache_locale | | | | | | + 0.05% std::has_facet > > > | | | | | | + 0.05% std::has_facet > | | | | | + 0.10% PrimaryLogPG::get_rw_locks | | | | | | + 0.10% ObcLockManager::get_lock_type | | | | | | + 0.05% ~pair | | | | | | + 0.05% insert, void> | | | | | + 0.10% PrimaryLogPG::OpContext::OpContext | | | | | | + 0.05% ObjectState | | | | | + 0.05% operator!= | | | | | + 0.05% hobject_t::~hobject_t | | | | | + 0.05% PrimaryLogPG::maybe_handle_cache | | | | | + 0.05% PrimaryLogPG::maybe_await_blocked_snapset | | | | | + 0.05% PerfCounters::tinc | | | | | + 0.05% PGLog::IndexedLog::get_request | | | | | + 0.05% PG::check_in_progress_op | | | | | + 0.05% Message::get_source_addr | | | | | + 0.05% MOSDOp::get_object_locator | | | | + 0.05% pg_t::get_hobj_start | | | | + 0.05% PG::can_discard_request | | | + 0.05% get_priv | | + 0.05% ~intrusive_ptr | + 35.85% WaitInterval | | + 35.85% WaitUntil | | + 35.85% pthread_cond_timedwait@@GLIBC_2.3.2 | + 5.45% PG::lock | | + 5.45% Mutex::Lock | | + 5.45% __GI___pthread_mutex_lock | | + 5.45% _L_lock_791 | | + 5.45% __lll_lock_wait | + 0.10% WeightedPriorityQueue, entity_inst_t>::dequeue | | + 0.10% WeightedPriorityQueue, entity_inst_t>::Queue::pop | | + 0.05% pop | | + 0.05% operator-- | + 0.05% Mutex::Lock + 0.05% ceph::HeartbeatMap::reset_timeout Thread: 95 (tp_osd_tp) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ShardedThreadPool::WorkThreadSharded::entry + 100.00% ShardedThreadPool::shardedthreadpool_worker + 99.95% OSD::ShardedOpWQ::_process | + 76.80% run | | + 76.80% apply_visitor, PGSnapTrim, PGScrub, PGRecovery> > | | + 76.80% apply_visitor | | + 76.80% internal_apply_visitor > | | + 76.80% internal_apply_visitor_impl, void*> | | + 76.80% visitation_impl, boost::detail::variant::visitation_impl_step, boost::intrusive_ptr, boost::mpl::l_item, PGSnapTrim, boost::mpl::l_item, PGScrub, boost::mpl::l_item, PGRecovery, boost::mpl::l_end> > > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, void*, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | | + 76.80% visitation_impl_invoke, void*, boost::intrusive_ptr, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | | + 76.80% visitation_impl_invoke_impl, void*, boost::intrusive_ptr > | | + 76.80% internal_visit > | | + 76.75% PGQueueable::RunVis::operator() | | + 76.65% OSD::dequeue_op | | | + 76.50% PrimaryLogPG::do_request | | | | + 76.20% PrimaryLogPG::do_op | | | | | + 60.45% PrimaryLogPG::execute_ctx | | | | | | + 58.30% PrimaryLogPG::issue_repop | | | | | | | + 58.20% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr >&&, eversion_t const&, eversion_t const&, std::vector > const&, boost::optional&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr) | | | | | | | | + 54.65% PrimaryLogPG::queue_transactions | | | | | | | | | + 54.65% queue_transactions | | | | | | | | | + 54.60% BlueStore::queue_transactions | | | | | | | | | | + 51.80% BlueStore::_txc_add_transaction | | | | | | | | | | | + 49.20% BlueStore::_write | | | | | | | | | | | | + 49.20% BlueStore::_do_write | | | | | | | | | | | | + 45.25% BlueStore::ExtentMap::fault_range | | | | | | | | | | | | | + 43.15% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | | | | | + 43.05% operator() | | | | | | | | | | | | | | + 43.05% BlueStore::ExtentMap::__lambda9::operator() | | | | | | | | | | | | | | + 43.05% RocksDBStore::get | | | | | | | | | | | | | | + 42.85% rocksdb::DB::Get | | | | | | | | | | | | | | | + 42.85% rocksdb::DB::Get | | | | | | | | | | | | | | | + 42.65% rocksdb::DBImpl::Get | | | | | | | | | | | | | | | | + 42.65% rocksdb::DBImpl::GetImpl | | | | | | | | | | | | | | | | + 42.10% rocksdb::Version::Get | | | | | | | | | | | | | | | | | + 41.90% rocksdb::TableCache::Get | | | | | | | | | | | | | | | | | | + 41.85% rocksdb::BlockBasedTable::Get | | | | | | | | | | | | | | | | | | | + 40.85% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | | | | | + 40.85% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | | | | | + 40.85% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | | | | | | | | | + 40.20% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | | | | | | | | | | + 40.20% rocksdb::ReadBlockContents | | | | | | | | | | | | | | | | | | | | | + 40.00% ReadBlock | | | | | | | | | | | | | | | | | | | | | | + 39.85% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | | | | | | | | | | | + 39.85% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | | | | | | | | | | | + 39.85% read_random | | | | | | | | | | | | | | | | | | | | | | | + 39.85% BlueFS::_read_random | | | | | | | | | | | | | | | | | | | | | | | + 39.80% KernelDevice::read_random | | | | | | | | | | | | | | | | | | | | | | | + 39.80% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | | | | | | | | | | | + 39.65% pread | | | | | | | | | | | | | | | | | | | | | | | | + 39.65% pread64 | | | | | | | | | | | | | | | | | | | | | | | + 0.10% memcpy | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::create_page_aligned | | | | | | | | | | | | | | | | | | | | | | + 0.15% Value | | | | | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::crc32c::ExtendImpl | | | | | | | | | | | | | | | | | | | | | | + 0.05% Fast_CRC32 | | | | | | | | | | | | | | | | | | | | | + 0.10% tc_newarray | | | | | | | | | | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | | | | | | | | | | + 0.10% class_to_size | | | | | | | | | | | | | | | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | | | | | | | | | | | | | | + 0.55% rocksdb::BlockBasedTable::PutDataBlockToCache | | | | | | | | | | | | | | | | | | | | | + 0.50% rocksdb::ShardedCache::Insert | | | | | | | | | | | | | | | | | | | | | | + 0.50% rocksdb::LRUCacheShard::Insert | | | | | | | | | | | | | | | | | | | | | | + 0.40% Free | | | | | | | | | | | | | | | | | | | | | | | + 0.30% rocksdb::(anonymous namespace)::DeleteCachedEntry | | | | | | | | | | | | | | | | | | | | | | | | + 0.30% ~Block | | | | | | | | | | | | | | | | | | | | | | | | + 0.25% ~BlockContents | | | | | | | | | | | | | | | | | | | | | | | | | + 0.25% ~unique_ptr | | | | | | | | | | | | | | | | | | | | | | | | | + 0.25% operator() | | | | | | | | | | | | | | | | | | | | | | | | | + 0.25% tc_deletearray | | | | | | | | | | | | | | | | | | | | | | | | | + 0.25% do_free | | | | | | | | | | | | | | | | | | | | | | | | | + 0.25% do_free_with_callback | | | | | | | | | | | | | | | | | | | | | | | | | + 0.25% do_free_helper | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% Deallocate | | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% Push | | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% SLL_Push | | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% SLL_SetNext | | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% GetSizeClassIfCached | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ~unique_ptr | | | | | | | | | | | | | | | | | | | | | | | + 0.05% tc_deletearray | | | | | | | | | | | | | | | | | | | | | | | + 0.05% tc_delete | | | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::EvictFromLRU | | | | | | | | | | | | | | | | | | | | | | + 0.05% MutexLock | | | | | | | | | | | | | | | | | | | | | + 0.05% usable_size | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::(anonymous namespace)::GetEntryFromCache | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::ShardedCache::Lookup | | | | | | | | | | | | | | | | | | | | + 0.10% HashSlice | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::Hash | | | | | | | | | | | | | | | | | | | + 0.65% rocksdb::BlockIter::Seek | | | | | | | | | | | | | | | | | | | | + 0.35% rocksdb::BlockIter::BinarySeek | | | | | | | | | | | | | | | | | | | | | + 0.20% DecodeEntry | | | | | | | | | | | | | | | | | | | | + 0.20% rocksdb::BlockIter::ParseNextKey | | | | | | | | | | | | | | | | | | | | | + 0.10% TrimAppend | | | | | | | | | | | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | | | | | | | | | | | + 0.10% Compare | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | | | | + 0.15% ~BlockIter | | | | | | | | | | | | | | | | | | | | + 0.10% ~InternalIterator | | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::Cleanable::~Cleanable | | | | | | | | | | | | | | | | | | | | | + 0.10% DoCleanup | | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::ShardedCache::Release | | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::Release | | | | | | | | | | | | | | | | | | | | + 0.05% ~IterKey | | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::GetContext::SaveValue | | | | | | | | | | | | | | | | | | | | + 0.05% PinSlice | | | | | | | | | | | | | | | | | | | + 0.05% value | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::NewRangeTombstoneIterator | | | | | | | | | | | | | | | | | + 0.15% GetNextFile | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::(anonymous namespace)::FilePicker::PrepareNextLevel | | | | | | | | | | | | | | | | | + 0.05% operator= | | | | | | | | | | | | | | | | + 0.55% Get | | | | | | | | | | | | | | | | + 0.45% rocksdb::MemTable::Get | | | | | | | | | | | | | | | | | + 0.40% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | | | | | | | | | + 0.40% Seek | | | | | | | | | | | | | | | | | + 0.40% Seek | | | | | | | | | | | | | | | | | + 0.40% rocksdb::InlineSkipList::FindGreaterOrEqual | | | | | | | | | | | | | | | | | + 0.35% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | | | | | | | | | | + 0.20% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | | | | + 0.15% GetLengthPrefixedSlice | | | | | | | | | | | | | | | | + 0.10% rocksdb::MemTableListVersion::Get | | | | | | | | | | | | | | | | + 0.10% rocksdb::MemTableListVersion::GetFromList | | | | | | | | | | | | | | | | + 0.05% rocksdb::MemTable::Get | | | | | | | | | | | | | | | + 0.10% ~PinnableSlice | | | | | | | | | | | | | | | | + 0.10% rocksdb::Cleanable::~Cleanable | | | | | | | | | | | | | | | | + 0.10% DoCleanup | | | | | | | | | | | | | | | | + 0.10% rocksdb::LRUCacheShard::Release | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::Unref | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::LRU_Insert | | | | | | | | | | | | | | | + 0.10% std::string::_M_replace_safe | | | | | | | | | | | | | | | + 0.05% _M_copy | | | | | | | | | | | | | | + 0.10% PerfCounters::inc | | | | | | | | | | | | | | | + 0.05% add | | | | | | | | | | | | | | + 0.05% ceph_clock_now | | | | | | | | | | | | | | + 0.05% append | | | | | | | | | | | | | + 2.05% BlueStore::ExtentMap::decode_some | | | | | | | | | | | | | | + 0.45% BlueStore::Blob::decode | | | | | | | | | | | | | | | + 0.45% denc > | | | | | | | | | | | | | | | + 0.45% decode | | | | | | | | | | | | | | | + 0.45% decode | | | | | | | | | | | | | | | + 0.35% get_ptr | | | | | | | | | | | | | | | | + 0.30% ceph::buffer::copy | | | | | | | | | | | | | | | | | + 0.30% ceph::buffer::create_aligned | | | | | | | | | | | | | | | | | + 0.30% create | | | | | | | | | | | | | | | | | + 0.30% allocate_aligned | | | | | | | | | | | | | | | | | + 0.25% tc_posix_memalign | | | | | | | | | | | | | | | | | | + 0.25% do_memalign_or_cpp_memalign | | | | | | | | | | | | | | | | | | + 0.25% (anonymous namespace)::do_memalign | | | | | | | | | | | | | | | | | | + 0.25% do_malloc | | | | | | | | | | | | | | | | | | + 0.25% do_malloc_no_errno | | | | | | | | | | | | | | | | | | + 0.25% do_malloc_small | | | | | | | | | | | | | | | | | | + 0.25% Allocate | | | | | | | | | | | | | | | | | | + 0.15% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | | | | | + 0.05% Pop | | | | | | | | | | | | | | | | | + 0.05% pick_a_shard | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | | | | | | | + 0.05% denc > | | | | | | | | | | | | | | | + 0.05% denc >, denc_traits > > > | | | | | | | | | | | | | | + 0.35% BlueStore::Collection::open_shared_blob | | | | | | | | | | | | | | | + 0.20% BlueStore::SharedBlob::operator new | | | | | | | | | | | | | | | | + 0.20% allocate | | | | | | | | | | | | | | | | + 0.20% tc_newarray | | | | | | | | | | | | | | | | + 0.20% cpp_alloc | | | | | | | | | | | | | | | | + 0.20% do_malloc_no_errno | | | | | | | | | | | | | | | | + 0.20% do_malloc_small | | | | | | | | | | | | | | | | + 0.20% Allocate | | | | | | | | | | | | | | | | + 0.15% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | | | + 0.05% Pop | | | | | | | | | | | | | | | + 0.05% operator-> | | | | | | | | | | | | | | + 0.30% BlueStore::Blob::get_ref | | | | | | | | | | | | | | | + 0.20% bluestore_blob_use_tracker_t::get | | | | | | | | | | | | | | | + 0.10% bluestore_blob_use_tracker_t::init | | | | | | | | | | | | | | | + 0.10% bluestore_blob_use_tracker_t::allocate | | | | | | | | | | | | | | | + 0.10% tc_newarray | | | | | | | | | | | | | | | + 0.05% cpp_alloc | | | | | | | | | | | | | | + 0.25% bluestore_blob_t | | | | | | | | | | | | | | | + 0.25% ptr | | | | | | | | | | | | | | + 0.20% insert | | | | | | | | | | | | | | | + 0.20% boost::intrusive::bstree_impl, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, void, void, unsigned long, true, (boost::intrusive::algo_types)5, void>::insert_unique | | | | | | | | | | | | | | | + 0.10% insert_unique_commit | | | | | | | | | | | | | | | | + 0.05% operator-- | | | | | | | | | | | | | | | + 0.10% insert_unique_check, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | | | | + 0.15% BlueStore::Extent::operator new | | | | | | | | | | | | | | | + 0.15% allocate | | | | | | | | | | | | | | | + 0.10% tc_newarray | | | | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | | | | + 0.05% pick_a_shard | | | | | | | | | | | | | | + 0.15% BlueStore::Blob::operator new | | | | | | | | | | | | | | | + 0.15% allocate | | | | | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | | | | | + 0.05% pick_a_shard | | | | | | | | | | | | | | | + 0.05% operator+= | | | | | | | | | | | | | | + 0.05% operator= | | | | | | | | | | | | | | + 0.05% get_num_buffers | | | | | | | | | | | | | | + 0.05% assign_blob | | | | | | | | | | | | | + 0.05% ~function | | | | | | | | | | | | + 3.00% BlueStore::_do_alloc_write | | | | | | | | | | | | | + 2.10% BitMapAllocator::allocate | | | | | | | | | | | | | | + 2.05% BitMapAllocator::allocate_dis | | | | | | | | | | | | | | + 2.05% BitAllocator::alloc_blocks_dis_res | | | | | | | | | | | | | | + 2.05% BitAllocator::alloc_blocks_dis_work | | | | | | | | | | | | | | + 1.95% BitAllocator::alloc_blocks_dis_int | | | | | | | | | | | | | | | + 1.95% BitMapAreaIN::alloc_blocks_dis_int_work | | | | | | | | | | | | | | | + 1.00% BitAllocator::child_check_n_lock | | | | | | | | | | | | | | | | + 0.85% BitMapAreaIN::is_exhausted | | | | | | | | | | | | | | | | | + 0.75% BitMapAreaIN::get_used_blocks | | | | | | | | | | | | | | | | | + 0.60% lock_guard | | | | | | | | | | | | | | | | | | + 0.60% lock | | | | | | | | | | | | | | | | | | + 0.60% __gthread_mutex_lock | | | | | | | | | | | | | | | | | | + 0.60% __GI___pthread_mutex_lock | | | | | | | | | | | | | | | | | | + 0.10% _L_lock_791 | | | | | | | | | | | | | | | | | | + 0.10% __lll_lock_wait | | | | | | | | | | | | | | | | | + 0.15% ~lock_guard | | | | | | | | | | | | | | | | | + 0.15% unlock | | | | | | | | | | | | | | | | | + 0.15% __gthread_mutex_unlock | | | | | | | | | | | | | | | | | + 0.15% __GI___pthread_mutex_unlock | | | | | | | | | | | | | | | | | + 0.15% __pthread_mutex_unlock_usercnt | | | | | | | | | | | | | | | | + 0.05% BitMapAreaIN::unlock | | | | | | | | | | | | | | | + 0.90% BitMapAreaIN::alloc_blocks_dis | | | | | | | | | | | | | | | + 0.90% BitMapAreaLeaf::alloc_blocks_dis_int | | | | | | | | | | | | | | | + 0.75% child_check_n_lock | | | | | | | | | | | | | | | | + 0.05% get_used_blocks | | | | | | | | | | | | | | | | + 0.05% BitMapZone::lock_excl_try | | | | | | | | | | | | | | | + 0.10% next | | | | | | | | | | | | | | | + 0.05% BitMapZone::alloc_blocks_dis | | | | | | | | | | | | | | + 0.10% BitMapAreaIN::unreserve | | | | | | | | | | | | | | + 0.05% lock_guard | | | | | | | | | | | | | + 0.20% map_bl | | | | | | | | | | | | | | + 0.20% operator() | | | | | | | | | | | | | | + 0.20% KernelDevice::aio_write | | | | | | | | | | | | | | + 0.10% ceph::buffer::list::claim_append | | | | | | | | | | | | | | | + 0.05% make_shareable | | | | | | | | | | | | | | | + 0.05% begin | | | | | | | | | | | | | | + 0.05% push_back | | | | | | | | | | | | | + 0.20% _buffer_cache_write | | | | | | | | | | | | | | + 0.15% write | | | | | | | | | | | | | | | + 0.05% lock_guard | | | | | | | | | | | | | | | + 0.05% _add_buffer | | | | | | | | | | | | | | | + 0.05% BlueStore::BufferSpace::_discard | | | | | | | | | | | | | | + 0.05% insert | | | | | | | | | | | | | + 0.15% bluestore_blob_t::calc_csum | | | | | | | | | | | | | | + 0.15% calculate | | | | | | | | | | | | | | + 0.15% calculate | | | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::c_str | | | | | | | | | | | | | | + 0.05% calc | | | | | | | | | | | | | + 0.05% ~vector | | | | | | | | | | | | | + 0.05% ~function | | | | | | | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | | | | | | | + 0.05% interval_set::insert | | | | | | | | | | | | | + 0.05% bluestore_blob_t::allocated | | | | | | | | | | | | | + 0.05% BlueStore::ExtentMap::set_lextent | | | | | | | | | | | | | + 0.05% BitMapAllocator::reserve | | | | | | | | | | | | + 0.70% BlueStore::_do_write_data | | | | | | | | | | | | | + 0.65% BlueStore::_do_write_big | | | | | | | | | | | | | | + 0.60% BlueStore::ExtentMap::punch_hole | | | | | | | | | | | | | | | + 0.35% BlueStore::OldExtent::create | | | | | | | | | | | | | | | | + 0.25% BlueStore::Blob::put_ref | | | | | | | | | | | | | | | | | + 0.25% bluestore_blob_t::release_extents | | | | | | | | | | | | | | | | | + 0.15% emplace | | | | | | | | | | | | | | | | | | + 0.15% std::vector >::_M_insert_aux | | | | | | | | | | | | | | | | | | + 0.10% _M_allocate | | | | | | | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | | | | | | | + 0.10% tc_newarray | | | | | | | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | | | | | | | + 0.05% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | | | | | + 0.05% Pop | | | | | | | | | | | | | | | | | | + 0.05% _M_check_len | | | | | | | | | | | | | | | | | + 0.10% add | | | | | | | | | | | | | | | | | + 0.10% std::vector >::emplace_back(bluestore_pextent_t&&) | | | | | | | | | | | | | | | | | + 0.10% std::vector >::_M_emplace_back_aux(bluestore_pextent_t&&) | | | | | | | | | | | | | | | | | + 0.10% _M_allocate | | | | | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | | | | | | | + 0.05% operator+= | | | | | | | | | | | | | | | | + 0.05% get_referenced_bytes | | | | | | | | | | | | | | | | + 0.05% OldExtent | | | | | | | | | | | | | | | + 0.15% BlueStore::ExtentMap::add | | | | | | | | | | | | | | | | + 0.05% insert | | | | | | | | | | | | | | | + 0.05% BlueStore::ExtentMap::seek_lextent | | | | | | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | | | | | | + 0.05% begin | | | | | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | | | + 0.05% operator-> | | | | | | | | | | | | + 0.05% intrusive_ptr | | | | | | | | | | | | + 0.05% BlueStore::_wctx_finish | | | | | | | | | | | + 0.70% BlueStore::_omap_setkeys | | | | | | | | | | | | + 0.45% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | | | + 0.20% Put | | | | | | | | | | | | | | + 0.20% rocksdb::WriteBatch::Put | | | | | | | | | | | | | | + 0.20% rocksdb::WriteBatchInternal::Put | | | | | | | | | | | | | | + 0.10% PutLengthPrefixedSlice | | | | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_clone | | | | | | | | | | | | | | | + 0.05% _M_dispose | | | | | | | | | | | | | | + 0.05% push_back | | | | | | | | | | | | | + 0.10% ~basic_string | | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_dispose | | | | | | | | | | | | | + 0.10% ceph::buffer::list::c_str | | | | | | | | | | | | | | + 0.10% ceph::buffer::list::rebuild | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::rebuild | | | | | | | | | | | | | | + 0.05% ceph::buffer::create | | | | | | | | | | | | | + 0.05% ceph::buffer::list::list | | | | | | | | | | | | + 0.15% operator+= | | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | | + 0.05% std::string::reserve | | | | | | | | | | | | | + 0.05% _M_copy | | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | | + 0.05% decode | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | | | + 0.45% decode_attrset | | | | | | | | | | | | + 0.45% decode, std::allocator > >, denc_traits, std::allocator > >, void> > | | | | | | | | | | | | + 0.20% decode | | | | | | | | | | | | | + 0.20% decode_nohead | | | | | | | | | | | | | + 0.10% denc, ceph::buffer::ptr>, denc_traits, ceph::buffer::ptr>, void> > | | | | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | | | | + 0.10% denc, denc_traits, void> > | | | | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | | | | + 0.10% decode_nohead | | | | | | | | | | | | | | + 0.05% std::string::append | | | | | | | | | | | | | | + 0.05% clear | | | | | | | | | | | | | + 0.05% insert, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | | | | | + 0.05% clear | | | | | | | | | | | | + 0.15% ceph::buffer::list::iterator::copy_shallow | | | | | | | | | | | | | + 0.15% ceph::buffer::list::iterator_impl::copy_shallow | | | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::copy_out | | | | | | | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | | | | | | + 0.10% ~ptr | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | | | + 0.30% decode_attrset_bl | | | | | | | | | | | | + 0.30% decode_str_str_map_to_bl | | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | | | + 0.05% operator unsigned int | | | | | | | | | | | | | + 0.05% decode_raw > | | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::advance | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | | | + 0.25% BlueStore::_setattrs | | | | | | | | | | | | + 0.10% operator[] | | | | | | | | | | | | | + 0.05% operator() | | | | | | | | | | | | | + 0.05% lower_bound | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | | | | | + 0.05% tc_free | | | | | | | | | | | | | + 0.05% dec | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::c_str | | | | | | | | | | | + 0.25% BlueStore::_get_collection | | | | | | | | | | | | + 0.20% find | | | | | | | | | | | | | + 0.20% find | | | | | | | | | | | | | + 0.15% _M_find_node | | | | | | | | | | | | | | + 0.15% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | | | | | | + 0.05% _M_hash_code | | | | | | | | | | | | + 0.05% intrusive_ptr | | | | | | | | | | | + 0.20% BlueStore::Collection::get_onode | | | | | | | | | | | | + 0.20% BlueStore::OnodeSpace::lookup | | | | | | | | | | | | + 0.10% lock_guard | | | | | | | | | | | | | + 0.10% lock | | | | | | | | | | | | | + 0.10% __gthread_recursive_mutex_lock | | | | | | | | | | | | | + 0.10% __gthread_mutex_lock | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock | | | | | | | | | | | | | + 0.10% _L_lock_840 | | | | | | | | | | | | | + 0.10% __lll_lock_wait | | | | | | | | | | | | + 0.05% find | | | | | | | | | | | | + 0.05% BlueStore::TwoQCache::_touch_onode | | | | | | | | | | | + 0.15% ~map | | | | | | | | | | | | + 0.15% ~_Rb_tree | | | | | | | | | | | | + 0.15% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | | | | + 0.10% _M_destroy_node | | | | | | | | | | | | + 0.05% destroy const, ceph::buffer::ptr> > > | | | | | | | | | | | | + 0.05% _M_put_node | | | | | | | | | | | + 0.15% BlueStore::_omap_rmkeys | | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | | | + 0.05% decode | | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | | | | + 0.05% _key_encode_u64 > | | | | | | | | | | | + 0.10% begin | | | | | | | | | | | | + 0.10% iterator | | | | | | | | | | | | + 0.10% ceph::buffer::list::get_contiguous | | | | | | | | | | | | + 0.05% erase | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | + 0.05% ~list | | | | | | | | | | + 1.15% BlueStore::_txc_write_nodes | | | | | | | | | | | + 0.90% BlueStore::ExtentMap::update | | | | | | | | | | | | + 0.50% BlueStore::ExtentMap::encode_some | | | | | | | | | | | | | + 0.30% encode | | | | | | | | | | | | | + 0.30% denc > | | | | | | | | | | | | | + 0.30% encode | | | | | | | | | | | | | + 0.30% encode | | | | | | | | | | | | | + 0.25% ceph::buffer::ptr::c_str | | | | | | | | | | | | | + 0.05% memcpy | | | | | | | | | | | | + 0.20% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | | | | + 0.15% operator() | | | | | | | | | | | | | | + 0.15% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | | | | + 0.10% combine_strings | | | | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_clone | | | | | | | | | | | | | | | + 0.05% _M_dispose | | | | | | | | | | | | | | + 0.05% Put | | | | | | | | | | | | | + 0.05% get_extent_shard_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | | | | | + 0.10% ~vector | | | | | | | | | | | | | + 0.10% _Destroy | | | | | | | | | | | | | + 0.10% _Destroy | | | | | | | | | | | | | + 0.10% __destroy | | | | | | | | | | | | | + 0.10% _Destroy | | | | | | | | | | | | | + 0.10% ~dirty_shard_t | | | | | | | | | | | | | + 0.10% ~list | | | | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | | | | | + 0.05% ~list | | | | | | | | | | | | + 0.05% ~dirty_shard_t | | | | | | | | | | | | + 0.05% reserve | | | | | | | | | | | + 0.10% denc > | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | + 0.10% _denc_friend | | | | | | | | | | | | + 0.05% denc_varint | | | | | | | | | | | | + 0.05% denc, denc_traits, void> > | | | | | | | | | | | + 0.05% get_logical_offset | | | | | | | | | | | + 0.05% ceph::buffer::list::contiguous_appender::~contiguous_appender | | | | | | | | | | | + 0.05% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | + 0.70% BlueStore::_txc_state_proc | | | | | | | | | | | + 0.70% BlueStore::_txc_aio_submit | | | | | | | | | | | + 0.70% KernelDevice::aio_submit | | | | | | | | | | | + 0.70% aio_queue_t::submit | | | | | | | | | | | + 0.65% io_submit | | | | | | | | | | + 0.45% BlueStore::_txc_finalize_kv | | | | | | | | | | | + 0.40% BitmapFreelistManager::allocate | | | | | | | | | | | | + 0.40% BitmapFreelistManager::_xor | | | | | | | | | | | | + 0.20% RocksDBStore::RocksDBTransactionImpl::merge | | | | | | | | | | | | | + 0.20% Merge | | | | | | | | | | | | | + 0.20% rocksdb::WriteBatch::Merge | | | | | | | | | | | | | + 0.20% rocksdb::WriteBatchInternal::Merge | | | | | | | | | | | | | + 0.15% PutLengthPrefixedSlice | | | | | | | | | | | | | + 0.10% PutVarint32 | | | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | | + 0.05% std::string::append | | | | | | | | | | | | + 0.10% ~ptr | | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | | | | | + 0.10% ceph::buffer::raw_combined::~raw_combined | | | | | | | | | | | | + 0.05% ~list | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | | | + 0.05% BitmapFreelistManager::release | | | | | | | | | | + 0.10% ceph_clock_now | | | | | | | | | | | + 0.05% clock_gettime@plt | | | | | | | | | | | + 0.05% clock_gettime | | | | | | | | | | + 0.10% Throttle::get | | | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | | | | + 0.05% Locker | | | | | | | | | | + 0.10% PerfCounters::tinc | | | | | | | | | | | + 0.10% add | | | | | | | | | | | + 0.10% ceph_spin_lock | | | | | | | | | | | + 0.05% pthread_spin_lock | | | | | | | | | | + 0.10% BlueStore::_txc_create | | | | | | | | | | | + 0.05% TransContext | | | | | | | | | | + 0.05% collect_contexts | | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | | + 1.65% PrimaryLogPG::log_operation | | | | | | | | | + 1.65% PG::append_log | | | | | | | | | + 1.30% PG::write_if_dirty | | | | | | | | | | + 0.75% PGLog::write_log_and_missing | | | | | | | | | | | + 0.65% PGLog::_write_log_and_missing | | | | | | | | | | | | + 0.50% pg_log_entry_t::encode_with_checksum | | | | | | | | | | | | | + 0.30% pg_log_entry_t::encode | | | | | | | | | | | | | | + 0.25% encode | | | | | | | | | | | | | | | + 0.10% encode_raw | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | | | | + 0.05% encode > | | | | | | | | | | | | | + 0.10% ~list | | | | | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | | | | | | + 0.05% ~list | | | | | | | | | | | | | + 0.05% list | | | | | | | | | | | | | + 0.05% ceph::buffer::list::crc32c | | | | | | | | | | | | + 0.05% pg_log_entry_t::get_key_name | | | | | | | | | | | + 0.10% undirty | | | | | | | | | | | + 0.05% clear | | | | | | | | | | | + 0.05% PGLog::check | | | | | | | | | | + 0.40% PG::prepare_write_info | | | | | | | | | | | + 0.40% PG::_prepare_write_info | | | | | | | | | | | + 0.25% operator== | | | | | | | | | | | | + 0.25% operator== | | | | | | | | | | | | + 0.10% interval_set::operator== | | | | | | | | | | | | | + 0.05% operator==, std::allocator > > | | | | | | | | | | | | + 0.05% std::operator== > | | | | | | | | | | | | + 0.05% operator== | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | + 0.10% pg_fast_info_t::encode | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | + 0.05% encode_raw | | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | + 0.05% pg_info_t::encode | | | | | | | | | | + 0.10% omap_setkeys | | | | | | | | | | | + 0.10% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | + 0.05% encode, ceph::buffer::list> > | | | | | | | | | | | + 0.05% bound_encode, ceph::buffer::list> > | | | | | | | | | | + 0.05% ~map | | | | | | | | | + 0.15% PG::add_log_entry | | | | | | | | | | + 0.15% add | | | | | | | | | | + 0.15% PGLog::IndexedLog::add | | | | | | | | | | + 0.10% push_back | | | | | | | | | | + 0.10% _M_insert | | | | | | | | | | + 0.10% _M_create_node | | | | | | | | | | + 0.05% construct, pg_log_entry_t const&> | | | | | | | | | | + 0.05% _M_get_node | | | | | | | | | + 0.10% PG::update_snap_map | | | | | | | | | | + 0.05% ~OSTransaction | | | | | | | | | | + 0.05% get_transaction | | | | | | | | | + 0.05% PGLog::trim | | | | | | | | | + 0.05% PGLog::IndexedLog::trim | | | | | | | | + 0.80% generate_transaction | | | | | | | | | + 0.70% PGTransaction::safe_create_traverse&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26>() | | | | | | | | | | + 0.70% operator() | | | | | | | | | | + 0.35% ObjectStore::Transaction::setattrs | | | | | | | | | | | + 0.25% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | | + 0.10% get_contiguous_appender | | | | | | | | | | | | | + 0.10% ceph::buffer::list::contiguous_appender::contiguous_appender | | | | | | | | | | | | | + 0.10% ceph::buffer::create | | | | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | | | + 0.10% create | | | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | | | + 0.05% tc_posix_memalign | | | | | | | | | | | | | + 0.05% pick_a_shard | | | | | | | | | | | | + 0.10% encode, ceph::buffer::list> > | | | | | | | | | | | | | + 0.10% encode_nohead, ceph::buffer::list> > | | | | | | | | | | | | | + 0.05% ~pair | | | | | | | | | | | | | + 0.05% denc, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | | + 0.05% bound_encode, ceph::buffer::list> > | | | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_object_id | | | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_next_op | | | | | | | | | | + 0.10% ~map | | | | | | | | | | | + 0.10% ~_Rb_tree | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | | | + 0.05% _M_destroy_node | | | | | | | | | | + 0.10% match, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> | | | | | | | | | | | + 0.10% apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33>, const boost::variant > | | | | | | | | | | | + 0.10% apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> > | | | | | | | | | | | + 0.10% internal_apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> > > | | | | | | | | | | | + 0.10% internal_apply_visitor_impl, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*> | | | | | | | | | | | + 0.10% visitation_impl, boost::detail::variant::visitation_impl_step, PGTransaction::ObjectOperation::BufferUpdate::Write, boost::mpl::l_item, PGTransaction::ObjectOperation::BufferUpdate::Zero, boost::mpl::l_item, PGTransaction::ObjectOperation::BufferUpdate::CloneRange, boost::mpl::l_end> > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, boost::variant::has_fallback_type_> | | | | | | | | | | | + 0.10% visitation_impl_invoke, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, PGTransaction::ObjectOperation::BufferUpdate::Write, boost::variant::has_fallback_type_> | | | | | | | | | | | + 0.10% visitation_impl_invoke_impl, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, PGTransaction::ObjectOperation::BufferUpdate::Write> | | | | | | | | | | | + 0.10% internal_visit | | | | | | | | | | | + 0.10% operator() | | | | | | | | | | | + 0.10% apply_helper | | | | | | | | | | | + 0.10% operator() | | | | | | | | | | | + 0.10% write | | | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_object_id | | | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_coll_id | | | | | | | | | | + 0.05% std::map, std::allocator > >::operator[] | | | | | | | | | | + 0.05% operator++ | | | | | | | | | | + 0.05% ghobject_t | | | | | | | | | + 0.10% find | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::find | | | | | | | | | + 0.10% operator() | | | | | | | | | + 0.10% operator< | | | | | | | | | + 0.10% cmp | | | | | | | | | + 0.05% operator< | | | | | | | | + 0.25% ~vector | | | | | | | | | + 0.25% _Destroy | | | | | | | | | + 0.25% _Destroy | | | | | | | | | + 0.25% __destroy | | | | | | | | | + 0.25% _Destroy | | | | | | | | | + 0.25% ObjectStore::Transaction::~Transaction | | | | | | | | | + 0.20% ~list | | | | | | | | | | + 0.20% ~list | | | | | | | | | | + 0.20% ~_List_base | | | | | | | | | | + 0.20% std::_List_base >::_M_clear | | | | | | | | | | + 0.10% destroy > | | | | | | | | | | | + 0.10% ~_List_node | | | | | | | | | | | + 0.10% ~ptr | | | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | | | + 0.05% tc_free | | | | | | | | | | + 0.10% _M_put_node | | | | | | | | | | + 0.10% deallocate | | | | | | | | | | + 0.10% tc_delete | | | | | | | | | | + 0.10% do_free | | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | | + 0.05% GetSizeClassIfCached | | | | | | | | | | + 0.05% Deallocate | | | | | | | | | + 0.05% ~map | | | | | | | | + 0.25% ~unique_ptr | | | | | | | | | + 0.25% operator() | | | | | | | | | + 0.25% ~PGTransaction | | | | | | | | | + 0.25% ~map | | | | | | | | | + 0.25% ~_Rb_tree | | | | | | | | | + 0.25% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | + 0.25% _M_destroy_node | | | | | | | | | + 0.25% destroy > > | | | | | | | | | + 0.25% ~_Rb_tree_node | | | | | | | | | + 0.25% ~pair | | | | | | | | | + 0.25% ~ObjectOperation | | | | | | | | | + 0.20% ~map | | | | | | | | | | + 0.20% ~_Rb_tree | | | | | | | | | | + 0.20% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase | | | | | | | | | | + 0.10% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase | | | | | | | | | | | + 0.10% _M_destroy_node | | | | | | | | | | | + 0.10% destroy const, boost::optional > > > | | | | | | | | | | | + 0.10% ~_Rb_tree_node | | | | | | | | | | | + 0.10% ~pair | | | | | | | | | | | + 0.10% ~optional | | | | | | | | | | | + 0.10% ~optional_base | | | | | | | | | | | + 0.10% destroy | | | | | | | | | | | + 0.10% destroy_impl | | | | | | | | | | | + 0.10% ~list | | | | | | | | | | | + 0.10% ~list | | | | | | | | | | | + 0.10% ~_List_base | | | | | | | | | | | + 0.10% std::_List_base >::_M_clear | | | | | | | | | | | + 0.10% destroy > | | | | | | | | | | | + 0.10% ~_List_node | | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | | + 0.10% _M_destroy_node | | | | | | | | | | + 0.10% destroy const, boost::optional > > > | | | | | | | | | | + 0.10% ~_Rb_tree_node | | | | | | | | | | + 0.10% ~pair | | | | | | | | | | + 0.10% ~optional | | | | | | | | | | + 0.10% ~optional_base | | | | | | | | | | + 0.10% destroy | | | | | | | | | | + 0.10% destroy_impl | | | | | | | | | | + 0.10% ~list | | | | | | | | | | + 0.10% ~list | | | | | | | | | | + 0.10% ~_List_base | | | | | | | | | | + 0.10% std::_List_base >::_M_clear | | | | | | | | | | + 0.10% destroy > | | | | | | | | | | + 0.10% ~_List_node | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | + 0.05% ~interval_map | | | | | | | | + 0.15% insert > | | | | | | | | | + 0.15% std::_Rb_tree, std::less, std::allocator >::_M_insert_unique > | | | | | | | | | + 0.15% _M_insert_unique_ | | | | | | | | | + 0.15% std::_Rb_tree, std::less, std::allocator >::_M_insert_ | | | | | | | | | + 0.10% _M_create_node | | | | | | | | | + 0.10% _M_get_node | | | | | | | | | + 0.10% allocate | | | | | | | | | + 0.10% tc_new | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | + 0.10% Allocate | | | | | | | | | + 0.10% Pop | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | + 0.10% insert, void> | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique >(std::pair&&) | | | | | | | | | + 0.10% _M_insert_ > | | | | | | | | | + 0.05% std::_Rb_tree_insert_and_rebalance | | | | | | | | | + 0.05% _M_create_node > | | | | | | | | + 0.05% vector | | | | | | | | + 0.05% tc_delete | | | | | | | | + 0.05% register_on_applied_sync | | | | | | | | + 0.05% push_back | | | | | | | | + 0.05% non-virtual thunk to PrimaryLogPG::get_actingbackfill_shards() const | | | | | | | | + 0.05% count | | | | | | | | + 0.05% PrimaryLogPG::apply_stats | | | | | | | + 0.05% tc_new | | | | | | | + 0.05% add | | | | | | + 1.70% PrimaryLogPG::prepare_transaction | | | | | | | + 1.30% PrimaryLogPG::finish_ctx | | | | | | | | + 0.65% encode | | | | | | | | | + 0.50% object_info_t::encode | | | | | | | | | | + 0.30% encode | | | | | | | | | | | + 0.15% hobject_t::encode | | | | | | | | | | | | + 0.05% encode | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy_in | | | | | | | | | | | + 0.05% encode_raw | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | + 0.10% object_locator_t::~object_locator_t | | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | + 0.05% encode > | | | | | | | | | | + 0.05% encode, std::allocator >, denc_traits, denc_traits > | | | | | | | | | + 0.15% SnapSet::encode | | | | | | | | | + 0.05% encode, denc_traits, void> > | | | | | | | | | + 0.05% encode | | | | | | | | + 0.30% OSDMap::get_features | | | | | | | | | + 0.15% find | | | | | | | | | | + 0.15% find | | | | | | | | | | + 0.10% _M_lower_bound | | | | | | | | | | | + 0.05% operator() | | | | | | | | | | + 0.05% operator() | | | | | | | | | + 0.10% operator==, std::allocator > | | | | | | | | | | + 0.10% std::string::compare | | | | | | | | | | + 0.05% length | | | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | | + 0.25% PGTransaction::setattrs | | | | | | | | | + 0.20% operator[] | | | | | | | | | | + 0.20% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator > >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | | | + 0.10% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_get_insert_hint_unique_pos | | | | | | | | | | + 0.05% _M_insert_node | | | | | | | | | | + 0.05% _M_create_node, std::allocator >&>, std::tuple<> > | | | | | | | | | + 0.05% operator= | | | | | | | | + 0.10% std::map, std::allocator > >::operator[](std::string&&) | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | + 0.35% PrimaryLogPG::do_osd_ops | | | | | | | | + 0.10% PrimaryLogPG::write_update_size_and_usage | | | | | | | | | + 0.05% ~interval_set | | | | | | | | | + 0.05% interval_set::union_of | | | | | | | | + 0.10% PGTransaction::write | | | | | | | | | + 0.10% interval_map, PGTransaction::ObjectOperation::SplitMerger>::insert(unsigned long, unsigned long, boost::variant&&) | | | | | | | | | + 0.05% interval_map, PGTransaction::ObjectOperation::SplitMerger>::erase | | | | | | | | | + 0.05% insert > >, void> | | | | | | | | + 0.05% PrimaryLogPG::maybe_create_new_object | | | | | | | + 0.05% PrimaryLogPG::make_writeable | | | | | | + 0.15% reset_obs | | | | | | | + 0.15% operator= | | | | | | | + 0.15% operator= | | | | | | | + 0.15% operator= | | | | | | | + 0.10% operator= | | | | | | | | + 0.05% std::string::swap | | | | | | | | + 0.05% operator= | | | | | | | + 0.05% swap | | | | | | + 0.10% MOSDOpReply::MOSDOpReply | | | | | | | + 0.05% vector | | | | | | | + 0.05% Message::Message | | | | | | + 0.05% register_on_success | | | | | | + 0.05% pg_pool_t::is_pool_snaps_mode | | | | | | + 0.05% PrimaryLogPG::new_repop | | | | | | + 0.05% PG::get_osdmap | | | | | + 12.70% PrimaryLogPG::find_object_context | | | | | | + 12.70% PrimaryLogPG::get_object_context | | | | | | + 10.40% PGBackend::objects_get_attr | | | | | | | + 10.35% BlueStore::getattr | | | | | | | | + 10.30% BlueStore::Collection::get_onode | | | | | | | | | + 9.90% RocksDBStore::get | | | | | | | | | | + 9.90% rocksdb::DB::Get | | | | | | | | | | + 9.90% rocksdb::DB::Get | | | | | | | | | | + 9.90% rocksdb::DBImpl::Get | | | | | | | | | | + 9.90% rocksdb::DBImpl::GetImpl | | | | | | | | | | + 9.55% rocksdb::Version::Get | | | | | | | | | | | + 9.50% rocksdb::TableCache::Get | | | | | | | | | | | + 9.50% rocksdb::BlockBasedTable::Get | | | | | | | | | | | + 9.35% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | + 9.35% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | + 9.35% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | + 9.30% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | + 9.30% rocksdb::ReadBlockContents | | | | | | | | | | | | + 9.20% ReadBlock | | | | | | | | | | | | | + 9.15% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | | + 9.15% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | | + 9.15% read_random | | | | | | | | | | | | | | + 9.15% BlueFS::_read_random | | | | | | | | | | | | | | + 9.15% KernelDevice::read_random | | | | | | | | | | | | | | + 9.15% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | | + 9.15% pread | | | | | | | | | | | | | | + 9.15% pread64 | | | | | | | | | | | | | + 0.05% Value | | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | | | | | + 0.10% rocksdb::BlockIter::Seek | | | | | | | | | | | | + 0.10% rocksdb::BlockIter::BinarySeek | | | | | | | | | | | | + 0.05% DecodeEntry | | | | | | | | | | | | + 0.05% Compare | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::NewIndexIterator | | | | | | | | | | + 0.30% Get | | | | | | | | | | | + 0.25% rocksdb::MemTable::Get | | | | | | | | | | | | + 0.15% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | | | | + 0.15% Seek | | | | | | | | | | | | + 0.15% Seek | | | | | | | | | | | | + 0.15% rocksdb::InlineSkipList::FindGreaterOrEqual | | | | | | | | | | | | + 0.10% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | | | | | + 0.05% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | + 0.05% GetLengthPrefixedSlice | | | | | | | | | | | + 0.05% rocksdb::MemTableListVersion::Get | | | | | | | | | | + 0.05% rocksdb::DBImpl::GetAndRefSuperVersion | | | | | | | | | + 0.15% BlueStore::OnodeSpace::lookup | | | | | | | | | | + 0.05% lock_guard | | | | | | | | | | + 0.05% find | | | | | | | | | | + 0.05% BlueStore::TwoQCache::_touch_onode | | | | | | | | | + 0.10% decode | | | | | | | | | | + 0.10% _denc_friend | | | | | | | | | | + 0.05% denc, denc_traits, void> > | | | | | | | | | | + 0.05% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | | + 0.05% spg_t | | | | | | | | | + 0.05% get_object_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | + 0.05% ceph::buffer::ptr::operator= | | | | | | | + 0.05% ~ghobject_t | | | | | | + 1.15% SharedLRU, std::hash >::lookup_or_create | | | | | | | + 0.65% ~list | | | | | | | | + 0.65% ~_List_base | | | | | | | | + 0.65% std::_List_base, std::allocator > >::_M_clear | | | | | | | | + 0.65% destroy > > | | | | | | | | + 0.65% ~_List_node | | | | | | | | + 0.65% ~shared_ptr | | | | | | | | + 0.65% ~__shared_ptr | | | | | | | | + 0.65% ~__shared_count | | | | | | | | + 0.65% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | | | | | | | | + 0.65% std::_Sp_counted_deleter, std::hash >::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2>::_M_dispose | | | | | | | | + 0.65% operator() | | | | | | | | + 0.45% ~ObjectContext | | | | | | | | | + 0.20% Mutex::~Mutex | | | | | | | | | | + 0.15% ~basic_string | | | | | | | | | | + 0.15% _M_dispose | | | | | | | | | | + 0.05% __exchange_and_add_dispatch | | | | | | | | | + 0.20% Context::complete | | | | | | | | | + 0.15% PrimaryLogPG::put_snapset_context | | | | | | | | | | + 0.15% erase | | | | | | | | | | + 0.15% erase | | | | | | | | | | + 0.15% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::equal_range | | | | | | | | | | + 0.10% operator() | | | | | | | | | | | + 0.10% operator< | | | | | | | | | | | + 0.10% cmp | | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound | | | | | | | | | + 0.05% PrimaryLogPG::C_PG_ObjectContext::finish | | | | | | | | + 0.20% remove | | | | | | | | + 0.15% erase | | | | | | | | | + 0.15% erase | | | | | | | | | + 0.15% _M_erase_aux | | | | | | | | | + 0.10% std::_Rb_tree_rebalance_for_erase | | | | | | | | | + 0.05% _M_destroy_node | | | | | | | | + 0.05% find | | | | | | | + 0.15% SharedLRU, std::hash >::lru_add | | | | | | | | + 0.15% trim_cache | | | | | | | | + 0.10% lru_remove | | | | | | | | | + 0.05% find | | | | | | | | | + 0.05% erase | | | | | | | | + 0.05% push_back | | | | | | | + 0.10% shared_ptr::Cleanup> | | | | | | | | + 0.10% __shared_ptr::Cleanup> | | | | | | | | + 0.05% ~Cleanup | | | | | | | | + 0.05% __shared_count::Cleanup> | | | | | | | + 0.10% insert, ObjectContext*> >, void> | | | | | | | | + 0.10% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::_M_insert_unique, ObjectContext*> > >(std::pair, ObjectContext*> >&&) | | | | | | | | + 0.05% _M_get_insert_unique_pos | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | + 0.05% make_pair&, ObjectContext*&> | | | | | | | + 0.05% Cond | | | | | | + 0.55% PrimaryLogPG::get_snapset_context | | | | | | | + 0.15% _register_snapset_context | | | | | | | | + 0.15% operator[] | | | | | | | | + 0.10% lower_bound | | | | | | | | | + 0.10% lower_bound | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound | | | | | | | | | + 0.05% operator() | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | + 0.15% SnapSet::decode | | | | | | | | + 0.10% decode | | | | | | | | | + 0.05% decode_raw | | | | | | | | | + 0.05% decode | | | | | | | | + 0.05% decode >, denc_traits >, void> > | | | | | | | + 0.15% PGBackend::objects_get_attr | | | | | | | | + 0.15% BlueStore::getattr | | | | | | | | + 0.10% BlueStore::Collection::get_onode | | | | | | | | | + 0.10% BlueStore::OnodeSpace::lookup | | | | | | | | | + 0.05% lock_guard | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | + 0.05% ceph::buffer::ptr::operator= | | | | | | | + 0.10% find | | | | | | | + 0.10% find | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound | | | | | | | + 0.10% operator() | | | | | | | + 0.10% operator< | | | | | | | + 0.10% cmp | | | | | | + 0.35% decode | | | | | | | + 0.35% object_info_t::decode | | | | | | | + 0.15% decode | | | | | | | | + 0.05% decode_raw | | | | | | | | + 0.05% decode_raw > | | | | | | | | + 0.05% decode_raw > | | | | | | | + 0.05% insert, watch_info_t>, void> | | | | | | | + 0.05% decode > | | | | | | | + 0.05% decode, std::allocator >, denc_traits, denc_traits > | | | | | | + 0.05% ~basic_string | | | | | | + 0.05% tc_new | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | + 0.05% PerfCounters::inc | | | | | + 0.70% OSDService::check_failsafe_full | | | | | | + 0.70% OSDService::_check_full | | | | | | + 0.25% operator<< > | | | | | | | + 0.25% std::__ostream_insert > | | | | | | | + 0.20% __ostream_write > | | | | | | | | + 0.20% sputn | | | | | | | | + 0.20% std::basic_streambuf >::xsputn | | | | | | | | + 0.15% std::basic_stringbuf, std::allocator >::overflow | | | | | | | | + 0.10% std::basic_stringbuf, std::allocator >::_M_sync | | | | | | | | + 0.05% std::string::reserve | | | | | | | + 0.05% std::ostream::sentry::sentry | | | | | | + 0.25% operator<< | | | | | | | + 0.25% std::ostream::_M_insert | | | | | | | + 0.25% put | | | | | | | + 0.25% std::num_put > >::do_put | | | | | | | + 0.25% std::num_put > >::_M_insert_float | | | | | | | + 0.20% std::__convert_from_v | | | | | | | | + 0.20% _IO_vsnprintf | | | | | | | | + 0.20% _IO_vfprintf_internal | | | | | | | | + 0.15% ___printf_fp | | | | | | | + 0.05% std::__use_cache >::operator() | | | | | | + 0.15% Locker | | | | | | + 0.15% Mutex::Lock | | | | | | + 0.15% __GI___pthread_mutex_lock | | | | | | + 0.15% _L_lock_791 | | | | | | + 0.15% __lll_lock_wait | | | | | + 0.60% clear_payload | | | | | | + 0.55% Throttle::put | | | | | | | + 0.50% Locker | | | | | | | | + 0.50% Mutex::Lock | | | | | | | | + 0.50% __GI___pthread_mutex_lock | | | | | | | | + 0.50% _L_lock_791 | | | | | | | | + 0.50% __lll_lock_wait | | | | | | | + 0.05% PerfCounters::inc | | | | | | + 0.05% ceph::buffer::list::clear | | | | | + 0.35% finish_decode | | | | | | + 0.25% decode | | | | | | | + 0.10% object_locator_t::decode | | | | | | | | + 0.10% decode | | | | | | | | + 0.05% decode_raw > | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | + 0.05% decode_raw | | | | | | | + 0.05% decode_raw > | | | | | | | + 0.05% decode | | | | | | + 0.05% std::vector >::resize | | | | | | + 0.05% OSDOp::split_osd_op_vector_in_data | | | | | + 0.30% PrimaryLogPG::maybe_await_blocked_snapset | | | | | | + 0.30% SharedLRU, std::hash >::lookup | | | | | | + 0.20% find | | | | | | | + 0.20% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::find | | | | | | | + 0.15% _M_lower_bound | | | | | | | | + 0.10% operator() | | | | | | | | + 0.10% operator< | | | | | | | | + 0.10% cmp | | | | | | | + 0.05% operator() | | | | | | + 0.05% ~list | | | | | | + 0.05% SharedLRU, std::hash >::lru_add | | | | | + 0.15% std::basic_ostringstream, std::allocator >::basic_ostringstream | | | | | | + 0.10% basic_ostream | | | | | | | + 0.10% std::basic_ios >::init | | | | | | | + 0.10% std::basic_ios >::_M_cache_locale | | | | | | | + 0.10% std::has_facet > | | | | | | | + 0.10% __cxxabiv1::__dynamic_cast | | | | | | | + 0.10% __cxxabiv1::__vmi_class_type_info::__do_dyncast | | | | | | | + 0.05% operator== | | | | | | + 0.05% std::basic_ios >::init | | | | | + 0.10% std::basic_ostringstream, std::allocator >::~basic_ostringstream | | | | | | + 0.05% ~basic_stringbuf | | | | | | + 0.05% ~basic_ios | | | | | + 0.10% mark_started | | | | | | + 0.10% OpRequest::mark_flag_point | | | | | | + 0.05% ceph_clock_now | | | | | | + 0.05% TrackedOp::mark_event | | | | | + 0.10% PrimaryLogPG::get_rw_locks | | | | | | + 0.05% ObcLockManager::get_lock_type | | | | | + 0.10% PrimaryLogPG::OpContext::OpContext | | | | | | + 0.05% object_stat_sum_t | | | | | | + 0.05% ObjectState | | | | | + 0.10% PerfCounters::tinc | | | | | | + 0.05% add | | | | | + 0.05% object_locator_t::~object_locator_t | | | | | + 0.05% hobject_t::~hobject_t | | | | | + 0.05% ceph_clock_now | | | | | + 0.05% PGLog::IndexedLog::get_request | | | | | + 0.05% PG::check_in_progress_op | | | | | + 0.05% OpRequest::may_read | | | | + 0.10% intrusive_ptr | | | | | + 0.05% intrusive_ptr_add_ref | | | | + 0.10% PG::can_discard_request | | | | | + 0.10% PG::can_discard_op | | | | | + 0.10% OSD::op_is_discardable | | | | | + 0.10% AsyncConnection::is_connected | | | | | + 0.10% load | | | | + 0.05% pg_t::get_hobj_start | | | | + 0.05% hobject_t::~hobject_t | | | + 0.05% mark_reached_pg | | | + 0.05% get_priv | | | + 0.05% ceph_clock_now | | + 0.10% ~intrusive_ptr | | + 0.10% PG::put | + 16.35% WaitInterval | | + 16.35% WaitUntil | | + 16.35% pthread_cond_timedwait@@GLIBC_2.3.2 | + 6.40% PG::lock | | + 6.40% Mutex::Lock | | + 6.40% __GI___pthread_mutex_lock | | + 6.40% _L_lock_791 | | + 6.40% __lll_lock_wait | + 0.15% WeightedPriorityQueue, entity_inst_t>::dequeue | | + 0.15% WeightedPriorityQueue, entity_inst_t>::Queue::pop | | + 0.10% pop | | | + 0.10% pop | | | + 0.10% pair | | | + 0.10% PGQueueable::PGQueueable | | | + 0.10% variant | | | + 0.10% internal_apply_visitor | | | + 0.10% internal_apply_visitor_impl | | | + 0.10% visitation_impl, boost::detail::variant::visitation_impl_step, boost::intrusive_ptr, boost::mpl::l_item, PGSnapTrim, boost::mpl::l_item, PGScrub, boost::mpl::l_item, PGRecovery, boost::mpl::l_end> > > > >, boost::mpl::l_iter >, boost::detail::variant::copy_into, void const*, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | | | + 0.10% visitation_impl_invoke, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | | | + 0.10% visitation_impl_invoke_impl > | | | + 0.10% internal_visit > | | | + 0.05% intrusive_ptr | | + 0.05% pair | + 0.05% operator[] | + 0.05% find | + 0.05% PGQueueable::maybe_get_op + 0.05% ceph::HeartbeatMap::reset_timeout Thread: 96 (tp_osd_tp) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ShardedThreadPool::WorkThreadSharded::entry + 100.00% ShardedThreadPool::shardedthreadpool_worker + 100.00% OSD::ShardedOpWQ::_process + 54.55% WaitInterval | + 54.55% WaitUntil | + 54.55% pthread_cond_timedwait@@GLIBC_2.3.2 | + 0.10% __pthread_mutex_cond_lock | + 0.10% _L_cond_lock_792 | + 0.10% __lll_lock_wait + 41.85% run | + 41.85% apply_visitor, PGSnapTrim, PGScrub, PGRecovery> > | + 41.85% apply_visitor | + 41.85% internal_apply_visitor > | + 41.85% internal_apply_visitor_impl, void*> | + 41.85% visitation_impl, boost::detail::variant::visitation_impl_step, boost::intrusive_ptr, boost::mpl::l_item, PGSnapTrim, boost::mpl::l_item, PGScrub, boost::mpl::l_item, PGRecovery, boost::mpl::l_end> > > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, void*, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | + 41.85% visitation_impl_invoke, void*, boost::intrusive_ptr, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | + 41.85% visitation_impl_invoke_impl, void*, boost::intrusive_ptr > | + 41.85% internal_visit > | + 41.85% PGQueueable::RunVis::operator() | + 41.85% OSD::dequeue_op | + 41.70% PrimaryLogPG::do_request | | + 41.55% PrimaryLogPG::do_op | | | + 35.70% PrimaryLogPG::execute_ctx | | | | + 34.20% PrimaryLogPG::issue_repop | | | | | + 33.95% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr >&&, eversion_t const&, eversion_t const&, std::vector > const&, boost::optional&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr) | | | | | | + 30.00% PrimaryLogPG::queue_transactions | | | | | | | + 30.00% queue_transactions | | | | | | | + 30.00% BlueStore::queue_transactions | | | | | | | + 27.05% BlueStore::_txc_add_transaction | | | | | | | | + 25.15% BlueStore::_write | | | | | | | | | + 25.15% BlueStore::_do_write | | | | | | | | | + 21.85% BlueStore::ExtentMap::fault_range | | | | | | | | | | + 21.15% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | | + 21.15% operator() | | | | | | | | | | | + 21.15% BlueStore::ExtentMap::__lambda9::operator() | | | | | | | | | | | + 21.15% RocksDBStore::get | | | | | | | | | | | + 21.10% rocksdb::DB::Get | | | | | | | | | | | | + 21.10% rocksdb::DB::Get | | | | | | | | | | | | + 21.10% rocksdb::DBImpl::Get | | | | | | | | | | | | + 21.10% rocksdb::DBImpl::GetImpl | | | | | | | | | | | | + 20.85% rocksdb::Version::Get | | | | | | | | | | | | | + 20.85% rocksdb::TableCache::Get | | | | | | | | | | | | | + 20.85% rocksdb::BlockBasedTable::Get | | | | | | | | | | | | | + 20.45% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | + 20.45% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | + 20.45% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | | | + 20.05% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | | | | + 20.05% rocksdb::ReadBlockContents | | | | | | | | | | | | | | | + 20.05% ReadBlock | | | | | | | | | | | | | | | + 20.00% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | | | | + 20.00% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | | | | + 20.00% read_random | | | | | | | | | | | | | | | | + 20.00% BlueFS::_read_random | | | | | | | | | | | | | | | | + 19.95% KernelDevice::read_random | | | | | | | | | | | | | | | | + 19.95% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | | | | + 19.90% pread | | | | | | | | | | | | | | | | | + 19.90% pread64 | | | | | | | | | | | | | | | | + 0.05% should_gather | | | | | | | | | | | | | | | + 0.05% Value | | | | | | | | | | | | | | + 0.35% rocksdb::BlockBasedTable::PutDataBlockToCache | | | | | | | | | | | | | | + 0.30% rocksdb::ShardedCache::Insert | | | | | | | | | | | | | | | + 0.30% rocksdb::LRUCacheShard::Insert | | | | | | | | | | | | | | | + 0.25% Free | | | | | | | | | | | | | | | | + 0.25% rocksdb::(anonymous namespace)::DeleteCachedEntry | | | | | | | | | | | | | | | | + 0.25% ~Block | | | | | | | | | | | | | | | | + 0.25% ~BlockContents | | | | | | | | | | | | | | | | + 0.25% ~unique_ptr | | | | | | | | | | | | | | | | + 0.25% operator() | | | | | | | | | | | | | | | | + 0.25% tc_deletearray | | | | | | | | | | | | | | | | + 0.25% do_free | | | | | | | | | | | | | | | | + 0.25% do_free_with_callback | | | | | | | | | | | | | | | | + 0.25% do_free_helper | | | | | | | | | | | | | | | | + 0.25% Deallocate | | | | | | | | | | | | | | | | + 0.25% Push | | | | | | | | | | | | | | | | + 0.25% SLL_Push | | | | | | | | | | | | | | | | + 0.25% SLL_SetNext | | | | | | | | | | | | | | | + 0.05% operator* | | | | | | | | | | | | | | + 0.05% Status | | | | | | | | | | | | | + 0.30% rocksdb::BlockIter::Seek | | | | | | | | | | | | | | + 0.25% rocksdb::BlockIter::BinarySeek | | | | | | | | | | | | | | + 0.15% DecodeEntry | | | | | | | | | | | | | | + 0.10% Compare | | | | | | | | | | | | | | + 0.10% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | + 0.05% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | + 0.05% ~BlockIter | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::NewIndexIterator | | | | | | | | | | | | + 0.20% Get | | | | | | | | | | | | | + 0.15% rocksdb::MemTable::Get | | | | | | | | | | | | | | + 0.15% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | | | | | | + 0.15% Seek | | | | | | | | | | | | | | + 0.15% Seek | | | | | | | | | | | | | | + 0.15% rocksdb::InlineSkipList::FindGreaterOrEqual | | | | | | | | | | | | | | + 0.15% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | | | | | | | + 0.10% GetLengthPrefixedSlice | | | | | | | | | | | | | | + 0.05% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | + 0.05% rocksdb::MemTableListVersion::Get | | | | | | | | | | | | + 0.05% rocksdb::DBImpl::GetAndRefSuperVersion | | | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | | | + 0.60% BlueStore::ExtentMap::decode_some | | | | | | | | | | | + 0.25% BlueStore::Collection::open_shared_blob | | | | | | | | | | | | + 0.15% BlueStore::SharedBlob::operator new | | | | | | | | | | | | | + 0.15% allocate | | | | | | | | | | | | | + 0.15% tc_newarray | | | | | | | | | | | | | + 0.15% cpp_alloc | | | | | | | | | | | | | + 0.15% do_malloc_no_errno | | | | | | | | | | | | | + 0.15% do_malloc_small | | | | | | | | | | | | | + 0.15% Allocate | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | + 0.05% Pop | | | | | | | | | | | | + 0.10% operator-> | | | | | | | | | | | + 0.15% BlueStore::Blob::decode | | | | | | | | | | | | + 0.15% denc > | | | | | | | | | | | | + 0.15% decode | | | | | | | | | | | | + 0.15% decode | | | | | | | | | | | | + 0.10% get_ptr | | | | | | | | | | | | | + 0.10% ceph::buffer::copy | | | | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | | | + 0.10% create | | | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | | | + 0.05% tc_posix_memalign | | | | | | | | | | | | + 0.05% denc >, denc_traits > > > | | | | | | | | | | | + 0.10% insert | | | | | | | | | | | | + 0.10% boost::intrusive::bstree_impl, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, void, void, unsigned long, true, (boost::intrusive::algo_types)5, void>::insert_unique | | | | | | | | | | | | + 0.05% insert_unique_commit | | | | | | | | | | | | + 0.05% insert_unique_check, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | + 0.05% operator= | | | | | | | | | | | + 0.05% BlueStore::Extent::operator new | | | | | | | | | | + 0.05% ~list | | | | | | | | | | + 0.05% seek_shard | | | | | | | | | + 2.50% BlueStore::_do_alloc_write | | | | | | | | | | + 1.75% BitMapAllocator::allocate | | | | | | | | | | | + 1.75% BitMapAllocator::allocate_dis | | | | | | | | | | | + 1.75% BitAllocator::alloc_blocks_dis_res | | | | | | | | | | | + 1.75% BitAllocator::alloc_blocks_dis_work | | | | | | | | | | | + 1.70% BitAllocator::alloc_blocks_dis_int | | | | | | | | | | | | + 1.70% BitMapAreaIN::alloc_blocks_dis_int_work | | | | | | | | | | | | + 1.10% BitAllocator::child_check_n_lock | | | | | | | | | | | | | + 0.60% BitMapAreaIN::is_exhausted | | | | | | | | | | | | | | + 0.50% BitMapAreaIN::get_used_blocks | | | | | | | | | | | | | | + 0.35% lock_guard | | | | | | | | | | | | | | | + 0.35% lock | | | | | | | | | | | | | | | + 0.35% __gthread_mutex_lock | | | | | | | | | | | | | | | + 0.35% __GI___pthread_mutex_lock | | | | | | | | | | | | | | | + 0.05% _L_lock_791 | | | | | | | | | | | | | | + 0.15% ~lock_guard | | | | | | | | | | | | | | + 0.15% unlock | | | | | | | | | | | | | | + 0.15% __gthread_mutex_unlock | | | | | | | | | | | | | | + 0.15% __GI___pthread_mutex_unlock | | | | | | | | | | | | | | + 0.15% __pthread_mutex_unlock_usercnt | | | | | | | | | | | | | + 0.05% BitMapAreaIN::unlock | | | | | | | | | | | | | + 0.05% BitMapAreaIN::lock_shared | | | | | | | | | | | | + 0.60% BitMapAreaIN::alloc_blocks_dis | | | | | | | | | | | | + 0.60% BitMapAreaLeaf::alloc_blocks_dis_int | | | | | | | | | | | | + 0.50% child_check_n_lock | | | | | | | | | | | | | + 0.05% BitMapZone::lock_excl_try | | | | | | | | | | | | + 0.10% BitMapZone::alloc_blocks_dis | | | | | | | | | | | | + 0.05% next | | | | | | | | | | | | + 0.05% BmapEntry::find_first_set_bits | | | | | | | | | | | + 0.05% BitAllocator::check_input_dis | | | | | | | | | | + 0.20% bluestore_blob_t::calc_csum | | | | | | | | | | | + 0.20% calculate | | | | | | | | | | | + 0.20% calculate | | | | | | | | | | | + 0.15% calc | | | | | | | | | | | | + 0.15% ceph::buffer::list::iterator_impl::crc32c | | | | | | | | | | | | + 0.15% ceph_crc32c | | | | | | | | | | | | + 0.15% ceph_crc32c_intel_fast | | | | | | | | | | | | + 0.15% None | | | | | | | | | | | | + 0.15% None | | | | | | | | | | | | + 0.15% crc32_iscsi_00 | | | | | | | | | | | + 0.05% ceph::buffer::ptr::c_str | | | | | | | | | | + 0.20% _buffer_cache_write | | | | | | | | | | | + 0.20% write | | | | | | | | | | | + 0.05% lock_guard | | | | | | | | | | | + 0.05% _add_buffer | | | | | | | | | | | + 0.05% Buffer | | | | | | | | | | | + 0.05% BlueStore::Buffer::operator new | | | | | | | | | | + 0.10% map_bl | | | | | | | | | | | + 0.10% operator() | | | | | | | | | | | + 0.10% KernelDevice::aio_write | | | | | | | | | | | + 0.05% push_back | | | | | | | | | | + 0.10% interval_set::insert | | | | | | | | | | | + 0.05% find_adj_m | | | | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | | | | + 0.05% reserve | | | | | | | | | + 0.45% BlueStore::_do_write_data | | | | | | | | | | + 0.45% BlueStore::_do_write_big | | | | | | | | | | + 0.45% BlueStore::ExtentMap::punch_hole | | | | | | | | | | + 0.30% BlueStore::OldExtent::create | | | | | | | | | | | + 0.15% OldExtent | | | | | | | | | | | | + 0.15% Extent | | | | | | | | | | | | + 0.15% assign_blob | | | | | | | | | | | | + 0.05% operator= | | | | | | | | | | | | + 0.05% get_cache | | | | | | | | | | | | + 0.05% add_extent | | | | | | | | | | | + 0.15% BlueStore::Blob::put_ref | | | | | | | | | | | + 0.10% bluestore_blob_t::release_extents | | | | | | | | | | | + 0.05% bluestore_blob_use_tracker_t::put | | | | | | | | | | + 0.10% BlueStore::ExtentMap::seek_lextent | | | | | | | | | | | + 0.10% lower_bound | | | | | | | | | | | + 0.10% lower_bound > | | | | | | | | | | | + 0.10% lower_bound, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | + 0.10% lower_bound_loop, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | + 0.10% get_right | | | | | | | | | | + 0.05% BlueStore::ExtentMap::add | | | | | | | | | + 0.25% BlueStore::_wctx_finish | | | | | | | | | | + 0.10% interval_set::insert | | | | | | | | | | | + 0.10% operator[] | | | | | | | | | | | + 0.10% _M_emplace_hint_unique, std::tuple<> > | | | | | | | | | | | + 0.10% _M_create_node, std::tuple<> > | | | | | | | | | | | + 0.10% _M_get_node | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | + 0.05% ~OldExtent | | | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | | | + 0.05% BlueStore::ExtentMap::compress_extent_map | | | | | | | | + 0.70% BlueStore::_omap_setkeys | | | | | | | | | + 0.55% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | + 0.30% ceph::buffer::list::c_str | | | | | | | | | | | + 0.30% ceph::buffer::list::rebuild | | | | | | | | | | | + 0.20% ceph::buffer::list::rebuild | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::copy_in | | | | | | | | | | | | | + 0.05% maybe_inline_memcpy | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::c_str | | | | | | | | | | | | + 0.05% ceph::buffer::list::invalidate_crc | | | | | | | | | | | + 0.10% ceph::buffer::create | | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | + 0.10% create | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | + 0.05% operator+= | | | | | | | | | | + 0.20% Put | | | | | | | | | | | + 0.20% rocksdb::WriteBatch::Put | | | | | | | | | | | + 0.20% rocksdb::WriteBatchInternal::Put | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_clone | | | | | | | | | | | | + 0.05% _M_dispose | | | | | | | | | | | + 0.10% PutLengthPrefixedSlice | | | | | | | | | | | + 0.05% std::string::append | | | | | | | | | | | + 0.05% PutVarint32 | | | | | | | | | | + 0.05% ~list | | | | | | | | | + 0.05% std::string::push_back | | | | | | | | | + 0.05% list | | | | | | | | | + 0.05% _key_encode_u64 > | | | | | | | | + 0.30% BlueStore::_setattrs | | | | | | | | | + 0.10% ~basic_string | | | | | | | | | | + 0.10% _M_dispose | | | | | | | | | | + 0.10% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::_Rep::_M_dispose | | | | | | | | | | + 0.10% __exchange_and_add_dispatch | | | | | | | | | | + 0.10% __exchange_and_add | | | | | | | | | + 0.10% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | | + 0.10% tc_free | | | | | | | | | | + 0.10% do_free | | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | | + 0.05% GetDescriptor | | | | | | | | | + 0.05% operator[] | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | + 0.25% decode_attrset | | | | | | | | | + 0.25% decode, std::allocator > >, denc_traits, std::allocator > >, void> > | | | | | | | | | + 0.15% ceph::buffer::list::iterator::copy_shallow | | | | | | | | | | + 0.15% ceph::buffer::list::iterator_impl::copy_shallow | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | + 0.05% ceph::buffer::create | | | | | | | | | + 0.10% decode | | | | | | | | | + 0.10% decode_nohead | | | | | | | | | + 0.10% insert, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | + 0.10% emplace_hint, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | + 0.10% _M_emplace_hint_unique, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos | | | | | | | | | + 0.05% _M_create_node, std::allocator >, ceph::buffer::ptr> > | | | | | | | | + 0.15% decode_attrset_bl | | | | | | | | | + 0.15% decode_str_str_map_to_bl | | | | | | | | | + 0.15% ceph::buffer::list::iterator::copy | | | | | | | | | + 0.15% ceph::buffer::list::iterator_impl::copy | | | | | | | | | + 0.15% ceph::buffer::list::append | | | | | | | | | + 0.10% push_back | | | | | | | | | + 0.10% push_back | | | | | | | | | + 0.10% _M_insert | | | | | | | | | + 0.05% std::__detail::_List_node_base::_M_hook | | | | | | | | | + 0.05% _M_create_node | | | | | | | | + 0.15% BlueStore::Collection::get_onode | | | | | | | | | + 0.15% BlueStore::OnodeSpace::lookup | | | | | | | | | + 0.05% lock_guard | | | | | | | | | + 0.05% find | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | + 0.10% vector | | | | | | | | | + 0.10% _Vector_base | | | | | | | | | + 0.10% _M_create_storage | | | | | | | | | + 0.10% _M_allocate | | | | | | | | | + 0.10% allocate | | | | | | | | | + 0.10% tc_new | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | + 0.10% Allocate | | | | | | | | | + 0.05% Pop | | | | | | | | + 0.10% decode_bl | | | | | | | | | + 0.10% decode | | | | | | | | | + 0.05% clear | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | + 0.05% ~list | | | | | | | | + 0.05% operator= | | | | | | | | + 0.05% BlueStore::_get_collection | | | | | | | + 1.30% BlueStore::_txc_write_nodes | | | | | | | | + 0.80% BlueStore::ExtentMap::update | | | | | | | | | + 0.55% BlueStore::ExtentMap::encode_some | | | | | | | | | | + 0.35% encode | | | | | | | | | | | + 0.35% denc > | | | | | | | | | | | + 0.35% encode | | | | | | | | | | | + 0.35% encode | | | | | | | | | | | + 0.15% denc >, denc_traits > > > | | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | + 0.15% denc > | | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | + 0.15% _denc_friend | | | | | | | | | | | | + 0.15% denc_lba | | | | | | | | | | | + 0.15% ceph::buffer::ptr::c_str | | | | | | | | | | | + 0.05% memcpy | | | | | | | | | | + 0.05% operator++ | | | | | | | | | | + 0.05% lower_bound | | | | | | | | | | + 0.05% get_contiguous_appender | | | | | | | | | | + 0.05% bound_encode | | | | | | | | | + 0.25% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | + 0.20% operator() | | | | | | | | | + 0.15% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | + 0.15% combine_strings | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | + 0.10% std::string::_Rep::_M_clone | | | | | | | | | | | + 0.10% std::string::_Rep::_S_create | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | + 0.05% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | + 0.05% Pop | | | | | | | | | | + 0.05% push_back | | | | | | | | | + 0.05% std::_Function_handler, std::allocator >&), BlueStore::ExtentMap::update(KeyValueDB::Transaction, bool)::__lambda7>::_M_invoke(const std::_Any_data &, const std::basic_string, std::allocator > &) | | | | | | | | + 0.25% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | + 0.15% combine_strings | | | | | | | | | | + 0.10% operator= | | | | | | | | | | | + 0.10% std::string::assign | | | | | | | | | | | + 0.05% _M_dispose | | | | | | | | | | + 0.05% push_back | | | | | | | | | + 0.05% ceph::buffer::list::is_contiguous | | | | | | | | | + 0.05% Put | | | | | | | | + 0.20% denc > | | | | | | | | | + 0.10% encode | | | | | | | | | | + 0.10% encode | | | | | | | | | | + 0.10% _denc_friend | | | | | | | | | | + 0.05% denc, denc_traits, void> > | | | | | | | | | | + 0.05% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | | + 0.10% bound_encode | | | | | | | | | + 0.10% bound_encode | | | | | | | | | + 0.10% _denc_friend | | | | | | | | | + 0.10% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | | + 0.10% bound_encode, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr> > | | | | | | | | | + 0.10% pair, mempool::pool_allocator<(mempool::pool_index_t)2, char> > const, ceph::buffer::ptr, void> | | | | | | | | | + 0.10% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::basic_string | | | | | | | | + 0.05% get_contiguous_appender | | | | | | | + 1.10% BlueStore::_txc_state_proc | | | | | | | | + 1.00% BlueStore::_txc_aio_submit | | | | | | | | | + 1.00% KernelDevice::aio_submit | | | | | | | | | + 0.95% aio_queue_t::submit | | | | | | | | | | + 0.90% io_submit | | | | | | | | | + 0.05% operator++ | | | | | | | | + 0.10% log_state_latency | | | | | | | | + 0.05% ceph_clock_now | | | | | | | | + 0.05% PerfCounters::tinc | | | | | | | + 0.20% BlueStore::_txc_finalize_kv | | | | | | | | + 0.10% BitmapFreelistManager::release | | | | | | | | | + 0.10% BitmapFreelistManager::_xor | | | | | | | | | + 0.10% RocksDBStore::RocksDBTransactionImpl::merge | | | | | | | | | + 0.10% Merge | | | | | | | | | + 0.10% rocksdb::WriteBatch::Merge | | | | | | | | | + 0.10% rocksdb::WriteBatchInternal::Merge | | | | | | | | | + 0.05% commit | | | | | | | | | + 0.05% PutLengthPrefixedSlice | | | | | | | | + 0.10% BitmapFreelistManager::allocate | | | | | | | | + 0.10% BitmapFreelistManager::_xor | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | + 0.05% RocksDBStore::RocksDBTransactionImpl::merge | | | | | | | + 0.10% Throttle::get | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | + 0.05% Locker | | | | | | | + 0.10% PerfCounters::tinc | | | | | | | | + 0.10% add | | | | | | | | + 0.10% ceph_spin_lock | | | | | | | | + 0.10% pthread_spin_lock | | | | | | | + 0.10% BlueStore::_txc_create | | | | | | | | + 0.05% TransContext | | | | | | | + 0.05% collect_contexts | | | | | | + 1.95% PrimaryLogPG::log_operation | | | | | | | + 1.95% PG::append_log | | | | | | | + 1.25% PG::write_if_dirty | | | | | | | | + 0.75% PGLog::write_log_and_missing | | | | | | | | | + 0.70% PGLog::_write_log_and_missing | | | | | | | | | | + 0.40% pg_log_entry_t::encode_with_checksum | | | | | | | | | | | + 0.20% pg_log_entry_t::encode | | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | | + 0.05% hobject_t::encode | | | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | | | + 0.05% ObjectModDesc::encode | | | | | | | | | | | | + 0.05% encode > | | | | | | | | | | | + 0.15% ceph::buffer::list::crc32c | | | | | | | | | | | | + 0.15% ceph_crc32c | | | | | | | | | | | | + 0.10% ceph_crc32c_intel_fast | | | | | | | | | | | | | + 0.05% None | | | | | | | | | | | | + 0.05% ceph_crc32c_intel_baseline | | | | | | | | | | | + 0.05% list | | | | | | | | | | + 0.05% ~set | | | | | | | | | | + 0.05% pg_log_entry_t::get_key_name | | | | | | | | | | + 0.05% operator++ | | | | | | | | | | + 0.05% list | | | | | | | | | | + 0.05% insert | | | | | | | | | + 0.05% undirty | | | | | | | | + 0.35% PG::prepare_write_info | | | | | | | | | + 0.35% PG::_prepare_write_info | | | | | | | | | + 0.20% encode | | | | | | | | | | + 0.20% pg_fast_info_t::encode | | | | | | | | | | + 0.20% encode | | | | | | | | | | + 0.10% encode_raw > | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | + 0.10% ceph::buffer::ptr::append | | | | | | | | | | | + 0.05% maybe_inline_memcpy | | | | | | | | | | + 0.05% encode_raw | | | | | | | | | | + 0.05% encode | | | | | | | | | + 0.10% PerfCounters::inc | | | | | | | | | + 0.05% add | | | | | | | | + 0.15% omap_setkeys | | | | | | | | + 0.15% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | + 0.10% encode, ceph::buffer::list> > | | | | | | | | | + 0.10% encode_nohead, ceph::buffer::list> > | | | | | | | | | + 0.10% ~pair | | | | | | | | | + 0.05% ~list | | | | | | | | | + 0.05% ~basic_string | | | | | | | | + 0.05% get_contiguous_appender | | | | | | | + 0.35% PGLog::trim | | | | | | | | + 0.35% PGLog::IndexedLog::trim | | | | | | | | + 0.20% pop_front | | | | | | | | | + 0.20% _M_erase | | | | | | | | | + 0.20% destroy | | | | | | | | | + 0.20% ~_List_node | | | | | | | | | + 0.20% ~pg_log_entry_t | | | | | | | | | + 0.20% hobject_t::~hobject_t | | | | | | | | | + 0.20% ~object_t | | | | | | | | | + 0.20% ~basic_string | | | | | | | | | + 0.20% std::string::_Rep::_M_dispose | | | | | | | | | + 0.20% std::string::_Rep::_M_dispose | | | | | | | | | + 0.15% __exchange_and_add_dispatch | | | | | | | | | | + 0.15% __exchange_and_add | | | | | | | | | + 0.05% std::string::_Rep::_M_destroy | | | | | | | | + 0.10% unindex | | | | | | | | | + 0.05% operator[] | | | | | | | | | + 0.05% count | | | | | | | | + 0.05% insert | | | | | | | + 0.20% PG::add_log_entry | | | | | | | | + 0.20% add | | | | | | | | + 0.20% PGLog::IndexedLog::add | | | | | | | | + 0.10% operator[] | | | | | | | | | + 0.10% std::__detail::_Map_base, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits, true>::operator[] | | | | | | | | | + 0.05% _M_find_node | | | | | | | | | + 0.05% _M_bucket_index | | | | | | | | + 0.05% push_back | | | | | | | + 0.05% PGLog::roll_forward_to | | | | | | | + 0.05% PGLog::IndexedLog::trim | | | | | | | + 0.05% PG::update_snap_map | | | | | | + 1.10% generate_transaction | | | | | | | + 1.05% PGTransaction::safe_create_traverse&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26>() | | | | | | | | + 0.95% operator() | | | | | | | | | + 0.55% ObjectStore::Transaction::setattrs | | | | | | | | | | + 0.40% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | + 0.25% encode, ceph::buffer::list> > | | | | | | | | | | | | + 0.25% encode_nohead, ceph::buffer::list> > | | | | | | | | | | | | + 0.15% denc, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | | | + 0.15% encode > | | | | | | | | | | | | | + 0.15% denc > | | | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | | + 0.15% append | | | | | | | | | | | | | + 0.05% flush_and_continue | | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | | + 0.10% ~pair | | | | | | | | | | | | + 0.05% ~list | | | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | | + 0.10% get_contiguous_appender | | | | | | | | | | | | + 0.10% ceph::buffer::list::contiguous_appender::contiguous_appender | | | | | | | | | | | | + 0.10% ceph::buffer::create | | | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | | + 0.10% create | | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | | + 0.05% operator+= | | | | | | | | | | | + 0.05% ceph::buffer::list::contiguous_appender::~contiguous_appender | | | | | | | | | | + 0.10% ObjectStore::Transaction::_get_coll_id | | | | | | | | | | + 0.05% operator[] | | | | | | | | | + 0.20% match, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> | | | | | | | | | | + 0.20% apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33>, const boost::variant > | | | | | | | | | | + 0.20% apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> > | | | | | | | | | | + 0.20% internal_apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> > > | | | | | | | | | | + 0.20% internal_apply_visitor_impl, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*> | | | | | | | | | | + 0.20% visitation_impl, boost::detail::variant::visitation_impl_step, PGTransaction::ObjectOperation::BufferUpdate::Write, boost::mpl::l_item, PGTransaction::ObjectOperation::BufferUpdate::Zero, boost::mpl::l_item, PGTransaction::ObjectOperation::BufferUpdate::CloneRange, boost::mpl::l_end> > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, boost::variant::has_fallback_type_> | | | | | | | | | | + 0.20% visitation_impl_invoke, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, PGTransaction::ObjectOperation::BufferUpdate::Write, boost::variant::has_fallback_type_> | | | | | | | | | | + 0.20% visitation_impl_invoke_impl, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, PGTransaction::ObjectOperation::BufferUpdate::Write> | | | | | | | | | | + 0.20% internal_visit | | | | | | | | | | + 0.20% operator() | | | | | | | | | | + 0.20% apply_helper | | | | | | | | | | + 0.20% operator() | | | | | | | | | | + 0.20% write | | | | | | | | | | + 0.10% encode | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | + 0.10% encode_raw > | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | + 0.05% create | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | + 0.10% ObjectStore::Transaction::_get_object_id | | | | | | | | | | + 0.10% find | | | | | | | | | | + 0.10% find | | | | | | | | | | + 0.05% operator() | | | | | | | | | | + 0.05% _M_lower_bound | | | | | | | | | + 0.15% operator++ | | | | | | | | | | + 0.10% std::_Rb_tree_increment | | | | | | | | | | | + 0.10% local_Rb_tree_increment | | | | | | | | | | + 0.05% operator++ | | | | | | | | | + 0.05% operator= | | | | | | | | + 0.10% ~map | | | | | | | | + 0.10% ~_Rb_tree | | | | | | | | + 0.10% std::_Rb_tree > >, std::_Select1st > > >, std::less, std::allocator > > > >::_M_erase | | | | | | | + 0.05% find | | | | | | + 0.25% ~vector | | | | | | | + 0.25% _Destroy | | | | | | | + 0.25% _Destroy | | | | | | | + 0.25% __destroy | | | | | | | + 0.25% _Destroy | | | | | | | + 0.25% ObjectStore::Transaction::~Transaction | | | | | | | + 0.15% ~list | | | | | | | | + 0.15% ~list | | | | | | | | + 0.15% ~_List_base | | | | | | | | + 0.15% std::_List_base >::_M_clear | | | | | | | | + 0.10% _M_put_node | | | | | | | | | + 0.10% deallocate | | | | | | | | | + 0.05% tc_delete | | | | | | | | + 0.05% destroy > | | | | | | | + 0.05% ~ptr | | | | | | | + 0.05% ~map | | | | | | + 0.15% ~unique_ptr | | | | | | | + 0.15% operator() | | | | | | | + 0.15% ~PGTransaction | | | | | | | + 0.15% ~map | | | | | | | + 0.10% ~_Rb_tree | | | | | | | + 0.05% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | + 0.10% insert, void> | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique >(std::pair&&) | | | | | | | + 0.10% _M_insert_ > | | | | | | | + 0.05% std::_Rb_tree_insert_and_rebalance | | | | | | | + 0.05% _M_create_node > | | | | | | + 0.05% vector | | | | | | + 0.05% tc_delete | | | | | | + 0.05% register_on_applied_sync | | | | | | + 0.05% insert > | | | | | | + 0.05% hobject_t::~hobject_t | | | | | | + 0.05% get_osdmap | | | | | | + 0.05% ReplicatedBackend::issue_op | | | | | + 0.10% add | | | | | | + 0.05% push_back | | | | | | + 0.05% operator[] | | | | | + 0.05% tc_new | | | | | + 0.05% PGTransaction::add_obc | | | | + 1.30% PrimaryLogPG::prepare_transaction | | | | | + 0.65% PrimaryLogPG::finish_ctx | | | | | | + 0.25% encode | | | | | | | + 0.20% object_info_t::encode | | | | | | | | + 0.15% encode | | | | | | | | | + 0.10% hobject_t::encode | | | | | | | | | | + 0.05% encode | | | | | | | | | + 0.05% encode_raw > | | | | | | | | + 0.05% encode, watch_info_t, std::less >, std::allocator const, watch_info_t> >, denc_traits, void>, denc_traits > | | | | | | | + 0.05% SnapSet::encode | | | | | | + 0.10% PGTransaction::setattrs | | | | | | | + 0.10% operator[] | | | | | | | + 0.10% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator > >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | + 0.10% _M_insert_node | | | | | | | + 0.10% std::_Rb_tree_insert_and_rebalance | | | | | | + 0.10% OSDMap::get_features | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | + 0.05% operator++ | | | | | | + 0.05% ~map | | | | | | + 0.05% std::map, std::allocator > >::operator[](std::string&&) | | | | | | + 0.05% pg_log_entry_t::pg_log_entry_t | | | | | | + 0.05% list | | | | | + 0.60% PrimaryLogPG::do_osd_ops | | | | | | + 0.35% PGTransaction::write | | | | | | | + 0.20% interval_map, PGTransaction::ObjectOperation::SplitMerger>::insert(unsigned long, unsigned long, boost::variant&&) | | | | | | | | + 0.10% insert > >, void> | | | | | | | | | + 0.10% std::_Rb_tree > >, std::_Select1st > > >, std::less, std::allocator > > > >::_M_insert_unique > > >(std::pair > >&&) | | | | | | | | | + 0.05% _M_insert_ > > > | | | | | | | | + 0.05% ~pair | | | | | | | | + 0.05% make_pair > | | | | | | | + 0.15% get_object_op_for_modify | | | | | | | + 0.15% operator[] | | | | | | | + 0.15% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | + 0.10% _M_create_node, std::tuple<> > | | | | | | | + 0.05% construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> > | | | | | | | + 0.05% _M_get_node | | | | | | + 0.15% PrimaryLogPG::write_update_size_and_usage | | | | | | + 0.05% interval_set::union_of | | | | | | + 0.05% interval_set::insert | | | | | + 0.05% SnapContext::is_valid | | | | + 0.05% register_on_success | | | | + 0.05% PrimaryLogPG::eval_repop | | | | + 0.05% PG::filter_snapc | | | | + 0.05% MOSDOpReply::MOSDOpReply | | | + 3.85% PrimaryLogPG::find_object_context | | | | + 3.85% PrimaryLogPG::get_object_context | | | | + 2.00% PGBackend::objects_get_attr | | | | | + 1.95% BlueStore::getattr | | | | | | + 1.85% BlueStore::Collection::get_onode | | | | | | | + 1.70% RocksDBStore::get | | | | | | | | + 1.70% rocksdb::DB::Get | | | | | | | | + 1.70% rocksdb::DB::Get | | | | | | | | + 1.70% rocksdb::DBImpl::Get | | | | | | | | + 1.70% rocksdb::DBImpl::GetImpl | | | | | | | | + 1.70% rocksdb::Version::Get | | | | | | | | + 1.70% rocksdb::TableCache::Get | | | | | | | | + 1.70% rocksdb::BlockBasedTable::Get | | | | | | | | + 1.70% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | + 1.70% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | + 1.70% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | + 1.70% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | + 1.70% rocksdb::ReadBlockContents | | | | | | | | + 1.70% ReadBlock | | | | | | | | + 1.65% rocksdb::RandomAccessFileReader::Read | | | | | | | | | + 1.65% BlueRocksRandomAccessFile::Read | | | | | | | | | + 1.65% read_random | | | | | | | | | + 1.65% BlueFS::_read_random | | | | | | | | | + 1.65% KernelDevice::read_random | | | | | | | | | + 1.65% KernelDevice::direct_read_unaligned | | | | | | | | | + 1.65% pread | | | | | | | | | + 1.65% pread64 | | | | | | | | + 0.05% Value | | | | | | | + 0.15% BlueStore::OnodeSpace::lookup | | | | | | | + 0.10% find | | | | | | | | + 0.10% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | | + 0.10% _M_find_node | | | | | | | | + 0.10% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | + 0.10% _M_equals | | | | | | | | + 0.10% _S_equals | | | | | | | | + 0.10% operator() | | | | | | | | + 0.10% operator== | | | | | | | | + 0.10% operator== | | | | | | | | + 0.10% operator== | | | | | | | | + 0.10% operator== | | | | | | | + 0.05% BlueStore::TwoQCache::_touch_onode | | | | | | + 0.05% ~basic_string | | | | | | + 0.05% RLocker | | | | | + 0.05% ghobject_t | | | | + 0.85% SharedLRU, std::hash >::lookup_or_create | | | | | + 0.40% ~list | | | | | | + 0.40% ~_List_base | | | | | | + 0.40% std::_List_base, std::allocator > >::_M_clear | | | | | | + 0.40% destroy > > | | | | | | + 0.40% ~_List_node | | | | | | + 0.40% ~shared_ptr | | | | | | + 0.40% ~__shared_ptr | | | | | | + 0.40% ~__shared_count | | | | | | + 0.40% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | | | | | | + 0.40% std::_Sp_counted_deleter, std::hash >::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2>::_M_dispose | | | | | | + 0.40% operator() | | | | | | + 0.25% ~ObjectContext | | | | | | | + 0.15% Context::complete | | | | | | | + 0.15% PrimaryLogPG::put_snapset_context | | | | | | | + 0.10% erase | | | | | | | | + 0.10% erase | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::equal_range | | | | | | | | + 0.10% operator() | | | | | | | | + 0.10% operator< | | | | | | | | + 0.10% cmp | | | | | | | | + 0.05% operator< , std::allocator > | | | | | | | + 0.05% ~SnapSetContext | | | | | | + 0.15% remove | | | | | | + 0.10% find | | | | | | | + 0.10% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::find | | | | | | | + 0.10% _M_lower_bound | | | | | | | + 0.10% operator() | | | | | | | + 0.10% operator< | | | | | | | + 0.10% cmp | | | | | | + 0.05% erase | | | | | + 0.35% SharedLRU, std::hash >::lru_add | | | | | | + 0.20% trim_cache | | | | | | | + 0.20% lru_remove | | | | | | | + 0.10% find | | | | | | | | + 0.10% std::_Hashtable > > >, std::allocator > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | | + 0.05% _M_hash_code | | | | | | | | + 0.05% _M_find_node | | | | | | | + 0.10% erase | | | | | | | + 0.05% erase | | | | | | | + 0.05% _M_erase | | | | | | + 0.05% ~pair | | | | | | + 0.05% push_front | | | | | | + 0.05% make_pair const&> | | | | | + 0.05% shared_ptr::Cleanup> | | | | | + 0.05% insert, ObjectContext*> >, void> | | | | + 0.40% decode | | | | | + 0.40% object_info_t::decode | | | | | + 0.25% decode | | | | | | + 0.15% object_locator_t::decode | | | | | | | + 0.15% decode | | | | | | | + 0.10% decode | | | | | | | | + 0.10% decode_raw > | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | + 0.05% decode_raw > | | | | | | + 0.10% hobject_t::decode | | | | | | + 0.10% decode | | | | | | + 0.05% decode | | | | | | + 0.05% clear | | | | | + 0.10% decode > | | | | | + 0.05% begin | | | | + 0.35% PrimaryLogPG::get_snapset_context | | | | | + 0.15% _register_snapset_context | | | | | | + 0.15% operator[] | | | | | | + 0.15% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos | | | | | | + 0.05% _M_insert_node | | | | | + 0.10% SnapSet::decode | | | | | | + 0.10% decode | | | | | | + 0.10% decode_raw | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | + 0.05% ceph::buffer::ptr::copy_out | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | + 0.05% PGBackend::objects_get_attr | | | | + 0.15% object_info_t::operator= | | | | | + 0.10% operator= | | | | | + 0.10% operator= | | | | | + 0.10% operator= | | | | | + 0.10% std::string::assign | | | | | + 0.05% _M_grab | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | + 0.05% has_snapset | | | + 0.70% OSDService::check_failsafe_full | | | | + 0.70% OSDService::_check_full | | | | + 0.40% operator<< | | | | | + 0.40% std::ostream::_M_insert | | | | | + 0.40% put | | | | | + 0.40% std::num_put > >::do_put | | | | | + 0.40% std::num_put > >::_M_insert_float | | | | | + 0.35% std::__convert_from_v | | | | | | + 0.30% _IO_vsnprintf | | | | | | + 0.20% _IO_vfprintf_internal | | | | | | | + 0.10% tc_free | | | | | | | | + 0.10% do_free | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | + 0.10% do_free_helper | | | | | | | | + 0.05% GetDescriptor | | | | | | | + 0.05% ___printf_fp | | | | | | + 0.10% _IO_no_init | | | | | | + 0.10% _IO_old_init | | | | | + 0.05% std::__use_cache >::operator() | | | | + 0.30% Locker | | | | + 0.30% Mutex::Lock | | | | + 0.30% __GI___pthread_mutex_lock | | | | + 0.30% _L_lock_791 | | | | + 0.30% __lll_lock_wait | | | + 0.20% clear_payload | | | | + 0.10% ceph::buffer::list::clear | | | | | + 0.10% clear | | | | | + 0.10% std::_List_base >::_M_clear | | | | | + 0.10% destroy > | | | | | + 0.10% ~_List_node | | | | | + 0.10% ~ptr | | | | | + 0.10% ceph::buffer::ptr::release | | | | | + 0.10% tc_free | | | | | + 0.10% do_free | | | | | + 0.10% do_free_with_callback | | | | | + 0.10% do_free_helper | | | | | + 0.10% CacheSizeClass | | | | | + 0.10% Put | | | | | + 0.10% KeyToUpper | | | | + 0.10% Throttle::put | | | | + 0.10% Locker | | | | + 0.10% Mutex::Lock | | | | + 0.10% __GI___pthread_mutex_lock | | | | + 0.10% _L_lock_791 | | | | + 0.10% __lll_lock_wait | | | + 0.10% std::basic_ostringstream, std::allocator >::basic_ostringstream | | | | + 0.10% basic_ostream | | | | + 0.10% std::basic_ios >::init | | | | + 0.10% std::basic_ios >::_M_cache_locale | | | | + 0.05% std::has_facet > > > | | | | + 0.05% std::has_facet > | | | + 0.10% PrimaryLogPG::get_rw_locks | | | | + 0.05% ~intrusive_ptr | | | | + 0.05% ObcLockManager::get_lock_type | | | + 0.10% PG::op_has_sufficient_caps | | | | + 0.05% OSDCap::is_capable | | | + 0.05% ~shared_ptr | | | + 0.05% ~intrusive_ptr | | | + 0.05% tc_new | | | + 0.05% std::basic_ostringstream, std::allocator >::~basic_ostringstream | | | + 0.05% object_locator_t::~object_locator_t | | | + 0.05% mark_started | | | + 0.05% is_primary | | | + 0.05% finish_decode | | | + 0.05% find | | | + 0.05% ceph_clock_now | | | + 0.05% PrimaryLogPG::maybe_handle_cache | | | + 0.05% PrimaryLogPG::OpContext::OpContext | | | + 0.05% PerfCounters::tinc | | | + 0.05% OpRequest::may_read | | + 0.05% pg_t::get_hobj_start | + 0.05% mark_reached_pg | + 0.05% get_osdmap | + 0.05% OSD::maybe_share_map + 3.25% PG::lock | + 3.25% Mutex::Lock | + 3.25% __GI___pthread_mutex_lock | + 3.25% _L_lock_791 | + 3.25% __lll_lock_wait + 0.15% Mutex::Lock | + 0.15% __GI___pthread_mutex_lock | + 0.15% _L_lock_791 | + 0.15% __lll_lock_wait + 0.05% ~optional + 0.05% operator-> + 0.05% WeightedPriorityQueue, entity_inst_t>::dequeue + 0.05% Mutex::Unlock Thread: 97 (tp_osd_tp) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ShardedThreadPool::WorkThreadSharded::entry + 100.00% ShardedThreadPool::shardedthreadpool_worker + 99.95% OSD::ShardedOpWQ::_process | + 77.80% run | | + 77.80% apply_visitor, PGSnapTrim, PGScrub, PGRecovery> > | | + 77.80% apply_visitor | | + 77.80% internal_apply_visitor > | | + 77.80% internal_apply_visitor_impl, void*> | | + 77.80% visitation_impl, boost::detail::variant::visitation_impl_step, boost::intrusive_ptr, boost::mpl::l_item, PGSnapTrim, boost::mpl::l_item, PGScrub, boost::mpl::l_item, PGRecovery, boost::mpl::l_end> > > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, void*, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | | + 77.80% visitation_impl_invoke, void*, boost::intrusive_ptr, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | | + 77.80% visitation_impl_invoke_impl, void*, boost::intrusive_ptr > | | + 77.80% internal_visit > | | + 77.80% PGQueueable::RunVis::operator() | | + 77.75% OSD::dequeue_op | | | + 77.55% PrimaryLogPG::do_request | | | | + 77.45% PrimaryLogPG::do_op | | | | | + 60.10% PrimaryLogPG::execute_ctx | | | | | | + 57.95% PrimaryLogPG::issue_repop | | | | | | | + 57.70% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr >&&, eversion_t const&, eversion_t const&, std::vector > const&, boost::optional&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr) | | | | | | | | + 54.30% PrimaryLogPG::queue_transactions | | | | | | | | | + 54.30% queue_transactions | | | | | | | | | + 54.30% BlueStore::queue_transactions | | | | | | | | | + 51.20% BlueStore::_txc_add_transaction | | | | | | | | | | + 48.05% BlueStore::_write | | | | | | | | | | | + 48.05% BlueStore::_do_write | | | | | | | | | | | + 43.85% BlueStore::ExtentMap::fault_range | | | | | | | | | | | | + 42.40% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | | | | + 42.35% operator() | | | | | | | | | | | | | + 42.35% BlueStore::ExtentMap::__lambda9::operator() | | | | | | | | | | | | | + 42.35% RocksDBStore::get | | | | | | | | | | | | | + 42.20% rocksdb::DB::Get | | | | | | | | | | | | | | + 42.20% rocksdb::DB::Get | | | | | | | | | | | | | | + 42.00% rocksdb::DBImpl::Get | | | | | | | | | | | | | | | + 42.00% rocksdb::DBImpl::GetImpl | | | | | | | | | | | | | | | + 41.55% rocksdb::Version::Get | | | | | | | | | | | | | | | | + 41.45% rocksdb::TableCache::Get | | | | | | | | | | | | | | | | | + 41.40% rocksdb::BlockBasedTable::Get | | | | | | | | | | | | | | | | | | + 40.40% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | | | | + 40.40% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | | | | + 40.35% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | | | | | | | | | + 39.40% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | | | | | | | | | | + 39.35% rocksdb::ReadBlockContents | | | | | | | | | | | | | | | | | | | | | + 39.25% ReadBlock | | | | | | | | | | | | | | | | | | | | | | + 39.10% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | | | | | | | | | | | + 39.05% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | | | | | | | | | | | + 39.05% read_random | | | | | | | | | | | | | | | | | | | | | | | + 39.05% BlueFS::_read_random | | | | | | | | | | | | | | | | | | | | | | | + 39.00% KernelDevice::read_random | | | | | | | | | | | | | | | | | | | | | | | + 38.95% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | | | | | | | | | | | + 38.75% pread | | | | | | | | | | | | | | | | | | | | | | | | + 38.75% pread64 | | | | | | | | | | | | | | | | | | | | | | | + 0.10% ~ptr | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::raw_posix_aligned::~raw_posix_aligned | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::raw_posix_aligned::operator delete | | | | | | | | | | | | | | | | | | | | | | | + 0.05% memcpy | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::create_page_aligned | | | | | | | | | | | | | | | | | | | | | | + 0.15% Value | | | | | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::crc32c::ExtendImpl | | | | | | | | | | | | | | | | | | | | | | + 0.05% Fast_CRC32 | | | | | | | | | | | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | | | | | | | | | | | + 0.60% rocksdb::BlockBasedTable::PutDataBlockToCache | | | | | | | | | | | | | | | | | | | | | + 0.50% rocksdb::ShardedCache::Insert | | | | | | | | | | | | | | | | | | | | | | + 0.50% rocksdb::LRUCacheShard::Insert | | | | | | | | | | | | | | | | | | | | | | + 0.40% Free | | | | | | | | | | | | | | | | | | | | | | | + 0.35% rocksdb::(anonymous namespace)::DeleteCachedEntry | | | | | | | | | | | | | | | | | | | | | | | | + 0.35% ~Block | | | | | | | | | | | | | | | | | | | | | | | | + 0.30% ~BlockContents | | | | | | | | | | | | | | | | | | | | | | | | | + 0.30% ~unique_ptr | | | | | | | | | | | | | | | | | | | | | | | | | + 0.30% operator() | | | | | | | | | | | | | | | | | | | | | | | | | + 0.30% tc_deletearray | | | | | | | | | | | | | | | | | | | | | | | | | + 0.30% do_free | | | | | | | | | | | | | | | | | | | | | | | | | + 0.30% do_free_with_callback | | | | | | | | | | | | | | | | | | | | | | | | | + 0.30% do_free_helper | | | | | | | | | | | | | | | | | | | | | | | | | + 0.20% Deallocate | | | | | | | | | | | | | | | | | | | | | | | | | | + 0.20% Push | | | | | | | | | | | | | | | | | | | | | | | | | | + 0.20% SLL_Push | | | | | | | | | | | | | | | | | | | | | | | | | | + 0.20% SLL_SetNext | | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% GetSizeClassIfCached | | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% CacheSizeClass | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ~unique_ptr | | | | | | | | | | | | | | | | | | | | | | | + 0.05% tc_delete | | | | | | | | | | | | | | | | | | | | | | + 0.05% ~MutexLock | | | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::EvictFromLRU | | | | | | | | | | | | | | | | | | | | | + 0.05% usable_size | | | | | | | | | | | | | | | | | | | | + 0.25% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | | | | | | | | | | | | | | + 0.25% rocksdb::(anonymous namespace)::GetEntryFromCache | | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::ShardedCache::Lookup | | | | | | | | | | | | | | | | | | | | | | + 0.10% HashSlice | | | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::Hash | | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::LRUCacheShard::Lookup | | | | | | | | | | | | | | | | | | | | | + 0.10% ~MutexLock | | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::port::Mutex::Unlock | | | | | | | | | | | | | | | | | | | | | + 0.05% __GI___pthread_mutex_unlock | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::GetCacheKey | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::Block::NewIterator | | | | | | | | | | | | | | | | | | + 0.70% rocksdb::BlockIter::Seek | | | | | | | | | | | | | | | | | | | + 0.55% rocksdb::BlockIter::BinarySeek | | | | | | | | | | | | | | | | | | | | + 0.25% DecodeEntry | | | | | | | | | | | | | | | | | | | | + 0.10% Compare | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | | | | | | | + 0.10% compare | | | | | | | | | | | | | | | | | | | | + 0.10% __memcmp_sse4_1 | | | | | | | | | | | | | | | | | | | + 0.10% Compare | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockIter::ParseNextKey | | | | | | | | | | | | | | | | | | + 0.10% ~BlockIter | | | | | | | | | | | | | | | | | | | + 0.10% ~InternalIterator | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::Cleanable::~Cleanable | | | | | | | | | | | | | | | | | | | + 0.10% DoCleanup | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::ShardedCache::Release | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::Release | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::BlockBasedTable::NewIndexIterator | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BinarySearchIndexReader::NewIterator | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::GetContext::SaveValue | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::NewRangeTombstoneIterator | | | | | | | | | | | | | | | | + 0.05% rocksdb::Version::IsFilterSkipped | | | | | | | | | | | | | | | | + 0.05% GetNextFile | | | | | | | | | | | | | | | + 0.35% Get | | | | | | | | | | | | | | | | + 0.30% rocksdb::MemTable::Get | | | | | | | | | | | | | | | | | + 0.30% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | | | | | | | | | + 0.25% Seek | | | | | | | | | | | | | | | | | | + 0.25% Seek | | | | | | | | | | | | | | | | | | + 0.25% rocksdb::InlineSkipList::FindGreaterOrEqual | | | | | | | | | | | | | | | | | | + 0.25% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | | | | | | | | | | | + 0.20% GetLengthPrefixedSlice | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | | + 0.05% rocksdb::SaveValue | | | | | | | | | | | | | | | | + 0.05% rocksdb::MemTableListVersion::Get | | | | | | | | | | | | | | | + 0.05% rocksdb::DBImpl::ReturnAndCleanupSuperVersion | | | | | | | | | | | | | | | + 0.05% rocksdb::DBImpl::GetAndRefSuperVersion | | | | | | | | | | | | | | + 0.10% std::string::_M_replace_safe | | | | | | | | | | | | | | | + 0.05% std::string::_M_mutate | | | | | | | | | | | | | | | + 0.05% _M_copy | | | | | | | | | | | | | | + 0.05% ~PinnableSlice | | | | | | | | | | | | | | + 0.05% std::string::assign | | | | | | | | | | | | | + 0.05% append | | | | | | | | | | | | + 1.35% BlueStore::ExtentMap::decode_some | | | | | | | | | | | | | + 0.45% BlueStore::Blob::decode | | | | | | | | | | | | | | + 0.45% denc > | | | | | | | | | | | | | | + 0.45% decode | | | | | | | | | | | | | | + 0.45% decode | | | | | | | | | | | | | | + 0.40% get_ptr | | | | | | | | | | | | | | | + 0.30% ceph::buffer::copy | | | | | | | | | | | | | | | | + 0.25% ceph::buffer::create_aligned | | | | | | | | | | | | | | | | | + 0.20% create | | | | | | | | | | | | | | | | | + 0.20% allocate_aligned | | | | | | | | | | | | | | | | | + 0.20% tc_posix_memalign | | | | | | | | | | | | | | | | | + 0.20% do_memalign_or_cpp_memalign | | | | | | | | | | | | | | | | | + 0.20% (anonymous namespace)::do_memalign | | | | | | | | | | | | | | | | | + 0.20% do_malloc | | | | | | | | | | | | | | | | | + 0.20% do_malloc_no_errno | | | | | | | | | | | | | | | | | + 0.20% do_malloc_small | | | | | | | | | | | | | | | | | + 0.20% Allocate | | | | | | | | | | | | | | | | | + 0.15% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | | | | | + 0.05% tcmalloc::DLL_Prepend | | | | | | | | | | | | | | | | | + 0.05% Pop | | | | | | | | | | | | | | | | + 0.05% memcpy | | | | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::ptr | | | | | | | | | | | | | | | + 0.10% inc | | | | | | | | | | | | | | | + 0.10% AO_fetch_and_add_full | | | | | | | | | | | | | | + 0.05% denc >, denc_traits > > > | | | | | | | | | | | | | + 0.20% BlueStore::Collection::open_shared_blob | | | | | | | | | | | | | | + 0.10% BlueStore::SharedBlob::operator new | | | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | | | + 0.10% tc_newarray | | | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | | | + 0.05% operator-> | | | | | | | | | | | | | + 0.15% BlueStore::Extent::operator new | | | | | | | | | | | | | | + 0.15% allocate | | | | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | | | + 0.10% ~intrusive_ptr | | | | | | | | | | | | | | + 0.10% intrusive_ptr_release | | | | | | | | | | | | | | + 0.10% BlueStore::Blob::put | | | | | | | | | | | | | + 0.10% insert | | | | | | | | | | | | | | + 0.10% boost::intrusive::bstree_impl, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, void, void, unsigned long, true, (boost::intrusive::algo_types)5, void>::insert_unique | | | | | | | | | | | | | | + 0.05% insert_unique_commit | | | | | | | | | | | | | | + 0.05% insert_unique_check, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | | | + 0.10% bluestore_blob_t | | | | | | | | | | | | | | + 0.05% vector | | | | | | | | | | | | | | + 0.05% ptr | | | | | | | | | | | | | + 0.10% BlueStore::Blob::operator new | | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | | + 0.10% tc_newarray | | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | + 0.10% BlueStore::Blob::get_ref | | | | | | | | | | | | | | + 0.10% bluestore_blob_use_tracker_t::init | | | | | | | | | | | | | | + 0.10% bluestore_blob_use_tracker_t::allocate | | | | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | | | + 0.05% vector | | | | | | | | | | | | + 0.10% seek_shard | | | | | | | | | | | + 3.15% BlueStore::_do_alloc_write | | | | | | | | | | | | + 2.15% BitMapAllocator::allocate | | | | | | | | | | | | | + 2.15% BitMapAllocator::allocate_dis | | | | | | | | | | | | | + 2.15% BitAllocator::alloc_blocks_dis_res | | | | | | | | | | | | | + 2.05% BitAllocator::alloc_blocks_dis_work | | | | | | | | | | | | | + 2.05% BitAllocator::alloc_blocks_dis_int | | | | | | | | | | | | | + 2.05% BitMapAreaIN::alloc_blocks_dis_int_work | | | | | | | | | | | | | + 1.35% BitAllocator::child_check_n_lock | | | | | | | | | | | | | | + 0.95% BitMapAreaIN::is_exhausted | | | | | | | | | | | | | | | + 0.85% BitMapAreaIN::get_used_blocks | | | | | | | | | | | | | | | + 0.50% lock_guard | | | | | | | | | | | | | | | | + 0.50% lock | | | | | | | | | | | | | | | | + 0.50% __gthread_mutex_lock | | | | | | | | | | | | | | | | + 0.45% __GI___pthread_mutex_lock | | | | | | | | | | | | | | | | + 0.05% _L_lock_791 | | | | | | | | | | | | | | | + 0.35% ~lock_guard | | | | | | | | | | | | | | | + 0.35% unlock | | | | | | | | | | | | | | | + 0.35% __gthread_mutex_unlock | | | | | | | | | | | | | | | + 0.30% __GI___pthread_mutex_unlock | | | | | | | | | | | | | | | + 0.30% __pthread_mutex_unlock_usercnt | | | | | | | | | | | | | | + 0.05% BitMapAreaIN::unlock | | | | | | | | | | | | | | + 0.05% BitMapAreaIN::lock_shared | | | | | | | | | | | | | + 0.65% BitMapAreaIN::alloc_blocks_dis | | | | | | | | | | | | | | + 0.65% BitMapAreaLeaf::alloc_blocks_dis_int | | | | | | | | | | | | | | + 0.35% child_check_n_lock | | | | | | | | | | | | | | + 0.20% BitMapZone::alloc_blocks_dis | | | | | | | | | | | | | | | + 0.10% BmapEntry::find_first_set_bits | | | | | | | | | | | | | | | + 0.10% BmapEntry::find_n_free_bits | | | | | | | | | | | | | | | + 0.10% BmapEntry::check_n_set_bit | | | | | | | | | | | | | | + 0.10% next | | | | | | | | | | | | | + 0.05% next | | | | | | | | | | | | + 0.40% _buffer_cache_write | | | | | | | | | | | | | + 0.35% write | | | | | | | | | | | | | | + 0.30% lock_guard | | | | | | | | | | | | | | | + 0.30% lock | | | | | | | | | | | | | | | + 0.30% __gthread_recursive_mutex_lock | | | | | | | | | | | | | | | + 0.30% __gthread_mutex_lock | | | | | | | | | | | | | | | + 0.30% __GI___pthread_mutex_lock | | | | | | | | | | | | | | | + 0.30% _L_lock_840 | | | | | | | | | | | | | | | + 0.30% __lll_lock_wait | | | | | | | | | | | | | | + 0.05% BlueStore::BufferSpace::_discard | | | | | | | | | | | | | + 0.05% insert | | | | | | | | | | | | + 0.10% ~vector | | | | | | | | | | | | | + 0.10% ~_Vector_base | | | | | | | | | | | | | + 0.05% _M_deallocate | | | | | | | | | | | | + 0.10% std::basic_string, std::allocator >::basic_string | | | | | | | | | | | | | + 0.05% length | | | | | | | | | | | | | + 0.05% _S_construct | | | | | | | | | | | | + 0.10% map_bl | | | | | | | | | | | | | + 0.10% operator() | | | | | | | | | | | | | + 0.10% KernelDevice::aio_write | | | | | | | | | | | | | + 0.05% push_back | | | | | | | | | | | | + 0.10% interval_set::insert | | | | | | | | | | | | | + 0.10% operator[] | | | | | | | | | | | | | + 0.10% _M_emplace_hint_unique, std::tuple<> > | | | | | | | | | | | | | + 0.10% _M_create_node, std::tuple<> > | | | | | | | | | | | | | + 0.10% _M_get_node | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | + 0.10% SizeClass | | | | | | | | | | | | + 0.05% reserve | | | | | | | | | | | | + 0.05% bluestore_blob_t::calc_csum | | | | | | | | | | | | + 0.05% BlueStore::ExtentMap::set_lextent | | | | | | | | | | | | + 0.05% BitMapAllocator::reserve | | | | | | | | | | | + 0.65% BlueStore::_do_write_data | | | | | | | | | | | | + 0.65% BlueStore::_do_write_big | | | | | | | | | | | | + 0.25% BlueStore::ExtentMap::punch_hole | | | | | | | | | | | | | + 0.25% BlueStore::OldExtent::create | | | | | | | | | | | | | + 0.25% BlueStore::Blob::put_ref | | | | | | | | | | | | | + 0.20% bluestore_blob_t::release_extents | | | | | | | | | | | | | | + 0.05% ~vecbuilder | | | | | | | | | | | | | | + 0.05% vecbuilder | | | | | | | | | | | | | | + 0.05% emplace | | | | | | | | | | | | | | + 0.05% add | | | | | | | | | | | | | + 0.05% bluestore_blob_use_tracker_t::put | | | | | | | | | | | | + 0.10% write | | | | | | | | | | | | | + 0.10% std::vector >::emplace_back&, unsigned long&, unsigned long&, ceph::buffer::list&, unsigned long&, unsigned long&, bool&, bool&> | | | | | | | | | | | | | + 0.10% std::vector >::_M_emplace_back_aux&, unsigned long&, unsigned long&, ceph::buffer::list&, unsigned long&, unsigned long&, bool&, bool&> | | | | | | | | | | | | | + 0.05% construct&, unsigned long&, unsigned long&, ceph::buffer::list&, unsigned long&, unsigned long&, bool&, bool&> | | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator::copy | | | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | | + 0.10% PerfCounters::inc | | | | | | | | | | | | | + 0.10% add | | | | | | | | | | | | | + 0.10% ceph_spin_lock | | | | | | | | | | | | | + 0.10% pthread_spin_lock | | | | | | | | | | | | + 0.05% BlueStore::ExtentMap::seek_lextent | | | | | | | | | | | | + 0.05% BlueStore::Blob::try_reuse_blob | | | | | | | | | | | + 0.10% BlueStore::_wctx_finish | | | | | | | | | | | | + 0.10% ~OldExtent | | | | | | | | | | | | + 0.05% ~vector | | | | | | | | | | | | + 0.05% BlueStore::Extent::~Extent | | | | | | | | | | | + 0.05% select_option | | | | | | | | | | | + 0.05% BlueStore::WriteContext::~WriteContext | | | | | | | | | | | + 0.05% BlueStore::ExtentMap::dirty_range | | | | | | | | | | | + 0.05% BlueStore::ExtentMap::compress_extent_map | | | | | | | | | | + 1.00% BlueStore::_omap_setkeys | | | | | | | | | | | + 0.75% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | | + 0.30% Put | | | | | | | | | | | | | + 0.30% rocksdb::WriteBatch::Put | | | | | | | | | | | | | + 0.30% rocksdb::WriteBatchInternal::Put | | | | | | | | | | | | | + 0.20% PutLengthPrefixedSlice | | | | | | | | | | | | | | + 0.15% std::string::append | | | | | | | | | | | | | | | + 0.15% std::string::reserve | | | | | | | | | | | | | | | + 0.10% _M_dispose | | | | | | | | | | | | | | | | + 0.10% std::string::_Rep::_M_dispose | | | | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_destroy | | | | | | | | | | | | | | | | + 0.05% __exchange_and_add_dispatch | | | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_clone | | | | | | | | | | | | | | + 0.05% PutVarint32 | | | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_clone | | | | | | | | | | | | | + 0.05% _M_dispose | | | | | | | | | | | | + 0.15% ~list | | | | | | | | | | | | | + 0.15% ~list | | | | | | | | | | | | | + 0.15% ~_List_base | | | | | | | | | | | | | + 0.15% std::_List_base >::_M_clear | | | | | | | | | | | | | + 0.15% destroy > | | | | | | | | | | | | | + 0.15% ~_List_node | | | | | | | | | | | | | + 0.15% ~ptr | | | | | | | | | | | | | + 0.15% ceph::buffer::ptr::release | | | | | | | | | | | | | + 0.05% tc_free | | | | | | | | | | | | + 0.10% ~basic_string | | | | | | | | | | | | | + 0.10% tc_delete | | | | | | | | | | | | | + 0.10% do_free | | | | | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | | | | | + 0.10% GetSizeClassIfCached | | | | | | | | | | | | | + 0.10% GetOrDefault | | | | | | | | | | | | | + 0.10% KeyMatch | | | | | | | | | | | | + 0.10% ceph::buffer::list::c_str | | | | | | | | | | | | | + 0.10% ceph::buffer::list::rebuild | | | | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | | | | | + 0.05% ceph::buffer::list::rebuild | | | | | | | | | | | | + 0.05% combine_strings | | | | | | | | | | | | + 0.05% Slice | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | | + 0.05% clear | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | | | + 0.10% _key_encode_u64 > | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_clone | | | | | | | | | | | + 0.05% std::string::push_back | | | | | | | | | | + 0.65% decode_attrset | | | | | | | | | | | + 0.65% decode, std::allocator > >, denc_traits, std::allocator > >, void> > | | | | | | | | | | | + 0.35% ceph::buffer::list::iterator::copy_shallow | | | | | | | | | | | | + 0.35% ceph::buffer::list::iterator_impl::copy_shallow | | | | | | | | | | | | + 0.30% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | | | + 0.20% __memcpy_ssse3_back | | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | | | | | | + 0.05% ceph::buffer::create | | | | | | | | | | | + 0.25% decode | | | | | | | | | | | | + 0.25% decode_nohead | | | | | | | | | | | | + 0.20% insert, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | | | | | + 0.20% emplace_hint, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | | | | | + 0.20% _M_emplace_hint_unique, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos | | | | | | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos | | | | | | | | | | | | | + 0.10% _M_create_node, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | | | | | + 0.10% _M_get_node | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | + 0.05% denc, ceph::buffer::ptr>, denc_traits, ceph::buffer::ptr>, void> > | | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | | + 0.30% begin | | | | | | | | | | | + 0.30% iterator | | | | | | | | | | | + 0.25% ceph::buffer::list::get_contiguous | | | | | | | | | | | | + 0.15% ceph::buffer::list::rebuild | | | | | | | | | | | | | + 0.15% ceph::buffer::list::rebuild | | | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | | | | + 0.05% clear | | | | | | | | | | | | + 0.05% insert | | | | | | | | | | | | + 0.05% erase | | | | | | | | | | | + 0.05% vector | | | | | | | | | | + 0.30% BlueStore::_setattrs | | | | | | | | | | | + 0.15% ceph::buffer::ptr::ptr | | | | | | | | | | | | + 0.10% ceph::buffer::copy | | | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | | + 0.10% create | | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | | + 0.10% tc_posix_memalign | | | | | | | | | | | | + 0.10% do_memalign_or_cpp_memalign | | | | | | | | | | | | + 0.10% (anonymous namespace)::do_memalign | | | | | | | | | | | | + 0.10% do_malloc | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | + 0.05% SizeClass | | | | | | | | | | | | + 0.05% Allocate | | | | | | | | | | | + 0.10% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | | | | + 0.05% dec | | | | | | | | | | | | + 0.05% ceph::buffer::raw_combined::~raw_combined | | | | | | | | | | | + 0.05% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::basic_string | | | | | | | | | | + 0.25% decode_attrset_bl | | | | | | | | | | | + 0.25% decode_str_str_map_to_bl | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | | + 0.10% decode_raw > | | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator::copy | | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | | | | + 0.25% BlueStore::Collection::get_onode | | | | | | | | | | | + 0.25% BlueStore::OnodeSpace::lookup | | | | | | | | | | | + 0.15% find | | | | | | | | | | | | + 0.15% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | | | | | | + 0.10% _M_find_node | | | | | | | | | | | | | + 0.10% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | | | | | | + 0.10% _M_equals | | | | | | | | | | | | | + 0.10% _S_equals | | | | | | | | | | | | | + 0.10% operator() | | | | | | | | | | | | | + 0.10% operator== | | | | | | | | | | | | | + 0.10% operator== | | | | | | | | | | | | | + 0.05% operator== | | | | | | | | | | | | | + 0.05% operator== | | | | | | | | | | | | + 0.05% _M_bucket_index | | | | | | | | | | | + 0.05% lock_guard | | | | | | | | | | | + 0.05% BlueStore::TwoQCache::_touch_onode | | | | | | | | | | + 0.10% BlueStore::_get_collection | | | | | | | | | | | + 0.10% find | | | | | | | | | | | + 0.10% find | | | | | | | | | | | + 0.10% _M_hash_code | | | | | | | | | | | + 0.10% operator() | | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | + 0.05% ~map | | | | | | | | | | + 0.05% ~list | | | | | | | | | | + 0.05% ~WLocker | | | | | | | | | | + 0.05% vector | | | | | | | | | | + 0.05% size | | | | | | | | | | + 0.05% BlueStore::_omap_rmkeys | | | | | | | | | + 1.70% BlueStore::_txc_state_proc | | | | | | | | | | + 1.70% BlueStore::_txc_aio_submit | | | | | | | | | | + 1.70% KernelDevice::aio_submit | | | | | | | | | | + 1.70% aio_queue_t::submit | | | | | | | | | | + 1.70% io_submit | | | | | | | | | + 0.70% BlueStore::_txc_write_nodes | | | | | | | | | | + 0.40% BlueStore::ExtentMap::update | | | | | | | | | | | + 0.20% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | | | + 0.15% operator() | | | | | | | | | | | | + 0.15% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | | | + 0.05% combine_strings | | | | | | | | | | | + 0.10% BlueStore::ExtentMap::encode_some | | | | | | | | | | | | + 0.05% operator++ | | | | | | | | | | | | + 0.05% get_contiguous_appender | | | | | | | | | | | + 0.05% ~vector | | | | | | | | | | + 0.25% denc > | | | | | | | | | | | + 0.15% bound_encode | | | | | | | | | | | | + 0.15% bound_encode | | | | | | | | | | | | + 0.15% _denc_friend | | | | | | | | | | | | + 0.15% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | | | | | + 0.15% bound_encode, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr> > | | | | | | | | | | | | + 0.10% pair, mempool::pool_allocator<(mempool::pool_index_t)2, char> > const, ceph::buffer::ptr, void> | | | | | | | | | | | | | + 0.10% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::basic_string | | | | | | | | | | | | + 0.05% ~pair | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | + 0.10% _denc_friend | | | | | | | | | | | + 0.10% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | | | | + 0.10% encode, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr> > | | | | | | | | | | | + 0.10% encode_nohead, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr> > | | | | | | | | | | | + 0.10% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | | | | + 0.10% encode, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | | | | + 0.05% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, void> > | | | | | | | | | | | + 0.05% denc > | | | | | | | | | | + 0.05% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | + 0.25% BlueStore::_txc_finalize_kv | | | | | | | | | | + 0.15% BitmapFreelistManager::allocate | | | | | | | | | | | + 0.15% BitmapFreelistManager::_xor | | | | | | | | | | | + 0.05% ~list | | | | | | | | | | | + 0.05% list | | | | | | | | | | | + 0.05% RocksDBStore::RocksDBTransactionImpl::merge | | | | | | | | | | + 0.05% BlueStore::_txc_update_store_statfs | | | | | | | | | | + 0.05% BitmapFreelistManager::release | | | | | | | | | + 0.20% Throttle::get | | | | | | | | | | + 0.10% read | | | | | | | | | | | + 0.10% AO_load_read | | | | | | | | | | | + 0.10% AO_load | | | | | | | | | | + 0.05% ~Locker | | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | | + 0.20% BlueStore::_txc_create | | | | | | | | | | + 0.15% RocksDBStore::get_transaction | | | | | | | | | | | + 0.15% make_shared | | | | | | | | | | | + 0.15% allocate_shared, RocksDBStore* const> | | | | | | | | | | | + 0.15% shared_ptr, RocksDBStore* const> | | | | | | | | | | | + 0.15% __shared_ptr, RocksDBStore* const> | | | | | | | | | | | + 0.15% __shared_count, RocksDBStore* const> | | | | | | | | | | | + 0.15% construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | | | | + 0.15% _S_construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | | | | + 0.15% construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | | | | + 0.15% _Sp_counted_ptr_inplace | | | | | | | | | | | + 0.15% construct | | | | | | | | | | | + 0.15% _S_construct | | | | | | | | | | | + 0.15% construct | | | | | | | | | | | + 0.15% RocksDBStore::RocksDBTransactionImpl::RocksDBTransactionImpl | | | | | | | | | | | + 0.15% rocksdb::WriteBatch::WriteBatch | | | | | | | | | | | + 0.05% std::string::reserve | | | | | | | | | | | + 0.05% resize | | | | | | | | | | + 0.05% operator= | | | | | | | | | + 0.05% ~shared_ptr | | | | | | | | + 1.75% PrimaryLogPG::log_operation | | | | | | | | | + 1.75% PG::append_log | | | | | | | | | + 1.30% PG::write_if_dirty | | | | | | | | | | + 0.70% PGLog::write_log_and_missing | | | | | | | | | | | + 0.70% PGLog::_write_log_and_missing | | | | | | | | | | | + 0.20% list | | | | | | | | | | | | + 0.20% reserve | | | | | | | | | | | | + 0.15% ceph::buffer::create | | | | | | | | | | | | | + 0.15% ceph::buffer::create_aligned | | | | | | | | | | | | | + 0.15% create | | | | | | | | | | | | | + 0.15% allocate_aligned | | | | | | | | | | | | | + 0.10% tc_posix_memalign | | | | | | | | | | | | | | + 0.10% do_memalign_or_cpp_memalign | | | | | | | | | | | | | | + 0.10% (anonymous namespace)::do_memalign | | | | | | | | | | | | | | + 0.10% do_malloc | | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | + 0.05% pick_a_shard | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | | | + 0.15% std::map, std::allocator > >::operator[](std::string&&) | | | | | | | | | | | | + 0.10% lower_bound | | | | | | | | | | | | | + 0.10% lower_bound | | | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound | | | | | | | | | | | | | + 0.05% operator() | | | | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | | | | + 0.15% pg_log_entry_t::encode_with_checksum | | | | | | | | | | | | + 0.10% pg_log_entry_t::encode | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | + 0.05% hobject_t::encode | | | | | | | | | | | | + 0.05% ObjectModDesc::encode | | | | | | | | | | | + 0.10% insert | | | | | | | | | | | | + 0.10% std::_Rb_tree, std::less, std::allocator >::_M_insert_unique(std::string&&) | | | | | | | | | | | | + 0.05% _M_insert_ > | | | | | | | | | | | + 0.05% ~set | | | | | | | | | | | + 0.05% operator!= | | | | | | | | | | + 0.30% omap_setkeys | | | | | | | | | | | + 0.25% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | | + 0.20% encode, ceph::buffer::list> > | | | | | | | | | | | | + 0.20% encode_nohead, ceph::buffer::list> > | | | | | | | | | | | | + 0.10% pair const, ceph::buffer::list, void> | | | | | | | | | | | | | + 0.10% ceph::buffer::list::list | | | | | | | | | | | | | + 0.10% list | | | | | | | | | | | | | + 0.10% _M_initialize_dispatch > | | | | | | | | | | | | | + 0.10% emplace_back | | | | | | | | | | | | | + 0.10% _M_insert | | | | | | | | | | | | | + 0.10% _M_create_node | | | | | | | | | | | | | + 0.05% construct, ceph::buffer::ptr const&> | | | | | | | | | | | | | + 0.05% _M_get_node | | | | | | | | | | | | + 0.10% denc, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | | + 0.10% encode > | | | | | | | | | | | | + 0.10% denc > | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | + 0.10% append | | | | | | | | | | | | + 0.05% flush_and_continue | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | + 0.05% _get_object_id | | | | | | | | | | + 0.30% PG::prepare_write_info | | | | | | | | | | + 0.30% PG::_prepare_write_info | | | | | | | | | | + 0.20% encode | | | | | | | | | | | + 0.15% pg_fast_info_t::encode | | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | + 0.10% encode_raw > | | | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | | + 0.05% encode | | | | | | | | | | | + 0.05% pg_info_t::encode | | | | | | | | | | + 0.05% operator== | | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | | + 0.20% PGLog::trim | | | | | | | | | | + 0.20% PGLog::IndexedLog::trim | | | | | | | | | | + 0.10% pop_front | | | | | | | | | | | + 0.10% _M_erase | | | | | | | | | | | + 0.10% destroy | | | | | | | | | | | + 0.10% ~_List_node | | | | | | | | | | | + 0.10% ~pg_log_entry_t | | | | | | | | | | | + 0.10% hobject_t::~hobject_t | | | | | | | | | | | + 0.10% ~object_t | | | | | | | | | | | + 0.10% ~basic_string | | | | | | | | | | | + 0.10% std::string::_Rep::_M_dispose | | | | | | | | | | | + 0.10% std::string::_Rep::_M_dispose | | | | | | | | | | | + 0.05% std::string::_Rep::_M_destroy | | | | | | | | | | | + 0.05% __exchange_and_add_dispatch | | | | | | | | | | + 0.05% unindex | | | | | | | | | | + 0.05% insert | | | | | | | | | + 0.15% PG::add_log_entry | | | | | | | | | | + 0.15% add | | | | | | | | | | + 0.10% PGLog::IndexedLog::add | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | + 0.10% _M_insert | | | | | | | | | | | + 0.10% _M_create_node | | | | | | | | | | | + 0.05% construct, pg_log_entry_t const&> | | | | | | | | | | | + 0.05% _M_get_node | | | | | | | | | | + 0.05% mark_writeout_from | | | | | | | | | + 0.05% PGLog::IndexedLog::trim | | | | | | | | + 0.65% generate_transaction | | | | | | | | | + 0.65% PGTransaction::safe_create_traverse&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26>() | | | | | | | | | + 0.50% operator() | | | | | | | | | | + 0.45% ObjectStore::Transaction::setattrs | | | | | | | | | | | + 0.25% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | | + 0.25% encode, ceph::buffer::list> > | | | | | | | | | | | | + 0.25% encode_nohead, ceph::buffer::list> > | | | | | | | | | | | | + 0.10% ~pair | | | | | | | | | | | | | + 0.10% ~list | | | | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | | | | | + 0.05% ~list | | | | | | | | | | | | + 0.05% pair const, ceph::buffer::list, void> | | | | | | | | | | | | + 0.05% operator++ | | | | | | | | | | | | + 0.05% denc, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | + 0.10% ObjectStore::Transaction::_get_object_id | | | | | | | | | | | | + 0.10% operator[] | | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos | | | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_next_op | | | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_coll_id | | | | | | | | | | + 0.05% insert | | | | | | | | | + 0.05% ~list | | | | | | | | + 0.40% ~vector | | | | | | | | | + 0.40% _Destroy | | | | | | | | | + 0.40% _Destroy | | | | | | | | | + 0.40% __destroy | | | | | | | | | + 0.40% _Destroy | | | | | | | | | + 0.40% ObjectStore::Transaction::~Transaction | | | | | | | | | + 0.30% ~list | | | | | | | | | | + 0.30% ~list | | | | | | | | | | + 0.30% ~_List_base | | | | | | | | | | + 0.30% std::_List_base >::_M_clear | | | | | | | | | | + 0.15% destroy > | | | | | | | | | | | + 0.15% ~_List_node | | | | | | | | | | | + 0.10% ~ptr | | | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | | | + 0.05% tc_free | | | | | | | | | | + 0.15% _M_put_node | | | | | | | | | | + 0.15% deallocate | | | | | | | | | | + 0.15% tc_delete | | | | | | | | | | + 0.15% do_free | | | | | | | | | | + 0.15% do_free_with_callback | | | | | | | | | | + 0.15% do_free_helper | | | | | | | | | | + 0.15% GetSizeClassIfCached | | | | | | | | | | + 0.15% GetOrDefault | | | | | | | | | | + 0.15% KeyMatch | | | | | | | | | + 0.10% ~map | | | | | | | | | + 0.10% ~_Rb_tree | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | + 0.10% _M_destroy_node | | | | | | | | | + 0.10% destroy > > | | | | | | | | | + 0.10% ~_Rb_tree_node | | | | | | | | | + 0.10% ~pair | | | | | | | | | + 0.10% ~ghobject_t | | | | | | | | | + 0.10% ~hobject_t | | | | | | | | | + 0.05% ~object_t | | | | | | | | | + 0.05% ~basic_string | | | | | | | | + 0.15% push_back | | | | | | | | | + 0.15% std::vector >::emplace_back(ObjectStore::Transaction&&) | | | | | | | | | + 0.10% std::vector >::_M_emplace_back_aux(ObjectStore::Transaction&&) | | | | | | | | | + 0.05% construct | | | | | | | | + 0.10% ~unique_ptr | | | | | | | | | + 0.10% operator() | | | | | | | | | + 0.10% ~PGTransaction | | | | | | | | | + 0.10% ~map | | | | | | | | | + 0.05% ~_Rb_tree | | | | | | | | + 0.10% tc_delete | | | | | | | | | + 0.10% do_free | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | + 0.05% GetSizeClassIfCached | | | | | | | | + 0.05% ~pair | | | | | | | | + 0.05% std::vector >::~vector | | | | | | | | + 0.05% insert > | | | | | | | | + 0.05% hobject_t | | | | | | | | + 0.05% PrimaryLogPG::apply_stats | | | | | | | + 0.10% PGTransaction::add_obc | | | | | | | | + 0.05% operator[] | | | | | | | | + 0.05% operator= | | | | | | | + 0.05% ~shared_ptr | | | | | | | + 0.05% add | | | | | | + 1.75% PrimaryLogPG::prepare_transaction | | | | | | | + 1.35% PrimaryLogPG::finish_ctx | | | | | | | | + 0.85% encode | | | | | | | | | + 0.65% object_info_t::encode | | | | | | | | | | + 0.55% encode | | | | | | | | | | | + 0.20% hobject_t::encode | | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | | + 0.10% encode_raw > | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | | | + 0.05% encode_raw | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | | | | | + 0.15% encode_raw > | | | | | | | | | | | | + 0.15% ceph::buffer::list::append | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::append | | | | | | | | | | | | | + 0.05% maybe_inline_memcpy | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | + 0.10% object_locator_t::encode | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | + 0.05% encode_raw | | | | | | | | | | | | + 0.05% encode | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | + 0.05% encode | | | | | | | | | | + 0.05% encode, watch_info_t, std::less >, std::allocator const, watch_info_t> >, denc_traits, void>, denc_traits > | | | | | | | | | | + 0.05% encode > | | | | | | | | | + 0.20% SnapSet::encode | | | | | | | | | + 0.20% encode | | | | | | | | | + 0.20% encode_raw | | | | | | | | | + 0.20% ceph::buffer::list::append | | | | | | | | | + 0.20% create | | | | | | | | | + 0.20% allocate_aligned | | | | | | | | | + 0.20% tc_posix_memalign | | | | | | | | | + 0.20% do_memalign_or_cpp_memalign | | | | | | | | | + 0.20% (anonymous namespace)::do_memalign | | | | | | | | | + 0.15% do_malloc | | | | | | | | | + 0.15% do_malloc_no_errno | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | + 0.05% Allocate | | | | | | | | + 0.20% OSDMap::get_features | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | + 0.05% operator==, std::allocator > | | | | | | | | | + 0.05% has_nondefault_tunables | | | | | | | | | + 0.05% end | | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | | + 0.05% pg_log_entry_t::pg_log_entry_t | | | | | | | | + 0.05% operator= | | | | | | | | + 0.05% PGTransaction::setattrs | | | | | | | + 0.40% PrimaryLogPG::do_osd_ops | | | | | | | + 0.25% PGTransaction::write | | | | | | | | + 0.25% interval_map, PGTransaction::ObjectOperation::SplitMerger>::insert(unsigned long, unsigned long, boost::variant&&) | | | | | | | | + 0.20% insert > >, void> | | | | | | | | | + 0.20% std::_Rb_tree > >, std::_Select1st > > >, std::less, std::allocator > > > >::_M_insert_unique > > >(std::pair > >&&) | | | | | | | | | + 0.15% _M_insert_ > > > | | | | | | | | | | + 0.10% _M_create_node > > > | | | | | | | | | | + 0.05% construct > > >, std::pair > > > | | | | | | | | | | + 0.05% _M_get_node | | | | | | | | | + 0.05% std::_Rb_tree > >, std::_Select1st > > >, std::less, std::allocator > > > >::_M_get_insert_unique_pos | | | | | | | | + 0.05% ~pair | | | | | | | + 0.10% PrimaryLogPG::write_update_size_and_usage | | | | | | | + 0.05% interval_set::union_of | | | | | | | + 0.05% interval_set::insert | | | | | | + 0.10% MOSDOpReply::MOSDOpReply | | | | | | | + 0.05% vector | | | | | | | + 0.05% Message::Message | | | | | | + 0.05% tc_new | | | | | | + 0.05% reset_obs | | | | | | + 0.05% PrimaryLogPG::new_repop | | | | | | + 0.05% PrimaryLogPG::eval_repop | | | | | | + 0.05% PrimaryLogPG::calc_trim_to | | | | | + 13.70% PrimaryLogPG::find_object_context | | | | | | + 13.70% PrimaryLogPG::get_object_context | | | | | | + 11.15% PGBackend::objects_get_attr | | | | | | | + 11.15% BlueStore::getattr | | | | | | | + 11.00% BlueStore::Collection::get_onode | | | | | | | | + 10.55% RocksDBStore::get | | | | | | | | | + 10.45% rocksdb::DB::Get | | | | | | | | | | + 10.45% rocksdb::DB::Get | | | | | | | | | | + 10.35% rocksdb::DBImpl::Get | | | | | | | | | | | + 10.35% rocksdb::DBImpl::GetImpl | | | | | | | | | | | + 10.20% rocksdb::Version::Get | | | | | | | | | | | | + 10.20% rocksdb::TableCache::Get | | | | | | | | | | | | + 10.20% rocksdb::BlockBasedTable::Get | | | | | | | | | | | | + 9.95% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | + 9.95% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | + 9.95% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | | + 9.75% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | | | + 9.75% rocksdb::ReadBlockContents | | | | | | | | | | | | | | + 9.70% ReadBlock | | | | | | | | | | | | | | | + 9.70% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | | | + 9.70% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | | | + 9.70% read_random | | | | | | | | | | | | | | | + 9.70% BlueFS::_read_random | | | | | | | | | | | | | | | + 9.70% KernelDevice::read_random | | | | | | | | | | | | | | | + 9.70% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | | | + 9.70% pread | | | | | | | | | | | | | | | + 9.70% pread64 | | | | | | | | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | | | | | | | + 0.15% rocksdb::BlockBasedTable::PutDataBlockToCache | | | | | | | | | | | | | | + 0.15% rocksdb::ShardedCache::Insert | | | | | | | | | | | | | | + 0.15% rocksdb::LRUCacheShard::Insert | | | | | | | | | | | | | | + 0.05% ~MutexLock | | | | | | | | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | | | | | | | | + 0.05% Free | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | | | | | + 0.15% rocksdb::BlockIter::Seek | | | | | | | | | | | | | + 0.10% rocksdb::BlockIter::BinarySeek | | | | | | | | | | | | | + 0.05% Compare | | | | | | | | | | | | + 0.05% ~BlockIter | | | | | | | | | | | + 0.15% Get | | | | | | | | | | | + 0.15% rocksdb::MemTable::Get | | | | | | | | | | | + 0.15% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | | | + 0.15% Seek | | | | | | | | | | | + 0.15% Seek | | | | | | | | | | | + 0.15% rocksdb::InlineSkipList::FindGreaterOrEqual | | | | | | | | | | | + 0.15% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | | | | + 0.10% GetLengthPrefixedSlice | | | | | | | | | | | + 0.05% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | + 0.05% ~PinnableSlice | | | | | | | | | | + 0.05% std::string::_M_replace_safe | | | | | | | | | + 0.05% append | | | | | | | | + 0.25% BlueStore::OnodeSpace::lookup | | | | | | | | | + 0.10% find | | | | | | | | | | + 0.10% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | | | | + 0.10% _M_find_node | | | | | | | | | | + 0.10% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | | | + 0.10% _M_bucket_index | | | | | | | | | | + 0.10% _M_bucket_index | | | | | | | | | | + 0.10% operator() | | | | | | | | | + 0.10% BlueStore::TwoQCache::_touch_onode | | | | | | | | | | + 0.10% erase | | | | | | | | | | + 0.10% erase_and_dispose | | | | | | | | | | + 0.10% unlink | | | | | | | | | | + 0.10% set_next | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | + 0.05% get_object_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | + 0.05% decode | | | | | | | | + 0.05% Onode | | | | | | | | + 0.05% BlueStore::OnodeSpace::add | | | | | | | + 0.10% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::basic_string | | | | | | | | + 0.05% length | | | | | | | | + 0.05% _S_construct | | | | | | | + 0.05% ~RLocker | | | | | | + 1.30% SharedLRU, std::hash >::lookup_or_create | | | | | | | + 0.55% SharedLRU, std::hash >::lru_add | | | | | | | | + 0.30% trim_cache | | | | | | | | | + 0.25% lru_remove | | | | | | | | | | + 0.15% erase | | | | | | | | | | | + 0.10% _M_erase | | | | | | | | | | | | + 0.10% destroy > > > | | | | | | | | | | | | + 0.10% ~_List_node | | | | | | | | | | | | + 0.10% ~pair | | | | | | | | | | | | + 0.10% ~shared_ptr | | | | | | | | | | | | + 0.10% ~__shared_ptr | | | | | | | | | | | | + 0.10% ~__shared_count | | | | | | | | | | | | + 0.10% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | | | | | | | | | | | | + 0.10% __exchange_and_add_dispatch | | | | | | | | | | | | + 0.10% __exchange_and_add | | | | | | | | | | | + 0.05% erase | | | | | | | | | | + 0.10% find | | | | | | | | | | + 0.10% std::_Hashtable > > >, std::allocator > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | | | | + 0.10% _M_find_node | | | | | | | | | | + 0.10% std::_Hashtable > > >, std::allocator > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | | | + 0.05% _M_equals | | | | | | | | | | + 0.05% _M_bucket_index | | | | | | | | | + 0.05% push_back | | | | | | | | + 0.15% operator[] | | | | | | | | | + 0.15% std::__detail::_Map_base > > >, std::allocator > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits, true>::operator[] | | | | | | | | | + 0.15% std::_Hashtable > > >, std::allocator > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node | | | | | | | | | + 0.10% std::__detail::_Prime_rehash_policy::_M_need_rehash | | | | | | | | | + 0.05% _M_insert_bucket_begin | | | | | | | | + 0.10% find | | | | | | | | + 0.10% std::_Hashtable > > >, std::allocator > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | | + 0.10% _M_find_node | | | | | | | | + 0.10% std::_Hashtable > > >, std::allocator > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | + 0.05% _M_equals | | | | | | | + 0.45% ~list | | | | | | | | + 0.45% ~_List_base | | | | | | | | + 0.45% std::_List_base, std::allocator > >::_M_clear | | | | | | | | + 0.45% destroy > > | | | | | | | | + 0.45% ~_List_node | | | | | | | | + 0.45% ~shared_ptr | | | | | | | | + 0.45% ~__shared_ptr | | | | | | | | + 0.45% ~__shared_count | | | | | | | | + 0.45% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | | | | | | | | + 0.45% std::_Sp_counted_deleter, std::hash >::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2>::_M_dispose | | | | | | | | + 0.45% operator() | | | | | | | | + 0.40% ~ObjectContext | | | | | | | | | + 0.30% Context::complete | | | | | | | | | | + 0.30% PrimaryLogPG::put_snapset_context | | | | | | | | | | + 0.20% erase | | | | | | | | | | | + 0.20% erase | | | | | | | | | | | + 0.20% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::equal_range | | | | | | | | | | | + 0.20% operator() | | | | | | | | | | | + 0.20% operator< | | | | | | | | | | | + 0.20% cmp | | | | | | | | | | + 0.10% ~SnapSetContext | | | | | | | | | | + 0.05% ~SnapSet | | | | | | | | | | + 0.05% hobject_t::~hobject_t | | | | | | | | | + 0.05% ~Cond | | | | | | | | | + 0.05% PrimaryLogPG::C_PG_ObjectContext::~C_PG_ObjectContext | | | | | | | | + 0.05% remove | | | | | | | + 0.10% shared_ptr::Cleanup> | | | | | | | | + 0.05% __shared_ptr::Cleanup> | | | | | | | | + 0.05% Cleanup | | | | | | | + 0.05% make_pair&, ObjectContext*&> | | | | | | | + 0.05% hobject_t::~hobject_t | | | | | | | + 0.05% hobject_t::hobject_t | | | | | | | + 0.05% Mutex::Mutex | | | | | | + 0.65% PrimaryLogPG::get_snapset_context | | | | | | | + 0.25% SnapSet::decode | | | | | | | | + 0.10% decode >, denc_traits >, void> > | | | | | | | | | + 0.05% ~ptr | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy_shallow | | | | | | | | + 0.10% decode >, std::less, std::allocator > > > >, denc_traits >, std::less, std::allocator > > > >, void> > | | | | | | | | | + 0.10% ceph::buffer::list::iterator::copy_shallow | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy_shallow | | | | | | | | | + 0.10% ceph::buffer::ptr::ptr | | | | | | | | + 0.05% decode, std::less, std::allocator > > >, denc_traits, std::less, std::allocator > > >, void> > | | | | | | | + 0.15% PGBackend::objects_get_attr | | | | | | | | + 0.15% BlueStore::getattr | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | | + 0.05% ~basic_string | | | | | | | | + 0.05% ~RLocker | | | | | | | + 0.10% _register_snapset_context | | | | | | | | + 0.10% operator[] | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | + 0.05% lower_bound | | | | | | | + 0.05% find | | | | | | | + 0.05% ceph::buffer::list::list | | | | | | | + 0.05% SnapSetContext | | | | | | + 0.35% decode | | | | | | | + 0.35% object_info_t::decode | | | | | | | + 0.20% decode | | | | | | | | + 0.05% hobject_t::decode | | | | | | | | + 0.05% decode_raw | | | | | | | | + 0.05% decode_raw > | | | | | | | | + 0.05% decode | | | | | | | + 0.10% decode > | | | | | | | | + 0.05% decode | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy_shallow | | | | | | | + 0.05% decode, watch_info_t, std::less >, std::allocator const, watch_info_t> >, denc_traits, void>, denc_traits > | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | + 0.05% SharedLRU, std::hash >::lookup | | | | | | + 0.05% PrimaryLogPG::populate_obc_watchers | | | | | | + 0.05% PerfCounters::inc | | | | | + 0.85% OSDService::check_failsafe_full | | | | | | + 0.85% OSDService::_check_full | | | | | | + 0.45% operator<< | | | | | | | + 0.45% std::ostream::_M_insert | | | | | | | + 0.45% put | | | | | | | + 0.45% std::num_put > >::do_put | | | | | | | + 0.45% std::num_put > >::_M_insert_float | | | | | | | + 0.45% std::__convert_from_v | | | | | | | + 0.45% _IO_vsnprintf | | | | | | | + 0.30% _IO_vfprintf_internal | | | | | | | | + 0.20% ___printf_fp | | | | | | | | + 0.05% __mpn_lshift | | | | | | | | + 0.05% __mempcpy_sse2 | | | | | | | + 0.10% _IO_str_init_static_internal | | | | | | + 0.35% Locker | | | | | | | + 0.35% Mutex::Lock | | | | | | | + 0.30% __GI___pthread_mutex_lock | | | | | | | + 0.30% _L_lock_791 | | | | | | | + 0.30% __lll_lock_wait | | | | | | + 0.05% operator<< > | | | | | + 0.45% std::basic_ostringstream, std::allocator >::basic_ostringstream | | | | | | + 0.25% basic_ostream | | | | | | | + 0.25% std::basic_ios >::init | | | | | | | + 0.25% std::basic_ios >::_M_cache_locale | | | | | | | + 0.10% std::use_facet > | | | | | | | | + 0.10% __cxxabiv1::__dynamic_cast | | | | | | | | + 0.05% adjust_pointer | | | | | | | + 0.05% std::use_facet > > > | | | | | | | + 0.05% std::has_facet > > > | | | | | | | + 0.05% std::has_facet > | | | | | | + 0.15% std::basic_ios >::init | | | | | | | + 0.10% std::ios_base::_M_init | | | | | | | | + 0.05% std::locale::operator= | | | | | | | + 0.05% std::basic_ios >::_M_cache_locale | | | | | | + 0.05% basic_ios | | | | | + 0.35% clear_payload | | | | | | + 0.35% Throttle::put | | | | | | + 0.25% Locker | | | | | | | + 0.25% Mutex::Lock | | | | | | | + 0.25% __GI___pthread_mutex_lock | | | | | | | + 0.25% _L_lock_791 | | | | | | | + 0.25% __lll_lock_wait | | | | | | + 0.05% ~Locker | | | | | | + 0.05% read | | | | | + 0.25% PrimaryLogPG::maybe_await_blocked_snapset | | | | | | + 0.25% SharedLRU, std::hash >::lookup | | | | | | + 0.20% find | | | | | | | + 0.20% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::find | | | | | | | + 0.20% _M_lower_bound | | | | | | | + 0.20% operator() | | | | | | | + 0.20% operator< | | | | | | | + 0.20% cmp | | | | | | + 0.05% ~Locker | | | | | + 0.25% PGLog::IndexedLog::get_request | | | | | | + 0.25% find | | | | | | + 0.25% find | | | | | | + 0.20% _M_find_node | | | | | | | + 0.20% std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | + 0.10% _M_equals | | | | | | | + 0.10% _S_equals | | | | | | + 0.05% _M_bucket_index | | | | | + 0.20% finish_decode | | | | | | + 0.05% set_key | | | | | | + 0.05% decode >, denc_traits >, void> > | | | | | | + 0.05% decode | | | | | | + 0.05% OSDOp::split_osd_op_vector_in_data | | | | | + 0.10% PrimaryLogPG::is_unreadable_object | | | | | | + 0.05% PrimaryLogPG::is_missing_object | | | | | + 0.10% PrimaryLogPG::get_rw_locks | | | | | | + 0.10% ObcLockManager::get_lock_type | | | | | | + 0.10% insert, void> | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique >(std::pair&&) | | | | | | + 0.10% _M_insert_ > | | | | | | + 0.10% std::_Rb_tree_insert_and_rebalance | | | | | + 0.10% PrimaryLogPG::OpContext::OpContext | | | | | | + 0.05% SnapSet::operator= | | | | | | + 0.05% ObjectState | | | | | + 0.10% PG::check_in_progress_op | | | | | | + 0.10% get_request | | | | | | + 0.10% find | | | | | | + 0.10% find | | | | | | + 0.10% _M_find_node | | | | | | + 0.10% std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | + 0.10% OSD::init_op_flags | | | | | | + 0.05% get_pg_pool | | | | | + 0.05% std::basic_ostringstream, std::allocator >::~basic_ostringstream | | | | | + 0.05% operator-> | | | | | + 0.05% is_primary | | | | | + 0.05% hobject_t::hobject_t | | | | | + 0.05% get_oid | | | | | + 0.05% count | | | | | + 0.05% ceph_clock_now | | | | | + 0.05% PerfCounters::tinc | | | | | + 0.05% PG::get_osdmap | | | | | + 0.05% OpRequest::may_read | | | | + 0.05% get_source | | | | + 0.05% RefCountedObject::put | | | + 0.05% mark_reached_pg | | | + 0.05% get_priv | | + 0.05% ~intrusive_ptr | + 16.95% WaitInterval | | + 16.90% WaitUntil | | | + 16.90% pthread_cond_timedwait@@GLIBC_2.3.2 | | | + 0.05% __pthread_mutex_cond_lock | | + 0.05% ceph_clock_now | + 4.55% PG::lock | | + 4.55% Mutex::Lock | | + 4.55% __GI___pthread_mutex_lock | | + 4.55% _L_lock_791 | | + 4.55% __lll_lock_wait | + 0.15% WeightedPriorityQueue, entity_inst_t>::dequeue | | + 0.10% WeightedPriorityQueue, entity_inst_t>::Queue::pop | | + 0.10% pop | | + 0.10% pop | | + 0.05% pair | | + 0.05% erase_and_dispose, entity_inst_t>::ListPair> > | + 0.10% operator= | | + 0.10% assign_expr | | + 0.05% construct | + 0.10% Mutex::Lock | | + 0.10% __GI___pthread_mutex_lock | | + 0.10% _L_lock_791 | | + 0.10% __lll_lock_wait | + 0.05% ~optional | + 0.05% operator-> + 0.05% ceph::HeartbeatMap::reset_timeout Thread: 98 (tp_osd_tp) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ShardedThreadPool::WorkThreadSharded::entry + 100.00% ShardedThreadPool::shardedthreadpool_worker + 99.95% OSD::ShardedOpWQ::_process | + 79.05% run | | + 79.05% apply_visitor, PGSnapTrim, PGScrub, PGRecovery> > | | + 79.05% apply_visitor | | + 79.05% internal_apply_visitor > | | + 79.05% internal_apply_visitor_impl, void*> | | + 79.05% visitation_impl, boost::detail::variant::visitation_impl_step, boost::intrusive_ptr, boost::mpl::l_item, PGSnapTrim, boost::mpl::l_item, PGScrub, boost::mpl::l_item, PGRecovery, boost::mpl::l_end> > > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, void*, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | | + 79.05% visitation_impl_invoke, void*, boost::intrusive_ptr, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | | + 79.05% visitation_impl_invoke_impl, void*, boost::intrusive_ptr > | | + 79.05% internal_visit > | | + 79.00% PGQueueable::RunVis::operator() | | + 79.00% OSD::dequeue_op | | + 78.75% PrimaryLogPG::do_request | | | + 78.25% PrimaryLogPG::do_op | | | | + 62.45% PrimaryLogPG::execute_ctx | | | | | + 60.40% PrimaryLogPG::issue_repop | | | | | | + 60.35% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr >&&, eversion_t const&, eversion_t const&, std::vector > const&, boost::optional&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr) | | | | | | | + 55.80% PrimaryLogPG::queue_transactions | | | | | | | | + 55.80% queue_transactions | | | | | | | | + 55.75% BlueStore::queue_transactions | | | | | | | | | + 52.10% BlueStore::_txc_add_transaction | | | | | | | | | | + 50.05% BlueStore::_write | | | | | | | | | | | + 50.05% BlueStore::_do_write | | | | | | | | | | | + 45.40% BlueStore::ExtentMap::fault_range | | | | | | | | | | | | + 43.60% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | | | | + 43.60% operator() | | | | | | | | | | | | | + 43.60% BlueStore::ExtentMap::__lambda9::operator() | | | | | | | | | | | | | + 43.60% RocksDBStore::get | | | | | | | | | | | | | + 43.35% rocksdb::DB::Get | | | | | | | | | | | | | | + 43.35% rocksdb::DB::Get | | | | | | | | | | | | | | + 43.35% rocksdb::DBImpl::Get | | | | | | | | | | | | | | + 43.35% rocksdb::DBImpl::GetImpl | | | | | | | | | | | | | | + 42.65% rocksdb::Version::Get | | | | | | | | | | | | | | | + 42.45% rocksdb::TableCache::Get | | | | | | | | | | | | | | | | + 42.40% rocksdb::BlockBasedTable::Get | | | | | | | | | | | | | | | | + 40.95% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | | + 40.95% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | | + 40.95% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | | | | | | + 40.05% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | | | | | | | + 40.05% rocksdb::ReadBlockContents | | | | | | | | | | | | | | | | | | + 39.90% ReadBlock | | | | | | | | | | | | | | | | | | | + 39.90% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | | | | | | | + 39.85% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | | | | | | | | + 39.85% read_random | | | | | | | | | | | | | | | | | | | | + 39.85% BlueFS::_read_random | | | | | | | | | | | | | | | | | | | | + 39.85% KernelDevice::read_random | | | | | | | | | | | | | | | | | | | | + 39.85% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | | | | | | | | + 39.75% pread | | | | | | | | | | | | | | | | | | | | | + 39.75% pread64 | | | | | | | | | | | | | | | | | | | | + 0.05% memcpy | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::create_page_aligned | | | | | | | | | | | | | | | | | | | + 0.05% operator-> | | | | | | | | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | | | | | | | | | | | + 0.50% rocksdb::BlockBasedTable::PutDataBlockToCache | | | | | | | | | | | | | | | | | | + 0.50% rocksdb::ShardedCache::Insert | | | | | | | | | | | | | | | | | | + 0.50% rocksdb::LRUCacheShard::Insert | | | | | | | | | | | | | | | | | | + 0.30% Free | | | | | | | | | | | | | | | | | | | + 0.30% rocksdb::(anonymous namespace)::DeleteCachedEntry | | | | | | | | | | | | | | | | | | | + 0.30% ~Block | | | | | | | | | | | | | | | | | | | + 0.20% ~BlockContents | | | | | | | | | | | | | | | | | | | | + 0.20% ~unique_ptr | | | | | | | | | | | | | | | | | | | | + 0.20% operator() | | | | | | | | | | | | | | | | | | | | + 0.20% tc_deletearray | | | | | | | | | | | | | | | | | | | | + 0.20% do_free | | | | | | | | | | | | | | | | | | | | + 0.20% do_free_with_callback | | | | | | | | | | | | | | | | | | | | + 0.20% do_free_helper | | | | | | | | | | | | | | | | | | | | + 0.20% Deallocate | | | | | | | | | | | | | | | | | | | | + 0.20% Push | | | | | | | | | | | | | | | | | | | | + 0.20% SLL_Push | | | | | | | | | | | | | | | | | | | | + 0.20% SLL_SetNext | | | | | | | | | | | | | | | | | | | + 0.10% ~unique_ptr | | | | | | | | | | | | | | | | | | + 0.20% rocksdb::LRUCacheShard::EvictFromLRU | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::LRUHandleTable::Remove | | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::LRUHandleTable::FindPointer | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::Unref | | | | | | | | | | | | | | | | | + 0.35% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | | | | | | | | | | | + 0.35% rocksdb::(anonymous namespace)::GetEntryFromCache | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::LRUCacheShard::Lookup | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::LRUHandleTable::Lookup | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::LRUHandleTable::FindPointer | | | | | | | | | | | | | | | | | | | + 0.05% MutexLock | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::ShardedCache::Lookup | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::GetCacheKey | | | | | | | | | | | | | | | | + 1.20% rocksdb::BlockIter::Seek | | | | | | | | | | | | | | | | | + 0.90% rocksdb::BlockIter::BinarySeek | | | | | | | | | | | | | | | | | | + 0.50% DecodeEntry | | | | | | | | | | | | | | | | | | + 0.10% Compare | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | | | | + 0.15% rocksdb::BlockIter::ParseNextKey | | | | | | | | | | | | | | | | | | + 0.10% TrimAppend | | | | | | | | | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | | | | | | | | | + 0.05% DecodeEntry | | | | | | | | | | | | | | | | | + 0.10% Compare | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | | | | | + 0.10% compare | | | | | | | | | | | | | | | | | | + 0.05% __memcmp_sse4_1 | | | | | | | | | | | | | | | | | + 0.05% SeekToRestartPoint | | | | | | | | | | | | | | | | + 0.10% BlockIter | | | | | | | | | | | | | | | | + 0.05% rocksdb::GetContext::SaveValue | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockIter::status | | | | | | | | | | | | | | | + 0.10% GetNextFile | | | | | | | | | | | | | | | | + 0.05% rocksdb::(anonymous namespace)::FilePicker::PrepareNextLevel | | | | | | | | | | | | | | | | + 0.05% PrepareNextLevel | | | | | | | | | | | | | | | + 0.05% ~PinnedIteratorsManager | | | | | | | | | | | | | | | + 0.05% FilePicker | | | | | | | | | | | | | | + 0.55% Get | | | | | | | | | | | | | | | + 0.50% rocksdb::MemTable::Get | | | | | | | | | | | | | | | | + 0.45% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | | | | | | | | + 0.45% Seek | | | | | | | | | | | | | | | | + 0.45% Seek | | | | | | | | | | | | | | | | + 0.45% rocksdb::InlineSkipList::FindGreaterOrEqual | | | | | | | | | | | | | | | | + 0.45% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | | | | | | | | | + 0.30% GetLengthPrefixedSlice | | | | | | | | | | | | | | | | | + 0.05% GetVarint32Ptr | | | | | | | | | | | | | | | | + 0.15% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | + 0.10% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | | | + 0.05% compare | | | | | | | | | | | | | | | + 0.05% rocksdb::MemTableListVersion::Get | | | | | | | | | | | | | | + 0.10% rocksdb::DBImpl::ReturnAndCleanupSuperVersion | | | | | | | | | | | | | | | + 0.10% rocksdb::ColumnFamilyData::ReturnThreadLocalSuperVersion | | | | | | | | | | | | | | | + 0.05% rocksdb::ThreadLocalPtr::CompareAndSwap | | | | | | | | | | | | | | + 0.05% rocksdb::DBImpl::GetAndRefSuperVersion | | | | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | | | | + 0.05% operator= | | | | | | | | | | | | | + 0.05% combine_strings | | | | | | | | | | | | | + 0.05% append | | | | | | | | | | | | + 1.55% BlueStore::ExtentMap::decode_some | | | | | | | | | | | | | + 0.40% BlueStore::Blob::decode | | | | | | | | | | | | | | + 0.40% denc > | | | | | | | | | | | | | | + 0.40% decode | | | | | | | | | | | | | | + 0.40% decode | | | | | | | | | | | | | | + 0.25% get_ptr | | | | | | | | | | | | | | | + 0.20% ceph::buffer::copy | | | | | | | | | | | | | | | | + 0.20% ceph::buffer::create_aligned | | | | | | | | | | | | | | | | + 0.20% create | | | | | | | | | | | | | | | | + 0.20% allocate_aligned | | | | | | | | | | | | | | | | + 0.20% tc_posix_memalign | | | | | | | | | | | | | | | | + 0.20% do_memalign_or_cpp_memalign | | | | | | | | | | | | | | | | + 0.20% (anonymous namespace)::do_memalign | | | | | | | | | | | | | | | | + 0.20% do_malloc | | | | | | | | | | | | | | | | + 0.20% do_malloc_no_errno | | | | | | | | | | | | | | | | + 0.20% do_malloc_small | | | | | | | | | | | | | | | | + 0.20% Allocate | | | | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | | | | | | + 0.15% denc >, denc_traits > > > | | | | | | | | | | | | | | + 0.15% decode | | | | | | | | | | | | | | + 0.15% resize | | | | | | | | | | | | | | + 0.15% std::vector >::_M_default_append | | | | | | | | | | | | | | + 0.15% _M_allocate | | | | | | | | | | | | | | + 0.15% allocate | | | | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | | | + 0.25% insert | | | | | | | | | | | | | | + 0.25% boost::intrusive::bstree_impl, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, void, void, unsigned long, true, (boost::intrusive::algo_types)5, void>::insert_unique | | | | | | | | | | | | | | + 0.15% insert_unique_commit | | | | | | | | | | | | | | | + 0.05% operator++ | | | | | | | | | | | | | | + 0.10% insert_unique_check, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | | | | + 0.05% get_right | | | | | | | | | | | | | + 0.25% BlueStore::Collection::open_shared_blob | | | | | | | | | | | | | | + 0.20% BlueStore::SharedBlob::operator new | | | | | | | | | | | | | | | + 0.20% allocate | | | | | | | | | | | | | | | + 0.20% tc_newarray | | | | | | | | | | | | | | | + 0.20% cpp_alloc | | | | | | | | | | | | | | | + 0.20% do_malloc_no_errno | | | | | | | | | | | | | | | + 0.20% do_malloc_small | | | | | | | | | | | | | | | + 0.20% Allocate | | | | | | | | | | | | | | | + 0.15% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | | + 0.05% Pop | | | | | | | | | | | | | | + 0.05% operator-> | | | | | | | | | | | | | + 0.25% BlueStore::Blob::get_ref | | | | | | | | | | | | | | + 0.15% bluestore_blob_use_tracker_t::init | | | | | | | | | | | | | | | + 0.15% bluestore_blob_use_tracker_t::allocate | | | | | | | | | | | | | | | + 0.15% tc_newarray | | | | | | | | | | | | | | | + 0.15% cpp_alloc | | | | | | | | | | | | | | | + 0.15% do_malloc_no_errno | | | | | | | | | | | | | | | + 0.15% do_malloc_small | | | | | | | | | | | | | | | + 0.15% Allocate | | | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | | | | + 0.05% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | + 0.05% bluestore_blob_use_tracker_t::get | | | | | | | | | | | | | + 0.15% BlueStore::Extent::operator new | | | | | | | | | | | | | | + 0.15% allocate | | | | | | | | | | | | | | + 0.15% tc_newarray | | | | | | | | | | | | | | + 0.15% cpp_alloc | | | | | | | | | | | | | | + 0.15% do_malloc_no_errno | | | | | | | | | | | | | | + 0.15% do_malloc_small | | | | | | | | | | | | | | + 0.15% Allocate | | | | | | | | | | | | | | + 0.15% Pop | | | | | | | | | | | | | | + 0.15% SLL_Pop | | | | | | | | | | | | | + 0.15% BlueStore::Blob::operator new | | | | | | | | | | | | | | + 0.15% allocate | | | | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | | | | + 0.05% pick_a_shard | | | | | | | | | | | | | | + 0.05% operator+= | | | | | | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | | | | | | | + 0.05% bluestore_blob_t | | | | | | | | | | | | + 0.25% seek_shard | | | | | | | | | | | + 3.30% BlueStore::_do_alloc_write | | | | | | | | | | | | + 2.40% BitMapAllocator::allocate | | | | | | | | | | | | | + 2.40% BitMapAllocator::allocate_dis | | | | | | | | | | | | | + 2.40% BitAllocator::alloc_blocks_dis_res | | | | | | | | | | | | | + 2.35% BitAllocator::alloc_blocks_dis_work | | | | | | | | | | | | | + 2.20% BitAllocator::alloc_blocks_dis_int | | | | | | | | | | | | | | + 2.20% BitMapAreaIN::alloc_blocks_dis_int_work | | | | | | | | | | | | | | + 1.25% BitAllocator::child_check_n_lock | | | | | | | | | | | | | | | + 0.95% BitMapAreaIN::is_exhausted | | | | | | | | | | | | | | | | + 0.90% BitMapAreaIN::get_used_blocks | | | | | | | | | | | | | | | | + 0.55% lock_guard | | | | | | | | | | | | | | | | | + 0.55% lock | | | | | | | | | | | | | | | | | + 0.55% __gthread_mutex_lock | | | | | | | | | | | | | | | | | + 0.50% __GI___pthread_mutex_lock | | | | | | | | | | | | | | | | | + 0.05% _L_lock_791 | | | | | | | | | | | | | | | | + 0.25% ~lock_guard | | | | | | | | | | | | | | | | + 0.25% unlock | | | | | | | | | | | | | | | | + 0.25% __gthread_mutex_unlock | | | | | | | | | | | | | | | | + 0.25% __GI___pthread_mutex_unlock | | | | | | | | | | | | | | | | + 0.25% __pthread_mutex_unlock_usercnt | | | | | | | | | | | | | | | + 0.05% BitMapAreaIN::lock_shared | | | | | | | | | | | | | | + 0.85% BitMapAreaIN::alloc_blocks_dis | | | | | | | | | | | | | | | + 0.80% BitMapAreaLeaf::alloc_blocks_dis_int | | | | | | | | | | | | | | | + 0.50% child_check_n_lock | | | | | | | | | | | | | | | | + 0.05% BitMapZone::lock_excl_try | | | | | | | | | | | | | | | + 0.20% BitMapZone::alloc_blocks_dis | | | | | | | | | | | | | | | | + 0.10% BmapEntry::find_first_set_bits | | | | | | | | | | | | | | | | | + 0.10% BmapEntry::find_n_free_bits | | | | | | | | | | | | | | | | | + 0.05% BmapEntry::check_n_set_bit | | | | | | | | | | | | | | | | + 0.05% ExtentList::add_extents | | | | | | | | | | | | | | | + 0.05% next | | | | | | | | | | | | | | + 0.05% BitAllocator::child_unlock | | | | | | | | | | | | | + 0.05% pthread_rwlock_unlock | | | | | | | | | | | | | + 0.05% pthread_rwlock_rdlock | | | | | | | | | | | | | + 0.05% BitAllocator::unlock | | | | | | | | | | | | + 0.25% map_bl | | | | | | | | | | | | | + 0.20% operator() | | | | | | | | | | | | | | + 0.20% KernelDevice::aio_write | | | | | | | | | | | | | | + 0.05% push_back | | | | | | | | | | | | | | + 0.05% prepare_iov > | | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | | | | + 0.15% bluestore_blob_t::calc_csum | | | | | | | | | | | | | + 0.15% calculate | | | | | | | | | | | | | + 0.15% calculate | | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::c_str | | | | | | | | | | | | | + 0.05% calc | | | | | | | | | | | | + 0.10% _buffer_cache_write | | | | | | | | | | | | | + 0.05% write | | | | | | | | | | | | | + 0.05% insert | | | | | | | | | | | | + 0.10% BlueStore::ExtentMap::set_lextent | | | | | | | | | | | | | + 0.05% BlueStore::Extent::operator new | | | | | | | | | | | | + 0.05% vector | | | | | | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | | | | | | + 0.05% reserve | | | | | | | | | | | | + 0.05% interval_set::insert | | | | | | | | | | | | + 0.05% bluestore_blob_t::allocated | | | | | | | | | | | + 0.80% BlueStore::_do_write_data | | | | | | | | | | | | + 0.80% BlueStore::_do_write_big | | | | | | | | | | | | + 0.50% BlueStore::ExtentMap::punch_hole | | | | | | | | | | | | | + 0.35% BlueStore::OldExtent::create | | | | | | | | | | | | | | + 0.25% BlueStore::Blob::put_ref | | | | | | | | | | | | | | | + 0.15% bluestore_blob_t::release_extents | | | | | | | | | | | | | | | | + 0.10% add | | | | | | | | | | | | | | | | | + 0.10% flush | | | | | | | | | | | | | | | | | + 0.05% std::vector >::emplace_back(bluestore_pextent_t&&) | | | | | | | | | | | | | | | | + 0.05% emplace | | | | | | | | | | | | | | | + 0.05% ~vector | | | | | | | | | | | | | | | + 0.05% bluestore_blob_use_tracker_t::put | | | | | | | | | | | | | | + 0.10% OldExtent | | | | | | | | | | | | | | + 0.10% Extent | | | | | | | | | | | | | | + 0.10% assign_blob | | | | | | | | | | | | | | + 0.10% operator= | | | | | | | | | | | | | | + 0.10% intrusive_ptr | | | | | | | | | | | | | | + 0.10% intrusive_ptr_add_ref | | | | | | | | | | | | | | + 0.10% get | | | | | | | | | | | | | | + 0.10% operator++ | | | | | | | | | | | | | + 0.10% BlueStore::ExtentMap::seek_lextent | | | | | | | | | | | | | | + 0.10% lower_bound | | | | | | | | | | | | | | + 0.10% lower_bound > | | | | | | | | | | | | | | + 0.10% lower_bound, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | | | | + 0.10% lower_bound_loop, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | | | + 0.05% intrusive_ptr | | | | | | | | | | | | + 0.10% write | | | | | | | | | | | | | + 0.10% std::vector >::emplace_back&, unsigned long&, unsigned long&, ceph::buffer::list&, unsigned long&, unsigned long&, bool&, bool&> | | | | | | | | | | | | | + 0.10% std::vector >::_M_emplace_back_aux&, unsigned long&, unsigned long&, ceph::buffer::list&, unsigned long&, unsigned long&, bool&, bool&> | | | | | | | | | | | | | + 0.05% construct&, unsigned long&, unsigned long&, ceph::buffer::list&, unsigned long&, unsigned long&, bool&, bool&> | | | | | | | | | | | | | + 0.05% _M_allocate | | | | | | | | | | | | + 0.05% operator-- | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | | | | + 0.05% BlueStore::ExtentMap::seek_lextent | | | | | | | | | | | | + 0.05% BlueStore::Blob::try_reuse_blob | | | | | | | | | | | + 0.25% BlueStore::ExtentMap::compress_extent_map | | | | | | | | | | | | + 0.20% rm | | | | | | | | | | | | + 0.20% erase_and_dispose | | | | | | | | | | | | + 0.15% operator() | | | | | | | | | | | | | + 0.10% BlueStore::Extent::operator delete | | | | | | | | | | | | | | + 0.10% deallocate | | | | | | | | | | | | | | + 0.05% tc_deletearray | | | | | | | | | | | | | + 0.05% ~Extent | | | | | | | | | | | | + 0.05% erase | | | | | | | | | | | + 0.10% ~basic_string | | | | | | | | | | | | + 0.05% tc_delete | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_dispose | | | | | | | | | | | + 0.10% std::basic_string, std::allocator >::basic_string | | | | | | | | | | | | + 0.10% _S_construct | | | | | | | | | | | | + 0.10% _S_construct_aux | | | | | | | | | | | | + 0.10% std::string::_S_construct | | | | | | | | | | | | + 0.10% std::string::_Rep::_S_create | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | | + 0.05% cpp_alloc | | | | | | | | | | | + 0.05% ~WriteContext | | | | | | | | | | + 0.75% BlueStore::_omap_setkeys | | | | | | | | | | | + 0.60% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | | + 0.25% Put | | | | | | | | | | | | | + 0.25% rocksdb::WriteBatch::Put | | | | | | | | | | | | | + 0.25% rocksdb::WriteBatchInternal::Put | | | | | | | | | | | | | + 0.20% PutLengthPrefixedSlice | | | | | | | | | | | | | | + 0.20% std::string::append | | | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_clone | | | | | | | | | | | | | | | + 0.05% _M_dispose | | | | | | | | | | | | | | + 0.10% _M_copy | | | | | | | | | | | | | | + 0.10% copy | | | | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | | | | + 0.05% push_back | | | | | | | | | | | | + 0.15% ceph::buffer::list::c_str | | | | | | | | | | | | | + 0.15% ceph::buffer::list::rebuild | | | | | | | | | | | | | + 0.10% ceph::buffer::create | | | | | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | | | | + 0.10% create | | | | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | | | | + 0.05% tc_posix_memalign | | | | | | | | | | | | | + 0.05% ceph::buffer::list::rebuild | | | | | | | | | | | | + 0.10% ceph::buffer::list::list | | | | | | | | | | | | | + 0.10% list | | | | | | | | | | | | | + 0.10% _M_initialize_dispatch > | | | | | | | | | | | | | + 0.10% emplace_back | | | | | | | | | | | | | + 0.10% _M_insert | | | | | | | | | | | | | + 0.10% _M_create_node | | | | | | | | | | | | | + 0.10% construct, ceph::buffer::ptr const&> | | | | | | | | | | | | | + 0.10% _List_node | | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::ptr | | | | | | | | | | | | | + 0.10% inc | | | | | | | | | | | | | + 0.10% AO_fetch_and_add_full | | | | | | | | | | | | + 0.05% ceph::buffer::list::is_contiguous | | | | | | | | | | | + 0.15% decode | | | | | | | | | | | + 0.05% decode_raw > | | | | | | | | | | | + 0.05% clear | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | | + 0.30% decode_attrset | | | | | | | | | | | + 0.30% decode, std::allocator > >, denc_traits, std::allocator > >, void> > | | | | | | | | | | | + 0.15% decode | | | | | | | | | | | | + 0.15% decode_nohead | | | | | | | | | | | | + 0.10% denc, ceph::buffer::ptr>, denc_traits, ceph::buffer::ptr>, void> > | | | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | | | + 0.10% denc, denc_traits, void> > | | | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | | | + 0.10% decode_nohead | | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | | + 0.05% std::string::reserve | | | | | | | | | | | | | + 0.05% _M_rep | | | | | | | | | | | | + 0.05% insert, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator::copy_shallow | | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy_shallow | | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | | | | + 0.25% BlueStore::Collection::get_onode | | | | | | | | | | | + 0.25% BlueStore::OnodeSpace::lookup | | | | | | | | | | | + 0.15% find | | | | | | | | | | | | + 0.15% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | | | | | | + 0.15% _M_find_node | | | | | | | | | | | | + 0.15% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | | | | + 0.10% lock_guard | | | | | | | | | | | + 0.10% lock | | | | | | | | | | | + 0.10% __gthread_recursive_mutex_lock | | | | | | | | | | | + 0.10% __gthread_mutex_lock | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock | | | | | | | | | | | + 0.10% _L_lock_840 | | | | | | | | | | | + 0.10% __lll_lock_wait | | | | | | | | | | + 0.20% BlueStore::_get_collection | | | | | | | | | | | + 0.15% find | | | | | | | | | | | | + 0.15% find | | | | | | | | | | | | + 0.10% _M_hash_code | | | | | | | | | | | | | + 0.10% operator() | | | | | | | | | | | | | + 0.05% to_str | | | | | | | | | | | | + 0.05% _M_find_node | | | | | | | | | | | + 0.05% RLocker | | | | | | | | | | + 0.15% BlueStore::_setattrs | | | | | | | | | | | + 0.10% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | | | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | | | + 0.10% tc_free | | | | | | | | | | | + 0.10% do_free | | | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | | | + 0.05% GetDescriptor | | | | | | | | | | | + 0.05% CacheSizeClass | | | | | | | | | | + 0.10% decode_attrset_bl | | | | | | | | | | | + 0.10% decode_str_str_map_to_bl | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator::copy | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | + 0.10% _M_insert | | | | | | | | | | | + 0.10% _M_create_node | | | | | | | | | | | + 0.10% _M_get_node | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | + 0.10% begin | | | | | | | | | | | + 0.10% iterator | | | | | | | | | | | + 0.05% vector | | | | | | | | | | | + 0.05% ceph::buffer::list::get_contiguous | | | | | | | | | | + 0.05% ~map | | | | | | | | | | + 0.05% ghobject_t | | | | | | | | | | + 0.05% BlueStore::_omap_rmkeys | | | | | | | | | + 1.25% BlueStore::_txc_state_proc | | | | | | | | | | + 1.20% BlueStore::_txc_aio_submit | | | | | | | | | | | + 1.20% KernelDevice::aio_submit | | | | | | | | | | | + 1.20% aio_queue_t::submit | | | | | | | | | | | + 1.20% io_submit | | | | | | | | | | + 0.05% log_state_latency | | | | | | | | | + 1.05% BlueStore::_txc_write_nodes | | | | | | | | | | + 0.65% BlueStore::ExtentMap::update | | | | | | | | | | | + 0.45% BlueStore::ExtentMap::encode_some | | | | | | | | | | | | + 0.20% encode | | | | | | | | | | | | | + 0.20% denc > | | | | | | | | | | | | | + 0.20% encode | | | | | | | | | | | | | + 0.20% encode | | | | | | | | | | | | | + 0.20% ceph::buffer::ptr::c_str | | | | | | | | | | | | + 0.05% operator++ | | | | | | | | | | | | + 0.05% lower_bound | | | | | | | | | | | | + 0.05% get_sbid | | | | | | | | | | | | + 0.05% get_contiguous_appender | | | | | | | | | | | | + 0.05% ceph::buffer::list::contiguous_appender::~contiguous_appender | | | | | | | | | | | + 0.15% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | | | + 0.10% operator() | | | | | | | | | | | | | + 0.10% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | | | + 0.05% combine_strings | | | | | | | | | | | | | + 0.05% Put | | | | | | | | | | | | + 0.05% get_extent_shard_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | | | | + 0.05% ~vector | | | | | | | | | | + 0.10% denc > | | | | | | | | | | | + 0.10% bound_encode | | | | | | | | | | | + 0.10% bound_encode | | | | | | | | | | | + 0.10% _denc_friend | | | | | | | | | | | + 0.10% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | | | | + 0.10% bound_encode, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr> > | | | | | | | | | | | + 0.10% operator++ | | | | | | | | | | | + 0.05% std::_Rb_tree_increment | | | | | | | | | | | + 0.05% _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@plt | | | | | | | | | | + 0.05% ~list | | | | | | | | | | + 0.05% get_contiguous_appender | | | | | | | | | | + 0.05% ceph::buffer::list::list | | | | | | | | | | + 0.05% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | + 0.05% BlueStore::ExtentMap::encode_spanning_blobs | | | | | | | | | + 0.50% BlueStore::_txc_finalize_kv | | | | | | | | | | + 0.20% BitmapFreelistManager::allocate | | | | | | | | | | | + 0.20% BitmapFreelistManager::_xor | | | | | | | | | | | + 0.10% RocksDBStore::RocksDBTransactionImpl::merge | | | | | | | | | | | | + 0.10% Merge | | | | | | | | | | | | + 0.10% rocksdb::WriteBatch::Merge | | | | | | | | | | | | + 0.05% rocksdb::WriteBatchInternal::Merge | | | | | | | | | | | + 0.05% make_offset_key | | | | | | | | | | + 0.10% interval_set::intersection_of | | | | | | | | | | | + 0.05% clear | | | | | | | | | | + 0.10% BitmapFreelistManager::release | | | | | | | | | | | + 0.10% BitmapFreelistManager::_xor | | | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | | | + 0.05% RocksDBStore::RocksDBTransactionImpl::merge | | | | | | | | | | + 0.05% operator++ | | | | | | | | | + 0.25% Throttle::get | | | | | | | | | | + 0.15% Locker | | | | | | | | | | | + 0.15% Mutex::Lock | | | | | | | | | | | + 0.15% __GI___pthread_mutex_lock | | | | | | | | | | | + 0.15% _L_lock_791 | | | | | | | | | | | + 0.15% __lll_lock_wait | | | | | | | | | | + 0.05% Throttle::_wait | | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | | + 0.25% BlueStore::_txc_create | | | | | | | | | | + 0.20% RocksDBStore::get_transaction | | | | | | | | | | | + 0.15% make_shared | | | | | | | | | | | + 0.15% allocate_shared, RocksDBStore* const> | | | | | | | | | | | + 0.15% shared_ptr, RocksDBStore* const> | | | | | | | | | | | + 0.15% __shared_ptr, RocksDBStore* const> | | | | | | | | | | | + 0.15% __shared_count, RocksDBStore* const> | | | | | | | | | | | + 0.15% construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | | | | + 0.15% _S_construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | | | | + 0.15% construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | | | | + 0.15% _Sp_counted_ptr_inplace | | | | | | | | | | | + 0.15% construct | | | | | | | | | | | + 0.15% _S_construct | | | | | | | | | | | + 0.15% construct | | | | | | | | | | | + 0.15% RocksDBStore::RocksDBTransactionImpl::RocksDBTransactionImpl | | | | | | | | | | | + 0.15% rocksdb::WriteBatch::WriteBatch | | | | | | | | | | | + 0.05% std::string::reserve | | | | | | | | | | | + 0.05% resize | | | | | | | | | | + 0.05% TransContext | | | | | | | | | + 0.15% ceph_clock_now | | | | | | | | | | + 0.15% clock_gettime | | | | | | | | | | + 0.10% clock_gettime | | | | | | | | | + 0.05% collect_contexts | | | | | | | | | + 0.05% PerfCounters::tinc | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | + 2.75% PrimaryLogPG::log_operation | | | | | | | | + 2.75% PG::append_log | | | | | | | | + 1.85% PG::write_if_dirty | | | | | | | | | + 0.90% PGLog::write_log_and_missing | | | | | | | | | | + 0.85% PGLog::_write_log_and_missing | | | | | | | | | | | + 0.45% pg_log_entry_t::encode_with_checksum | | | | | | | | | | | | + 0.30% pg_log_entry_t::encode | | | | | | | | | | | | | + 0.30% encode | | | | | | | | | | | | | + 0.20% hobject_t::encode | | | | | | | | | | | | | | + 0.20% encode | | | | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::append | | | | | | | | | | | | | | | + 0.05% operator= | | | | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | | + 0.10% encode_raw > | | | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | | | + 0.05% push_back | | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | + 0.10% pg_log_entry_t::get_key_name | | | | | | | | | | | | + 0.10% eversion_t::get_key_name | | | | | | | | | | | | + 0.10% std::basic_string, std::allocator >::basic_string | | | | | | | | | | | | + 0.05% _S_construct | | | | | | | | | | | + 0.10% list | | | | | | | | | | | | + 0.05% reserve | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | | | | | + 0.05% std::map, std::allocator > >::operator[](std::string&&) | | | | | | | | | | | + 0.05% insert | | | | | | | | | | + 0.05% undirty | | | | | | | | | + 0.60% PG::prepare_write_info | | | | | | | | | | + 0.60% PG::_prepare_write_info | | | | | | | | | | + 0.35% encode | | | | | | | | | | | + 0.30% pg_fast_info_t::encode | | | | | | | | | | | | + 0.30% encode | | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | | + 0.15% ceph::buffer::list::append | | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::append | | | | | | | | | | | | | + 0.05% create | | | | | | | | | | | | + 0.05% encode_raw | | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | + 0.05% pg_info_t::encode | | | | | | | | | | + 0.10% operator== | | | | | | | | | | | + 0.10% operator== | | | | | | | | | | | + 0.05% interval_set::operator== | | | | | | | | | | + 0.10% PerfCounters::inc | | | | | | | | | | | + 0.10% add | | | | | | | | | | | + 0.10% ceph_spin_lock | | | | | | | | | | | + 0.10% pthread_spin_lock | | | | | | | | | | + 0.05% std::map, std::allocator > >::operator[] | | | | | | | | | + 0.25% omap_setkeys | | | | | | | | | | + 0.15% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | + 0.15% encode, ceph::buffer::list> > | | | | | | | | | | | + 0.15% encode_nohead, ceph::buffer::list> > | | | | | | | | | | | + 0.10% denc, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | | + 0.10% encode > | | | | | | | | | | | | + 0.10% denc > | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | + 0.10% append | | | | | | | | | | | | + 0.05% flush_and_continue | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | + 0.05% ~pair | | | | | | | | | | + 0.10% _get_object_id | | | | | | | | | | + 0.10% operator[] | | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | | | + 0.05% lower_bound | | | | | | | | | + 0.10% ~map | | | | | | | | | + 0.10% ~_Rb_tree | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | + 0.10% _M_destroy_node | | | | | | | | | + 0.10% destroy const, ceph::buffer::list> > > | | | | | | | | | + 0.10% ~_Rb_tree_node | | | | | | | | | + 0.10% ~pair | | | | | | | | | + 0.05% ~list | | | | | | | | | + 0.05% ~basic_string | | | | | | | | + 0.35% PGLog::trim | | | | | | | | | + 0.35% PGLog::IndexedLog::trim | | | | | | | | | + 0.25% unindex | | | | | | | | | | + 0.20% count | | | | | | | | | | | + 0.20% std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::count | | | | | | | | | | | + 0.10% _M_bucket_begin | | | | | | | | | | + 0.05% erase | | | | | | | | | + 0.05% pop_front | | | | | | | | | + 0.05% insert | | | | | | | | + 0.35% PG::add_log_entry | | | | | | | | | + 0.30% add | | | | | | | | | + 0.30% PGLog::IndexedLog::add | | | | | | | | | + 0.20% push_back | | | | | | | | | | + 0.20% _M_insert | | | | | | | | | | + 0.20% _M_create_node | | | | | | | | | | + 0.15% _M_get_node | | | | | | | | | | | + 0.15% allocate | | | | | | | | | | | + 0.10% pick_a_shard | | | | | | | | | | | | + 0.10% __pthread_self | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | + 0.05% construct, pg_log_entry_t const&> | | | | | | | | | + 0.10% operator[] | | | | | | | | | + 0.10% std::__detail::_Map_base, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits, true>::operator[] | | | | | | | | | + 0.10% _M_find_node | | | | | | | | | + 0.10% std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | | + 0.05% _M_bucket_index | | | | | | | | + 0.05% tc_new | | | | | | | | + 0.05% PGLog::IndexedLog::trim | | | | | | | | + 0.05% PG::update_snap_map | | | | | | | | + 0.05% PG::get_osdmap | | | | | | | + 0.90% generate_transaction | | | | | | | | + 0.85% PGTransaction::safe_create_traverse&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26>() | | | | | | | | | + 0.75% operator() | | | | | | | | | | + 0.45% ObjectStore::Transaction::setattrs | | | | | | | | | | | + 0.25% ObjectStore::Transaction::_get_next_op | | | | | | | | | | | | + 0.15% ceph::buffer::ptr::ptr | | | | | | | | | | | | | + 0.10% ceph::buffer::create | | | | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | | | + 0.10% create | | | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | | | + 0.05% tc_posix_memalign | | | | | | | | | | | | | + 0.05% pick_a_shard | | | | | | | | | | | | + 0.05% memset | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::c_str | | | | | | | | | | | + 0.15% ObjectStore::Transaction::_get_coll_id | | | | | | | | | | | | + 0.10% operator[] | | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos | | | | | | | | | | | | + 0.05% _M_create_node, std::tuple<> > | | | | | | | | | | | + 0.05% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | + 0.15% match, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> | | | | | | | | | | | + 0.15% apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33>, const boost::variant > | | | | | | | | | | | + 0.15% apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> > | | | | | | | | | | | + 0.15% internal_apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> > > | | | | | | | | | | | + 0.15% internal_apply_visitor_impl, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*> | | | | | | | | | | | + 0.15% visitation_impl, boost::detail::variant::visitation_impl_step, PGTransaction::ObjectOperation::BufferUpdate::Write, boost::mpl::l_item, PGTransaction::ObjectOperation::BufferUpdate::Zero, boost::mpl::l_item, PGTransaction::ObjectOperation::BufferUpdate::CloneRange, boost::mpl::l_end> > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, boost::variant::has_fallback_type_> | | | | | | | | | | | + 0.15% visitation_impl_invoke, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, PGTransaction::ObjectOperation::BufferUpdate::Write, boost::variant::has_fallback_type_> | | | | | | | | | | | + 0.15% visitation_impl_invoke_impl, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, PGTransaction::ObjectOperation::BufferUpdate::Write> | | | | | | | | | | | + 0.15% internal_visit | | | | | | | | | | | + 0.15% operator() | | | | | | | | | | | + 0.15% apply_helper | | | | | | | | | | | + 0.15% operator() | | | | | | | | | | | + 0.15% write | | | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_object_id | | | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_next_op | | | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_coll_id | | | | | | | | | | + 0.05% operator= | | | | | | | | | | + 0.05% insert | | | | | | | | | | + 0.05% ghobject_t | | | | | | | | | + 0.05% ~map | | | | | | | | | + 0.05% pop_front | | | | | | | | + 0.05% find | | | | | | | + 0.45% ~vector | | | | | | | | + 0.45% _Destroy | | | | | | | | + 0.45% _Destroy | | | | | | | | + 0.45% __destroy | | | | | | | | + 0.45% _Destroy | | | | | | | | + 0.45% ObjectStore::Transaction::~Transaction | | | | | | | | + 0.45% ~list | | | | | | | | + 0.40% ~list | | | | | | | | | + 0.40% ~_List_base | | | | | | | | | + 0.40% std::_List_base >::_M_clear | | | | | | | | | + 0.35% destroy > | | | | | | | | | | + 0.35% ~_List_node | | | | | | | | | | + 0.35% ~ptr | | | | | | | | | | + 0.35% ceph::buffer::ptr::release | | | | | | | | | | + 0.20% ceph::buffer::raw_combined::~raw_combined | | | | | | | | | | | + 0.15% operator delete | | | | | | | | | | | + 0.15% deallocate_aligned | | | | | | | | | | | + 0.05% operator-= | | | | | | | | | | + 0.05% tc_free | | | | | | | | | + 0.05% _M_put_node | | | | | | | | + 0.05% ~ptr | | | | | | | + 0.10% ~unique_ptr | | | | | | | | + 0.10% operator() | | | | | | | | + 0.10% ~PGTransaction | | | | | | | | + 0.10% ~map | | | | | | | | + 0.10% ~_Rb_tree | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | + 0.10% _M_destroy_node | | | | | | | | + 0.10% destroy > > | | | | | | | | + 0.10% ~_Rb_tree_node | | | | | | | | + 0.10% ~pair | | | | | | | | + 0.05% ~ObjectOperation | | | | | | | | + 0.05% hobject_t::~hobject_t | | | | | | | + 0.10% insert > | | | | | | | | + 0.05% std::_Rb_tree, std::less, std::allocator >::_M_insert_unique > | | | | | | | + 0.05% tc_delete | | | | | | | + 0.05% non-virtual thunk to PrimaryLogPG::apply_stats(hobject_t const&, object_stat_sum_t const&) | | | | | | | + 0.05% PrimaryLogPG::bless_context | | | | | | | + 0.05% PrimaryLogPG::apply_stats | | | | | | + 0.05% PGTransaction::add_obc | | | | | + 1.30% PrimaryLogPG::prepare_transaction | | | | | | + 1.15% PrimaryLogPG::finish_ctx | | | | | | | + 0.60% encode | | | | | | | | + 0.35% object_info_t::encode | | | | | | | | | + 0.20% encode | | | | | | | | | | + 0.10% hobject_t::encode | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy_in | | | | | | | | | | + 0.05% object_locator_t::encode | | | | | | | | | | + 0.05% encode | | | | | | | | | + 0.05% ~map | | | | | | | | | + 0.05% encode > | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy_in | | | | | | | | + 0.25% SnapSet::encode | | | | | | | | + 0.10% encode, denc_traits, void> > | | | | | | | | | + 0.05% get_contiguous_appender | | | | | | | | | + 0.05% encode | | | | | | | | + 0.05% encode >, denc_traits >, void> > | | | | | | | | + 0.05% encode | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy_in | | | | | | | + 0.15% OSDMap::get_features | | | | | | | | + 0.05% operator++ | | | | | | | | + 0.05% CrushWrapper::is_v5_rule | | | | | | | | + 0.05% CrushWrapper::is_v3_rule | | | | | | | + 0.10% std::map, std::allocator > >::operator[](std::string&&) | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node | | | | | | | + 0.10% operator= | | | | | | | | + 0.10% object_info_t::operator= | | | | | | | | + 0.05% std::vector >::operator= | | | | | | | | + 0.05% operator= | | | | | | | + 0.10% ceph::buffer::list::claim | | | | | | | | + 0.10% ceph::buffer::list::claim_append | | | | | | | | + 0.05% splice | | | | | | | | + 0.05% begin | | | | | | | + 0.05% ceph_clock_now | | | | | | | + 0.05% PGTransaction::setattrs | | | | | | + 0.15% PrimaryLogPG::do_osd_ops | | | | | | + 0.05% ceph_osd_op_uses_extent | | | | | | + 0.05% PrimaryLogPG::write_update_size_and_usage | | | | | | + 0.05% PGTransaction::write | | | | | + 0.15% PrimaryLogPG::new_repop | | | | | | + 0.05% push_back | | | | | | + 0.05% RepGather | | | | | | + 0.05% PerfCounters::inc | | | | | + 0.15% PrimaryLogPG::eval_repop | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | | + 0.10% PrimaryLogPG::calc_trim_to | | | | | + 0.10% MOSDOpReply::MOSDOpReply | | | | | | + 0.05% size | | | | | | + 0.05% Message::Message | | | | | + 0.05% tc_new | | | | | + 0.05% register_on_commit | | | | | + 0.05% OpRequest::may_write | | | | | + 0.05% OpRequest::may_read | | | | + 13.10% PrimaryLogPG::find_object_context | | | | | + 13.10% PrimaryLogPG::get_object_context | | | | | + 10.90% PGBackend::objects_get_attr | | | | | | + 10.85% BlueStore::getattr | | | | | | + 10.50% BlueStore::Collection::get_onode | | | | | | | + 10.05% RocksDBStore::get | | | | | | | | + 9.95% rocksdb::DB::Get | | | | | | | | | + 9.95% rocksdb::DB::Get | | | | | | | | | + 9.95% rocksdb::DBImpl::Get | | | | | | | | | + 9.95% rocksdb::DBImpl::GetImpl | | | | | | | | | + 9.75% rocksdb::Version::Get | | | | | | | | | | + 9.75% rocksdb::TableCache::Get | | | | | | | | | | + 9.75% rocksdb::BlockBasedTable::Get | | | | | | | | | | + 9.60% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | + 9.60% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | + 9.55% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | + 9.50% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | | + 9.50% rocksdb::ReadBlockContents | | | | | | | | | | | | | + 9.45% ReadBlock | | | | | | | | | | | | | | + 9.45% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | | + 9.45% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | | + 9.45% read_random | | | | | | | | | | | | | | + 9.45% BlueFS::_read_random | | | | | | | | | | | | | | + 9.45% KernelDevice::read_random | | | | | | | | | | | | | | + 9.45% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | | + 9.45% pread | | | | | | | | | | | | | | + 9.45% pread64 | | | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::PutDataBlockToCache | | | | | | | | | | | + 0.05% rocksdb::Block::NewIterator | | | | | | | | | | + 0.15% rocksdb::BlockIter::Seek | | | | | | | | | | + 0.15% rocksdb::BlockIter::BinarySeek | | | | | | | | | | + 0.15% DecodeEntry | | | | | | | | | + 0.15% Get | | | | | | | | | | + 0.10% rocksdb::MemTable::Get | | | | | | | | | | | + 0.05% rocksdb::MemTable::NewRangeTombstoneIterator | | | | | | | | | | | + 0.05% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | | + 0.05% rocksdb::MemTableListVersion::Get | | | | | | | | | + 0.05% rocksdb::DBImpl::GetAndRefSuperVersion | | | | | | | | + 0.10% ~basic_string | | | | | | | | + 0.10% std::string::_Rep::_M_dispose | | | | | | | | + 0.05% std::string::_Rep::_M_dispose | | | | | | | + 0.30% BlueStore::OnodeSpace::lookup | | | | | | | | + 0.15% lock_guard | | | | | | | | | + 0.15% lock | | | | | | | | | + 0.15% __gthread_recursive_mutex_lock | | | | | | | | | + 0.15% __gthread_mutex_lock | | | | | | | | | + 0.15% __GI___pthread_mutex_lock | | | | | | | | | + 0.15% _L_lock_840 | | | | | | | | | + 0.15% __lll_lock_wait | | | | | | | | + 0.10% BlueStore::TwoQCache::_touch_onode | | | | | | | | | + 0.05% erase | | | | | | | | + 0.05% find | | | | | | | + 0.05% Onode | | | | | | | + 0.05% BlueStore::OnodeSpace::add | | | | | | | + 0.05% BlueStore::Onode::operator new | | | | | | + 0.15% count | | | | | | | + 0.15% find | | | | | | | + 0.15% _M_lower_bound | | | | | | | + 0.15% operator() | | | | | | | + 0.15% operator< , mempool::pool_allocator<(mempool::pool_index_t)2u, char> > | | | | | | | + 0.15% compare | | | | | | | + 0.15% size | | | | | | + 0.10% ~basic_string | | | | | | | + 0.10% _M_dispose | | | | | | | + 0.10% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::_Rep::_M_dispose | | | | | | | + 0.05% __exchange_and_add_dispatch | | | | | | | + 0.05% _M_destroy | | | | | | + 0.05% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::basic_string | | | | | | + 0.05% ceph::buffer::ptr::operator= | | | | | + 1.25% SharedLRU, std::hash >::lookup_or_create | | | | | | + 0.75% ~list | | | | | | | + 0.75% ~_List_base | | | | | | | + 0.75% std::_List_base, std::allocator > >::_M_clear | | | | | | | + 0.75% destroy > > | | | | | | | + 0.75% ~_List_node | | | | | | | + 0.75% ~shared_ptr | | | | | | | + 0.75% ~__shared_ptr | | | | | | | + 0.75% ~__shared_count | | | | | | | + 0.70% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | | | | | | | | + 0.70% std::_Sp_counted_deleter, std::hash >::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2>::_M_dispose | | | | | | | | + 0.70% operator() | | | | | | | | + 0.50% ~ObjectContext | | | | | | | | | + 0.35% Context::complete | | | | | | | | | | + 0.35% PrimaryLogPG::put_snapset_context | | | | | | | | | | + 0.15% erase | | | | | | | | | | | + 0.15% erase | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::equal_range | | | | | | | | | | | | + 0.10% operator() | | | | | | | | | | | | + 0.10% operator< | | | | | | | | | | | | + 0.10% cmp | | | | | | | | | | | | + 0.05% get_bitwise_key | | | | | | | | | | | + 0.05% erase | | | | | | | | | | + 0.10% ~SnapSetContext | | | | | | | | | | | + 0.05% ~SnapSet | | | | | | | | | | | + 0.05% hobject_t::~hobject_t | | | | | | | | | | + 0.10% tc_delete | | | | | | | | | | + 0.10% do_free | | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | | + 0.05% Deallocate | | | | | | | | | + 0.05% Mutex::~Mutex | | | | | | | | + 0.20% remove | | | | | | | | + 0.15% find | | | | | | | | | + 0.15% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::find | | | | | | | | | + 0.10% _M_lower_bound | | | | | | | | | | + 0.10% operator() | | | | | | | | | | + 0.10% operator< | | | | | | | | | | + 0.10% cmp | | | | | | | | | + 0.05% operator() | | | | | | | | + 0.05% erase | | | | | | | + 0.05% std::_Sp_counted_deleter, std::hash >::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2>::_M_destroy | | | | | | + 0.25% SharedLRU, std::hash >::lru_add | | | | | | | + 0.15% trim_cache | | | | | | | | + 0.15% lru_remove | | | | | | | | + 0.10% find | | | | | | | | | + 0.10% std::_Hashtable > > >, std::allocator > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | | | + 0.10% _M_find_node | | | | | | | | | + 0.10% std::_Hashtable > > >, std::allocator > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | | + 0.05% _M_bucket_index | | | | | | | | + 0.05% erase | | | | | | | + 0.10% find | | | | | | | + 0.10% std::_Hashtable > > >, std::allocator > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | + 0.10% _M_find_node | | | | | | | + 0.10% std::_Hashtable > > >, std::allocator > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | + 0.05% _M_equals | | | | | | | + 0.05% _M_bucket_index | | | | | | + 0.15% insert, ObjectContext*> >, void> | | | | | | | + 0.15% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::_M_insert_unique, ObjectContext*> > >(std::pair, ObjectContext*> >&&) | | | | | | | + 0.15% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::_M_insert_, ObjectContext*> > >(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair, ObjectContext*> >&&) | | | | | | | + 0.05% _M_create_node, ObjectContext*> > > | | | | | | + 0.05% shared_ptr::Cleanup> | | | | | | + 0.05% Cond | | | | | + 0.50% decode | | | | | | + 0.50% object_info_t::decode | | | | | | + 0.35% decode | | | | | | | + 0.10% object_locator_t::decode | | | | | | | | + 0.05% decode | | | | | | | + 0.10% decode | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | + 0.05% ceph::buffer::ptr::copy_out | | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | + 0.05% hobject_t::decode | | | | | | | + 0.05% decode_raw | | | | | | | + 0.05% clear | | | | | | + 0.15% decode > | | | | | | + 0.10% ceph::buffer::list::iterator::copy_shallow | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::copy_shallow | | | | | | + 0.05% decode | | | | | + 0.40% PrimaryLogPG::get_snapset_context | | | | | | + 0.10% _register_snapset_context | | | | | | | + 0.10% operator[] | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | + 0.10% SnapSet::decode | | | | | | | + 0.05% decode >, std::less, std::allocator > > > >, denc_traits >, std::less, std::allocator > > > >, void> > | | | | | | | + 0.05% decode | | | | | | + 0.10% PGBackend::objects_get_attr | | | | | | | + 0.05% push_back | | | | | | | + 0.05% BlueStore::getattr | | | | | | + 0.05% find | | | | | | + 0.05% begin | | | | | + 0.05% object_info_t::operator= | | | | + 0.60% OSDService::check_failsafe_full | | | | | + 0.60% OSDService::_check_full | | | | | + 0.35% operator<< | | | | | | + 0.35% std::ostream::_M_insert | | | | | | + 0.35% put | | | | | | + 0.35% std::num_put > >::do_put | | | | | | + 0.35% std::num_put > >::_M_insert_float | | | | | | + 0.30% std::__convert_from_v | | | | | | | + 0.30% _IO_vsnprintf | | | | | | | + 0.30% _IO_vfprintf_internal | | | | | | | + 0.10% ___printf_fp | | | | | | + 0.05% find | | | | | + 0.15% Locker | | | | | | + 0.15% Mutex::Lock | | | | | | + 0.15% __GI___pthread_mutex_lock | | | | | | + 0.15% _L_lock_791 | | | | | | + 0.15% __lll_lock_wait | | | | | + 0.10% ~Locker | | | | | + 0.10% Mutex::Unlock | | | | | + 0.10% __GI___pthread_mutex_unlock | | | | | + 0.10% __pthread_mutex_unlock_usercnt | | | | | + 0.10% _L_unlock_697 | | | | | + 0.10% __lll_unlock_wake | | | | + 0.45% finish_decode | | | | | + 0.30% decode | | | | | | + 0.15% object_locator_t::decode | | | | | | | + 0.15% decode | | | | | | | + 0.05% decode_raw | | | | | | | + 0.05% decode_raw > | | | | | | | + 0.05% clear | | | | | | + 0.05% decode_raw > | | | | | | + 0.05% decode_raw > | | | | | | + 0.05% decode | | | | | + 0.05% ~object_locator_t | | | | | + 0.05% std::vector >::resize | | | | | + 0.05% decode >, denc_traits >, void> > | | | | + 0.40% clear_payload | | | | | + 0.25% ceph::buffer::list::clear | | | | | | + 0.20% clear | | | | | | | + 0.20% std::_List_base >::_M_clear | | | | | | | + 0.10% destroy > | | | | | | | | + 0.10% ~_List_node | | | | | | | | + 0.10% ~ptr | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | + 0.10% tc_free | | | | | | | | + 0.10% do_free | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | + 0.10% do_free_helper | | | | | | | | + 0.10% Deallocate | | | | | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong | | | | | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | | | | + 0.10% PopRange | | | | | | | | + 0.10% SLL_PopRange | | | | | | | | + 0.05% SLL_Next | | | | | | | + 0.05% _M_put_node | | | | | | + 0.05% ~ptr | | | | | + 0.15% Throttle::put | | | | | + 0.15% Locker | | | | | + 0.15% Mutex::Lock | | | | | + 0.15% __GI___pthread_mutex_lock | | | | | + 0.15% _L_lock_791 | | | | | + 0.15% __lll_lock_wait | | | | + 0.15% std::basic_ostringstream, std::allocator >::basic_ostringstream | | | | | + 0.05% basic_stringbuf | | | | | + 0.05% basic_ostream | | | | | + 0.05% basic_ios | | | | + 0.10% std::basic_ostringstream, std::allocator >::~basic_ostringstream | | | | | + 0.05% ~basic_stringbuf | | | | | + 0.05% ~basic_ios | | | | + 0.10% PrimaryLogPG::maybe_await_blocked_snapset | | | | | + 0.10% SharedLRU, std::hash >::lookup | | | | | + 0.05% ~Locker | | | | | + 0.05% Locker | | | | + 0.10% PrimaryLogPG::OpContext::OpContext | | | | | + 0.05% object_stat_sum_t | | | | | + 0.05% list | | | | + 0.10% PerfCounters::tinc | | | | + 0.05% ~shared_ptr | | | | + 0.05% ~intrusive_ptr | | | | + 0.05% mark_started | | | | + 0.05% hobject_t::~hobject_t | | | | + 0.05% ceph_clock_now | | | | + 0.05% PrimaryLogPG::maybe_handle_cache | | | | + 0.05% PrimaryLogPG::is_unreadable_object | | | | + 0.05% PrimaryLogPG::is_degraded_or_backfilling_object | | | | + 0.05% PGLog::IndexedLog::get_request | | | | + 0.05% PG::get_osdmap | | | | + 0.05% PG::check_in_progress_op | | | | + 0.05% OSD::init_op_flags | | | + 0.10% PG::can_discard_request | | | | + 0.10% PG::can_discard_op | | | | + 0.05% OSD::op_is_discardable | | | + 0.05% operator-> | | | + 0.05% get_priv | | | + 0.05% find | | | + 0.05% Session::check_backoff | | + 0.10% OSD::maybe_share_map | | | + 0.10% OSDService::share_map | | | + 0.05% OSDService::should_share_map | | + 0.05% mark_reached_pg | | + 0.05% get_priv | | + 0.05% ceph_clock_now | + 14.85% WaitInterval | | + 14.85% WaitUntil | | + 14.85% pthread_cond_timedwait@@GLIBC_2.3.2 | + 5.65% PG::lock | | + 5.65% Mutex::Lock | | + 5.65% __GI___pthread_mutex_lock | | + 5.65% _L_lock_791 | | + 5.65% __lll_lock_wait | + 0.15% WeightedPriorityQueue, entity_inst_t>::dequeue | | + 0.15% WeightedPriorityQueue, entity_inst_t>::Queue::pop | | + 0.05% ~pair | | + 0.05% pop | | + 0.05% pair | + 0.15% Mutex::Lock | | + 0.15% __GI___pthread_mutex_lock | | + 0.15% _L_lock_791 | | + 0.15% __lll_lock_wait | + 0.05% Mutex::Unlock + 0.05% read Thread: 99 (tp_osd_tp) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ShardedThreadPool::WorkThreadSharded::entry + 100.00% ShardedThreadPool::shardedthreadpool_worker + 99.95% OSD::ShardedOpWQ::_process | + 58.10% run | | + 58.10% apply_visitor, PGSnapTrim, PGScrub, PGRecovery> > | | + 58.10% apply_visitor | | + 58.10% internal_apply_visitor > | | + 58.10% internal_apply_visitor_impl, void*> | | + 58.10% visitation_impl, boost::detail::variant::visitation_impl_step, boost::intrusive_ptr, boost::mpl::l_item, PGSnapTrim, boost::mpl::l_item, PGScrub, boost::mpl::l_item, PGRecovery, boost::mpl::l_end> > > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, void*, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | | + 58.10% visitation_impl_invoke, void*, boost::intrusive_ptr, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | | + 58.10% visitation_impl_invoke_impl, void*, boost::intrusive_ptr > | | + 58.10% internal_visit > | | + 58.10% PGQueueable::RunVis::operator() | | + 58.10% OSD::dequeue_op | | + 58.00% PrimaryLogPG::do_request | | | + 57.85% PrimaryLogPG::do_op | | | | + 47.50% PrimaryLogPG::execute_ctx | | | | | + 45.65% PrimaryLogPG::issue_repop | | | | | | + 45.55% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr >&&, eversion_t const&, eversion_t const&, std::vector > const&, boost::optional&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr) | | | | | | | + 42.05% PrimaryLogPG::queue_transactions | | | | | | | | + 42.05% queue_transactions | | | | | | | | + 42.05% BlueStore::queue_transactions | | | | | | | | + 39.15% BlueStore::_txc_add_transaction | | | | | | | | | + 37.35% BlueStore::_write | | | | | | | | | | + 37.35% BlueStore::_do_write | | | | | | | | | | + 34.25% BlueStore::ExtentMap::fault_range | | | | | | | | | | | + 32.90% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | | | + 32.90% operator() | | | | | | | | | | | | + 32.90% BlueStore::ExtentMap::__lambda9::operator() | | | | | | | | | | | | + 32.90% RocksDBStore::get | | | | | | | | | | | | + 32.70% rocksdb::DB::Get | | | | | | | | | | | | | + 32.70% rocksdb::DB::Get | | | | | | | | | | | | | + 32.70% rocksdb::DBImpl::Get | | | | | | | | | | | | | + 32.70% rocksdb::DBImpl::GetImpl | | | | | | | | | | | | | + 32.15% rocksdb::Version::Get | | | | | | | | | | | | | | + 32.05% rocksdb::TableCache::Get | | | | | | | | | | | | | | | + 32.05% rocksdb::BlockBasedTable::Get | | | | | | | | | | | | | | | + 31.50% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | + 31.50% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | + 31.40% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | | | | | | + 30.65% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | | | | | | | + 30.50% rocksdb::ReadBlockContents | | | | | | | | | | | | | | | | | | | + 30.40% ReadBlock | | | | | | | | | | | | | | | | | | | | + 30.40% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | | | | | | | | + 30.35% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | | | | | | | | | + 30.35% read_random | | | | | | | | | | | | | | | | | | | | | + 30.35% BlueFS::_read_random | | | | | | | | | | | | | | | | | | | | | + 30.20% KernelDevice::read_random | | | | | | | | | | | | | | | | | | | | | + 30.20% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | | | | | | | | | + 30.00% pread | | | | | | | | | | | | | | | | | | | | | | + 30.00% pread64 | | | | | | | | | | | | | | | | | | | | | + 0.15% memcpy | | | | | | | | | | | | | | | | | | | | | | + 0.15% __memcpy_ssse3_back | | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::create_page_aligned | | | | | | | | | | | | | | | | | | | | + 0.05% operator= | | | | | | | | | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | | | | | | | | | + 0.05% tc_new | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::Block::Block(rocksdb::BlockContents&&, unsigned long, unsigned long, rocksdb::Statistics*) | | | | | | | | | | | | | | | | | + 0.55% rocksdb::BlockBasedTable::PutDataBlockToCache | | | | | | | | | | | | | | | | | | + 0.55% rocksdb::ShardedCache::Insert | | | | | | | | | | | | | | | | | | + 0.55% rocksdb::LRUCacheShard::Insert | | | | | | | | | | | | | | | | | | + 0.35% Free | | | | | | | | | | | | | | | | | | | + 0.35% rocksdb::(anonymous namespace)::DeleteCachedEntry | | | | | | | | | | | | | | | | | | | + 0.35% ~Block | | | | | | | | | | | | | | | | | | | + 0.25% ~BlockContents | | | | | | | | | | | | | | | | | | | | + 0.25% ~unique_ptr | | | | | | | | | | | | | | | | | | | | + 0.25% operator() | | | | | | | | | | | | | | | | | | | | + 0.25% tc_deletearray | | | | | | | | | | | | | | | | | | | | + 0.25% do_free | | | | | | | | | | | | | | | | | | | | + 0.25% do_free_with_callback | | | | | | | | | | | | | | | | | | | | + 0.25% do_free_helper | | | | | | | | | | | | | | | | | | | | + 0.15% Deallocate | | | | | | | | | | | | | | | | | | | | | + 0.15% Push | | | | | | | | | | | | | | | | | | | | | + 0.15% SLL_Push | | | | | | | | | | | | | | | | | | | | | + 0.15% SLL_SetNext | | | | | | | | | | | | | | | | | | | | + 0.05% CacheSizeClass | | | | | | | | | | | | | | | | | | | + 0.10% ~unique_ptr | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::LRUCacheShard::EvictFromLRU | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::LRUHandleTable::Remove | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::LRUHandleTable::FindPointer | | | | | | | | | | | | | | | | | | | | + 0.05% operator!= | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::LRU_Remove | | | | | | | | | | | | | | | | | | + 0.05% MutexLock | | | | | | | | | | | | | | | | | + 0.10% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::(anonymous namespace)::GetEntryFromCache | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::ShardedCache::Lookup | | | | | | | | | | | | | | | | | | + 0.05% HashSlice | | | | | | | | | | | | | | | | | + 0.05% rocksdb::Status::operator=(rocksdb::Status&&) | | | | | | | | | | | | | | | | + 0.05% rocksdb::Block::NewIterator | | | | | | | | | | | | | | | | + 0.05% operator= | | | | | | | | | | | | | | | + 0.40% rocksdb::BlockIter::Seek | | | | | | | | | | | | | | | | + 0.35% rocksdb::BlockIter::BinarySeek | | | | | | | | | | | | | | | | | + 0.15% DecodeEntry | | | | | | | | | | | | | | | | | + 0.10% Compare | | | | | | | | | | | | | | | | | + 0.10% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | | + 0.10% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | | | | + 0.10% compare | | | | | | | | | | | | | | | | | + 0.10% __memcmp_sse4_1 | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockIter::ParseNextKey | | | | | | | | | | | | | | | + 0.05% rocksdb::GetContext::SaveValue | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::NewIndexIterator | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::GetFilter | | | | | | | | | | | | | | + 0.10% FilePicker | | | | | | | | | | | | | | + 0.10% PrepareNextLevel | | | | | | | | | | | | | | + 0.05% rocksdb::(anonymous namespace)::FindFileInRange | | | | | | | | | | | | | + 0.50% Get | | | | | | | | | | | | | | + 0.50% rocksdb::MemTable::Get | | | | | | | | | | | | | | + 0.50% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | | | | | | + 0.50% Seek | | | | | | | | | | | | | | + 0.50% Seek | | | | | | | | | | | | | | + 0.50% rocksdb::InlineSkipList::FindGreaterOrEqual | | | | | | | | | | | | | | + 0.45% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | | | | | | | + 0.25% GetLengthPrefixedSlice | | | | | | | | | | | | | | | + 0.05% GetVarint32Ptr | | | | | | | | | | | | | | + 0.20% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | + 0.15% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | + 0.10% compare | | | | | | | | | | | | | | + 0.10% __memcmp_sse4_1 | | | | | | | | | | | | | + 0.05% rocksdb::DBImpl::ReturnAndCleanupSuperVersion | | | | | | | | | | | | + 0.10% append | | | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::append | | | | | | | | | | | | | + 0.10% maybe_inline_memcpy | | | | | | | | | | | | | + 0.10% memcpy | | | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | | | + 0.05% ceph_clock_now | | | | | | | | | | | + 1.25% BlueStore::ExtentMap::decode_some | | | | | | | | | | | | + 0.65% BlueStore::Blob::decode | | | | | | | | | | | | | + 0.65% denc > | | | | | | | | | | | | | + 0.65% decode | | | | | | | | | | | | | + 0.65% decode | | | | | | | | | | | | | + 0.40% get_ptr | | | | | | | | | | | | | | + 0.40% ceph::buffer::copy | | | | | | | | | | | | | | + 0.35% ceph::buffer::create_aligned | | | | | | | | | | | | | | + 0.30% create | | | | | | | | | | | | | | + 0.30% allocate_aligned | | | | | | | | | | | | | | + 0.30% tc_posix_memalign | | | | | | | | | | | | | | + 0.30% do_memalign_or_cpp_memalign | | | | | | | | | | | | | | + 0.30% (anonymous namespace)::do_memalign | | | | | | | | | | | | | | + 0.30% do_malloc | | | | | | | | | | | | | | + 0.30% do_malloc_no_errno | | | | | | | | | | | | | | + 0.30% do_malloc_small | | | | | | | | | | | | | | + 0.30% Allocate | | | | | | | | | | | | | | + 0.15% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | + 0.15% Pop | | | | | | | | | | | | | | + 0.15% SLL_Pop | | | | | | | | | | | | | + 0.25% denc >, denc_traits > > > | | | | | | | | | | | | | + 0.25% decode | | | | | | | | | | | | | + 0.15% resize | | | | | | | | | | | | | | + 0.15% std::vector >::_M_default_append | | | | | | | | | | | | | | + 0.10% _M_allocate | | | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | | | | | + 0.05% operator+= | | | | | | | | | | | | | | + 0.05% __uninitialized_default_n_a > | | | | | | | | | | | | | + 0.10% denc > | | | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | | | + 0.10% _denc_friend | | | | | | | | | | | | | + 0.10% denc_lba | | | | | | | | | | | | | + 0.05% get_pos_add | | | | | | | | | | | | + 0.25% insert | | | | | | | | | | | | | + 0.25% boost::intrusive::bstree_impl, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, void, void, unsigned long, true, (boost::intrusive::algo_types)5, void>::insert_unique | | | | | | | | | | | | | + 0.15% insert_unique_commit | | | | | | | | | | | | | | + 0.05% operator-- | | | | | | | | | | | | | | + 0.05% operator++ | | | | | | | | | | | | | | + 0.05% insert_unique_commit | | | | | | | | | | | | | + 0.10% insert_unique_check, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | | | + 0.05% get_right | | | | | | | | | | | | + 0.20% BlueStore::Collection::open_shared_blob | | | | | | | | | | | | | + 0.05% operator= | | | | | | | | | | | | | + 0.05% operator-> | | | | | | | | | | | | | + 0.05% SharedBlob | | | | | | | | | | | | | + 0.05% BlueStore::SharedBlob::operator new | | | | | | | | | | | | + 0.05% std::vector, std::allocator > >::~vector | | | | | | | | | | | | + 0.05% BlueStore::Extent::operator new | | | | | | | | | | | | + 0.05% BlueStore::Blob::operator new | | | | | | | | | | | + 0.05% ~list | | | | | | | | | | | + 0.05% ~function | | | | | | | | | | + 2.05% BlueStore::_do_alloc_write | | | | | | | | | | | + 1.35% BitMapAllocator::allocate | | | | | | | | | | | | + 1.35% BitMapAllocator::allocate_dis | | | | | | | | | | | | + 1.35% BitAllocator::alloc_blocks_dis_res | | | | | | | | | | | | + 1.35% BitAllocator::alloc_blocks_dis_work | | | | | | | | | | | | + 1.35% BitAllocator::alloc_blocks_dis_int | | | | | | | | | | | | + 1.35% BitMapAreaIN::alloc_blocks_dis_int_work | | | | | | | | | | | | + 0.85% BitAllocator::child_check_n_lock | | | | | | | | | | | | | + 0.65% BitMapAreaIN::is_exhausted | | | | | | | | | | | | | + 0.55% BitMapAreaIN::get_used_blocks | | | | | | | | | | | | | + 0.25% ~lock_guard | | | | | | | | | | | | | | + 0.25% unlock | | | | | | | | | | | | | | + 0.25% __gthread_mutex_unlock | | | | | | | | | | | | | | + 0.25% __GI___pthread_mutex_unlock | | | | | | | | | | | | | | + 0.25% __pthread_mutex_unlock_usercnt | | | | | | | | | | | | | | + 0.05% _L_unlock_697 | | | | | | | | | | | | | + 0.25% lock_guard | | | | | | | | | | | | | + 0.25% lock | | | | | | | | | | | | | + 0.25% __gthread_mutex_lock | | | | | | | | | | | | | + 0.25% __GI___pthread_mutex_lock | | | | | | | | | | | | + 0.40% BitMapAreaIN::alloc_blocks_dis | | | | | | | | | | | | | + 0.30% BitMapAreaLeaf::alloc_blocks_dis_int | | | | | | | | | | | | | | + 0.15% child_check_n_lock | | | | | | | | | | | | | | + 0.10% BitMapZone::alloc_blocks_dis | | | | | | | | | | | | | | + 0.10% BitMapZone::check_locked | | | | | | | | | | | | | | + 0.10% BitMapZone::lock_excl_try | | | | | | | | | | | | | | + 0.10% try_lock | | | | | | | | | | | | | | + 0.10% __gthread_mutex_trylock | | | | | | | | | | | | | | + 0.10% __pthread_mutex_trylock | | | | | | | | | | | | | + 0.05% BitMapAreaIN::add_used_blocks | | | | | | | | | | | | + 0.05% BitAllocator::child_unlock | | | | | | | | | | | + 0.30% map_bl | | | | | | | | | | | | + 0.25% operator() | | | | | | | | | | | | | + 0.25% KernelDevice::aio_write | | | | | | | | | | | | | + 0.20% push_back | | | | | | | | | | | | | | + 0.20% _M_insert | | | | | | | | | | | | | | + 0.15% _M_create_node | | | | | | | | | | | | | | | + 0.15% construct, aio_t> | | | | | | | | | | | | | | | + 0.15% _List_node | | | | | | | | | | | | | | | + 0.15% aio_t | | | | | | | | | | | | | | | + 0.15% ceph::buffer::list::list(ceph::buffer::list&&) | | | | | | | | | | | | | | | + 0.05% clear | | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::iterator_impl | | | | | | | | | | | | | | + 0.05% std::__detail::_List_node_base::_M_hook | | | | | | | | | | | | | + 0.05% ceph::buffer::list::claim_append | | | | | | | | | | | | + 0.05% list | | | | | | | | | | | + 0.20% _buffer_cache_write | | | | | | | | | | | | + 0.20% write | | | | | | | | | | | | + 0.10% BlueStore::BufferSpace::_discard | | | | | | | | | | | | | + 0.05% _data_lower_bound | | | | | | | | | | | | + 0.05% ~lock_guard | | | | | | | | | | | | + 0.05% _add_buffer | | | | | | | | | | | + 0.10% bluestore_blob_t::allocated | | | | | | | | | | | + 0.05% bluestore_blob_t::calc_csum | | | | | | | | | | + 0.75% BlueStore::_do_write_data | | | | | | | | | | | + 0.70% BlueStore::_do_write_big | | | | | | | | | | | | + 0.50% BlueStore::ExtentMap::punch_hole | | | | | | | | | | | | | + 0.25% BlueStore::OldExtent::create | | | | | | | | | | | | | | + 0.15% BlueStore::Blob::put_ref | | | | | | | | | | | | | | | + 0.10% bluestore_blob_t::release_extents | | | | | | | | | | | | | | | + 0.05% ~vecbuilder | | | | | | | | | | | | | | | + 0.05% flush | | | | | | | | | | | | | | + 0.10% OldExtent | | | | | | | | | | | | | | + 0.10% Extent | | | | | | | | | | | | | | + 0.10% assign_blob | | | | | | | | | | | | | | + 0.05% operator= | | | | | | | | | | | | | | + 0.05% get_cache | | | | | | | | | | | | | + 0.20% BlueStore::ExtentMap::seek_lextent | | | | | | | | | | | | | | + 0.15% lower_bound | | | | | | | | | | | | | | | + 0.15% lower_bound > | | | | | | | | | | | | | | | + 0.15% lower_bound, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | | | | | + 0.15% lower_bound_loop, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | | | | | + 0.10% get_right | | | | | | | | | | | | | | + 0.05% operator-- | | | | | | | | | | | | | + 0.05% BlueStore::ExtentMap::add | | | | | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | | | | | | + 0.05% write | | | | | | | | | | | | + 0.05% operator= | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | | | | + 0.20% BlueStore::_wctx_finish | | | | | | | | | | | + 0.10% ~OldExtent | | | | | | | | | | | | + 0.05% ~list_member_hook | | | | | | | | | | | | + 0.05% BlueStore::Extent::~Extent | | | | | | | | | | | + 0.05% interval_set::insert | | | | | | | | | | + 0.05% BlueStore::ExtentMap::compress_extent_map | | | | | | | | | + 0.90% BlueStore::_omap_setkeys | | | | | | | | | | + 0.70% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | + 0.45% Put | | | | | | | | | | | | + 0.45% rocksdb::WriteBatch::Put | | | | | | | | | | | | + 0.45% rocksdb::WriteBatchInternal::Put | | | | | | | | | | | | + 0.25% push_back | | | | | | | | | | | | | + 0.25% std::string::reserve | | | | | | | | | | | | | + 0.15% std::string::_Rep::_M_clone | | | | | | | | | | | | | | + 0.10% std::string::_Rep::_S_create | | | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | | | + 0.05% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | + 0.05% Pop | | | | | | | | | | | | | | + 0.05% _M_copy | | | | | | | | | | | | | + 0.05% _M_dispose | | | | | | | | | | | | + 0.20% PutLengthPrefixedSlice | | | | | | | | | | | | + 0.15% std::string::append | | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_clone | | | | | | | | | | | | | | + 0.05% _M_dispose | | | | | | | | | | | | | + 0.05% _M_copy | | | | | | | | | | | | + 0.05% PutVarint32 | | | | | | | | | | | + 0.15% ceph::buffer::list::c_str | | | | | | | | | | | | + 0.15% ceph::buffer::list::rebuild | | | | | | | | | | | | + 0.10% ceph::buffer::create | | | | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | | | + 0.10% create | | | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | | | + 0.05% pick_a_shard | | | | | | | | | | | | + 0.05% ceph::buffer::list::rebuild | | | | | | | | | | | + 0.10% ceph::buffer::list::list | | | | | | | | | | | + 0.10% list | | | | | | | | | | | + 0.10% _M_initialize_dispatch > | | | | | | | | | | | + 0.10% emplace_back | | | | | | | | | | | + 0.10% _M_insert | | | | | | | | | | | + 0.10% _M_create_node | | | | | | | | | | | + 0.10% _M_get_node | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | + 0.10% decode | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator::copy | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | + 0.05% push_back | | | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | | + 0.05% resize | | | | | | | | | | + 0.05% _key_encode_u64 > | | | | | | | | | + 0.25% BlueStore::_get_collection | | | | | | | | | | + 0.15% find | | | | | | | | | | | + 0.15% find | | | | | | | | | | | + 0.05% _M_hash_code | | | | | | | | | | | + 0.05% _M_find_node | | | | | | | | | | | + 0.05% _M_bucket_index | | | | | | | | | | + 0.05% ~RLocker | | | | | | | | | | + 0.05% RLocker | | | | | | | | | + 0.15% decode_attrset_bl | | | | | | | | | | + 0.15% decode_str_str_map_to_bl | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::advance | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | + 0.15% decode_attrset | | | | | | | | | | + 0.15% decode, std::allocator > >, denc_traits, std::allocator > >, void> > | | | | | | | | | | + 0.10% ceph::buffer::list::iterator::copy_shallow | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy_shallow | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | + 0.05% decode | | | | | | | | | + 0.15% begin | | | | | | | | | | + 0.15% iterator | | | | | | | | | | + 0.05% vector | | | | | | | | | | + 0.05% operator= | | | | | | | | | | + 0.05% ceph::buffer::list::get_contiguous | | | | | | | | | + 0.10% BlueStore::_setattrs | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | + 0.05% operator[] | | | | | | | | | + 0.05% ~map | | | | | | | | | + 0.05% ~iterator | | | | | | | | + 1.05% BlueStore::_txc_write_nodes | | | | | | | | | + 0.70% BlueStore::ExtentMap::update | | | | | | | | | | + 0.45% BlueStore::ExtentMap::encode_some | | | | | | | | | | | + 0.20% encode | | | | | | | | | | | | + 0.20% denc > | | | | | | | | | | | | + 0.20% encode | | | | | | | | | | | | + 0.20% encode | | | | | | | | | | | | + 0.10% denc >, denc_traits > > > | | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | | + 0.05% denc_varint | | | | | | | | | | | | + 0.05% memcpy | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::c_str | | | | | | | | | | | + 0.05% operator++ | | | | | | | | | | + 0.25% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | + 0.20% operator() | | | | | | | | | | | + 0.20% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | + 0.10% combine_strings | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | + 0.10% std::string::_Rep::_M_clone | | | | | | | | | | | | + 0.10% std::string::_Rep::_S_create | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | | + 0.05% Put | | | | | | | | | | + 0.05% get_extent_shard_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | | + 0.10% get_contiguous_appender | | | | | | | | | | + 0.10% ceph::buffer::list::contiguous_appender::contiguous_appender | | | | | | | | | | + 0.10% ceph::buffer::create | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | + 0.10% create | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | + 0.05% tc_posix_memalign | | | | | | | | | + 0.10% denc > | | | | | | | | | | + 0.10% encode | | | | | | | | | | + 0.10% encode | | | | | | | | | | + 0.10% _denc_friend | | | | | | | | | | + 0.10% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | | | + 0.10% encode, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr> > | | | | | | | | | | + 0.10% encode_nohead, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr> > | | | | | | | | | | + 0.10% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | | | + 0.10% encode, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | | | + 0.10% denc > | | | | | | | | | | + 0.10% encode | | | | | | | | | | + 0.10% append | | | | | | | | | | + 0.10% ceph::buffer::list::contiguous_appender::append | | | | | | | | | | + 0.10% maybe_inline_memcpy | | | | | | | | | | + 0.10% memcpy | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | + 0.10% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | + 0.05% combine_strings | | | | | | | | | + 0.05% ~list | | | | | | | | + 0.75% BlueStore::_txc_state_proc | | | | | | | | | + 0.65% BlueStore::_txc_aio_submit | | | | | | | | | | + 0.65% KernelDevice::aio_submit | | | | | | | | | | + 0.65% aio_queue_t::submit | | | | | | | | | | + 0.65% io_submit | | | | | | | | | + 0.05% log_state_latency | | | | | | | | + 0.45% BlueStore::_txc_finalize_kv | | | | | | | | | + 0.30% BitmapFreelistManager::allocate | | | | | | | | | | + 0.25% BitmapFreelistManager::_xor | | | | | | | | | | | + 0.15% RocksDBStore::RocksDBTransactionImpl::merge | | | | | | | | | | | | + 0.10% Merge | | | | | | | | | | | | | + 0.10% rocksdb::WriteBatch::Merge | | | | | | | | | | | | | + 0.10% rocksdb::WriteBatchInternal::Merge | | | | | | | | | | | | + 0.05% combine_strings | | | | | | | | | | | + 0.05% ~list | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | + 0.05% shared_ptr | | | | | | | | | + 0.15% BitmapFreelistManager::release | | | | | | | | | + 0.15% BitmapFreelistManager::_xor | | | | | | | | | + 0.15% RocksDBStore::RocksDBTransactionImpl::merge | | | | | | | | | + 0.10% Merge | | | | | | | | | + 0.10% rocksdb::WriteBatch::Merge | | | | | | | | | + 0.10% rocksdb::WriteBatchInternal::Merge | | | | | | | | | + 0.10% PutLengthPrefixedSlice | | | | | | | | | + 0.05% std::string::append | | | | | | | | | + 0.05% PutVarint32 | | | | | | | | + 0.35% Throttle::get | | | | | | | | | + 0.10% ~Locker | | | | | | | | | | + 0.10% Mutex::Unlock | | | | | | | | | + 0.10% PerfCounters::inc | | | | | | | | | + 0.05% Throttle::_wait | | | | | | | | | + 0.05% PerfCounters::set | | | | | | | | | + 0.05% Locker | | | | | | | | + 0.15% BlueStore::_txc_create | | | | | | | | | + 0.10% RocksDBStore::get_transaction | | | | | | | | | | + 0.10% make_shared | | | | | | | | | | + 0.10% allocate_shared, RocksDBStore* const> | | | | | | | | | | + 0.10% shared_ptr, RocksDBStore* const> | | | | | | | | | | + 0.10% __shared_ptr, RocksDBStore* const> | | | | | | | | | | + 0.10% __shared_count, RocksDBStore* const> | | | | | | | | | | + 0.10% construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | | | + 0.10% _S_construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | | | + 0.10% construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | | | + 0.10% _Sp_counted_ptr_inplace | | | | | | | | | | + 0.10% construct | | | | | | | | | | + 0.10% _S_construct | | | | | | | | | | + 0.10% construct | | | | | | | | | | + 0.10% RocksDBStore::RocksDBTransactionImpl::RocksDBTransactionImpl | | | | | | | | | | + 0.10% rocksdb::WriteBatch::WriteBatch | | | | | | | | | | + 0.05% std::string::reserve | | | | | | | | | | + 0.05% resize | | | | | | | | | + 0.05% queue_new | | | | | | | | + 0.05% collect_contexts | | | | | | | | + 0.05% PerfCounters::tinc | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | + 1.90% PrimaryLogPG::log_operation | | | | | | | | + 1.90% PG::append_log | | | | | | | | + 1.25% PG::write_if_dirty | | | | | | | | | + 0.55% PG::prepare_write_info | | | | | | | | | | + 0.50% PG::_prepare_write_info | | | | | | | | | | | + 0.20% encode | | | | | | | | | | | | + 0.15% pg_fast_info_t::encode | | | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | | + 0.05% encode_raw | | | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | | | + 0.05% encode | | | | | | | | | | | | + 0.05% pg_info_t::encode | | | | | | | | | | | + 0.15% operator== | | | | | | | | | | | | + 0.15% operator== | | | | | | | | | | | | + 0.10% interval_set::operator== | | | | | | | | | | | | + 0.10% operator==, std::allocator > > | | | | | | | | | | | | + 0.10% operator==, std::_Select1st >, std::less, std::allocator > > | | | | | | | | | | | | + 0.10% equal >, std::_Rb_tree_const_iterator > > | | | | | | | | | | | | + 0.10% __equal_aux >, std::_Rb_tree_const_iterator > > | | | | | | | | | | | | + 0.10% equal >, std::_Rb_tree_const_iterator > > | | | | | | | | | | | | + 0.10% operator== | | | | | | | | | | | + 0.10% PerfCounters::inc | | | | | | | | | | | + 0.05% std::map, std::allocator > >::operator[] | | | | | | | | | | + 0.05% ~shared_ptr | | | | | | | | | + 0.45% PGLog::write_log_and_missing | | | | | | | | | | + 0.45% PGLog::_write_log_and_missing | | | | | | | | | | + 0.25% pg_log_entry_t::encode_with_checksum | | | | | | | | | | | + 0.20% pg_log_entry_t::encode | | | | | | | | | | | | + 0.20% encode | | | | | | | | | | | | + 0.05% hobject_t::encode | | | | | | | | | | | | + 0.05% encode_raw | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | | + 0.05% ObjectModDesc::encode | | | | | | | | | | | + 0.05% encode | | | | | | | | | | + 0.05% std::map, std::allocator > >::operator[](std::string&&) | | | | | | | | | | + 0.05% insert | | | | | | | | | | + 0.05% eversion_t::get_key_name | | | | | | | | | + 0.25% omap_setkeys | | | | | | | | | + 0.20% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | + 0.20% encode, ceph::buffer::list> > | | | | | | | | | | + 0.20% encode_nohead, ceph::buffer::list> > | | | | | | | | | | + 0.20% denc, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | + 0.20% encode > | | | | | | | | | | + 0.20% denc > | | | | | | | | | | + 0.20% encode | | | | | | | | | | + 0.20% append | | | | | | | | | | + 0.10% flush_and_continue | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | + 0.05% push_back | | | | | | | | | + 0.05% _get_object_id | | | | | | | | + 0.40% PGLog::trim | | | | | | | | | + 0.40% PGLog::IndexedLog::trim | | | | | | | | | + 0.20% unindex | | | | | | | | | | + 0.20% count | | | | | | | | | | + 0.20% std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::count | | | | | | | | | | + 0.05% _M_bucket_index | | | | | | | | | | + 0.05% _M_bucket_begin | | | | | | | | | + 0.15% insert | | | | | | | | | | + 0.15% std::_Rb_tree, std::less, std::allocator >::_M_insert_unique | | | | | | | | | | + 0.15% _M_insert_ | | | | | | | | | | + 0.15% _M_create_node | | | | | | | | | | + 0.15% _M_get_node | | | | | | | | | | + 0.15% allocate | | | | | | | | | | + 0.15% tc_new | | | | | | | | | | + 0.15% cpp_alloc | | | | | | | | | | + 0.15% do_malloc_no_errno | | | | | | | | | | + 0.15% do_malloc_small | | | | | | | | | | + 0.15% Allocate | | | | | | | | | | + 0.15% Pop | | | | | | | | | | + 0.15% SLL_Pop | | | | | | | | | + 0.05% pop_front | | | | | | | | + 0.20% PG::add_log_entry | | | | | | | | | + 0.20% add | | | | | | | | | + 0.20% PGLog::IndexedLog::add | | | | | | | | | + 0.15% push_back | | | | | | | | | | + 0.15% _M_insert | | | | | | | | | | + 0.15% _M_create_node | | | | | | | | | | + 0.10% construct, pg_log_entry_t const&> | | | | | | | | | | | + 0.10% _List_node | | | | | | | | | | | + 0.10% pg_log_entry_t::pg_log_entry_t | | | | | | | | | | | + 0.10% hobject_t::hobject_t | | | | | | | | | | | + 0.10% object_t | | | | | | | | | | | + 0.10% std::basic_string, std::allocator >::basic_string | | | | | | | | | | | + 0.10% _M_grab | | | | | | | | | | | + 0.10% _M_refcopy | | | | | | | | | | | + 0.10% __atomic_add_dispatch | | | | | | | | | | | + 0.10% __atomic_add | | | | | | | | | | + 0.05% _M_get_node | | | | | | | | | + 0.05% operator[] | | | | | | | | + 0.05% PGLog::IndexedLog::trim | | | | | | | + 0.50% generate_transaction | | | | | | | | + 0.50% PGTransaction::safe_create_traverse&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26>() | | | | | | | | + 0.50% operator() | | | | | | | | + 0.30% ObjectStore::Transaction::setattrs | | | | | | | | | + 0.15% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | + 0.15% encode, ceph::buffer::list> > | | | | | | | | | | + 0.15% encode_nohead, ceph::buffer::list> > | | | | | | | | | | + 0.10% pair const, ceph::buffer::list, void> | | | | | | | | | | | + 0.10% ceph::buffer::list::list | | | | | | | | | | | + 0.05% list | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | | | | + 0.05% denc, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_object_id | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_next_op | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_coll_id | | | | | | | | + 0.10% std::map, std::allocator > >::operator[] | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | | + 0.05% lower_bound | | | | | | | | + 0.05% ~map | | | | | | | | + 0.05% match, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> | | | | | | | + 0.45% ~unique_ptr | | | | | | | | + 0.40% operator() | | | | | | | | + 0.40% ~PGTransaction | | | | | | | | + 0.40% ~map | | | | | | | | + 0.40% ~_Rb_tree | | | | | | | | + 0.25% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | + 0.20% _M_destroy_node | | | | | | | | | | + 0.20% destroy > > | | | | | | | | | | + 0.20% ~_Rb_tree_node | | | | | | | | | | + 0.20% ~pair | | | | | | | | | | + 0.20% ~ObjectOperation | | | | | | | | | | + 0.15% ~map | | | | | | | | | | | + 0.15% ~_Rb_tree | | | | | | | | | | | + 0.15% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase | | | | | | | | | | | + 0.10% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase | | | | | | | | | | | | + 0.10% _M_destroy_node | | | | | | | | | | | | + 0.10% destroy const, boost::optional > > > | | | | | | | | | | | | + 0.10% ~_Rb_tree_node | | | | | | | | | | | | + 0.10% ~pair | | | | | | | | | | | | + 0.10% ~optional | | | | | | | | | | | | + 0.10% ~optional_base | | | | | | | | | | | | + 0.10% destroy | | | | | | | | | | | | + 0.10% destroy_impl | | | | | | | | | | | | + 0.10% ~list | | | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | | | | + 0.05% ~list | | | | | | | | | | | + 0.05% _M_destroy_node | | | | | | | | | | + 0.05% ~interval_map | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | + 0.15% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase | | | | | | | | + 0.10% _M_destroy_node | | | | | | | | + 0.10% destroy > > > | | | | | | | | + 0.10% ~_Rb_tree_node | | | | | | | | + 0.10% ~pair | | | | | | | | + 0.05% ~shared_ptr | | | | | | | | + 0.05% hobject_t::~hobject_t | | | | | | | + 0.20% ~vector | | | | | | | | + 0.20% _Destroy | | | | | | | | + 0.20% _Destroy | | | | | | | | + 0.20% __destroy | | | | | | | | + 0.20% _Destroy | | | | | | | | + 0.20% ObjectStore::Transaction::~Transaction | | | | | | | | + 0.20% ~list | | | | | | | | + 0.20% ~list | | | | | | | | + 0.20% ~_List_base | | | | | | | | + 0.20% std::_List_base >::_M_clear | | | | | | | | + 0.10% destroy > | | | | | | | | | + 0.10% ~_List_node | | | | | | | | | + 0.10% ~ptr | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | + 0.05% dec | | | | | | | | + 0.10% _M_put_node | | | | | | | | + 0.10% deallocate | | | | | | | | + 0.10% tc_delete | | | | | | | | + 0.10% do_free | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | + 0.10% do_free_helper | | | | | | | | + 0.05% Deallocate | | | | | | | | + 0.05% CacheSizeClass | | | | | | | + 0.10% vector | | | | | | | | + 0.10% __uninitialized_copy_a<__gnu_cxx::__normal_iterator >, pg_log_entry_t*, pg_log_entry_t> | | | | | | | | + 0.10% uninitialized_copy<__gnu_cxx::__normal_iterator >, pg_log_entry_t*> | | | | | | | | + 0.10% __uninit_copy<__gnu_cxx::__normal_iterator >, pg_log_entry_t*> | | | | | | | | + 0.10% _Construct | | | | | | | | + 0.10% pg_log_entry_t | | | | | | | | + 0.05% ceph::buffer::list::list | | | | | | | + 0.10% insert > | | | | | | | | + 0.10% std::_Rb_tree, std::less, std::allocator >::_M_insert_unique > | | | | | | | | + 0.05% operator++ | | | | | | | | + 0.05% _M_insert_unique_ | | | | | | | + 0.05% push_back | | | | | | | + 0.05% get_osdmap | | | | | | | + 0.05% PrimaryLogPG::apply_stats | | | | | | | + 0.05% ObjectStore::Transaction::Transaction | | | | | | + 0.05% add | | | | | | + 0.05% PGTransaction::add_obc | | | | | + 1.55% PrimaryLogPG::prepare_transaction | | | | | | + 1.20% PrimaryLogPG::finish_ctx | | | | | | | + 0.55% encode | | | | | | | | + 0.30% object_info_t::encode | | | | | | | | | + 0.25% encode | | | | | | | | | | + 0.10% encode_raw | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | + 0.05% ceph::buffer::ptr::append | | | | | | | | | | + 0.05% object_locator_t::encode | | | | | | | | | | + 0.05% hobject_t::encode | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | + 0.05% object_locator_t | | | | | | | | + 0.25% SnapSet::encode | | | | | | | | + 0.15% encode, denc_traits, void> > | | | | | | | | | + 0.05% ceph::buffer::list::contiguous_appender::~contiguous_appender | | | | | | | | | + 0.05% bound_encode | | | | | | | | + 0.05% encode | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | + 0.25% OSDMap::get_features | | | | | | | | + 0.05% operator==, std::allocator > | | | | | | | | + 0.05% has_nondefault_tunables | | | | | | | | + 0.05% find | | | | | | | | + 0.05% CrushWrapper::is_v3_rule | | | | | | | | + 0.05% CrushWrapper::has_incompat_choose_args | | | | | | | + 0.10% push_back | | | | | | | | + 0.10% std::vector >::emplace_back(pg_log_entry_t&&) | | | | | | | | + 0.05% std::vector >::_M_emplace_back_aux(pg_log_entry_t&&) | | | | | | | + 0.10% PGTransaction::setattrs | | | | | | | | + 0.05% operator[] | | | | | | | | + 0.05% PGTransaction::get_object_op_for_modify | | | | | | | + 0.05% ~map | | | | | | | + 0.05% std::map, std::allocator > >::operator[](std::string&&) | | | | | | | + 0.05% pg_log_entry_t::~pg_log_entry_t | | | | | | | + 0.05% list | | | | | | + 0.25% PrimaryLogPG::do_osd_ops | | | | | | | + 0.15% PGTransaction::write | | | | | | | | + 0.05% interval_map, PGTransaction::ObjectOperation::SplitMerger>::insert(unsigned long, unsigned long, boost::variant&&) | | | | | | | | + 0.05% ceph::buffer::list::list | | | | | | | + 0.05% operator unsigned long long | | | | | | | + 0.05% PrimaryLogPG::write_update_size_and_usage | | | | | | + 0.10% PrimaryLogPG::make_writeable | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | | + 0.05% register_on_success | | | | | + 0.05% PrimaryLogPG::new_repop | | | | | + 0.05% PrimaryLogPG::calc_trim_to | | | | | + 0.05% PG::get_osdmap | | | | | + 0.05% PG::get_next_version | | | | | + 0.05% MOSDOpReply::MOSDOpReply | | | | + 8.05% PrimaryLogPG::find_object_context | | | | | + 7.95% PrimaryLogPG::get_object_context | | | | | + 6.25% PGBackend::objects_get_attr | | | | | | + 6.25% BlueStore::getattr | | | | | | + 6.10% BlueStore::Collection::get_onode | | | | | | | + 5.75% RocksDBStore::get | | | | | | | | + 5.75% rocksdb::DB::Get | | | | | | | | + 5.75% rocksdb::DB::Get | | | | | | | | + 5.75% rocksdb::DBImpl::Get | | | | | | | | + 5.75% rocksdb::DBImpl::GetImpl | | | | | | | | + 5.75% rocksdb::Version::Get | | | | | | | | + 5.70% rocksdb::TableCache::Get | | | | | | | | | + 5.70% rocksdb::BlockBasedTable::Get | | | | | | | | | + 5.60% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | + 5.60% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | + 5.60% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | + 5.60% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | + 5.60% rocksdb::ReadBlockContents | | | | | | | | | | + 5.60% ReadBlock | | | | | | | | | | + 5.60% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | + 5.60% BlueRocksRandomAccessFile::Read | | | | | | | | | | + 5.60% read_random | | | | | | | | | | + 5.60% BlueFS::_read_random | | | | | | | | | | + 5.60% KernelDevice::read_random | | | | | | | | | | + 5.60% KernelDevice::direct_read_unaligned | | | | | | | | | | + 5.60% pread | | | | | | | | | | + 5.60% pread64 | | | | | | | | | + 0.05% rocksdb::BlockIter::status | | | | | | | | | + 0.05% rocksdb::BlockIter::Seek | | | | | | | | + 0.05% GetNextFile | | | | | | | + 0.15% BlueStore::OnodeSpace::lookup | | | | | | | | + 0.15% BlueStore::TwoQCache::_touch_onode | | | | | | | | + 0.10% iterator_to | | | | | | | | | + 0.05% inited | | | | | | | | + 0.05% erase | | | | | | | + 0.10% decode | | | | | | | | + 0.10% _denc_friend | | | | | | | | + 0.05% denc, denc_traits, void> > | | | | | | | | + 0.05% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | + 0.05% get_object_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | + 0.05% BlueStore::OnodeSpace::add | | | | | | + 0.05% ceph::buffer::ptr::operator= | | | | | + 1.25% SharedLRU, std::hash >::lookup_or_create | | | | | | + 0.80% ~list | | | | | | | + 0.80% ~_List_base | | | | | | | + 0.80% std::_List_base, std::allocator > >::_M_clear | | | | | | | + 0.80% destroy > > | | | | | | | + 0.80% ~_List_node | | | | | | | + 0.80% ~shared_ptr | | | | | | | + 0.80% ~__shared_ptr | | | | | | | + 0.80% ~__shared_count | | | | | | | + 0.80% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | | | | | | | + 0.70% std::_Sp_counted_deleter, std::hash >::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2>::_M_dispose | | | | | | | | + 0.70% operator() | | | | | | | | + 0.55% ~ObjectContext | | | | | | | | | + 0.30% Context::complete | | | | | | | | | | + 0.30% PrimaryLogPG::put_snapset_context | | | | | | | | | | + 0.20% erase | | | | | | | | | | | + 0.20% erase | | | | | | | | | | | + 0.15% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::equal_range | | | | | | | | | | | | + 0.15% operator() | | | | | | | | | | | | + 0.15% operator< | | | | | | | | | | | | + 0.15% cmp | | | | | | | | | | | | + 0.05% operator< , std::allocator > | | | | | | | | | | | | + 0.05% operator< | | | | | | | | | | | + 0.05% erase | | | | | | | | | | + 0.05% Locker | | | | | | | | | + 0.10% ~Cond | | | | | | | | | | + 0.10% __pthread_cond_destroy | | | | | | | | | + 0.05% tc_delete | | | | | | | | | + 0.05% PrimaryLogPG::C_PG_ObjectContext::~C_PG_ObjectContext | | | | | | | | + 0.15% remove | | | | | | | | + 0.10% find | | | | | | | | | + 0.10% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::find | | | | | | | | | + 0.10% _M_lower_bound | | | | | | | | | + 0.10% operator() | | | | | | | | | + 0.10% operator< | | | | | | | | | + 0.10% cmp | | | | | | | | + 0.05% erase | | | | | | | + 0.05% tc_delete | | | | | | | + 0.05% __exchange_and_add_dispatch | | | | | | + 0.15% insert, ObjectContext*> >, void> | | | | | | | + 0.15% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::_M_insert_unique, ObjectContext*> > >(std::pair, ObjectContext*> >&&) | | | | | | | + 0.10% _M_get_insert_unique_pos | | | | | | | | + 0.05% operator-- | | | | | | | | + 0.05% operator() | | | | | | | + 0.05% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::_M_insert_, ObjectContext*> > >(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair, ObjectContext*> >&&) | | | | | | + 0.10% SharedLRU, std::hash >::lru_add | | | | | | | + 0.05% trim_cache | | | | | | | + 0.05% find | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | + 0.05% shared_ptr::Cleanup> | | | | | | + 0.05% Mutex::Mutex | | | | | | + 0.05% Cond | | | | | + 0.15% decode | | | | | | + 0.15% object_info_t::decode | | | | | | + 0.10% decode | | | | | | | + 0.05% hobject_t::decode | | | | | | | + 0.05% decode_raw > | | | | | | + 0.05% decode > | | | | | + 0.15% PrimaryLogPG::get_snapset_context | | | | | | + 0.05% hobject_t::~hobject_t | | | | | | + 0.05% SnapSet::decode | | | | | | + 0.05% PGBackend::objects_get_attr | | | | | + 0.05% pg_missing_set::is_missing | | | | | + 0.05% object_info_t | | | | | + 0.05% PerfCounters::inc | | | | + 0.50% OSDService::check_failsafe_full | | | | | + 0.50% OSDService::_check_full | | | | | + 0.35% operator<< | | | | | | + 0.35% std::ostream::_M_insert | | | | | | + 0.35% put | | | | | | + 0.35% std::num_put > >::do_put | | | | | | + 0.35% std::num_put > >::_M_insert_float | | | | | | + 0.25% std::__convert_from_v | | | | | | | + 0.25% _IO_vsnprintf | | | | | | | + 0.25% _IO_vfprintf_internal | | | | | | | + 0.15% ___printf_fp | | | | | | | | + 0.10% __strlen_sse2 | | | | | | | + 0.10% tc_free | | | | | | | + 0.05% do_free | | | | | | + 0.05% widen | | | | | | + 0.05% std::use_facet > | | | | | + 0.10% Locker | | | | | | + 0.10% Mutex::Lock | | | | | | + 0.05% __GI___pthread_mutex_lock | | | | | + 0.05% operator<< > | | | | + 0.40% finish_decode | | | | | + 0.25% std::vector >::resize | | | | | | + 0.25% std::vector >::_M_default_append | | | | | | + 0.15% __uninitialized_default_n_a | | | | | | | + 0.15% __uninitialized_default_n | | | | | | | + 0.15% std::__uninitialized_default_n_1::__uninit_default_n | | | | | | | + 0.15% _Construct | | | | | | | + 0.10% list | | | | | | | | + 0.05% ptr | | | | | | | | + 0.05% list | | | | | | | + 0.05% memset | | | | | | + 0.05% _M_check_len | | | | | | + 0.05% _M_allocate | | | | | + 0.05% ~object_locator_t | | | | | + 0.05% decode | | | | | + 0.05% OSDOp::split_osd_op_vector_in_data | | | | + 0.25% clear_payload | | | | | + 0.25% Throttle::put | | | | | + 0.20% Locker | | | | | | + 0.20% Mutex::Lock | | | | | | + 0.20% __GI___pthread_mutex_lock | | | | | | + 0.20% _L_lock_791 | | | | | | + 0.20% __lll_lock_wait | | | | | + 0.05% ~Locker | | | | + 0.20% std::basic_ostringstream, std::allocator >::basic_ostringstream | | | | | + 0.20% basic_ostream | | | | | + 0.20% std::basic_ios >::init | | | | | + 0.15% std::basic_ios >::_M_cache_locale | | | | | | + 0.05% std::has_facet > > > | | | | | | + 0.05% std::has_facet > > > | | | | | | + 0.05% std::has_facet > | | | | | + 0.05% std::ios_base::_M_init | | | | + 0.15% PG::op_has_sufficient_caps | | | | | + 0.10% OSDCap::is_capable | | | | | | + 0.05% ~vector | | | | | | + 0.05% OSDCapMatch::is_match | | | | | + 0.05% get_priv | | | | + 0.10% PrimaryLogPG::maybe_await_blocked_snapset | | | | | + 0.10% SharedLRU, std::hash >::lookup | | | | | + 0.10% find | | | | | + 0.10% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::find | | | | | + 0.05% _M_lower_bound | | | | + 0.05% ~intrusive_ptr | | | | + 0.05% std::basic_ostringstream, std::allocator >::~basic_ostringstream | | | | + 0.05% shared_ptr | | | | + 0.05% operator!= | | | | + 0.05% object_locator_t::~object_locator_t | | | | + 0.05% mark_started | | | | + 0.05% hobject_t::~hobject_t | | | | + 0.05% find | | | | + 0.05% PrimaryLogPG::is_unreadable_object | | | | + 0.05% PrimaryLogPG::is_degraded_or_backfilling_object | | | | + 0.05% PrimaryLogPG::get_rw_locks | | | | + 0.05% PrimaryLogPG::OpContext::OpContext | | | | + 0.05% PGLog::IndexedLog::get_request | | | | + 0.05% PG::check_in_progress_op | | | + 0.10% pg_t::get_hobj_start | | | + 0.05% ~object_t | | | + 0.05% ~basic_string | | + 0.05% mark_reached_pg | + 36.85% WaitInterval | | + 36.85% WaitUntil | | + 36.85% pthread_cond_timedwait@@GLIBC_2.3.2 | | + 0.05% __pthread_mutex_cond_lock | + 4.75% PG::lock | | + 4.75% Mutex::Lock | | + 4.75% __GI___pthread_mutex_lock | | + 4.75% _L_lock_791 | | + 4.75% __lll_lock_wait | + 0.05% operator= | + 0.05% WeightedPriorityQueue, entity_inst_t>::dequeue | + 0.05% Mutex::Unlock | + 0.05% Mutex::Lock + 0.05% ceph::HeartbeatMap::reset_timeout Thread: 100 (tp_osd_tp) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ShardedThreadPool::WorkThreadSharded::entry + 100.00% ShardedThreadPool::shardedthreadpool_worker + 100.00% OSD::ShardedOpWQ::_process + 78.85% run | + 78.85% apply_visitor, PGSnapTrim, PGScrub, PGRecovery> > | + 78.85% apply_visitor | + 78.85% internal_apply_visitor > | + 78.85% internal_apply_visitor_impl, void*> | + 78.85% visitation_impl, boost::detail::variant::visitation_impl_step, boost::intrusive_ptr, boost::mpl::l_item, PGSnapTrim, boost::mpl::l_item, PGScrub, boost::mpl::l_item, PGRecovery, boost::mpl::l_end> > > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, void*, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | + 78.85% visitation_impl_invoke, void*, boost::intrusive_ptr, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | + 78.85% visitation_impl_invoke_impl, void*, boost::intrusive_ptr > | + 78.85% internal_visit > | + 78.85% PGQueueable::RunVis::operator() | + 78.85% OSD::dequeue_op | + 78.50% PrimaryLogPG::do_request | | + 78.15% PrimaryLogPG::do_op | | | + 62.40% PrimaryLogPG::execute_ctx | | | | + 60.45% PrimaryLogPG::issue_repop | | | | | + 60.30% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr >&&, eversion_t const&, eversion_t const&, std::vector > const&, boost::optional&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr) | | | | | | + 56.15% PrimaryLogPG::queue_transactions | | | | | | | + 56.15% queue_transactions | | | | | | | + 56.15% BlueStore::queue_transactions | | | | | | | + 52.65% BlueStore::_txc_add_transaction | | | | | | | | + 49.70% BlueStore::_write | | | | | | | | | + 49.65% BlueStore::_do_write | | | | | | | | | | + 45.30% BlueStore::ExtentMap::fault_range | | | | | | | | | | | + 43.65% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | | | + 43.65% operator() | | | | | | | | | | | | + 43.65% BlueStore::ExtentMap::__lambda9::operator() | | | | | | | | | | | | + 43.65% RocksDBStore::get | | | | | | | | | | | | + 43.45% rocksdb::DB::Get | | | | | | | | | | | | | + 43.45% rocksdb::DB::Get | | | | | | | | | | | | | + 43.40% rocksdb::DBImpl::Get | | | | | | | | | | | | | | + 43.40% rocksdb::DBImpl::GetImpl | | | | | | | | | | | | | | + 42.90% rocksdb::Version::Get | | | | | | | | | | | | | | | + 42.85% rocksdb::TableCache::Get | | | | | | | | | | | | | | | | + 42.70% rocksdb::BlockBasedTable::Get | | | | | | | | | | | | | | | | | + 41.80% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | | | + 41.80% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | | | + 41.75% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | | | | | | | | + 41.20% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | | | | | | | | | + 41.15% rocksdb::ReadBlockContents | | | | | | | | | | | | | | | | | | | | + 41.00% ReadBlock | | | | | | | | | | | | | | | | | | | | | + 40.80% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | | | | | | | | | | + 40.75% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | | | | | | | | | | + 40.75% read_random | | | | | | | | | | | | | | | | | | | | | | + 40.75% BlueFS::_read_random | | | | | | | | | | | | | | | | | | | | | | + 40.70% KernelDevice::read_random | | | | | | | | | | | | | | | | | | | | | | + 40.70% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | | | | | | | | | | + 40.55% pread | | | | | | | | | | | | | | | | | | | | | | | + 40.55% pread64 | | | | | | | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::create_page_aligned | | | | | | | | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | | | | | | | | | | | | | + 0.05% raw_posix_aligned | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::raw_posix_aligned::operator new | | | | | | | | | | | | | | | | | | | | | | + 0.05% memcpy | | | | | | | | | | | | | | | | | | | | | + 0.15% Value | | | | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::crc32c::ExtendImpl | | | | | | | | | | | | | | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | | | | | | | | | | | | | + 0.30% rocksdb::BlockBasedTable::PutDataBlockToCache | | | | | | | | | | | | | | | | | | | | + 0.30% rocksdb::ShardedCache::Insert | | | | | | | | | | | | | | | | | | | | + 0.30% rocksdb::LRUCacheShard::Insert | | | | | | | | | | | | | | | | | | | | + 0.25% Free | | | | | | | | | | | | | | | | | | | | | + 0.25% rocksdb::(anonymous namespace)::DeleteCachedEntry | | | | | | | | | | | | | | | | | | | | | + 0.25% ~Block | | | | | | | | | | | | | | | | | | | | | + 0.25% ~BlockContents | | | | | | | | | | | | | | | | | | | | | + 0.25% ~unique_ptr | | | | | | | | | | | | | | | | | | | | | + 0.25% operator() | | | | | | | | | | | | | | | | | | | | | + 0.25% tc_deletearray | | | | | | | | | | | | | | | | | | | | | + 0.25% do_free | | | | | | | | | | | | | | | | | | | | | + 0.25% do_free_with_callback | | | | | | | | | | | | | | | | | | | | | + 0.25% do_free_helper | | | | | | | | | | | | | | | | | | | | | + 0.15% Deallocate | | | | | | | | | | | | | | | | | | | | | | + 0.15% Push | | | | | | | | | | | | | | | | | | | | | | + 0.15% SLL_Push | | | | | | | | | | | | | | | | | | | | | | + 0.15% SLL_SetNext | | | | | | | | | | | | | | | | | | | | | + 0.05% GetSizeClassIfCached | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::EvictFromLRU | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::(anonymous namespace)::GetEntryFromCache | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::ShardedCache::Lookup | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::Lookup | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::StopWatch::~StopWatch | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::GetCacheKey | | | | | | | | | | | | | | | | | | | + 0.05% Slice | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::Block::NewIterator | | | | | | | | | | | | | | | | | + 0.60% rocksdb::BlockIter::Seek | | | | | | | | | | | | | | | | | | + 0.35% rocksdb::BlockIter::BinarySeek | | | | | | | | | | | | | | | | | | | + 0.20% Compare | | | | | | | | | | | | | | | | | | | + 0.20% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | | | | | | + 0.15% compare | | | | | | | | | | | | | | | | | | | + 0.10% __memcmp_sse4_1 | | | | | | | | | | | | | | | | | | + 0.20% Compare | | | | | | | | | | | | | | | | | | | + 0.20% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | | | | | | + 0.10% compare | | | | | | | | | | | | | | | | | | | + 0.10% __memcmp_sse4_1 | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockIter::ParseNextKey | | | | | | | | | | | | | | | | | + 0.10% ~BlockIter | | | | | | | | | | | | | | | | | | + 0.10% ~InternalIterator | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::Cleanable::~Cleanable | | | | | | | | | | | | | | | | | | + 0.10% DoCleanup | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::LRUCacheShard::Release | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::LRU_Insert | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::NewIndexIterator | | | | | | | | | | | | | | | | + 0.10% operator= | | | | | | | | | | | | | | | + 0.05% rocksdb::Version::IsFilterSkipped | | | | | | | | | | | | | | + 0.40% Get | | | | | | | | | | | | | | | + 0.40% rocksdb::MemTable::Get | | | | | | | | | | | | | | | + 0.40% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | | | | | | | + 0.40% Seek | | | | | | | | | | | | | | | + 0.40% Seek | | | | | | | | | | | | | | | + 0.40% rocksdb::InlineSkipList::FindGreaterOrEqual | | | | | | | | | | | | | | | + 0.25% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | | | | | | | | + 0.15% GetLengthPrefixedSlice | | | | | | | | | | | | | | | | + 0.05% GetVarint32Ptr | | | | | | | | | | | | | | | + 0.05% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | + 0.05% rocksdb::DBImpl::GetAndRefSuperVersion | | | | | | | | | | | | | + 0.05% std::string::_M_replace_safe | | | | | | | | | | | | + 0.05% ceph_clock_now | | | | | | | | | | | | + 0.05% append | | | | | | | | | | | + 1.50% BlueStore::ExtentMap::decode_some | | | | | | | | | | | | + 0.35% BlueStore::Collection::open_shared_blob | | | | | | | | | | | | | + 0.30% BlueStore::SharedBlob::operator new | | | | | | | | | | | | | | + 0.30% allocate | | | | | | | | | | | | | | + 0.25% tc_newarray | | | | | | | | | | | | | | | + 0.25% cpp_alloc | | | | | | | | | | | | | | | + 0.25% do_malloc_no_errno | | | | | | | | | | | | | | | + 0.25% do_malloc_small | | | | | | | | | | | | | | | + 0.25% Allocate | | | | | | | | | | | | | | | + 0.20% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | | + 0.20% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | | | + 0.20% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | | | + 0.05% tcmalloc::DLL_Remove | | | | | | | | | | | | | | | + 0.05% Pop | | | | | | | | | | | | | | + 0.05% operator+= | | | | | | | | | | | | | + 0.05% operator-> | | | | | | | | | | | | + 0.30% BlueStore::Blob::operator new | | | | | | | | | | | | | + 0.30% allocate | | | | | | | | | | | | | + 0.20% tc_newarray | | | | | | | | | | | | | | + 0.20% cpp_alloc | | | | | | | | | | | | | | + 0.20% do_malloc_no_errno | | | | | | | | | | | | | | + 0.20% do_malloc_small | | | | | | | | | | | | | | + 0.20% Allocate | | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | | | + 0.05% SLL_Next | | | | | | | | | | | | | + 0.10% operator+= | | | | | | | | | | | | + 0.30% BlueStore::Blob::decode | | | | | | | | | | | | | + 0.30% denc > | | | | | | | | | | | | | + 0.30% decode | | | | | | | | | | | | | + 0.30% decode | | | | | | | | | | | | | + 0.15% get_ptr | | | | | | | | | | | | | | + 0.15% ceph::buffer::copy | | | | | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | | | | + 0.10% create | | | | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | | | | + 0.10% tc_posix_memalign | | | | | | | | | | | | | | + 0.10% do_memalign_or_cpp_memalign | | | | | | | | | | | | | | + 0.10% (anonymous namespace)::do_memalign | | | | | | | | | | | | | | + 0.05% tcmalloc::AlignmentForSize | | | | | | | | | | | | | | + 0.05% do_malloc | | | | | | | | | | | | | + 0.10% denc >, denc_traits > > > | | | | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | | | | + 0.10% resize | | | | | | | | | | | | | | + 0.10% std::vector >::_M_default_append | | | | | | | | | | | | | | + 0.10% _M_allocate | | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | | | | + 0.05% pick_a_shard | | | | | | | | | | | | | + 0.05% denc_varint | | | | | | | | | | | | + 0.25% insert | | | | | | | | | | | | | + 0.25% boost::intrusive::bstree_impl, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, void, void, unsigned long, true, (boost::intrusive::algo_types)5, void>::insert_unique | | | | | | | | | | | | | + 0.25% insert_unique_commit | | | | | | | | | | | | | + 0.20% insert_unique_commit | | | | | | | | | | | | | | + 0.15% rebalance_after_insertion | | | | | | | | | | | | | | | + 0.05% set_color | | | | | | | | | | | | | | | + 0.05% rotate_right | | | | | | | | | | | | | | + 0.05% insert_unique_commit | | | | | | | | | | | | | + 0.05% operator-- | | | | | | | | | | | | + 0.10% assign_blob | | | | | | | | | | | | + 0.10% BlueStore::Blob::get_ref | | | | | | | | | | | | | + 0.10% bluestore_blob_use_tracker_t::init | | | | | | | | | | | | | + 0.10% bluestore_blob_use_tracker_t::allocate | | | | | | | | | | | | | + 0.10% tc_newarray | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | + 0.05% bluestore_blob_t | | | | | | | | | | | + 0.10% seek_shard | | | | | | | | | | + 3.40% BlueStore::_do_alloc_write | | | | | | | | | | | + 2.50% BitMapAllocator::allocate | | | | | | | | | | | | + 2.50% BitMapAllocator::allocate_dis | | | | | | | | | | | | + 2.45% BitAllocator::alloc_blocks_dis_res | | | | | | | | | | | | + 2.40% BitAllocator::alloc_blocks_dis_work | | | | | | | | | | | | + 2.35% BitAllocator::alloc_blocks_dis_int | | | | | | | | | | | | + 2.35% BitMapAreaIN::alloc_blocks_dis_int_work | | | | | | | | | | | | + 1.30% BitAllocator::child_check_n_lock | | | | | | | | | | | | | + 1.00% BitMapAreaIN::is_exhausted | | | | | | | | | | | | | | + 0.95% BitMapAreaIN::get_used_blocks | | | | | | | | | | | | | | + 0.50% ~lock_guard | | | | | | | | | | | | | | | + 0.50% unlock | | | | | | | | | | | | | | | + 0.50% __gthread_mutex_unlock | | | | | | | | | | | | | | | + 0.45% __GI___pthread_mutex_unlock | | | | | | | | | | | | | | | + 0.45% __pthread_mutex_unlock_usercnt | | | | | | | | | | | | | | + 0.40% lock_guard | | | | | | | | | | | | | | + 0.40% lock | | | | | | | | | | | | | | + 0.40% __gthread_mutex_lock | | | | | | | | | | | | | | + 0.40% __GI___pthread_mutex_lock | | | | | | | | | | | | | + 0.05% BitMapAreaIN::lock_shared | | | | | | | | | | | | + 0.95% BitMapAreaIN::alloc_blocks_dis | | | | | | | | | | | | | + 0.95% BitMapAreaLeaf::alloc_blocks_dis_int | | | | | | | | | | | | | + 0.65% child_check_n_lock | | | | | | | | | | | | | | + 0.05% BitMapZone::lock_excl_try | | | | | | | | | | | | | + 0.30% BitMapZone::alloc_blocks_dis | | | | | | | | | | | | | + 0.10% BmapEntry::find_first_set_bits | | | | | | | | | | | | | | + 0.05% BmapEntry::find_n_free_bits | | | | | | | | | | | | | + 0.05% ExtentList::add_extents | | | | | | | | | | | | + 0.05% next | | | | | | | | | | | + 0.30% bluestore_blob_t::calc_csum | | | | | | | | | | | | + 0.30% calculate | | | | | | | | | | | | + 0.30% calculate | | | | | | | | | | | | + 0.30% calc | | | | | | | | | | | | + 0.30% ceph::buffer::list::iterator_impl::crc32c | | | | | | | | | | | | + 0.25% ceph_crc32c | | | | | | | | | | | | + 0.25% ceph_crc32c_intel_fast | | | | | | | | | | | | + 0.25% None | | | | | | | | | | | | + 0.25% None | | | | | | | | | | | | + 0.25% crc32_iscsi_00 | | | | | | | | | | | + 0.25% _buffer_cache_write | | | | | | | | | | | | + 0.25% write | | | | | | | | | | | | + 0.05% lock_guard | | | | | | | | | | | | + 0.05% _add_buffer | | | | | | | | | | | | + 0.05% Buffer | | | | | | | | | | | | + 0.05% BlueStore::BufferSpace::_discard | | | | | | | | | | | | + 0.05% BlueStore::Buffer::operator new | | | | | | | | | | | + 0.20% map_bl | | | | | | | | | | | | + 0.20% operator() | | | | | | | | | | | | + 0.20% KernelDevice::aio_write | | | | | | | | | | | | + 0.05% push_back | | | | | | | | | | | | + 0.05% ceph::buffer::list::claim_append | | | | | | | | | | | | + 0.05% KernelDevice::_aio_log_start | | | | | | | | | | | + 0.10% BlueStore::ExtentMap::set_lextent | | | | | | | | | | | | + 0.05% insert | | | | | | | | | | | | + 0.05% Extent | | | | | | | | | | | + 0.05% interval_set::insert | | | | | | | | | | + 0.60% BlueStore::_do_write_data | | | | | | | | | | | + 0.60% BlueStore::_do_write_big | | | | | | | | | | | + 0.60% BlueStore::ExtentMap::punch_hole | | | | | | | | | | | + 0.30% BlueStore::OldExtent::create | | | | | | | | | | | | + 0.30% BlueStore::Blob::put_ref | | | | | | | | | | | | + 0.25% bluestore_blob_t::release_extents | | | | | | | | | | | | | + 0.15% add | | | | | | | | | | | | | | + 0.15% std::vector >::emplace_back(bluestore_pextent_t&&) | | | | | | | | | | | | | | + 0.15% std::vector >::_M_emplace_back_aux(bluestore_pextent_t&&) | | | | | | | | | | | | | | + 0.15% _M_allocate | | | | | | | | | | | | | | + 0.15% allocate | | | | | | | | | | | | | | + 0.10% tc_newarray | | | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | | | | + 0.05% SLL_Next | | | | | | | | | | | | | | + 0.05% operator+= | | | | | | | | | | | | | + 0.05% vecbuilder | | | | | | | | | | | | | + 0.05% flush | | | | | | | | | | | | + 0.05% bluestore_blob_use_tracker_t::put | | | | | | | | | | | + 0.15% BlueStore::ExtentMap::seek_lextent | | | | | | | | | | | | + 0.15% lower_bound | | | | | | | | | | | | + 0.15% lower_bound > | | | | | | | | | | | | + 0.15% lower_bound, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | | + 0.15% lower_bound_loop, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | | + 0.05% get_right | | | | | | | | | | | + 0.05% BlueStore::ExtentMap::add | | | | | | | | | | + 0.10% BlueStore::_wctx_finish | | | | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | | | | + 0.05% intrusive_ptr | | | | | | | | | | + 0.05% BlueStore::WriteContext::~WriteContext | | | | | | | | | | + 0.05% BlueStore::ExtentMap::dirty_range | | | | | | | | | | + 0.05% BlueStore::ExtentMap::compress_extent_map | | | | | | | | | + 0.05% write_onode | | | | | | | | + 1.05% BlueStore::_omap_setkeys | | | | | | | | | + 0.75% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | + 0.40% Put | | | | | | | | | | | + 0.40% rocksdb::WriteBatch::Put | | | | | | | | | | | + 0.35% rocksdb::WriteBatchInternal::Put | | | | | | | | | | | + 0.35% PutLengthPrefixedSlice | | | | | | | | | | | + 0.30% std::string::append | | | | | | | | | | | | + 0.20% std::string::reserve | | | | | | | | | | | | | + 0.15% _M_dispose | | | | | | | | | | | | | | + 0.15% std::string::_Rep::_M_dispose | | | | | | | | | | | | | | + 0.10% __exchange_and_add_dispatch | | | | | | | | | | | | | | | + 0.10% __exchange_and_add | | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_destroy | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_clone | | | | | | | | | | | | + 0.05% _M_copy | | | | | | | | | | | + 0.05% PutVarint32 | | | | | | | | | | + 0.15% ~list | | | | | | | | | | | + 0.15% ~list | | | | | | | | | | | + 0.15% ~_List_base | | | | | | | | | | | + 0.15% std::_List_base >::_M_clear | | | | | | | | | | | + 0.15% destroy > | | | | | | | | | | | + 0.15% ~_List_node | | | | | | | | | | | + 0.15% ~ptr | | | | | | | | | | | + 0.15% ceph::buffer::ptr::release | | | | | | | | | | | + 0.10% ceph::buffer::raw_combined::~raw_combined | | | | | | | | | | + 0.10% ~basic_string | | | | | | | | | | | + 0.10% tc_delete | | | | | | | | | | | + 0.10% do_free | | | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | | | + 0.05% GetSizeClassIfCached | | | | | | | | | | + 0.10% combine_strings | | | | | | | | | | + 0.05% std::string::append | | | | | | | | | | + 0.05% push_back | | | | | | | | | + 0.05% ~list | | | | | | | | | + 0.05% std::string::push_back | | | | | | | | | + 0.05% operator+= | | | | | | | | | + 0.05% decode | | | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | | | | | | + 0.05% begin | | | | | | | | + 0.35% BlueStore::_setattrs | | | | | | | | | + 0.15% ceph::buffer::ptr::ptr | | | | | | | | | | + 0.15% ceph::buffer::copy | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | + 0.10% create | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | + 0.05% tc_posix_memalign | | | | | | | | | | + 0.05% memcpy | | | | | | | | | + 0.10% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::basic_string | | | | | | | | | | + 0.10% _S_construct | | | | | | | | | | + 0.10% _S_construct_aux | | | | | | | | | | + 0.10% _S_construct | | | | | | | | | | + 0.05% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::_Rep::_S_create | | | | | | | | | | + 0.05% _S_copy_chars | | | | | | | | | + 0.05% operator[] | | | | | | | | + 0.30% decode_attrset | | | | | | | | | + 0.30% decode, std::allocator > >, denc_traits, std::allocator > >, void> > | | | | | | | | | + 0.15% decode | | | | | | | | | | + 0.15% decode_nohead | | | | | | | | | | + 0.15% insert, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | | + 0.15% emplace_hint, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | | + 0.15% _M_emplace_hint_unique, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node | | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos | | | | | | | | | | + 0.05% _M_create_node, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | + 0.15% ceph::buffer::list::iterator::copy_shallow | | | | | | | | | + 0.15% ceph::buffer::list::iterator_impl::copy_shallow | | | | | | | | | + 0.15% ceph::buffer::list::iterator_impl::copy | | | | | | | | | + 0.15% __memcpy_ssse3_back | | | | | | | | + 0.20% BlueStore::_omap_rmkeys | | | | | | | | | + 0.10% decode | | | | | | | | | | + 0.10% ceph::buffer::list::iterator::copy | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | + 0.05% std::string::reserve | | | | | | | | | | + 0.05% _M_copy | | | | | | | | | + 0.10% RocksDBStore::RocksDBTransactionImpl::rmkey | | | | | | | | | + 0.05% combine_strings | | | | | | | | | + 0.05% Delete | | | | | | | | + 0.20% BlueStore::Collection::get_onode | | | | | | | | | + 0.20% BlueStore::OnodeSpace::lookup | | | | | | | | | + 0.10% find | | | | | | | | | | + 0.10% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | | | | + 0.10% _M_find_node | | | | | | | | | | + 0.10% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | | + 0.05% lock_guard | | | | | | | | | + 0.05% BlueStore::TwoQCache::_touch_onode | | | | | | | | + 0.15% begin | | | | | | | | | + 0.15% iterator | | | | | | | | | + 0.10% ceph::buffer::list::get_contiguous | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | + 0.05% push_back | | | | | | | | | + 0.05% begin | | | | | | | | + 0.15% BlueStore::_get_collection | | | | | | | | | + 0.10% find | | | | | | | | | | + 0.10% find | | | | | | | | | | + 0.05% _M_hash_code | | | | | | | | | | + 0.05% _M_find_node | | | | | | | | | + 0.05% ~RLocker | | | | | | | | + 0.10% decode_bl | | | | | | | | | + 0.10% decode | | | | | | | | | + 0.05% decode | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | + 0.10% decode_attrset_bl | | | | | | | | | + 0.10% decode_str_str_map_to_bl | | | | | | | | | + 0.10% ceph::buffer::list::iterator::copy | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | + 0.05% push_back | | | | | | | | + 0.05% ~map | | | | | | | | + 0.05% ~list | | | | | | | | + 0.05% ~ghobject_t | | | | | | | | + 0.05% ~WLocker | | | | | | | | + 0.05% map | | | | | | | + 1.40% BlueStore::_txc_write_nodes | | | | | | | | + 1.15% BlueStore::ExtentMap::update | | | | | | | | | + 0.65% BlueStore::ExtentMap::encode_some | | | | | | | | | | + 0.20% encode | | | | | | | | | | | + 0.20% denc > | | | | | | | | | | | + 0.20% encode | | | | | | | | | | | + 0.20% encode | | | | | | | | | | | + 0.15% ceph::buffer::ptr::c_str | | | | | | | | | | | + 0.05% memcpy | | | | | | | | | | + 0.10% lower_bound | | | | | | | | | | | + 0.10% lower_bound > | | | | | | | | | | | + 0.10% lower_bound, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | + 0.10% lower_bound_loop, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | + 0.05% get_right | | | | | | | | | | + 0.05% get_sbid | | | | | | | | | | + 0.05% get_contiguous_appender | | | | | | | | | | + 0.05% denc > | | | | | | | | | | + 0.05% Extent | | | | | | | | | + 0.30% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | + 0.25% operator() | | | | | | | | | | | + 0.25% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | + 0.10% Put | | | | | | | | | | | | + 0.10% rocksdb::WriteBatch::Put | | | | | | | | | | | | + 0.10% rocksdb::WriteBatchInternal::Put | | | | | | | | | | | | + 0.10% PutLengthPrefixedSlice | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | + 0.05% std::string::reserve | | | | | | | | | | | | + 0.05% _M_copy | | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | | + 0.05% combine_strings | | | | | | | | | | | + 0.05% ceph::buffer::ptr::c_str | | | | | | | | | | + 0.05% get_extent_shard_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | | + 0.05% ~function | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | + 0.05% reserve | | | | | | | | + 0.10% denc > | | | | | | | | | + 0.05% encode | | | | | | | | | + 0.05% bound_encode | | | | | | | | + 0.05% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | + 0.05% BlueStore::ExtentMap::encode_spanning_blobs | | | | | | | + 1.25% BlueStore::_txc_state_proc | | | | | | | | + 1.25% BlueStore::_txc_aio_submit | | | | | | | | + 1.25% KernelDevice::aio_submit | | | | | | | | + 1.25% aio_queue_t::submit | | | | | | | | + 1.25% io_submit | | | | | | | + 0.25% BlueStore::_txc_finalize_kv | | | | | | | | + 0.15% BitmapFreelistManager::release | | | | | | | | | + 0.10% BitmapFreelistManager::_xor | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | + 0.05% RocksDBStore::RocksDBTransactionImpl::merge | | | | | | | | + 0.10% BitmapFreelistManager::allocate | | | | | | | | + 0.10% BitmapFreelistManager::_xor | | | | | | | | + 0.05% ~basic_string | | | | | | | | + 0.05% ceph::buffer::ptr::operator[] | | | | | | | + 0.20% BlueStore::_txc_create | | | | | | | | + 0.15% RocksDBStore::get_transaction | | | | | | | | + 0.15% make_shared | | | | | | | | + 0.15% allocate_shared, RocksDBStore* const> | | | | | | | | + 0.15% shared_ptr, RocksDBStore* const> | | | | | | | | + 0.15% __shared_ptr, RocksDBStore* const> | | | | | | | | + 0.15% __shared_count, RocksDBStore* const> | | | | | | | | + 0.15% construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | + 0.15% _S_construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | + 0.15% construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | | | | | | | | + 0.15% _Sp_counted_ptr_inplace | | | | | | | | + 0.15% construct | | | | | | | | + 0.15% _S_construct | | | | | | | | + 0.15% construct | | | | | | | | + 0.15% RocksDBStore::RocksDBTransactionImpl::RocksDBTransactionImpl | | | | | | | | + 0.15% rocksdb::WriteBatch::WriteBatch | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | + 0.10% std::string::_Rep::_M_clone | | | | | | | | | + 0.10% std::string::_Rep::_S_create | | | | | | | | | + 0.10% allocate | | | | | | | | | + 0.10% tc_new | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | + 0.10% Allocate | | | | | | | | | + 0.10% Pop | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | + 0.05% resize | | | | | | | + 0.10% collect_contexts | | | | | | | | + 0.05% splice | | | | | | | | + 0.05% C_ContextsBase::list_to_context | | | | | | | + 0.10% ceph_clock_now | | | | | | | | + 0.05% clock_gettime | | | | | | | + 0.10% Throttle::get | | | | | | | | + 0.05% Locker | | | | | | | + 0.05% shared_ptr | | | | | | | + 0.05% PerfCounters::tinc | | | | | | + 2.15% PrimaryLogPG::log_operation | | | | | | | + 2.15% PG::append_log | | | | | | | + 1.55% PG::write_if_dirty | | | | | | | | + 0.75% PGLog::write_log_and_missing | | | | | | | | | + 0.65% PGLog::_write_log_and_missing | | | | | | | | | | + 0.25% pg_log_entry_t::get_key_name | | | | | | | | | | | + 0.25% eversion_t::get_key_name | | | | | | | | | | | + 0.20% std::basic_string, std::allocator >::basic_string | | | | | | | | | | | | + 0.20% _S_construct | | | | | | | | | | | | + 0.20% _S_construct_aux | | | | | | | | | | | | + 0.15% std::string::_S_construct | | | | | | | | | | | | | + 0.15% std::string::_Rep::_S_create | | | | | | | | | | | | | + 0.15% allocate | | | | | | | | | | | | | + 0.15% tc_new | | | | | | | | | | | | | + 0.15% cpp_alloc | | | | | | | | | | | | | + 0.15% do_malloc_no_errno | | | | | | | | | | | | | + 0.15% do_malloc_small | | | | | | | | | | | | | + 0.15% Allocate | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | + 0.05% Pop | | | | | | | | | | | | + 0.05% _ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag@plt | | | | | | | | | | | + 0.05% ritoa | | | | | | | | | | + 0.25% pg_log_entry_t::encode_with_checksum | | | | | | | | | | | + 0.20% pg_log_entry_t::encode | | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | | + 0.10% hobject_t::encode | | | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | | | + 0.10% encode_raw | | | | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::append | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | | + 0.05% encode > | | | | | | | | | | | + 0.05% ceph::buffer::list::crc32c | | | | | | | | | | + 0.05% ~set | | | | | | | | | | + 0.05% insert | | | | | | | | | + 0.10% undirty | | | | | | | | | + 0.10% clear | | | | | | | | | + 0.10% clear | | | | | | | | | + 0.10% std::_Rb_tree, std::less, std::allocator >::_M_erase | | | | | | | | | + 0.05% std::_Rb_tree, std::less, std::allocator >::_M_erase | | | | | | | | + 0.35% omap_setkeys | | | | | | | | | + 0.35% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | + 0.20% encode, ceph::buffer::list> > | | | | | | | | | | + 0.20% encode_nohead, ceph::buffer::list> > | | | | | | | | | | + 0.10% ~pair | | | | | | | | | | | + 0.10% ~list | | | | | | | | | | | + 0.10% ~list | | | | | | | | | | | + 0.10% ~_List_base | | | | | | | | | | | + 0.10% std::_List_base >::_M_clear | | | | | | | | | | | + 0.10% destroy > | | | | | | | | | | | + 0.10% ~_List_node | | | | | | | | | | | + 0.10% ~ptr | | | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | | + 0.05% pair const, ceph::buffer::list, void> | | | | | | | | | | + 0.05% denc, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | + 0.10% bound_encode, ceph::buffer::list> > | | | | | | | | | + 0.10% pair const, ceph::buffer::list, void> | | | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | | | + 0.05% ceph::buffer::list::list | | | | | | | | + 0.35% PG::prepare_write_info | | | | | | | | | + 0.35% PG::_prepare_write_info | | | | | | | | | + 0.20% encode | | | | | | | | | | + 0.15% pg_fast_info_t::encode | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | + 0.15% encode_raw > | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | + 0.05% pg_info_t::encode | | | | | | | | | + 0.10% operator== | | | | | | | | | + 0.10% operator== | | | | | | | | | + 0.05% operator== | | | | | | | | | + 0.05% interval_set::operator== | | | | | | | | + 0.05% ~map | | | | | | | + 0.20% PGLog::trim | | | | | | | | + 0.20% PGLog::IndexedLog::trim | | | | | | | | + 0.15% unindex | | | | | | | | | + 0.15% count | | | | | | | | | + 0.15% std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::count | | | | | | | | | + 0.05% _M_bucket_begin | | | | | | | | + 0.05% pop_front | | | | | | | + 0.10% PG::add_log_entry | | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | | | | | + 0.05% add | | | | | | | + 0.05% tc_new | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | | | | + 0.05% PGLog::roll_forward_to | | | | | | | + 0.05% PGLog::IndexedLog::trim | | | | | | | + 0.05% PG::update_snap_map | | | | | | + 1.00% generate_transaction | | | | | | | + 1.00% PGTransaction::safe_create_traverse&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26>() | | | | | | | + 0.95% operator() | | | | | | | | + 0.65% ObjectStore::Transaction::setattrs | | | | | | | | | + 0.40% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | + 0.15% get_contiguous_appender | | | | | | | | | | | + 0.15% ceph::buffer::list::contiguous_appender::contiguous_appender | | | | | | | | | | | + 0.10% ceph::buffer::create | | | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | | + 0.10% create | | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | | + 0.05% tc_posix_memalign | | | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | | + 0.15% encode, ceph::buffer::list> > | | | | | | | | | | | + 0.15% encode_nohead, ceph::buffer::list> > | | | | | | | | | | | + 0.10% denc, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | | + 0.10% encode > | | | | | | | | | | | | + 0.05% denc, denc_traits, void> > | | | | | | | | | | | | + 0.05% denc > | | | | | | | | | | | + 0.05% ~pair | | | | | | | | | | + 0.10% bound_encode, ceph::buffer::list> > | | | | | | | | | | + 0.10% pair const, ceph::buffer::list, void> | | | | | | | | | | + 0.10% ceph::buffer::list::list | | | | | | | | | | + 0.05% list | | | | | | | | | + 0.15% ObjectStore::Transaction::_get_next_op | | | | | | | | | | + 0.10% ~ptr | | | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | | | + 0.05% dec | | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | + 0.10% ObjectStore::Transaction::_get_coll_id | | | | | | | | | + 0.10% operator[] | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | | + 0.10% _M_create_node, std::tuple<> > | | | | | | | | | + 0.10% _M_get_node | | | | | | | | | + 0.10% allocate | | | | | | | | | + 0.10% tc_new | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | + 0.10% Allocate | | | | | | | | | + 0.10% Pop | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | + 0.10% match, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> | | | | | | | | | + 0.10% apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33>, const boost::variant > | | | | | | | | | + 0.10% apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> > | | | | | | | | | + 0.10% internal_apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> > > | | | | | | | | | + 0.10% internal_apply_visitor_impl, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*> | | | | | | | | | + 0.10% visitation_impl, boost::detail::variant::visitation_impl_step, PGTransaction::ObjectOperation::BufferUpdate::Write, boost::mpl::l_item, PGTransaction::ObjectOperation::BufferUpdate::Zero, boost::mpl::l_item, PGTransaction::ObjectOperation::BufferUpdate::CloneRange, boost::mpl::l_end> > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, boost::variant::has_fallback_type_> | | | | | | | | | + 0.10% visitation_impl_invoke, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, PGTransaction::ObjectOperation::BufferUpdate::Write, boost::variant::has_fallback_type_> | | | | | | | | | + 0.10% visitation_impl_invoke_impl, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, PGTransaction::ObjectOperation::BufferUpdate::Write> | | | | | | | | | + 0.10% internal_visit | | | | | | | | | + 0.10% operator() | | | | | | | | | + 0.10% apply_helper | | | | | | | | | + 0.10% operator() | | | | | | | | | + 0.10% write | | | | | | | | | + 0.05% encode | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_object_id | | | | | | | | + 0.05% ~map | | | | | | | | + 0.05% std::map, std::allocator > >::operator[] | | | | | | | + 0.05% pop_front | | | | | | + 0.15% ~vector | | | | | | | + 0.15% _Destroy | | | | | | | + 0.15% _Destroy | | | | | | | + 0.15% __destroy | | | | | | | + 0.15% _Destroy | | | | | | | + 0.15% ObjectStore::Transaction::~Transaction | | | | | | | + 0.10% ~list | | | | | | | | + 0.10% ~list | | | | | | | | + 0.10% ~_List_base | | | | | | | | + 0.10% std::_List_base >::_M_clear | | | | | | | | + 0.05% destroy > | | | | | | | | + 0.05% _M_put_node | | | | | | | + 0.05% ~ptr | | | | | | + 0.15% ~unique_ptr | | | | | | | + 0.15% operator() | | | | | | | + 0.15% ~PGTransaction | | | | | | | + 0.15% ~map | | | | | | | + 0.15% ~_Rb_tree | | | | | | | + 0.15% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | + 0.15% _M_destroy_node | | | | | | | + 0.10% destroy > > | | | | | | | | + 0.10% ~_Rb_tree_node | | | | | | | | + 0.10% ~pair | | | | | | | | + 0.10% ~ObjectOperation | | | | | | | | + 0.05% ~map | | | | | | | | + 0.05% ~interval_map | | | | | | | + 0.05% _M_put_node | | | | | | + 0.10% ~intrusive_ptr | | | | | | | + 0.05% intrusive_ptr_release | | | | | | + 0.10% push_back | | | | | | | + 0.10% std::vector >::emplace_back(ObjectStore::Transaction&&) | | | | | | | + 0.10% std::vector >::_M_emplace_back_aux(ObjectStore::Transaction&&) | | | | | | | + 0.05% construct | | | | | | | + 0.05% _M_deallocate | | | | | | + 0.10% intrusive_ptr | | | | | | | + 0.05% intrusive_ptr_add_ref | | | | | | + 0.10% insert, void> | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique >(std::pair&&) | | | | | | | + 0.10% _M_insert_ > | | | | | | | + 0.10% std::_Rb_tree_insert_and_rebalance | | | | | | + 0.10% hobject_t::~hobject_t | | | | | | + 0.05% register_on_applied_sync | | | | | | + 0.05% insert > | | | | | | + 0.05% ReplicatedBackend::issue_op | | | | | | + 0.05% ObjectStore::Transaction::Transaction | | | | | + 0.05% tc_new | | | | | + 0.05% add | | | | + 1.50% PrimaryLogPG::prepare_transaction | | | | | + 1.20% PrimaryLogPG::finish_ctx | | | | | | + 0.60% encode | | | | | | | + 0.40% object_info_t::encode | | | | | | | | + 0.25% encode | | | | | | | | | + 0.10% encode_raw > | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | + 0.05% ceph::buffer::ptr::append | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | + 0.05% object_locator_t::encode | | | | | | | | | + 0.05% hobject_t::encode | | | | | | | | | + 0.05% encode | | | | | | | | + 0.05% eversion_t | | | | | | | | + 0.05% end | | | | | | | + 0.20% SnapSet::encode | | | | | | | + 0.15% encode | | | | | | | | + 0.10% encode | | | | | | | | | + 0.10% encode_raw > | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | + 0.05% ceph::buffer::ptr::append | | | | | | | | + 0.05% encode_raw | | | | | | | + 0.05% encode, denc_traits, void> > | | | | | | + 0.15% PGTransaction::setattrs | | | | | | | + 0.10% PGTransaction::get_object_op_for_modify | | | | | | | | + 0.05% operator[] | | | | | | | | + 0.05% is_delete | | | | | | | + 0.05% operator= | | | | | | + 0.10% std::basic_string, std::allocator >::basic_string | | | | | | | + 0.05% length | | | | | | | + 0.05% _S_construct | | | | | | + 0.10% list | | | | | | | + 0.05% reserve | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::iterator_impl | | | | | | + 0.10% OSDMap::get_features | | | | | | | + 0.05% operator==, std::allocator > | | | | | | | + 0.05% find_rule | | | | | | + 0.05% std::map, std::allocator > >::operator[](std::string&&) | | | | | | + 0.05% get_bytes_written | | | | | | + 0.05% PG::get_osdmap | | | | | + 0.30% PrimaryLogPG::do_osd_ops | | | | | + 0.30% PGTransaction::write | | | | | + 0.20% interval_map, PGTransaction::ObjectOperation::SplitMerger>::insert(unsigned long, unsigned long, boost::variant&&) | | | | | | + 0.10% interval_map, PGTransaction::ObjectOperation::SplitMerger>::try_merge | | | | | | | + 0.10% operator++ | | | | | | | + 0.10% std::_Rb_tree_increment | | | | | | | + 0.10% local_Rb_tree_increment | | | | | | + 0.10% insert > >, void> | | | | | | + 0.10% std::_Rb_tree > >, std::_Select1st > > >, std::less, std::allocator > > > >::_M_insert_unique > > >(std::pair > >&&) | | | | | | + 0.05% std::_Rb_tree > >, std::_Select1st > > >, std::less, std::allocator > > > >::_M_get_insert_unique_pos | | | | | | + 0.05% _M_insert_ > > > | | | | | + 0.05% variant | | | | | + 0.05% get_object_op_for_modify | | | | + 0.15% MOSDOpReply::MOSDOpReply | | | | | + 0.05% ceph::buffer::list::clear | | | | | + 0.05% Message::Message | | | | + 0.10% PrimaryLogPG::new_repop | | | | | + 0.05% ceph_clock_now | | | | | + 0.05% PerfCounters::inc | | | | + 0.05% tc_new | | | | + 0.05% reset_obs | | | | + 0.05% PrimaryLogPG::calc_trim_to | | | + 12.65% PrimaryLogPG::find_object_context | | | | + 12.60% PrimaryLogPG::get_object_context | | | | + 10.80% PGBackend::objects_get_attr | | | | | + 10.75% BlueStore::getattr | | | | | | + 10.55% BlueStore::Collection::get_onode | | | | | | | + 9.95% RocksDBStore::get | | | | | | | | + 9.90% rocksdb::DB::Get | | | | | | | | | + 9.90% rocksdb::DB::Get | | | | | | | | | + 9.90% rocksdb::DBImpl::Get | | | | | | | | | + 9.90% rocksdb::DBImpl::GetImpl | | | | | | | | | + 9.75% rocksdb::Version::Get | | | | | | | | | | + 9.75% rocksdb::TableCache::Get | | | | | | | | | | + 9.75% rocksdb::BlockBasedTable::Get | | | | | | | | | | + 9.60% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | + 9.60% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | + 9.60% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | + 9.45% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | + 9.40% rocksdb::ReadBlockContents | | | | | | | | | | | | + 9.40% ReadBlock | | | | | | | | | | | | + 9.40% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | + 9.40% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | + 9.40% read_random | | | | | | | | | | | | + 9.40% BlueFS::_read_random | | | | | | | | | | | | + 9.40% KernelDevice::read_random | | | | | | | | | | | | + 9.40% KernelDevice::direct_read_unaligned | | | | | | | | | | | | + 9.40% pread | | | | | | | | | | | | + 9.40% pread64 | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::PutDataBlockToCache | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::GetCacheKey | | | | | | | | | | + 0.15% rocksdb::BlockIter::Seek | | | | | | | | | | + 0.10% rocksdb::BlockIter::BinarySeek | | | | | | | | | | | + 0.05% DecodeEntry | | | | | | | | | | | + 0.05% Compare | | | | | | | | | | + 0.05% PerfStepTimer | | | | | | | | | + 0.15% Get | | | | | | | | | + 0.15% rocksdb::MemTable::Get | | | | | | | | | + 0.15% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | + 0.15% Seek | | | | | | | | | + 0.15% Seek | | | | | | | | | + 0.15% rocksdb::InlineSkipList::FindGreaterOrEqual | | | | | | | | | + 0.10% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | | | + 0.10% GetLengthPrefixedSlice | | | | | | | | | + 0.05% Next | | | | | | | | + 0.05% ceph_clock_now | | | | | | | + 0.30% BlueStore::OnodeSpace::lookup | | | | | | | | + 0.10% lock_guard | | | | | | | | | + 0.10% lock | | | | | | | | | + 0.10% __gthread_recursive_mutex_lock | | | | | | | | | + 0.10% __gthread_mutex_lock | | | | | | | | | + 0.10% __GI___pthread_mutex_lock | | | | | | | | | + 0.05% _L_lock_840 | | | | | | | | + 0.10% find | | | | | | | | | + 0.10% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | | | + 0.10% _M_find_node | | | | | | | | | + 0.10% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | | + 0.05% _M_equals | | | | | | | | + 0.10% BlueStore::TwoQCache::_touch_onode | | | | | | | | + 0.10% iterator_to | | | | | | | | + 0.05% inited | | | | | | | + 0.05% ~basic_string | | | | | | | + 0.05% get_object_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | + 0.05% basic_string | | | | | | | + 0.05% Onode | | | | | | | + 0.05% BlueStore::OnodeSpace::add | | | | | | + 0.05% ~RLocker | | | | | | + 0.05% count | | | | | | + 0.05% ceph::buffer::ptr::operator= | | | | | + 0.05% push_back | | | | + 1.25% SharedLRU, std::hash >::lookup_or_create | | | | | + 0.65% ~list | | | | | | + 0.65% ~_List_base | | | | | | + 0.65% std::_List_base, std::allocator > >::_M_clear | | | | | | + 0.60% destroy > > | | | | | | + 0.60% ~_List_node | | | | | | + 0.60% ~shared_ptr | | | | | | + 0.60% ~__shared_ptr | | | | | | + 0.60% ~__shared_count | | | | | | + 0.60% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | | | | | | + 0.60% std::_Sp_counted_deleter, std::hash >::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2>::_M_dispose | | | | | | + 0.60% operator() | | | | | | + 0.50% ~ObjectContext | | | | | | | + 0.20% Context::complete | | | | | | | | + 0.20% PrimaryLogPG::put_snapset_context | | | | | | | | + 0.10% ~SnapSetContext | | | | | | | | | + 0.05% ~SnapSet | | | | | | | | | + 0.05% hobject_t::~hobject_t | | | | | | | | + 0.10% erase | | | | | | | | + 0.10% erase | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::equal_range | | | | | | | | + 0.05% operator() | | | | | | | | + 0.05% _M_upper_bound | | | | | | | + 0.10% Mutex::~Mutex | | | | | | | | + 0.10% ~basic_string | | | | | | | | + 0.10% _M_dispose | | | | | | | | + 0.05% __exchange_and_add_dispatch | | | | | | | + 0.05% PrimaryLogPG::C_PG_ObjectContext::~C_PG_ObjectContext | | | | | | + 0.10% remove | | | | | | + 0.05% find | | | | | | + 0.05% erase | | | | | + 0.30% SharedLRU, std::hash >::lru_add | | | | | | + 0.20% trim_cache | | | | | | | + 0.10% push_back | | | | | | | | + 0.10% _M_insert const&> | | | | | | | | + 0.05% _M_create_node const&> | | | | | | | + 0.10% lru_remove | | | | | | | + 0.05% find | | | | | | | + 0.05% erase | | | | | | + 0.05% push_front | | | | | | + 0.05% operator[] | | | | | + 0.10% shared_ptr::Cleanup> | | | | | | + 0.10% __shared_ptr::Cleanup> | | | | | | + 0.05% ~Cleanup | | | | | | + 0.05% __shared_count::Cleanup> | | | | | + 0.05% ~basic_string | | | | | + 0.05% tc_new | | | | | + 0.05% Mutex::Mutex | | | | | + 0.05% Cleanup | | | | + 0.25% decode | | | | | + 0.25% object_info_t::decode | | | | | + 0.20% decode | | | | | | + 0.15% decode_raw | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | + 0.10% ceph::buffer::ptr::copy_out | | | | | | | + 0.05% maybe_inline_memcpy | | | | | | + 0.05% hobject_t::decode | | | | | + 0.05% decode > | | | | + 0.25% PrimaryLogPG::get_snapset_context | | | | | + 0.05% ~basic_string | | | | | + 0.05% hobject_t::~hobject_t | | | | | + 0.05% find | | | | | + 0.05% SnapSet::decode | | | | | + 0.05% PGBackend::objects_get_attr | | | | + 0.05% ~list | | | + 0.70% OSDService::check_failsafe_full | | | | + 0.70% OSDService::_check_full | | | | + 0.40% operator<< | | | | | + 0.40% std::ostream::_M_insert | | | | | + 0.40% put | | | | | + 0.40% std::num_put > >::do_put | | | | | + 0.40% std::num_put > >::_M_insert_float | | | | | + 0.40% std::__convert_from_v | | | | | + 0.30% _IO_vsnprintf | | | | | | + 0.30% _IO_vfprintf_internal | | | | | | + 0.25% ___printf_fp | | | | | | + 0.05% hack_digit | | | | | | + 0.05% __mpn_extract_double | | | | | | + 0.05% __mempcpy_sse2 | | | | | + 0.10% __GI___uselocale | | | | + 0.15% Locker | | | | | + 0.15% Mutex::Lock | | | | | + 0.15% __GI___pthread_mutex_lock | | | | | + 0.10% _L_lock_791 | | | | | + 0.10% __lll_lock_wait | | | | + 0.10% operator<< > | | | | + 0.10% std::__ostream_insert > | | | | + 0.05% std::ostream::sentry::sentry | | | | + 0.05% __ostream_write > | | | + 0.50% clear_payload | | | | + 0.50% Throttle::put | | | | + 0.30% Locker | | | | | + 0.30% Mutex::Lock | | | | | + 0.30% __GI___pthread_mutex_lock | | | | | + 0.30% _L_lock_791 | | | | | + 0.30% __lll_lock_wait | | | | + 0.10% PerfCounters::inc | | | | + 0.05% ~Locker | | | | + 0.05% read | | | + 0.35% std::basic_ostringstream, std::allocator >::basic_ostringstream | | | | + 0.20% basic_ios | | | | | + 0.15% std::locale::locale | | | | | + 0.05% std::ios_base::ios_base | | | | + 0.15% basic_ostream | | | | + 0.15% std::basic_ios >::init | | | | + 0.10% std::basic_ios >::_M_cache_locale | | | | | + 0.05% std::use_facet > > > | | | | | + 0.05% std::has_facet > | | | | + 0.05% std::ios_base::_M_init | | | + 0.25% PrimaryLogPG::maybe_await_blocked_snapset | | | | + 0.20% SharedLRU, std::hash >::lookup | | | | | + 0.20% find | | | | | + 0.20% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::find | | | | | + 0.20% _M_lower_bound | | | | | + 0.15% operator() | | | | | + 0.15% operator< | | | | | + 0.15% cmp | | | | + 0.05% hobject_t::~hobject_t | | | + 0.20% finish_decode | | | | + 0.20% decode | | | | + 0.10% object_locator_t::decode | | | | | + 0.10% decode | | | | | + 0.05% decode_raw | | | | | + 0.05% decode_raw > | | | | + 0.10% decode | | | | + 0.10% decode | | | | + 0.10% ceph::buffer::list::iterator::copy | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | + 0.10% std::string::append | | | | + 0.10% std::string::reserve | | | | + 0.10% std::string::_Rep::_M_clone | | | | + 0.05% std::string::_Rep::_S_create | | | + 0.10% PrimaryLogPG::maybe_handle_cache | | | | + 0.05% ~shared_ptr | | | | + 0.05% intrusive_ptr | | | + 0.10% PrimaryLogPG::is_unreadable_object | | | | + 0.05% PrimaryLogPG::is_missing_object | | | + 0.05% ~intrusive_ptr | | | + 0.05% operator!= | | | + 0.05% insert | | | + 0.05% hobject_t::~hobject_t | | | + 0.05% RefCountedObject::put | | | + 0.05% PrimaryLogPG::is_degraded_or_backfilling_object | | | + 0.05% PrimaryLogPG::OpContext::OpContext | | | + 0.05% PGLog::IndexedLog::get_request | | | + 0.05% PG::Scrubber::write_blocked_by_scrub | | | + 0.05% Message::get_source_addr | | | + 0.05% MOSDOp::get_snapid | | + 0.15% PG::can_discard_request | | | + 0.10% PG::can_discard_op | | | + 0.05% OSD::op_is_discardable | | | + 0.05% MOSDOp::get_map_epoch | | + 0.10% get_priv | | | + 0.05% ~Locker | | | + 0.05% Locker | | + 0.05% ~intrusive_ptr | | + 0.05% ReplicatedBackend::handle_message | + 0.10% mark_reached_pg | | + 0.10% OpRequest::mark_flag_point | | + 0.10% TrackedOp::mark_event | | + 0.05% ~Locker | | + 0.05% Locker | + 0.05% operator- | + 0.05% get_priv | + 0.05% ceph_clock_now | + 0.05% RefCountedObject::put | + 0.05% OSD::maybe_share_map + 15.40% WaitInterval | + 15.40% WaitUntil | + 15.40% pthread_cond_timedwait@@GLIBC_2.3.2 + 5.40% PG::lock | + 5.40% Mutex::Lock | + 5.40% __GI___pthread_mutex_lock | + 5.40% _L_lock_791 | + 5.40% __lll_lock_wait + 0.10% Mutex::Lock | + 0.10% __GI___pthread_mutex_lock | + 0.05% _L_lock_791 + 0.05% operator= + 0.05% WeightedPriorityQueue, entity_inst_t>::dequeue + 0.05% Mutex::Unlock Thread: 101 (tp_osd_tp) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ShardedThreadPool::WorkThreadSharded::entry + 100.00% ShardedThreadPool::shardedthreadpool_worker + 99.95% OSD::ShardedOpWQ::_process | + 55.65% WaitInterval | | + 55.65% WaitUntil | | + 55.65% pthread_cond_timedwait@@GLIBC_2.3.2 | | + 0.20% __pthread_mutex_cond_lock | | + 0.20% _L_cond_lock_792 | | + 0.20% __lll_lock_wait | + 40.10% run | | + 40.10% apply_visitor, PGSnapTrim, PGScrub, PGRecovery> > | | + 40.10% apply_visitor | | + 40.10% internal_apply_visitor > | | + 40.10% internal_apply_visitor_impl, void*> | | + 40.10% visitation_impl, boost::detail::variant::visitation_impl_step, boost::intrusive_ptr, boost::mpl::l_item, PGSnapTrim, boost::mpl::l_item, PGScrub, boost::mpl::l_item, PGRecovery, boost::mpl::l_end> > > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, void*, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | | + 40.10% visitation_impl_invoke, void*, boost::intrusive_ptr, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | | + 40.10% visitation_impl_invoke_impl, void*, boost::intrusive_ptr > | | + 40.10% internal_visit > | | + 40.10% PGQueueable::RunVis::operator() | | + 40.10% OSD::dequeue_op | | + 40.05% PrimaryLogPG::do_request | | + 40.00% PrimaryLogPG::do_op | | + 34.25% PrimaryLogPG::execute_ctx | | | + 32.80% PrimaryLogPG::issue_repop | | | | + 32.65% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr >&&, eversion_t const&, eversion_t const&, std::vector > const&, boost::optional&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr) | | | | | + 29.90% PrimaryLogPG::queue_transactions | | | | | | + 29.90% queue_transactions | | | | | | + 29.90% BlueStore::queue_transactions | | | | | | + 27.30% BlueStore::_txc_add_transaction | | | | | | | + 25.60% BlueStore::_write | | | | | | | | + 25.55% BlueStore::_do_write | | | | | | | | + 22.55% BlueStore::ExtentMap::fault_range | | | | | | | | | + 21.55% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | + 21.55% operator() | | | | | | | | | | + 21.55% BlueStore::ExtentMap::__lambda9::operator() | | | | | | | | | | + 21.55% RocksDBStore::get | | | | | | | | | | + 21.50% rocksdb::DB::Get | | | | | | | | | | | + 21.50% rocksdb::DB::Get | | | | | | | | | | | + 21.50% rocksdb::DBImpl::Get | | | | | | | | | | | + 21.50% rocksdb::DBImpl::GetImpl | | | | | | | | | | | + 21.40% rocksdb::Version::Get | | | | | | | | | | | | + 21.40% rocksdb::TableCache::Get | | | | | | | | | | | | + 21.35% rocksdb::BlockBasedTable::Get | | | | | | | | | | | | + 21.20% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | + 21.20% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | + 21.10% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | | | + 20.90% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | | | | + 20.85% rocksdb::ReadBlockContents | | | | | | | | | | | | | | | + 20.75% ReadBlock | | | | | | | | | | | | | | | | + 20.75% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | | | | + 20.75% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | | | | + 20.75% read_random | | | | | | | | | | | | | | | | + 20.75% BlueFS::_read_random | | | | | | | | | | | | | | | | + 20.75% KernelDevice::read_random | | | | | | | | | | | | | | | | + 20.75% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | | | | + 20.65% pread | | | | | | | | | | | | | | | | | + 20.65% pread64 | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::create_page_aligned | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | | | | | | + 0.05% raw_posix_aligned | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::raw_posix_aligned::operator new | | | | | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | | | | + 0.15% rocksdb::BlockBasedTable::PutDataBlockToCache | | | | | | | | | | | | | | | + 0.15% rocksdb::ShardedCache::Insert | | | | | | | | | | | | | | | + 0.15% rocksdb::LRUCacheShard::Insert | | | | | | | | | | | | | | | + 0.10% Free | | | | | | | | | | | | | | | | + 0.10% rocksdb::(anonymous namespace)::DeleteCachedEntry | | | | | | | | | | | | | | | | + 0.10% ~Block | | | | | | | | | | | | | | | | + 0.05% ~unique_ptr | | | | | | | | | | | | | | | | + 0.05% ~BlockContents | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUHandleTable::Insert | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | | | | | | + 0.05% rocksdb::Block::NewIterator | | | | | | | | | | | | + 0.10% rocksdb::BlockIter::Seek | | | | | | | | | | | | | + 0.10% rocksdb::BlockIter::ParseNextKey | | | | | | | | | | | | | + 0.05% TrimAppend | | | | | | | | | | | | + 0.05% rocksdb::GetContext::SaveValue | | | | | | | | | | | + 0.10% Get | | | | | | | | | | | + 0.10% rocksdb::MemTable::Get | | | | | | | | | | | + 0.10% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | | | + 0.10% Seek | | | | | | | | | | | + 0.10% Seek | | | | | | | | | | | + 0.10% rocksdb::InlineSkipList::FindGreaterOrEqual | | | | | | | | | | | + 0.10% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | | | | + 0.10% GetLengthPrefixedSlice | | | | | | | | | | | + 0.05% GetVarint32Ptr | | | | | | | | | | + 0.05% append | | | | | | | | | + 0.75% BlueStore::ExtentMap::decode_some | | | | | | | | | | + 0.25% BlueStore::Blob::get_ref | | | | | | | | | | | + 0.20% bluestore_blob_use_tracker_t::init | | | | | | | | | | | | + 0.15% bluestore_blob_use_tracker_t::allocate | | | | | | | | | | | | + 0.15% tc_newarray | | | | | | | | | | | | + 0.15% cpp_alloc | | | | | | | | | | | | + 0.15% do_malloc_no_errno | | | | | | | | | | | | + 0.15% do_malloc_small | | | | | | | | | | | | + 0.15% Allocate | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | + 0.05% Pop | | | | | | | | | | | + 0.05% bluestore_blob_use_tracker_t::get | | | | | | | | | | + 0.20% BlueStore::Collection::open_shared_blob | | | | | | | | | | | + 0.10% BlueStore::SharedBlob::operator new | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | + 0.10% tc_newarray | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | + 0.05% operator-> | | | | | | | | | | | + 0.05% SharedBlob | | | | | | | | | | + 0.10% ~intrusive_ptr | | | | | | | | | | | + 0.10% intrusive_ptr_release | | | | | | | | | | | + 0.10% BlueStore::Blob::put | | | | | | | | | | + 0.05% vector | | | | | | | | | | + 0.05% tc_delete | | | | | | | | | | + 0.05% BlueStore::Extent::operator new | | | | | | | | | | + 0.05% BlueStore::Blob::operator new | | | | | | | | | + 0.10% ~list | | | | | | | | | | + 0.10% ~list | | | | | | | | | | + 0.10% ~_List_base | | | | | | | | | | + 0.10% std::_List_base >::_M_clear | | | | | | | | | | + 0.05% destroy > | | | | | | | | | | + 0.05% _M_put_node | | | | | | | | | + 0.10% seek_shard | | | | | | | | + 2.05% BlueStore::_do_alloc_write | | | | | | | | | + 1.25% BitMapAllocator::allocate | | | | | | | | | | + 1.25% BitMapAllocator::allocate_dis | | | | | | | | | | + 1.25% BitAllocator::alloc_blocks_dis_res | | | | | | | | | | + 1.25% BitAllocator::alloc_blocks_dis_work | | | | | | | | | | + 1.20% BitAllocator::alloc_blocks_dis_int | | | | | | | | | | | + 1.20% BitMapAreaIN::alloc_blocks_dis_int_work | | | | | | | | | | | + 0.65% BitMapAreaIN::alloc_blocks_dis | | | | | | | | | | | | + 0.65% BitMapAreaLeaf::alloc_blocks_dis_int | | | | | | | | | | | | + 0.45% child_check_n_lock | | | | | | | | | | | | | + 0.05% BitMapZone::lock_excl_try | | | | | | | | | | | | + 0.10% BitMapZone::alloc_blocks_dis | | | | | | | | | | | | | + 0.05% BmapEntry::find_first_set_bits | | | | | | | | | | | | + 0.05% next | | | | | | | | | | | + 0.55% BitAllocator::child_check_n_lock | | | | | | | | | | | + 0.35% BitMapAreaIN::is_exhausted | | | | | | | | | | | + 0.25% BitMapAreaIN::get_used_blocks | | | | | | | | | | | + 0.20% ~lock_guard | | | | | | | | | | | | + 0.20% unlock | | | | | | | | | | | | + 0.20% __gthread_mutex_unlock | | | | | | | | | | | | + 0.20% __GI___pthread_mutex_unlock | | | | | | | | | | | | + 0.20% __pthread_mutex_unlock_usercnt | | | | | | | | | | | + 0.05% lock_guard | | | | | | | | | | + 0.05% pthread_rwlock_rdlock | | | | | | | | | + 0.20% BitMapAllocator::reserve | | | | | | | | | | + 0.15% BitMapAreaIN::reserve_blocks | | | | | | | | | | + 0.05% ~lock_guard | | | | | | | | | | + 0.05% lock_guard | | | | | | | | | + 0.15% map_bl | | | | | | | | | | + 0.15% operator() | | | | | | | | | | + 0.15% KernelDevice::aio_write | | | | | | | | | | + 0.05% prepare_iov > | | | | | | | | | | + 0.05% ceph::buffer::list::rebuild_aligned_size_and_memory | | | | | | | | | | + 0.05% ceph::buffer::list::claim_append | | | | | | | | | + 0.10% ~vector | | | | | | | | | | + 0.10% ~_Vector_base | | | | | | | | | | + 0.10% _M_deallocate | | | | | | | | | | + 0.10% deallocate | | | | | | | | | | + 0.05% tc_deletearray | | | | | | | | | | + 0.05% operator-= | | | | | | | | | + 0.10% _buffer_cache_write | | | | | | | | | | + 0.10% write | | | | | | | | | | + 0.05% lock_guard | | | | | | | | | | + 0.05% _add_buffer | | | | | | | | | + 0.10% BlueStore::ExtentMap::set_lextent | | | | | | | | | | + 0.05% spans_shard | | | | | | | | | | + 0.05% Extent | | | | | | | | | + 0.05% ~list | | | | | | | | | + 0.05% ~function | | | | | | | | | + 0.05% bluestore_blob_t::calc_csum | | | | | | | | + 0.55% BlueStore::_do_write_data | | | | | | | | | + 0.55% BlueStore::_do_write_big | | | | | | | | | + 0.55% BlueStore::ExtentMap::punch_hole | | | | | | | | | + 0.25% BlueStore::OldExtent::create | | | | | | | | | | + 0.15% OldExtent | | | | | | | | | | | + 0.10% Extent | | | | | | | | | | | | + 0.10% assign_blob | | | | | | | | | | | | + 0.10% operator= | | | | | | | | | | | | + 0.10% intrusive_ptr | | | | | | | | | | | | + 0.10% intrusive_ptr_add_ref | | | | | | | | | | | | + 0.10% get | | | | | | | | | | | | + 0.10% operator++ | | | | | | | | | | | + 0.05% vector | | | | | | | | | | + 0.10% BlueStore::Blob::put_ref | | | | | | | | | | + 0.05% ~vector | | | | | | | | | | + 0.05% bluestore_blob_t::release_extents | | | | | | | | | + 0.25% BlueStore::ExtentMap::seek_lextent | | | | | | | | | | + 0.20% lower_bound | | | | | | | | | | + 0.20% lower_bound > | | | | | | | | | | + 0.20% lower_bound, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | + 0.20% lower_bound_loop, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | + 0.05% get_right | | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | | + 0.20% BlueStore::ExtentMap::compress_extent_map | | | | | | | | | + 0.10% operator++ | | | | | | | | | | + 0.05% boost::intrusive::bstree_algorithms_base >::next_node | | | | | | | | | + 0.05% rm | | | | | | | | + 0.10% BlueStore::_wctx_finish | | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | | | + 0.05% ~basic_ostream | | | | | | | | + 0.05% BlueStore::WriteContext::~WriteContext | | | | | | | + 0.65% BlueStore::_omap_setkeys | | | | | | | | + 0.50% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | + 0.20% Put | | | | | | | | | | + 0.20% rocksdb::WriteBatch::Put | | | | | | | | | | + 0.20% rocksdb::WriteBatchInternal::Put | | | | | | | | | | + 0.20% push_back | | | | | | | | | | + 0.15% std::string::reserve | | | | | | | | | | + 0.10% _M_dispose | | | | | | | | | | | + 0.05% std::string::_Rep::_M_dispose | | | | | | | | | | + 0.05% std::string::_Rep::_M_clone | | | | | | | | | + 0.15% combine_strings | | | | | | | | | | + 0.15% std::string::append | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | + 0.10% _M_dispose | | | | | | | | | | | + 0.10% std::string::_Rep::_M_dispose | | | | | | | | | | | + 0.10% std::string::_Rep::_M_destroy | | | | | | | | | | | + 0.10% deallocate | | | | | | | | | | | + 0.10% tc_delete | | | | | | | | | | | + 0.10% do_free | | | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | | | + 0.05% pageheap | | | | | | | | | | | + 0.05% GetSizeClassIfCached | | | | | | | | | | + 0.05% _M_copy | | | | | | | | | + 0.10% ~list | | | | | | | | | | + 0.10% ~list | | | | | | | | | | + 0.10% ~_List_base | | | | | | | | | | + 0.10% std::_List_base >::_M_clear | | | | | | | | | | + 0.10% destroy > | | | | | | | | | | + 0.10% ~_List_node | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | + 0.05% ceph::buffer::ptr::c_str | | | | | | | | + 0.10% ~list | | | | | | | | | + 0.10% ~list | | | | | | | | | + 0.10% ~_List_base | | | | | | | | | + 0.10% std::_List_base >::_M_clear | | | | | | | | | + 0.05% destroy > | | | | | | | | | + 0.05% _M_put_node | | | | | | | | + 0.05% ~basic_string | | | | | | | + 0.20% begin | | | | | | | | + 0.20% iterator | | | | | | | | + 0.15% ceph::buffer::list::get_contiguous | | | | | | | | | + 0.15% ceph::buffer::list::rebuild | | | | | | | | | + 0.10% ceph::buffer::list::rebuild | | | | | | | | | | + 0.05% clear | | | | | | | | | + 0.05% ceph::buffer::create | | | | | | | | + 0.05% operator= | | | | | | | + 0.15% decode_attrset | | | | | | | | + 0.15% decode, std::allocator > >, denc_traits, std::allocator > >, void> > | | | | | | | | + 0.10% ceph::buffer::list::iterator::copy_shallow | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy_shallow | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | | + 0.05% decode | | | | | | | + 0.15% BlueStore::_setattrs | | | | | | | | + 0.10% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::basic_string | | | | | | | | | + 0.10% _S_construct | | | | | | | | | + 0.10% _S_construct_aux | | | | | | | | | + 0.10% _S_construct | | | | | | | | | + 0.10% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::_Rep::_S_create | | | | | | | | | + 0.10% allocate | | | | | | | | | + 0.05% pick_a_shard | | | | | | | | | + 0.05% operator+= | | | | | | | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | | | | | | | + 0.15% BlueStore::Collection::get_onode | | | | | | | | + 0.15% BlueStore::OnodeSpace::lookup | | | | | | | | + 0.10% find | | | | | | | | | + 0.10% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | | | + 0.10% _M_find_node | | | | | | | | | + 0.10% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | | + 0.05% _M_equals | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | + 0.05% ~vector | | | | | | | + 0.05% ~map | | | | | | | + 0.05% ~list | | | | | | | + 0.05% ghobject_t | | | | | | | + 0.05% decode_bl | | | | | | | + 0.05% decode_attrset_bl | | | | | | | + 0.05% BlueStore::_omap_rmkeys | | | | | | | + 0.05% BlueStore::_get_collection | | | | | | + 1.10% BlueStore::_txc_state_proc | | | | | | | + 1.05% BlueStore::_txc_aio_submit | | | | | | | + 1.05% KernelDevice::aio_submit | | | | | | | + 1.05% aio_queue_t::submit | | | | | | | + 1.00% io_submit | | | | | | + 0.65% BlueStore::_txc_finalize_kv | | | | | | | + 0.40% BitmapFreelistManager::allocate | | | | | | | | + 0.40% BitmapFreelistManager::_xor | | | | | | | | + 0.20% RocksDBStore::RocksDBTransactionImpl::merge | | | | | | | | | + 0.10% combine_strings | | | | | | | | | | + 0.05% std::string::append | | | | | | | | | | + 0.05% _ZNSsC1ERKSs@plt | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | + 0.05% Merge | | | | | | | | + 0.05% ~basic_string | | | | | | | | + 0.05% list | | | | | | | | + 0.05% ceph::buffer::ptr::zero | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | + 0.20% BitmapFreelistManager::release | | | | | | | + 0.20% BitmapFreelistManager::_xor | | | | | | | + 0.10% ~basic_string | | | | | | | | + 0.05% _M_rep | | | | | | | | + 0.05% _M_dispose | | | | | | | + 0.10% RocksDBStore::RocksDBTransactionImpl::merge | | | | | | | + 0.05% combine_strings | | | | | | | + 0.05% Merge | | | | | | + 0.50% BlueStore::_txc_write_nodes | | | | | | | + 0.35% BlueStore::ExtentMap::update | | | | | | | | + 0.25% BlueStore::ExtentMap::encode_some | | | | | | | | | + 0.20% encode | | | | | | | | | + 0.20% denc > | | | | | | | | | + 0.20% encode | | | | | | | | | + 0.20% encode | | | | | | | | | + 0.10% denc >, denc_traits > > > | | | | | | | | | | + 0.10% encode | | | | | | | | | | + 0.10% denc > | | | | | | | | | | + 0.10% encode | | | | | | | | | | + 0.10% encode | | | | | | | | | | + 0.10% _denc_friend | | | | | | | | | | + 0.05% denc_lba | | | | | | | | | + 0.05% memcpy | | | | | | | | | + 0.05% denc > | | | | | | | | + 0.05% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | + 0.05% emplace_back | | | | | | | + 0.05% ~list | | | | | | | + 0.05% get_contiguous_appender | | | | | | | + 0.05% RocksDBStore::RocksDBTransactionImpl::set | | | | | | + 0.10% Throttle::get | | | | | | | + 0.05% Throttle::_wait | | | | | | | + 0.05% Locker | | | | | | + 0.10% PerfCounters::tinc | | | | | | | + 0.05% to_nsec | | | | | | | + 0.05% add | | | | | | + 0.05% collect_contexts | | | | | | + 0.05% ceph_clock_now | | | | | | + 0.05% BlueStore::_txc_create | | | | | + 1.55% PrimaryLogPG::log_operation | | | | | | + 1.55% PG::append_log | | | | | | + 1.25% PG::write_if_dirty | | | | | | | + 0.50% PGLog::write_log_and_missing | | | | | | | | + 0.45% PGLog::_write_log_and_missing | | | | | | | | | + 0.25% pg_log_entry_t::encode_with_checksum | | | | | | | | | | + 0.15% pg_log_entry_t::encode | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | + 0.05% hobject_t::encode | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | + 0.05% ObjectModDesc::encode | | | | | | | | | | + 0.05% ~list | | | | | | | | | | + 0.05% list | | | | | | | | | + 0.10% list | | | | | | | | | | + 0.10% reserve | | | | | | | | | | + 0.10% ceph::buffer::create | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | + 0.05% create | | | | | | | | | + 0.05% std::map, std::allocator > >::operator[](std::string&&) | | | | | | | | | + 0.05% pg_log_entry_t::get_key_name | | | | | | | | + 0.05% undirty | | | | | | | + 0.40% PG::prepare_write_info | | | | | | | | + 0.40% PG::_prepare_write_info | | | | | | | | + 0.10% std::map, std::allocator > >::operator[] | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | | + 0.10% _M_create_node, std::allocator >&>, std::tuple<> > | | | | | | | | | + 0.10% construct, ceph::buffer::list> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> > | | | | | | | | | + 0.10% _S_construct, ceph::buffer::list> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> > | | | | | | | | | + 0.10% construct, ceph::buffer::list> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> > | | | | | | | | | + 0.10% _Rb_tree_node, std::allocator >&>, std::tuple<> > | | | | | | | | | + 0.10% pair, std::allocator > const&> | | | | | | | | | + 0.10% pair, std::allocator > const&, 0ul> | | | | | | | | | + 0.10% std::basic_string, std::allocator >::basic_string | | | | | | | | | + 0.05% _M_grab | | | | | | | | + 0.10% operator== | | | | | | | | | + 0.05% operator== | | | | | | | | + 0.10% encode | | | | | | | | | + 0.05% pg_info_t::encode | | | | | | | | | + 0.05% pg_fast_info_t::encode | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | + 0.25% omap_setkeys | | | | | | | | + 0.20% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | + 0.20% encode, ceph::buffer::list> > | | | | | | | | | + 0.20% encode_nohead, ceph::buffer::list> > | | | | | | | | | + 0.15% denc, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | + 0.15% encode > | | | | | | | | | | + 0.15% denc > | | | | | | | | | | + 0.15% encode | | | | | | | | | | + 0.15% append | | | | | | | | | | + 0.15% ceph::buffer::list::append | | | | | | | | | | + 0.15% push_back | | | | | | | | | | + 0.15% _M_insert | | | | | | | | | | + 0.15% _M_create_node | | | | | | | | | | + 0.15% _M_get_node | | | | | | | | | | + 0.15% allocate | | | | | | | | | | + 0.15% tc_new | | | | | | | | | | + 0.15% cpp_alloc | | | | | | | | | | + 0.15% do_malloc_no_errno | | | | | | | | | | + 0.15% do_malloc_small | | | | | | | | | | + 0.15% Allocate | | | | | | | | | | + 0.15% Pop | | | | | | | | | | + 0.15% SLL_Pop | | | | | | | | | + 0.05% ~pair | | | | | | | | + 0.05% _get_object_id | | | | | | | + 0.05% ~map | | | | | | + 0.20% PGLog::trim | | | | | | | + 0.20% PGLog::IndexedLog::trim | | | | | | | + 0.10% unindex | | | | | | | | + 0.05% erase | | | | | | | | + 0.05% count | | | | | | | + 0.10% insert | | | | | | | + 0.10% std::_Rb_tree, std::less, std::allocator >::_M_insert_unique | | | | | | | + 0.05% _M_insert_ | | | | | | + 0.10% PG::add_log_entry | | | | | | + 0.10% add | | | | | | + 0.10% PGLog::IndexedLog::add | | | | | | + 0.05% push_back | | | | | + 0.60% generate_transaction | | | | | | + 0.55% PGTransaction::safe_create_traverse&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26>() | | | | | | | + 0.45% operator() | | | | | | | | + 0.25% ObjectStore::Transaction::setattrs | | | | | | | | | + 0.20% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | + 0.10% bound_encode, ceph::buffer::list> > | | | | | | | | | | | + 0.10% pair const, ceph::buffer::list, void> | | | | | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | | | | | + 0.05% ceph::buffer::list::list | | | | | | | | | | + 0.05% get_contiguous_appender | | | | | | | | | | + 0.05% encode, ceph::buffer::list> > | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_coll_id | | | | | | | | + 0.10% match, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> | | | | | | | | | + 0.10% apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33>, const boost::variant > | | | | | | | | | + 0.10% apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> > | | | | | | | | | + 0.10% internal_apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> > > | | | | | | | | | + 0.10% internal_apply_visitor_impl, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*> | | | | | | | | | + 0.10% visitation_impl, boost::detail::variant::visitation_impl_step, PGTransaction::ObjectOperation::BufferUpdate::Write, boost::mpl::l_item, PGTransaction::ObjectOperation::BufferUpdate::Zero, boost::mpl::l_item, PGTransaction::ObjectOperation::BufferUpdate::CloneRange, boost::mpl::l_end> > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, boost::variant::has_fallback_type_> | | | | | | | | | + 0.10% visitation_impl_invoke, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, PGTransaction::ObjectOperation::BufferUpdate::Write, boost::variant::has_fallback_type_> | | | | | | | | | + 0.10% visitation_impl_invoke_impl, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, PGTransaction::ObjectOperation::BufferUpdate::Write> | | | | | | | | | + 0.10% internal_visit | | | | | | | | | + 0.10% operator() | | | | | | | | | + 0.10% apply_helper | | | | | | | | | + 0.10% operator() | | | | | | | | | + 0.10% write | | | | | | | | | + 0.05% encode | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_coll_id | | | | | | | | + 0.05% ~map | | | | | | | | + 0.05% std::map, std::allocator > >::operator[] | | | | | | | + 0.10% pop_front | | | | | | | + 0.10% _M_erase | | | | | | | + 0.05% destroy > | | | | | | | + 0.05% _M_put_node | | | | | | + 0.05% find | | | | | + 0.20% ~vector | | | | | | + 0.20% _Destroy | | | | | | + 0.20% _Destroy | | | | | | + 0.20% __destroy | | | | | | + 0.20% _Destroy | | | | | | + 0.20% ObjectStore::Transaction::~Transaction | | | | | | + 0.20% ~list | | | | | | + 0.20% ~list | | | | | | + 0.20% ~_List_base | | | | | | + 0.20% std::_List_base >::_M_clear | | | | | | + 0.20% destroy > | | | | | | + 0.20% ~_List_node | | | | | | + 0.15% ~ptr | | | | | | + 0.15% ceph::buffer::ptr::release | | | | | | + 0.10% ceph::buffer::raw_combined::~raw_combined | | | | | | + 0.10% ~raw_combined | | | | | | + 0.10% ~raw | | | | | | + 0.10% ~map | | | | | + 0.10% insert > | | | | | | + 0.10% std::_Rb_tree, std::less, std::allocator >::_M_insert_unique > | | | | | | + 0.05% _M_insert_unique_ | | | | | + 0.05% ~intrusive_ptr | | | | | + 0.05% register_on_applied_sync | | | | | + 0.05% push_back | | | | | + 0.05% non-virtual thunk to PrimaryLogPG::get_actingbackfill_shards() const | | | | | + 0.05% insert, void> | | | | | + 0.05% ObjectStore::Transaction::Transaction | | | | + 0.05% PGTransaction::add_obc | | | | + 0.05% ObjectContext::ondisk_write_lock | | | + 1.25% PrimaryLogPG::prepare_transaction | | | | + 0.85% PrimaryLogPG::finish_ctx | | | | | + 0.40% encode | | | | | | + 0.30% object_info_t::encode | | | | | | | + 0.20% encode | | | | | | | | + 0.10% hobject_t::encode | | | | | | | | | + 0.05% encode | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | | + 0.05% encode_raw | | | | | | | | + 0.05% encode_raw > | | | | | | | + 0.05% object_locator_t | | | | | | | + 0.05% encode > | | | | | | + 0.10% SnapSet::encode | | | | | | + 0.05% encode, denc_traits, void> > | | | | | | + 0.05% encode | | | | | + 0.15% push_back | | | | | | + 0.15% std::vector >::emplace_back(pg_log_entry_t&&) | | | | | | + 0.15% std::vector >::_M_emplace_back_aux(pg_log_entry_t&&) | | | | | | + 0.10% construct | | | | | | | + 0.10% _S_construct | | | | | | | + 0.10% construct | | | | | | | + 0.10% pg_log_entry_t::pg_log_entry_t(pg_log_entry_t&&) | | | | | | | + 0.05% ceph::buffer::list::list(ceph::buffer::list&&) | | | | | | | + 0.05% ObjectModDesc | | | | | | + 0.05% _M_allocate | | | | | + 0.10% OSDMap::get_features | | | | | | + 0.05% operator==, std::allocator > | | | | | + 0.05% ~map | | | | | + 0.05% list | | | | | + 0.05% ceph_clock_now | | | | | + 0.05% PGTransaction::setattrs | | | | + 0.35% PrimaryLogPG::do_osd_ops | | | | + 0.15% PGTransaction::write | | | | | + 0.10% interval_map, PGTransaction::ObjectOperation::SplitMerger>::insert(unsigned long, unsigned long, boost::variant&&) | | | | | | + 0.05% make_pair > | | | | | | + 0.05% interval_map, PGTransaction::ObjectOperation::SplitMerger>::erase | | | | | + 0.05% variant | | | | + 0.10% PrimaryLogPG::write_update_size_and_usage | | | | | + 0.10% interval_set::insert | | | | | + 0.10% operator[] | | | | | + 0.10% _M_emplace_hint_unique, std::tuple<> > | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos | | | | | + 0.05% _M_create_node, std::tuple<> > | | | | + 0.05% begin | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | + 0.05% PrimaryLogPG::new_repop | | | + 0.05% MOSDOpReply::MOSDOpReply | | + 3.30% PrimaryLogPG::find_object_context | | | + 3.30% PrimaryLogPG::get_object_context | | | + 2.30% PGBackend::objects_get_attr | | | | + 2.30% BlueStore::getattr | | | | + 2.15% BlueStore::Collection::get_onode | | | | | + 2.00% RocksDBStore::get | | | | | | + 2.00% rocksdb::DB::Get | | | | | | + 2.00% rocksdb::DB::Get | | | | | | + 2.00% rocksdb::DBImpl::Get | | | | | | + 2.00% rocksdb::DBImpl::GetImpl | | | | | | + 1.95% rocksdb::Version::Get | | | | | | | + 1.95% rocksdb::TableCache::Get | | | | | | | + 1.95% rocksdb::BlockBasedTable::Get | | | | | | | + 1.90% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | + 1.90% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | + 1.90% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | + 1.90% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | + 1.85% rocksdb::ReadBlockContents | | | | | | | | + 1.80% ReadBlock | | | | | | | | + 1.80% rocksdb::RandomAccessFileReader::Read | | | | | | | | + 1.75% BlueRocksRandomAccessFile::Read | | | | | | | | + 1.75% read_random | | | | | | | | + 1.75% BlueFS::_read_random | | | | | | | | + 1.75% KernelDevice::read_random | | | | | | | | + 1.75% KernelDevice::direct_read_unaligned | | | | | | | | + 1.75% pread | | | | | | | | + 1.75% pread64 | | | | | | | + 0.05% rocksdb::BlockIter::Seek | | | | | | + 0.05% Get | | | | | + 0.10% BlueStore::OnodeSpace::lookup | | | | | | + 0.05% find | | | | | | + 0.05% BlueStore::TwoQCache::_touch_onode | | | | | + 0.05% get_object_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | + 0.15% ceph::buffer::ptr::operator= | | | | + 0.10% inc | | | | + 0.10% AO_fetch_and_add_full | | | + 0.55% SharedLRU, std::hash >::lookup_or_create | | | | + 0.50% ~list | | | | | + 0.50% ~_List_base | | | | | + 0.50% std::_List_base, std::allocator > >::_M_clear | | | | | + 0.50% destroy > > | | | | | + 0.50% ~_List_node | | | | | + 0.50% ~shared_ptr | | | | | + 0.50% ~__shared_ptr | | | | | + 0.50% ~__shared_count | | | | | + 0.40% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | | | | | | + 0.35% std::_Sp_counted_deleter, std::hash >::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2>::_M_dispose | | | | | | | + 0.35% operator() | | | | | | | + 0.20% ~ObjectContext | | | | | | | | + 0.10% Context::complete | | | | | | | | | + 0.10% PrimaryLogPG::put_snapset_context | | | | | | | | | + 0.10% erase | | | | | | | | | + 0.10% erase | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::equal_range | | | | | | | | | + 0.05% erase | | | | | | | | + 0.05% ~Cond | | | | | | | | + 0.05% tc_delete | | | | | | | + 0.15% remove | | | | | | | + 0.05% find | | | | | | | + 0.05% erase | | | | | | | + 0.05% Signal | | | | | | + 0.05% tc_delete | | | | | + 0.10% std::_Sp_counted_deleter, std::hash >::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2>::_M_destroy | | | | | + 0.05% destroy::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2> > | | | | | + 0.05% deallocate | | | | + 0.05% SharedLRU, std::hash >::lru_add | | | + 0.35% PrimaryLogPG::get_snapset_context | | | | + 0.15% PGBackend::objects_get_attr | | | | | + 0.15% BlueStore::getattr | | | | | + 0.10% BlueStore::Collection::get_onode | | | | | | + 0.05% is_locked | | | | | | + 0.05% BlueStore::OnodeSpace::lookup | | | | | + 0.05% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::basic_string | | | | + 0.10% SnapSet::decode | | | | | + 0.05% decode >, denc_traits >, void> > | | | | | + 0.05% decode >, std::less, std::allocator > > > >, denc_traits >, std::less, std::allocator > > > >, void> > | | | | + 0.05% ~Locker | | | | + 0.05% _register_snapset_context | | | + 0.05% decode | | + 0.70% OSDService::check_failsafe_full | | | + 0.70% OSDService::_check_full | | | + 0.40% operator<< | | | | + 0.40% std::ostream::_M_insert | | | | + 0.35% put | | | | + 0.35% std::num_put > >::do_put | | | | + 0.35% std::num_put > >::_M_insert_float | | | | + 0.30% std::__convert_from_v | | | | | + 0.30% _IO_vsnprintf | | | | | + 0.25% _IO_vfprintf_internal | | | | | + 0.10% tc_free | | | | | | + 0.10% do_free | | | | | | + 0.10% do_free_with_callback | | | | | | + 0.10% do_free_helper | | | | | | + 0.05% GetSizeClassIfCached | | | | | + 0.10% ___printf_fp | | | | | + 0.05% hack_digit | | | | | + 0.05% __strlen_sse2 | | | | + 0.05% width | | | + 0.15% ~Locker | | | | + 0.15% Mutex::Unlock | | | | + 0.10% __GI___pthread_mutex_unlock | | | | + 0.10% __pthread_mutex_unlock_usercnt | | | | + 0.10% _L_unlock_697 | | | | + 0.05% __lll_unlock_wake | | | | + 0.05% _L_unlock_697 | | | + 0.15% Locker | | | + 0.15% Mutex::Lock | | | + 0.15% __GI___pthread_mutex_lock | | | + 0.15% _L_lock_791 | | | + 0.15% __lll_lock_wait | | + 0.25% PrimaryLogPG::maybe_await_blocked_snapset | | | + 0.15% SharedLRU, std::hash >::lookup | | | | + 0.10% find | | | | | + 0.10% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::find | | | | | + 0.05% _M_lower_bound | | | | + 0.05% Locker | | | + 0.05% hobject_t::~hobject_t | | + 0.15% std::basic_ostringstream, std::allocator >::basic_ostringstream | | | + 0.05% basic_stringbuf | | | + 0.05% basic_ostream | | | + 0.05% basic_ios | | + 0.15% hobject_t::~hobject_t | | | + 0.10% ~basic_string | | | + 0.05% std::string::_Rep::_M_dispose | | + 0.15% finish_decode | | | + 0.05% std::vector >::resize | | | + 0.05% decode >, denc_traits >, void> > | | | + 0.05% decode | | + 0.15% clear_payload | | | + 0.10% Throttle::put | | | | + 0.10% Locker | | | | + 0.10% Mutex::Lock | | | | + 0.10% __GI___pthread_mutex_lock | | | | + 0.10% _L_lock_791 | | | | + 0.10% __lll_lock_wait | | | + 0.05% ceph::buffer::list::clear | | + 0.15% PG::op_has_sufficient_caps | | | + 0.15% OSDCap::is_capable | | | + 0.05% ~vector | | | + 0.05% all_of&) const::__lambda3> | | + 0.10% PrimaryLogPG::OpContext::OpContext | | + 0.05% ~intrusive_ptr | | + 0.05% std::basic_ostringstream, std::allocator >::~basic_ostringstream | | + 0.05% object_locator_t::object_locator_t | | + 0.05% mark_started | | + 0.05% ceph_clock_now | | + 0.05% RefCountedObject::put | | + 0.05% PrimaryLogPG::is_unreadable_object | | + 0.05% PrimaryLogPG::get_rw_locks | | + 0.05% PerfCounters::tinc | | + 0.05% PG::check_in_progress_op | | + 0.05% OSD::init_op_flags | + 3.65% PG::lock | | + 3.65% Mutex::Lock | | + 3.65% __GI___pthread_mutex_lock | | + 3.65% _L_lock_791 | | + 3.65% __lll_lock_wait | + 0.15% WeightedPriorityQueue, entity_inst_t>::dequeue | | + 0.15% WeightedPriorityQueue, entity_inst_t>::Queue::pop | | + 0.10% pop | | + 0.10% pop | | + 0.10% erase_and_dispose, entity_inst_t>::ListPair> > | | + 0.10% erase_and_dispose, entity_inst_t>::ListPair> > | | + 0.05% operator() | | + 0.05% decrement | + 0.15% Mutex::Lock | | + 0.15% __GI___pthread_mutex_lock | | + 0.15% _L_lock_791 | | + 0.15% __lll_lock_wait | + 0.05% pop_front | + 0.05% operator= | + 0.05% operator-> | + 0.05% Mutex::Unlock + 0.05% ceph::HeartbeatMap::reset_timeout Thread: 102 (tp_osd_tp) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ShardedThreadPool::WorkThreadSharded::entry + 100.00% ShardedThreadPool::shardedthreadpool_worker + 100.00% OSD::ShardedOpWQ::_process + 77.20% run | + 77.20% apply_visitor, PGSnapTrim, PGScrub, PGRecovery> > | + 77.20% apply_visitor | + 77.20% internal_apply_visitor > | + 77.20% internal_apply_visitor_impl, void*> | + 77.20% visitation_impl, boost::detail::variant::visitation_impl_step, boost::intrusive_ptr, boost::mpl::l_item, PGSnapTrim, boost::mpl::l_item, PGScrub, boost::mpl::l_item, PGRecovery, boost::mpl::l_end> > > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, void*, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | + 77.20% visitation_impl_invoke, void*, boost::intrusive_ptr, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | + 77.20% visitation_impl_invoke_impl, void*, boost::intrusive_ptr > | + 77.20% internal_visit > | + 77.20% PGQueueable::RunVis::operator() | + 77.20% OSD::dequeue_op | + 77.00% PrimaryLogPG::do_request | | + 76.85% PrimaryLogPG::do_op | | | + 60.70% PrimaryLogPG::execute_ctx | | | | + 58.25% PrimaryLogPG::issue_repop | | | | | + 58.10% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr >&&, eversion_t const&, eversion_t const&, std::vector > const&, boost::optional&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr) | | | | | | + 54.30% PrimaryLogPG::queue_transactions | | | | | | | + 54.30% queue_transactions | | | | | | | + 54.30% BlueStore::queue_transactions | | | | | | | + 50.65% BlueStore::_txc_add_transaction | | | | | | | | + 47.90% BlueStore::_write | | | | | | | | | + 47.85% BlueStore::_do_write | | | | | | | | | | + 43.65% BlueStore::ExtentMap::fault_range | | | | | | | | | | | + 41.95% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | | | + 41.95% operator() | | | | | | | | | | | | + 41.95% BlueStore::ExtentMap::__lambda9::operator() | | | | | | | | | | | | + 41.95% RocksDBStore::get | | | | | | | | | | | | + 41.95% rocksdb::DB::Get | | | | | | | | | | | | + 41.90% rocksdb::DB::Get | | | | | | | | | | | | | + 41.85% rocksdb::DBImpl::Get | | | | | | | | | | | | | | + 41.85% rocksdb::DBImpl::GetImpl | | | | | | | | | | | | | | + 41.10% rocksdb::Version::Get | | | | | | | | | | | | | | | + 40.95% rocksdb::TableCache::Get | | | | | | | | | | | | | | | | + 40.95% rocksdb::BlockBasedTable::Get | | | | | | | | | | | | | | | | + 40.15% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | | + 40.15% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | | + 40.05% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | | | | | | | + 39.30% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | | | | | | | | + 39.25% rocksdb::ReadBlockContents | | | | | | | | | | | | | | | | | | | | + 39.10% ReadBlock | | | | | | | | | | | | | | | | | | | | | + 39.05% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | | | | | | | | | | + 39.05% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | | | | | | | | | | + 39.05% read_random | | | | | | | | | | | | | | | | | | | | | | + 39.05% BlueFS::_read_random | | | | | | | | | | | | | | | | | | | | | | + 39.05% KernelDevice::read_random | | | | | | | | | | | | | | | | | | | | | | + 39.05% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | | | | | | | | | | + 39.00% pread | | | | | | | | | | | | | | | | | | | | | | | + 39.00% pread64 | | | | | | | | | | | | | | | | | | | | | | + 0.05% memcpy | | | | | | | | | | | | | | | | | | | | | + 0.05% Value | | | | | | | | | | | | | | | | | | | | + 0.10% tc_newarray | | | | | | | | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpansSafe | | | | | | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::Populate | | | | | | | | | | | | | | | | | | | | + 0.05% SpinLockHolder | | | | | | | | | | | | | | | | | | | + 0.05% reset | | | | | | | | | | | | | | | | | | + 0.35% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | | | | | | | | | | | | + 0.30% rocksdb::(anonymous namespace)::GetEntryFromCache | | | | | | | | | | | | | | | | | | | + 0.25% rocksdb::LRUCacheShard::Lookup | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::LRUHandleTable::Lookup | | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::LRUHandleTable::FindPointer | | | | | | | | | | | | | | | | | | | | + 0.10% MutexLock | | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::port::Mutex::Lock | | | | | | | | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock | | | | | | | | | | | | | | | | | | | | + 0.05% ~MutexLock | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::ShardedCache::Lookup | | | | | | | | | | | | | | | | | | + 0.30% rocksdb::BlockBasedTable::PutDataBlockToCache | | | | | | | | | | | | | | | | | | + 0.20% rocksdb::ShardedCache::Insert | | | | | | | | | | | | | | | | | | | + 0.20% rocksdb::LRUCacheShard::Insert | | | | | | | | | | | | | | | | | | | + 0.10% Free | | | | | | | | | | | | | | | | | | | | + 0.05% tc_delete | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::(anonymous namespace)::DeleteCachedEntry | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUHandleTable::Insert | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::EvictFromLRU | | | | | | | | | | | | | | | | | | + 0.10% usable_size | | | | | | | | | | | | | | | | | | + 0.10% tc_malloc_size | | | | | | | | | | | | | | | | | | + 0.10% MallocExtension::instance | | | | | | | | | | | | | | | | | | + 0.10% InitModule | | | | | | | | | | | | | | | | | + 0.05% operator= | | | | | | | | | | | | | | | | + 0.45% rocksdb::BlockIter::Seek | | | | | | | | | | | | | | | | | + 0.35% rocksdb::BlockIter::BinarySeek | | | | | | | | | | | | | | | | | | + 0.20% DecodeEntry | | | | | | | | | | | | | | | | | | + 0.05% Compare | | | | | | | | | | | | | | | | | + 0.10% rocksdb::BlockIter::ParseNextKey | | | | | | | | | | | | | | | | | + 0.05% TrimAppend | | | | | | | | | | | | | | | | | + 0.05% DecodeEntry | | | | | | | | | | | | | | | | + 0.10% ~BlockIter | | | | | | | | | | | | | | | | | + 0.10% ~IterKey | | | | | | | | | | | | | | | | | + 0.10% ResetBuffer | | | | | | | | | | | | | | | | | + 0.10% tc_deletearray | | | | | | | | | | | | | | | | | + 0.10% do_free | | | | | | | | | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | | | | | | | | | + 0.05% do_free_helper | | | | | | | | | | | | | | | | + 0.05% rocksdb::GetContext::SaveValue | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockIter::status | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::NewIndexIterator | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::GetFilter | | | | | | | | | | | | | | | | + 0.05% BlockIter | | | | | | | | | | | | | | | + 0.10% GetNextFile | | | | | | | | | | | | | | | + 0.05% rocksdb::FileIndexer::GetNextLevelIndex | | | | | | | | | | | | | | | + 0.05% PrepareNextLevel | | | | | | | | | | | | | | + 0.45% Get | | | | | | | | | | | | | | | + 0.40% rocksdb::MemTable::Get | | | | | | | | | | | | | | | + 0.35% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | | | | | | | | + 0.35% Seek | | | | | | | | | | | | | | | | + 0.35% Seek | | | | | | | | | | | | | | | | + 0.35% rocksdb::InlineSkipList::FindGreaterOrEqual | | | | | | | | | | | | | | | | + 0.35% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | | | | | | | | | + 0.20% GetLengthPrefixedSlice | | | | | | | | | | | | | | | | | + 0.10% GetVarint32Ptr | | | | | | | | | | | | | | | | + 0.15% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | + 0.15% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | | | + 0.15% compare | | | | | | | | | | | | | | | | + 0.15% __memcmp_sse4_1 | | | | | | | | | | | | | | | + 0.05% rocksdb::MemTable::NewRangeTombstoneIterator | | | | | | | | | | | | | | + 0.10% rocksdb::DBImpl::ReturnAndCleanupSuperVersion | | | | | | | | | | | | | | | + 0.10% rocksdb::ColumnFamilyData::ReturnThreadLocalSuperVersion | | | | | | | | | | | | | | | + 0.10% rocksdb::ThreadLocalPtr::CompareAndSwap | | | | | | | | | | | | | | | + 0.05% rocksdb::ThreadLocalPtr::Instance | | | | | | | | | | | | | | + 0.10% rocksdb::DBImpl::GetAndRefSuperVersion | | | | | | | | | | | | | | | + 0.10% rocksdb::ColumnFamilyData::GetThreadLocalSuperVersion | | | | | | | | | | | | | | | + 0.10% rocksdb::ThreadLocalPtr::Swap | | | | | | | | | | | | | | | + 0.10% rocksdb::ThreadLocalPtr::StaticMeta::Swap | | | | | | | | | | | | | | | + 0.10% rocksdb::ThreadLocalPtr::StaticMeta::GetThreadLocal | | | | | | | | | | | | | | + 0.05% rocksdb::LookupKey::LookupKey | | | | | | | | | | | | | | + 0.05% PerfStepTimer | | | | | | | | | | | | | + 0.05% std::string::_M_replace_safe | | | | | | | | | | | | + 0.05% rocksdb::DBImpl::DefaultColumnFamily | | | | | | | | | | | + 1.50% BlueStore::ExtentMap::decode_some | | | | | | | | | | | | + 0.50% BlueStore::Blob::decode | | | | | | | | | | | | | + 0.50% denc > | | | | | | | | | | | | | + 0.50% decode | | | | | | | | | | | | | + 0.50% decode | | | | | | | | | | | | | + 0.30% denc >, denc_traits > > > | | | | | | | | | | | | | | + 0.30% decode | | | | | | | | | | | | | | + 0.25% resize | | | | | | | | | | | | | | | + 0.25% std::vector >::_M_default_append | | | | | | | | | | | | | | | + 0.25% _M_allocate | | | | | | | | | | | | | | | + 0.25% allocate | | | | | | | | | | | | | | | + 0.25% tc_newarray | | | | | | | | | | | | | | | + 0.25% cpp_alloc | | | | | | | | | | | | | | | + 0.25% do_malloc_no_errno | | | | | | | | | | | | | | | + 0.25% do_malloc_small | | | | | | | | | | | | | | | + 0.25% Allocate | | | | | | | | | | | | | | | + 0.15% Pop | | | | | | | | | | | | | | | | + 0.15% SLL_Pop | | | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | + 0.05% denc > | | | | | | | | | | | | | + 0.20% get_ptr | | | | | | | | | | | | | + 0.20% ceph::buffer::copy | | | | | | | | | | | | | + 0.20% ceph::buffer::create_aligned | | | | | | | | | | | | | + 0.20% create | | | | | | | | | | | | | + 0.20% allocate_aligned | | | | | | | | | | | | | + 0.20% tc_posix_memalign | | | | | | | | | | | | | + 0.20% do_memalign_or_cpp_memalign | | | | | | | | | | | | | + 0.20% (anonymous namespace)::do_memalign | | | | | | | | | | | | | + 0.20% do_malloc | | | | | | | | | | | | | + 0.20% do_malloc_no_errno | | | | | | | | | | | | | + 0.20% do_malloc_small | | | | | | | | | | | | | + 0.20% Allocate | | | | | | | | | | | | | + 0.15% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | + 0.05% Lock | | | | | | | | | | | | | + 0.05% Pop | | | | | | | | | | | | + 0.30% BlueStore::Collection::open_shared_blob | | | | | | | | | | | | | + 0.20% BlueStore::SharedBlob::operator new | | | | | | | | | | | | | | + 0.20% allocate | | | | | | | | | | | | | | + 0.20% tc_newarray | | | | | | | | | | | | | | + 0.20% cpp_alloc | | | | | | | | | | | | | | + 0.20% do_malloc_no_errno | | | | | | | | | | | | | | + 0.20% do_malloc_small | | | | | | | | | | | | | | + 0.20% Allocate | | | | | | | | | | | | | | + 0.20% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | + 0.20% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | + 0.05% Lock | | | | | | | | | | | | | + 0.10% operator-> | | | | | | | | | | | | + 0.20% BlueStore::Blob::get_ref | | | | | | | | | | | | | + 0.15% bluestore_blob_use_tracker_t::init | | | | | | | | | | | | | | + 0.15% bluestore_blob_use_tracker_t::allocate | | | | | | | | | | | | | | + 0.15% tc_newarray | | | | | | | | | | | | | | + 0.15% cpp_alloc | | | | | | | | | | | | | | + 0.15% do_malloc_no_errno | | | | | | | | | | | | | | + 0.15% do_malloc_small | | | | | | | | | | | | | | + 0.15% Allocate | | | | | | | | | | | | | | + 0.15% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | + 0.05% bluestore_blob_use_tracker_t::get | | | | | | | | | | | | + 0.15% BlueStore::Extent::operator new | | | | | | | | | | | | | + 0.15% allocate | | | | | | | | | | | | | + 0.10% tc_newarray | | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | | + 0.05% operator+= | | | | | | | | | | | | + 0.10% insert | | | | | | | | | | | | | + 0.10% boost::intrusive::bstree_impl, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, void, void, unsigned long, true, (boost::intrusive::algo_types)5, void>::insert_unique | | | | | | | | | | | | | + 0.05% insert_unique_commit | | | | | | | | | | | | | + 0.05% insert_unique_check, boost::intrusive::bhtraits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity > > | | | | | | | | | | | | + 0.05% vector | | | | | | | | | | | | + 0.05% denc_varint_lowz | | | | | | | | | | | | + 0.05% bluestore_blob_t | | | | | | | | | | | | + 0.05% BlueStore::Blob::operator new | | | | | | | | | | | + 0.10% seek_shard | | | | | | | | | | | + 0.05% ~list | | | | | | | | | | + 3.05% BlueStore::_do_alloc_write | | | | | | | | | | | + 1.75% BitMapAllocator::allocate | | | | | | | | | | | | + 1.75% BitMapAllocator::allocate_dis | | | | | | | | | | | | + 1.75% BitAllocator::alloc_blocks_dis_res | | | | | | | | | | | | + 1.70% BitAllocator::alloc_blocks_dis_work | | | | | | | | | | | | + 1.70% BitAllocator::alloc_blocks_dis_int | | | | | | | | | | | | + 1.70% BitMapAreaIN::alloc_blocks_dis_int_work | | | | | | | | | | | | + 1.05% BitAllocator::child_check_n_lock | | | | | | | | | | | | | + 0.85% BitMapAreaIN::is_exhausted | | | | | | | | | | | | | | + 0.85% BitMapAreaIN::get_used_blocks | | | | | | | | | | | | | | + 0.45% lock_guard | | | | | | | | | | | | | | | + 0.45% lock | | | | | | | | | | | | | | | + 0.45% __gthread_mutex_lock | | | | | | | | | | | | | | | + 0.45% __GI___pthread_mutex_lock | | | | | | | | | | | | | | + 0.40% ~lock_guard | | | | | | | | | | | | | | + 0.40% unlock | | | | | | | | | | | | | | + 0.40% __gthread_mutex_unlock | | | | | | | | | | | | | | + 0.35% __GI___pthread_mutex_unlock | | | | | | | | | | | | | | | + 0.35% __pthread_mutex_unlock_usercnt | | | | | | | | | | | | | | + 0.05% pthread_mutex_unlock@plt | | | | | | | | | | | | | + 0.05% BitMapAreaIN::unlock | | | | | | | | | | | | | + 0.05% BitMapAreaIN::lock_shared | | | | | | | | | | | | + 0.60% BitMapAreaIN::alloc_blocks_dis | | | | | | | | | | | | + 0.60% BitMapAreaLeaf::alloc_blocks_dis_int | | | | | | | | | | | | + 0.20% BitMapZone::alloc_blocks_dis | | | | | | | | | | | | | + 0.05% ExtentList::add_extents | | | | | | | | | | | | | + 0.05% BitMapZone::check_locked | | | | | | | | | | | | + 0.15% child_check_n_lock | | | | | | | | | | | | + 0.10% next | | | | | | | | | | | + 0.50% _buffer_cache_write | | | | | | | | | | | | + 0.40% write | | | | | | | | | | | | | + 0.25% lock_guard | | | | | | | | | | | | | | + 0.25% lock | | | | | | | | | | | | | | + 0.25% __gthread_recursive_mutex_lock | | | | | | | | | | | | | | + 0.25% __gthread_mutex_lock | | | | | | | | | | | | | | + 0.25% __GI___pthread_mutex_lock | | | | | | | | | | | | | | + 0.25% _L_lock_840 | | | | | | | | | | | | | | + 0.25% __lll_lock_wait | | | | | | | | | | | | | + 0.15% BlueStore::BufferSpace::_discard | | | | | | | | | | | | | + 0.05% _data_lower_bound | | | | | | | | | | | | + 0.10% insert | | | | | | | | | | | | + 0.10% std::_Rb_tree, boost::intrusive_ptr, std::_Identity >, std::less >, std::allocator > >::_M_insert_unique const&> | | | | | | | | | | | | + 0.05% _M_insert_ const&> | | | | | | | | | | | | + 0.05% _M_get_insert_unique_pos | | | | | | | | | | | + 0.20% bluestore_blob_t::calc_csum | | | | | | | | | | | | + 0.20% calculate | | | | | | | | | | | | + 0.20% calculate | | | | | | | | | | | | + 0.15% calc | | | | | | | | | | | | | + 0.15% ceph::buffer::list::iterator_impl::crc32c | | | | | | | | | | | | | + 0.15% ceph_crc32c | | | | | | | | | | | | | + 0.15% ceph_crc32c_intel_fast | | | | | | | | | | | | | + 0.15% None | | | | | | | | | | | | | + 0.15% None | | | | | | | | | | | | | + 0.15% crc32_iscsi_00 | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::c_str | | | | | | | | | | | + 0.15% interval_set::insert | | | | | | | | | | | | + 0.15% operator[] | | | | | | | | | | | | + 0.15% _M_emplace_hint_unique, std::tuple<> > | | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos | | | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos | | | | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node | | | | | | | | | | | + 0.15% BitMapAllocator::reserve | | | | | | | | | | | + 0.10% map_bl | | | | | | | | | | | | + 0.05% operator() | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | | | + 0.10% bluestore_blob_t::allocated | | | | | | | | | | | | + 0.10% insert | | | | | | | | | | | | + 0.10% std::vector >::_M_fill_insert | | | | | | | | | | | | + 0.05% __uninitialized_move_a > | | | | | | | | | | | + 0.05% BlueStore::ExtentMap::set_lextent | | | | | | | | | | + 0.75% BlueStore::_do_write_data | | | | | | | | | | | + 0.75% BlueStore::_do_write_big | | | | | | | | | | | + 0.50% BlueStore::ExtentMap::punch_hole | | | | | | | | | | | | + 0.40% BlueStore::OldExtent::create | | | | | | | | | | | | | + 0.30% BlueStore::Blob::put_ref | | | | | | | | | | | | | | + 0.15% bluestore_blob_t::release_extents | | | | | | | | | | | | | | | + 0.10% emplace | | | | | | | | | | | | | | | | + 0.10% std::vector >::_M_insert_aux | | | | | | | | | | | | | | | | + 0.10% _M_allocate | | | | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | | | | + 0.10% tc_newarray | | | | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | | + 0.05% add | | | | | | | | | | | | | | + 0.05% ~vector | | | | | | | | | | | | | | + 0.05% bluestore_blob_use_tracker_t::put | | | | | | | | | | | | | + 0.10% OldExtent | | | | | | | | | | | | | + 0.10% Extent | | | | | | | | | | | | | + 0.10% assign_blob | | | | | | | | | | | | | + 0.05% operator= | | | | | | | | | | | | | + 0.05% get_cache | | | | | | | | | | | | + 0.05% intrusive_ptr | | | | | | | | | | | | + 0.05% BlueStore::ExtentMap::add | | | | | | | | | | | + 0.10% PerfCounters::inc | | | | | | | | | | | | + 0.05% add | | | | | | | | | | | + 0.05% write | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | | | + 0.05% BlueStore::ExtentMap::seek_lextent | | | | | | | | | | + 0.15% BlueStore::_wctx_finish | | | | | | | | | | | + 0.05% ~OldExtent | | | | | | | | | | | + 0.05% interval_set::insert | | | | | | | | | | + 0.10% BlueStore::ExtentMap::compress_extent_map | | | | | | | | | | | + 0.05% operator++ | | | | | | | | | | + 0.05% BlueStore::GarbageCollector::estimate | | | | | | | | | + 0.05% write_onode | | | | | | | | + 1.00% BlueStore::_omap_setkeys | | | | | | | | | + 0.50% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | + 0.25% Put | | | | | | | | | | | + 0.25% rocksdb::WriteBatch::Put | | | | | | | | | | | + 0.25% rocksdb::WriteBatchInternal::Put | | | | | | | | | | | + 0.15% PutLengthPrefixedSlice | | | | | | | | | | | | + 0.15% std::string::append | | | | | | | | | | | | + 0.15% std::string::reserve | | | | | | | | | | | | + 0.10% std::string::_Rep::_M_clone | | | | | | | | | | | | | + 0.10% std::string::_Rep::_S_create | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | + 0.05% _M_dispose | | | | | | | | | | | + 0.05% rocksdb::WriteBatchInternal::SetCount | | | | | | | | | | | + 0.05% commit | | | | | | | | | | + 0.15% ceph::buffer::list::c_str | | | | | | | | | | | + 0.15% ceph::buffer::list::rebuild | | | | | | | | | | | + 0.10% ceph::buffer::list::rebuild | | | | | | | | | | | | + 0.05% clear | | | | | | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | | | | | + 0.05% ceph::buffer::create | | | | | | | | | | + 0.05% ~list | | | | | | | | | + 0.15% decode | | | | | | | | | | + 0.10% ceph::buffer::list::iterator::copy | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | + 0.10% _M_insert | | | | | | | | | | | + 0.10% _M_create_node | | | | | | | | | | | + 0.10% _M_get_node | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | + 0.05% decode | | | | | | | | | + 0.10% operator+= | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | + 0.05% std::string::reserve | | | | | | | | | + 0.10% _key_encode_u64 > | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | + 0.10% _M_copy | | | | | | | | | | + 0.10% copy | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | + 0.05% resize | | | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | | | | | + 0.55% decode_attrset | | | | | | | | | + 0.55% decode, std::allocator > >, denc_traits, std::allocator > >, void> > | | | | | | | | | + 0.25% decode | | | | | | | | | | + 0.25% decode_nohead | | | | | | | | | | + 0.10% denc, ceph::buffer::ptr>, denc_traits, ceph::buffer::ptr>, void> > | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | + 0.05% denc, denc_traits, void> > | | | | | | | | | | | + 0.05% denc > | | | | | | | | | | + 0.05% insert, std::allocator >, ceph::buffer::ptr> > | | | | | | | | | | + 0.05% clear | | | | | | | | | + 0.25% ceph::buffer::list::iterator::copy_shallow | | | | | | | | | | + 0.25% ceph::buffer::list::iterator_impl::copy_shallow | | | | | | | | | | + 0.20% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | + 0.20% __memcpy_ssse3_back | | | | | | | | | + 0.05% begin | | | | | | | | + 0.25% decode_attrset_bl | | | | | | | | | + 0.25% decode_str_str_map_to_bl | | | | | | | | | + 0.20% ceph::buffer::list::iterator::copy | | | | | | | | | + 0.20% ceph::buffer::list::iterator_impl::copy | | | | | | | | | + 0.20% ceph::buffer::list::append | | | | | | | | | + 0.15% push_back | | | | | | | | | | + 0.15% push_back | | | | | | | | | | + 0.15% _M_insert | | | | | | | | | | + 0.15% _M_create_node | | | | | | | | | | + 0.15% _M_get_node | | | | | | | | | | + 0.15% allocate | | | | | | | | | | + 0.15% tc_new | | | | | | | | | | + 0.15% cpp_alloc | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | + 0.05% SpinLockHolder | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | + 0.20% BlueStore::_setattrs | | | | | | | | | + 0.05% write_onode | | | | | | | | | + 0.05% operator[] | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | | | | | | | | + 0.20% BlueStore::Collection::get_onode | | | | | | | | | + 0.20% BlueStore::OnodeSpace::lookup | | | | | | | | | + 0.10% lock_guard | | | | | | | | | | + 0.10% lock | | | | | | | | | | + 0.10% __gthread_recursive_mutex_lock | | | | | | | | | | + 0.10% __gthread_mutex_lock | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock | | | | | | | | | | + 0.05% _L_lock_840 | | | | | | | | | + 0.10% find | | | | | | | | | + 0.10% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | | | + 0.10% _M_find_node | | | | | | | | | + 0.10% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | | + 0.10% _M_equals | | | | | | | | | + 0.10% _S_equals | | | | | | | | | + 0.10% operator() | | | | | | | | | + 0.10% operator== | | | | | | | | | + 0.10% operator== | | | | | | | | | + 0.05% std::operator== | | | | | | | | | + 0.05% operator== | | | | | | | | + 0.15% begin | | | | | | | | | + 0.15% iterator | | | | | | | | | + 0.15% ceph::buffer::list::get_contiguous | | | | | | | | | + 0.05% ~list | | | | | | | | | + 0.05% ceph::buffer::list::rebuild | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | + 0.10% BlueStore::_omap_rmkeys | | | | | | | | | + 0.05% decode | | | | | | | | | + 0.05% RocksDBStore::RocksDBTransactionImpl::rmkey | | | | | | | | + 0.05% ~vector | | | | | | | | + 0.05% ~map | | | | | | | | + 0.05% ~WLocker | | | | | | | | + 0.05% decode_bl | | | | | | | | + 0.05% BlueStore::_get_collection | | | | | | | + 1.55% BlueStore::_txc_write_nodes | | | | | | | | + 1.00% BlueStore::ExtentMap::update | | | | | | | | | + 0.50% BlueStore::ExtentMap::encode_some | | | | | | | | | | + 0.15% encode | | | | | | | | | | | + 0.15% denc > | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | + 0.10% ceph::buffer::ptr::c_str | | | | | | | | | | | + 0.05% denc > | | | | | | | | | | + 0.05% lower_bound | | | | | | | | | | + 0.05% get_sbid | | | | | | | | | | + 0.05% get_contiguous_appender | | | | | | | | | + 0.30% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | + 0.25% operator() | | | | | | | | | | | + 0.25% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | + 0.20% Put | | | | | | | | | | | | + 0.20% rocksdb::WriteBatch::Put | | | | | | | | | | | | + 0.20% rocksdb::WriteBatchInternal::Put | | | | | | | | | | | | + 0.20% PutLengthPrefixedSlice | | | | | | | | | | | | + 0.15% std::string::append | | | | | | | | | | | | | + 0.05% std::string::reserve | | | | | | | | | | | | + 0.05% PutVarint32 | | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | + 0.05% get_extent_shard_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | | + 0.05% ~vector | | | | | | | | | + 0.05% function | | | | | | | | + 0.40% denc > | | | | | | | | | + 0.30% encode | | | | | | | | | | + 0.30% encode | | | | | | | | | | + 0.30% _denc_friend | | | | | | | | | | + 0.30% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | | | + 0.30% encode, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr> > | | | | | | | | | | + 0.30% encode_nohead, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr> > | | | | | | | | | | + 0.20% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | | | | + 0.20% encode, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | | | | + 0.20% denc > | | | | | | | | | | | + 0.20% encode | | | | | | | | | | | + 0.20% append | | | | | | | | | | | + 0.10% ceph::buffer::ptr::c_str | | | | | | | | | | | + 0.10% ceph::buffer::list::contiguous_appender::append | | | | | | | | | | | + 0.10% maybe_inline_memcpy | | | | | | | | | | | + 0.10% memcpy | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | + 0.05% pair, mempool::pool_allocator<(mempool::pool_index_t)2, char> > const, ceph::buffer::ptr, void> | | | | | | | | | | + 0.05% operator++ | | | | | | | | | + 0.10% bound_encode | | | | | | | | | + 0.10% bound_encode | | | | | | | | | + 0.10% _denc_friend | | | | | | | | | + 0.10% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | | + 0.10% bound_encode, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr> > | | | | | | | | | + 0.05% pair, mempool::pool_allocator<(mempool::pool_index_t)2, char> > const, ceph::buffer::ptr, void> | | | | | | | | | + 0.05% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | + 0.05% ~shared_ptr | | | | | | | | + 0.05% get_contiguous_appender | | | | | | | | + 0.05% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | + 1.40% BlueStore::_txc_state_proc | | | | | | | | + 1.35% BlueStore::_txc_aio_submit | | | | | | | | | + 1.35% KernelDevice::aio_submit | | | | | | | | | + 1.30% aio_queue_t::submit | | | | | | | | | | + 1.30% io_submit | | | | | | | | | + 0.05% operator++ | | | | | | | | + 0.05% log_state_latency | | | | | | | + 0.15% Throttle::get | | | | | | | | + 0.10% Locker | | | | | | | | | + 0.10% Mutex::Lock | | | | | | | | | + 0.05% __GI___pthread_mutex_lock | | | | | | | | + 0.05% ~Locker | | | | | | | + 0.15% BlueStore::_txc_finalize_kv | | | | | | | | + 0.10% BitmapFreelistManager::release | | | | | | | | | + 0.10% BitmapFreelistManager::_xor | | | | | | | | | + 0.10% RocksDBStore::RocksDBTransactionImpl::merge | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | + 0.05% combine_strings | | | | | | | | + 0.05% BitmapFreelistManager::allocate | | | | | | | + 0.15% BlueStore::_txc_create | | | | | | | | + 0.10% TransContext | | | | | | | | | + 0.05% list_member_hook | | | | | | | | + 0.05% RocksDBStore::get_transaction | | | | | | | + 0.05% ~shared_ptr | | | | | | | + 0.05% operator- | | | | | | | + 0.05% collect_contexts | | | | | | | + 0.05% PerfCounters::tinc | | | | | | | + 0.05% PerfCounters::inc | | | | | | + 2.00% PrimaryLogPG::log_operation | | | | | | | + 2.00% PG::append_log | | | | | | | + 1.40% PG::write_if_dirty | | | | | | | | + 0.60% PGLog::write_log_and_missing | | | | | | | | | + 0.55% PGLog::_write_log_and_missing | | | | | | | | | | + 0.35% pg_log_entry_t::encode_with_checksum | | | | | | | | | | | + 0.25% pg_log_entry_t::encode | | | | | | | | | | | | + 0.20% encode | | | | | | | | | | | | | + 0.15% ObjectModDesc::encode | | | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | | | | + 0.10% encode_raw | | | | | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::append | | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | | | | | | | | + 0.05% end | | | | | | | | | | | | | + 0.05% hobject_t::encode | | | | | | | | | | | | + 0.05% end | | | | | | | | | | | + 0.05% ~list | | | | | | | | | | | + 0.05% ceph::buffer::list::crc32c | | | | | | | | | | + 0.05% ~set | | | | | | | | | | + 0.05% pg_log_entry_t::get_key_name | | | | | | | | | | + 0.05% insert | | | | | | | | | + 0.05% should_gather | | | | | | | | + 0.45% PG::prepare_write_info | | | | | | | | | + 0.40% PG::_prepare_write_info | | | | | | | | | + 0.15% encode | | | | | | | | | | + 0.15% pg_fast_info_t::encode | | | | | | | | | | + 0.10% encode | | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | | | + 0.05% encode | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy_in | | | | | | | | | + 0.10% operator== | | | | | | | | | | + 0.05% operator== | | | | | | | | | + 0.05% pg_info_t::operator= | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | + 0.30% omap_setkeys | | | | | | | | | + 0.30% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | + 0.30% encode, ceph::buffer::list> > | | | | | | | | | + 0.30% encode_nohead, ceph::buffer::list> > | | | | | | | | | + 0.20% denc, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | + 0.20% encode > | | | | | | | | | | + 0.20% denc > | | | | | | | | | | + 0.20% encode | | | | | | | | | | + 0.20% append | | | | | | | | | | + 0.10% flush_and_continue | | | | | | | | | | | + 0.05% ceph::buffer::list::append(ceph::buffer::ptr&&) | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | + 0.10% push_back | | | | | | | | | | + 0.10% _M_insert | | | | | | | | | | + 0.10% _M_create_node | | | | | | | | | | + 0.10% _M_get_node | | | | | | | | | | + 0.10% allocate | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | + 0.05% SizeClass | | | | | | | | | | + 0.05% Allocate | | | | | | | | | + 0.05% ~pair | | | | | | | | | + 0.05% operator++ | | | | | | | | + 0.05% ~map | | | | | | | + 0.30% PGLog::trim | | | | | | | | + 0.30% PGLog::IndexedLog::trim | | | | | | | | + 0.20% unindex | | | | | | | | | + 0.10% count | | | | | | | | | | + 0.10% std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::count | | | | | | | | | | + 0.05% _M_bucket_begin | | | | | | | | | + 0.05% operator[] | | | | | | | | | + 0.05% erase | | | | | | | | + 0.10% pop_front | | | | | | | | + 0.10% _M_erase | | | | | | | | + 0.05% destroy | | | | | | | | + 0.05% _M_put_node | | | | | | | + 0.20% PG::add_log_entry | | | | | | | | + 0.15% add | | | | | | | | + 0.15% PGLog::IndexedLog::add | | | | | | | | + 0.10% push_back | | | | | | | | + 0.10% _M_insert | | | | | | | | + 0.10% _M_create_node | | | | | | | | + 0.10% construct, pg_log_entry_t const&> | | | | | | | | + 0.10% _List_node | | | | | | | | + 0.10% pg_log_entry_t::pg_log_entry_t | | | | | | | | + 0.05% hobject_t::hobject_t | | | | | | | | + 0.05% ceph::buffer::list::list | | | | | | | + 0.05% PGLog::IndexedLog::trim | | | | | | | + 0.05% PG::update_snap_map | | | | | | + 0.80% generate_transaction | | | | | | | + 0.75% PGTransaction::safe_create_traverse&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26>() | | | | | | | | + 0.65% operator() | | | | | | | | | + 0.40% ObjectStore::Transaction::setattrs | | | | | | | | | | + 0.30% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | + 0.15% encode, ceph::buffer::list> > | | | | | | | | | | | | + 0.15% encode_nohead, ceph::buffer::list> > | | | | | | | | | | | | + 0.10% denc, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | | | + 0.10% encode > | | | | | | | | | | | | | + 0.10% denc > | | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | | + 0.10% append | | | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | | | + 0.10% _M_insert | | | | | | | | | | | | | + 0.10% _M_create_node | | | | | | | | | | | | | + 0.05% construct, ceph::buffer::ptr const&> | | | | | | | | | | | | | + 0.05% _M_get_node | | | | | | | | | | | | + 0.05% ~pair | | | | | | | | | | | + 0.10% get_contiguous_appender | | | | | | | | | | | | + 0.10% ceph::buffer::list::contiguous_appender::contiguous_appender | | | | | | | | | | | | + 0.10% ceph::buffer::create | | | | | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | | | | | + 0.10% create | | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | | + 0.05% tc_posix_memalign | | | | | | | | | | | | + 0.05% operator+= | | | | | | | | | | | + 0.05% bound_encode, ceph::buffer::list> > | | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_object_id | | | | | | | | | | + 0.05% ObjectStore::Transaction::_get_next_op | | | | | | | | | + 0.10% std::map, std::allocator > >::operator[] | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos | | | | | | | | | | + 0.05% _M_create_node, std::allocator >&>, std::tuple<> > | | | | | | | | | + 0.10% match, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> | | | | | | | | | | + 0.10% apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33>, const boost::variant > | | | | | | | | | | + 0.10% apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> > | | | | | | | | | | + 0.10% internal_apply_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> > > | | | | | | | | | | + 0.10% internal_apply_visitor_impl, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*> | | | | | | | | | | + 0.10% visitation_impl, boost::detail::variant::visitation_impl_step, PGTransaction::ObjectOperation::BufferUpdate::Write, boost::mpl::l_item, PGTransaction::ObjectOperation::BufferUpdate::Zero, boost::mpl::l_item, PGTransaction::ObjectOperation::BufferUpdate::CloneRange, boost::mpl::l_end> > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, boost::variant::has_fallback_type_> | | | | | | | | | | + 0.10% visitation_impl_invoke, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, PGTransaction::ObjectOperation::BufferUpdate::Write, boost::variant::has_fallback_type_> | | | | | | | | | | + 0.10% visitation_impl_invoke_impl, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> >, void const*, PGTransaction::ObjectOperation::BufferUpdate::Write> | | | | | | | | | | + 0.10% internal_visit | | | | | | | | | | + 0.10% operator() | | | | | | | | | | + 0.10% apply_helper | | | | | | | | | | + 0.10% operator() | | | | | | | | | | + 0.10% write | | | | | | | | | | + 0.10% encode | | | | | | | | | | + 0.10% encode | | | | | | | | | | + 0.10% encode_raw > | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | | + 0.05% push_back | | | | | | | | | + 0.05% operator= | | | | | | | | + 0.05% pop_front | | | | | | | | + 0.05% find | | | | | | | + 0.05% find | | | | | | + 0.25% ~unique_ptr | | | | | | | + 0.25% operator() | | | | | | | + 0.25% ~PGTransaction | | | | | | | + 0.25% ~map | | | | | | | + 0.25% ~_Rb_tree | | | | | | | + 0.25% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | + 0.20% _M_destroy_node | | | | | | | + 0.20% destroy > > | | | | | | | + 0.20% ~_Rb_tree_node | | | | | | | + 0.20% ~pair | | | | | | | + 0.15% ~ObjectOperation | | | | | | | | + 0.10% ~map | | | | | | | | | + 0.10% ~_Rb_tree | | | | | | | | | + 0.10% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase | | | | | | | | | + 0.05% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase | | | | | | | | | + 0.05% _M_destroy_node | | | | | | | | + 0.05% ~optional | | | | | | | + 0.05% hobject_t::~hobject_t | | | | | | + 0.20% ~vector | | | | | | | + 0.20% _Destroy | | | | | | | + 0.20% _Destroy | | | | | | | + 0.20% __destroy | | | | | | | + 0.20% _Destroy | | | | | | | + 0.20% ObjectStore::Transaction::~Transaction | | | | | | | + 0.15% ~list | | | | | | | | + 0.15% ~list | | | | | | | | + 0.15% ~_List_base | | | | | | | | + 0.15% std::_List_base >::_M_clear | | | | | | | | + 0.10% destroy > | | | | | | | | | + 0.10% ~_List_node | | | | | | | | | + 0.10% ~ptr | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | + 0.10% ceph::buffer::raw_combined::~raw_combined | | | | | | | | | + 0.10% ~raw_combined | | | | | | | | | + 0.05% ~raw | | | | | | | | + 0.05% _M_put_node | | | | | | | + 0.05% ~ptr | | | | | | + 0.15% insert > | | | | | | | + 0.15% std::_Rb_tree, std::less, std::allocator >::_M_insert_unique > | | | | | | | + 0.05% _M_insert_unique_ | | | | | | + 0.10% get_osdmap | | | | | | | + 0.05% non-virtual thunk to PrimaryLogPG::pgb_get_osdmap() const | | | | | | | + 0.05% PrimaryLogPG::pgb_get_osdmap | | | | | | + 0.05% ~pair | | | | | | + 0.05% ~intrusive_ptr | | | | | | + 0.05% std::vector >::~vector | | | | | | + 0.05% non-virtual thunk to PrimaryLogPG::get_actingbackfill_shards() const | | | | | | + 0.05% non-virtual thunk to PrimaryLogPG::apply_stats(hobject_t const&, object_stat_sum_t const&) | | | | | | + 0.05% count | | | | | + 0.05% PGTransaction::add_obc | | | | | + 0.05% ObjectContext::ondisk_write_lock | | | | + 1.60% PrimaryLogPG::prepare_transaction | | | | | + 1.25% PrimaryLogPG::finish_ctx | | | | | | + 0.45% encode | | | | | | | + 0.35% object_info_t::encode | | | | | | | | + 0.25% encode | | | | | | | | | + 0.10% hobject_t::encode | | | | | | | | | | + 0.10% encode | | | | | | | | | | + 0.05% encode_raw | | | | | | | | | | + 0.05% encode | | | | | | | | | + 0.05% object_locator_t::encode | | | | | | | | | + 0.05% encode_raw | | | | | | | | | + 0.05% encode_raw > | | | | | | | | + 0.05% encode, watch_info_t, std::less >, std::allocator const, watch_info_t> >, denc_traits, void>, denc_traits > | | | | | | | | + 0.05% encode > | | | | | | | + 0.10% SnapSet::encode | | | | | | | + 0.05% encode >, denc_traits >, void> > | | | | | | | + 0.05% encode | | | | | | + 0.30% OSDMap::get_features | | | | | | | + 0.20% find | | | | | | | | + 0.20% find | | | | | | | | + 0.10% operator() | | | | | | | | | + 0.10% operator< , std::allocator > | | | | | | | | | + 0.05% std::string::compare | | | | | | | | + 0.10% _M_lower_bound | | | | | | | | + 0.10% operator() | | | | | | | | + 0.10% operator< , std::allocator > | | | | | | | | + 0.10% compare | | | | | | | | + 0.10% size | | | | | | | + 0.05% ~basic_string | | | | | | | + 0.05% operator==, std::allocator > | | | | | | + 0.15% std::map, std::allocator > >::operator[](std::string&&) | | | | | | | + 0.15% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos | | | | | | | + 0.05% _M_create_node, std::allocator >&&>, std::tuple<> > | | | | | | + 0.10% list | | | | | | | + 0.10% reserve | | | | | | | + 0.10% ceph::buffer::create | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | + 0.10% create | | | | | | | + 0.10% allocate_aligned | | | | | | | + 0.10% operator+= | | | | | | + 0.05% ~list | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | + 0.05% push_back | | | | | | + 0.05% operator= | | | | | | + 0.05% PGTransaction::setattrs | | | | | + 0.35% PrimaryLogPG::do_osd_ops | | | | | + 0.25% PGTransaction::write | | | | | | + 0.20% interval_map, PGTransaction::ObjectOperation::SplitMerger>::insert(unsigned long, unsigned long, boost::variant&&) | | | | | | | + 0.10% make_pair > > | | | | | | | | + 0.10% pair >, void> | | | | | | | | + 0.10% pair | | | | | | | | + 0.10% variant | | | | | | | | + 0.10% internal_apply_visitor | | | | | | | | + 0.10% internal_apply_visitor_impl | | | | | | | | + 0.10% visitation_impl, boost::detail::variant::visitation_impl_step, PGTransaction::ObjectOperation::BufferUpdate::Write, boost::mpl::l_item, PGTransaction::ObjectOperation::BufferUpdate::Zero, boost::mpl::l_item, PGTransaction::ObjectOperation::BufferUpdate::CloneRange, boost::mpl::l_end> > > >, boost::mpl::l_iter >, boost::detail::variant::move_into, void*, boost::variant::has_fallback_type_> | | | | | | | | + 0.10% visitation_impl_invoke::has_fallback_type_> | | | | | | | | + 0.10% visitation_impl_invoke_impl | | | | | | | | + 0.10% internal_visit | | | | | | | | + 0.10% Write | | | | | | | | + 0.10% ceph::buffer::list::list(ceph::buffer::list&&) | | | | | | | | + 0.05% list | | | | | | | + 0.05% interval_map, PGTransaction::ObjectOperation::SplitMerger>::try_merge | | | | | | | + 0.05% insert > >, void> | | | | | | + 0.05% variant | | | | | + 0.05% PrimaryLogPG::write_update_size_and_usage | | | | + 0.30% MOSDOpReply::MOSDOpReply | | | | | + 0.20% Message::Message | | | | | | + 0.15% list | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::iterator_impl | | | | | | | + 0.05% ptr | | | | | | + 0.05% operator= | | | | | + 0.05% vector | | | | | + 0.05% request_redirect_t | | | | + 0.25% PrimaryLogPG::calc_trim_to | | | | + 0.10% pg_pool_t::is_pool_snaps_mode | | | | + 0.05% ~shared_ptr | | | | + 0.05% register_on_finish | | | | + 0.05% PrimaryLogPG::eval_repop | | | + 13.15% PrimaryLogPG::find_object_context | | | | + 13.15% PrimaryLogPG::get_object_context | | | | + 10.30% PGBackend::objects_get_attr | | | | | + 10.15% BlueStore::getattr | | | | | | + 9.95% BlueStore::Collection::get_onode | | | | | | | + 9.60% RocksDBStore::get | | | | | | | | + 9.45% rocksdb::DB::Get | | | | | | | | | + 9.45% rocksdb::DB::Get | | | | | | | | | + 9.45% rocksdb::DBImpl::Get | | | | | | | | | + 9.45% rocksdb::DBImpl::GetImpl | | | | | | | | | + 9.20% rocksdb::Version::Get | | | | | | | | | | + 9.20% rocksdb::TableCache::Get | | | | | | | | | | + 9.20% rocksdb::BlockBasedTable::Get | | | | | | | | | | + 9.05% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | + 9.05% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | + 9.00% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | + 8.95% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | + 8.95% rocksdb::ReadBlockContents | | | | | | | | | | | | + 8.90% ReadBlock | | | | | | | | | | | | | + 8.90% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | + 8.90% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | + 8.90% read_random | | | | | | | | | | | | | + 8.90% BlueFS::_read_random | | | | | | | | | | | | | + 8.90% KernelDevice::read_random | | | | | | | | | | | | | + 8.90% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | + 8.80% pread | | | | | | | | | | | | | | + 8.80% pread64 | | | | | | | | | | | | | + 0.10% memcpy | | | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | | | | | + 0.05% rocksdb::Cleanable::RegisterCleanup | | | | | | | | | | + 0.15% rocksdb::BlockIter::Seek | | | | | | | | | | + 0.10% rocksdb::BlockIter::BinarySeek | | | | | | | | | | + 0.05% DecodeEntry | | | | | | | | | | + 0.05% Compare | | | | | | | | | + 0.25% Get | | | | | | | | | + 0.15% rocksdb::MemTable::Get | | | | | | | | | | + 0.15% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | | + 0.15% Seek | | | | | | | | | | + 0.15% Seek | | | | | | | | | | + 0.15% rocksdb::InlineSkipList::FindGreaterOrEqual | | | | | | | | | | + 0.15% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | | | + 0.10% GetLengthPrefixedSlice | | | | | | | | | | + 0.05% rocksdb::InternalKeyComparator::Compare | | | | | | | | | + 0.10% rocksdb::MemTableListVersion::Get | | | | | | | | | + 0.10% rocksdb::MemTableListVersion::GetFromList | | | | | | | | | + 0.05% rocksdb::MemTable::Get | | | | | | | | + 0.05% ~basic_string | | | | | | | | + 0.05% combine_strings | | | | | | | | + 0.05% append | | | | | | | + 0.20% BlueStore::OnodeSpace::lookup | | | | | | | | + 0.15% find | | | | | | | | | + 0.15% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | | | + 0.15% _M_find_node | | | | | | | | | + 0.15% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | | + 0.10% _M_equals | | | | | | | | | + 0.10% _S_equals | | | | | | | | | + 0.10% operator() | | | | | | | | | + 0.10% operator== | | | | | | | | | + 0.10% operator== | | | | | | | | | + 0.10% operator== | | | | | | | | | + 0.10% operator== | | | | | | | | + 0.05% BlueStore::TwoQCache::_touch_onode | | | | | | | + 0.10% get_object_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | + 0.05% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::reserve | | | | | | | | + 0.05% get_key_object, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | + 0.05% decode | | | | | | + 0.10% ceph::buffer::ptr::operator= | | | | | | | + 0.10% inc | | | | | | | + 0.10% AO_fetch_and_add_full | | | | | | + 0.05% count | | | | | + 0.10% c_str | | | | | + 0.10% _M_data | | | | + 1.40% SharedLRU, std::hash >::lookup_or_create | | | | | + 0.60% ~list | | | | | | + 0.60% ~_List_base | | | | | | + 0.60% std::_List_base, std::allocator > >::_M_clear | | | | | | + 0.60% destroy > > | | | | | | + 0.60% ~_List_node | | | | | | + 0.60% ~shared_ptr | | | | | | + 0.60% ~__shared_ptr | | | | | | + 0.60% ~__shared_count | | | | | | + 0.60% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | | | | | | + 0.60% std::_Sp_counted_deleter, std::hash >::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2>::_M_dispose | | | | | | + 0.60% operator() | | | | | | + 0.45% ~ObjectContext | | | | | | | + 0.40% Context::complete | | | | | | | | + 0.35% PrimaryLogPG::put_snapset_context | | | | | | | | | + 0.25% erase | | | | | | | | | + 0.25% erase | | | | | | | | | + 0.15% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::equal_range | | | | | | | | | | + 0.10% operator() | | | | | | | | | | | + 0.10% operator< | | | | | | | | | | | + 0.10% cmp | | | | | | | | | | | + 0.05% operator< , std::allocator > | | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound | | | | | | | | | + 0.10% erase | | | | | | | | | + 0.10% _M_erase_aux | | | | | | | | | + 0.10% erase | | | | | | | | | + 0.10% _M_erase_aux | | | | | | | | | + 0.05% std::_Rb_tree_rebalance_for_erase | | | | | | | | | + 0.05% _M_destroy_node | | | | | | | | + 0.05% PrimaryLogPG::C_PG_ObjectContext::finish | | | | | | | + 0.05% ~ObjectState | | | | | | + 0.15% remove | | | | | | + 0.10% find | | | | | | | + 0.10% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::find | | | | | | | + 0.10% _M_lower_bound | | | | | | | + 0.10% operator() | | | | | | | + 0.10% operator< | | | | | | | + 0.10% cmp | | | | | | + 0.05% erase | | | | | + 0.40% SharedLRU, std::hash >::lru_add | | | | | | + 0.20% trim_cache | | | | | | | + 0.15% lru_remove | | | | | | | | + 0.10% erase | | | | | | | | | + 0.05% erase | | | | | | | | | + 0.05% _M_erase | | | | | | | | + 0.05% find | | | | | | | + 0.05% push_back | | | | | | + 0.10% find | | | | | | | + 0.10% std::_Hashtable > > >, std::allocator > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | + 0.10% _M_find_node | | | | | | | + 0.10% std::_Hashtable > > >, std::allocator > > > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | + 0.05% _M_equals | | | | | | + 0.05% push_front | | | | | | + 0.05% operator[] | | | | | + 0.20% insert, ObjectContext*> >, void> | | | | | | + 0.20% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::_M_insert_unique, ObjectContext*> > >(std::pair, ObjectContext*> >&&) | | | | | | + 0.05% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::_M_insert_, ObjectContext*> > >(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair, ObjectContext*> >&&) | | | | | | + 0.05% _M_get_insert_unique_pos | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | + 0.05% shared_ptr::Cleanup> | | | | | + 0.05% find | | | | + 0.60% PrimaryLogPG::get_snapset_context | | | | | + 0.15% _register_snapset_context | | | | | | + 0.10% operator[] | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | + 0.05% lower_bound | | | | | | + 0.05% count | | | | | + 0.10% get_snapdir | | | | | | + 0.10% hobject_t::hobject_t | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | + 0.10% find | | | | | | + 0.10% find | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound | | | | | | + 0.10% operator() | | | | | | + 0.10% operator< | | | | | | + 0.10% cmp | | | | | + 0.10% SnapSet::decode | | | | | | + 0.10% decode, std::less, std::allocator > > >, denc_traits, std::less, std::allocator > > >, void> > | | | | | | + 0.05% decode | | | | | + 0.05% hobject_t::~hobject_t | | | | | + 0.05% get_head | | | | | + 0.05% PGBackend::objects_get_attr | | | | + 0.45% decode | | | | | + 0.45% object_info_t::decode | | | | | + 0.30% decode | | | | | | + 0.10% hobject_t::decode | | | | | | | + 0.10% decode | | | | | | | + 0.05% decode_raw | | | | | | | + 0.05% clear | | | | | | + 0.05% object_locator_t::decode | | | | | | + 0.05% decode_raw | | | | | | + 0.05% decode_raw > | | | | | | + 0.05% decode | | | | | + 0.05% insert, watch_info_t>, void> | | | | | + 0.05% decode > | | | | | + 0.05% decode, std::allocator >, denc_traits, denc_traits > | | | | + 0.15% ~basic_string | | | | | + 0.15% std::string::_Rep::_M_dispose | | | | | + 0.15% __exchange_and_add_dispatch | | | | | + 0.15% __exchange_and_add | | | | + 0.10% hobject_t::~hobject_t | | | | | + 0.05% ~basic_string | | | | + 0.05% ~list | | | | + 0.05% shared_ptr | | | | + 0.05% SharedLRU, std::hash >::lookup | | | + 0.65% OSDService::check_failsafe_full | | | | + 0.65% OSDService::_check_full | | | | + 0.35% operator<< | | | | | + 0.35% std::ostream::_M_insert | | | | | + 0.35% put | | | | | + 0.35% std::num_put > >::do_put | | | | | + 0.35% std::num_put > >::_M_insert_float | | | | | + 0.25% std::__convert_from_v | | | | | | + 0.25% _IO_vsnprintf | | | | | | + 0.15% _IO_vfprintf_internal | | | | | | | + 0.10% ___printf_fp | | | | | | | + 0.05% __mempcpy_sse2 | | | | | | + 0.05% _IO_str_init_static_internal | | | | | | + 0.05% _IO_no_init | | | | | + 0.05% std::__num_base::_S_format_float | | | | | + 0.05% __write | | | | + 0.15% operator<< > | | | | | + 0.15% std::__ostream_insert > | | | | | + 0.15% __ostream_write > | | | | | + 0.15% sputn | | | | | + 0.15% std::basic_streambuf >::xsputn | | | | | + 0.10% std::basic_stringbuf, std::allocator >::overflow | | | | | + 0.05% std::basic_stringbuf, std::allocator >::_M_sync | | | | | + 0.05% _ZNSs4swapERSs@plt | | | | + 0.10% Locker | | | | | + 0.10% Mutex::Lock | | | | | + 0.10% __GI___pthread_mutex_lock | | | | | + 0.10% _L_lock_791 | | | | | + 0.10% __lll_lock_wait | | | | + 0.05% ~Locker | | | + 0.35% std::basic_ostringstream, std::allocator >::basic_ostringstream | | | | + 0.35% basic_ostream | | | | + 0.35% std::basic_ios >::init | | | | + 0.30% std::basic_ios >::_M_cache_locale | | | | + 0.15% std::has_facet > | | | | | + 0.15% __cxxabiv1::__dynamic_cast | | | | | + 0.10% __cxxabiv1::__vmi_class_type_info::__do_dyncast | | | | | + 0.10% operator== | | | | | + 0.05% __strcmp_sse42 | | | | + 0.05% std::has_facet > > > | | | | + 0.05% std::has_facet > > > | | | + 0.35% finish_decode | | | | + 0.20% decode | | | | | + 0.10% object_locator_t::decode | | | | | | + 0.05% decode | | | | | + 0.05% decode_raw > | | | | | + 0.05% decode | | | | + 0.10% ~object_locator_t | | | | | + 0.10% ~basic_string | | | | | + 0.05% std::string::_Rep::_M_dispose | | | | + 0.05% decode >, denc_traits >, void> > | | | + 0.30% clear_payload | | | | + 0.30% Throttle::put | | | | + 0.20% Locker | | | | | + 0.20% Mutex::Lock | | | | | + 0.20% __GI___pthread_mutex_lock | | | | | + 0.20% _L_lock_791 | | | | | + 0.20% __lll_lock_wait | | | | + 0.05% PerfCounters::inc | | | + 0.20% std::basic_ostringstream, std::allocator >::~basic_ostringstream | | | | + 0.10% ~basic_ios | | | | | + 0.10% std::ios_base::~ios_base | | | | | + 0.05% std::ios_base::_M_dispose_callbacks | | | | + 0.05% ~basic_stringbuf | | | + 0.15% PGLog::IndexedLog::get_request | | | | + 0.15% find | | | | + 0.15% find | | | | + 0.15% _M_find_node | | | | + 0.15% std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | + 0.05% _M_bucket_index | | | + 0.10% ~intrusive_ptr | | | | + 0.10% RefCountedObject::put | | | | + 0.05% dec | | | + 0.10% object_locator_t::~object_locator_t | | | | + 0.05% ~basic_string | | | + 0.10% PrimaryLogPG::maybe_await_blocked_snapset | | | | + 0.10% SharedLRU, std::hash >::lookup | | | | + 0.05% find | | | | + 0.05% Locker | | | + 0.10% OpRequest::may_read | | | | + 0.05% OpRequest::need_read_cap | | | + 0.05% tc_new | | | + 0.05% operator!= | | | + 0.05% hobject_t::~hobject_t | | | + 0.05% ceph_clock_now | | | + 0.05% PrimaryLogPG::get_rw_locks | | | + 0.05% PrimaryLogPG::OpContext::OpContext | | | + 0.05% PerfCounters::tinc | | | + 0.05% PG::Scrubber::write_blocked_by_scrub | | | + 0.05% OpRequest::may_write | | | + 0.05% OpRequest::check_rmw | | + 0.10% PG::can_discard_request | | | + 0.05% PG::can_discard_op | | + 0.05% pg_t::get_hobj_start | + 0.10% mark_reached_pg | + 0.10% OpRequest::mark_flag_point | + 0.05% TrackedOp::mark_event + 16.55% WaitInterval | + 16.55% WaitUntil | + 16.55% pthread_cond_timedwait@@GLIBC_2.3.2 | + 0.10% __pthread_mutex_cond_lock | + 0.10% _L_cond_lock_792 | + 0.10% __lll_lock_wait + 5.75% PG::lock | + 5.75% Mutex::Lock | + 5.75% __GI___pthread_mutex_lock | + 5.75% _L_lock_791 | + 5.75% __lll_lock_wait + 0.30% Mutex::Lock | + 0.25% __GI___pthread_mutex_lock | + 0.20% _L_lock_791 | + 0.20% __lll_lock_wait + 0.10% Mutex::Unlock | + 0.10% __GI___pthread_mutex_unlock | + 0.10% __pthread_mutex_unlock_usercnt | + 0.05% _L_unlock_697 + 0.05% maybe_inject_dispatch_delay + 0.05% WeightedPriorityQueue, entity_inst_t>::dequeue Thread: 103 (tp_osd_tp) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ShardedThreadPool::WorkThreadSharded::entry + 100.00% ShardedThreadPool::shardedthreadpool_worker + 99.95% OSD::ShardedOpWQ::_process + 79.65% run | + 79.65% apply_visitor, PGSnapTrim, PGScrub, PGRecovery> > | + 79.65% apply_visitor | + 79.65% internal_apply_visitor > | + 79.65% internal_apply_visitor_impl, void*> | + 79.65% visitation_impl, boost::detail::variant::visitation_impl_step, boost::intrusive_ptr, boost::mpl::l_item, PGSnapTrim, boost::mpl::l_item, PGScrub, boost::mpl::l_item, PGRecovery, boost::mpl::l_end> > > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, void*, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | + 79.65% visitation_impl_invoke, void*, boost::intrusive_ptr, boost::variant, PGSnapTrim, PGScrub, PGRecovery>::has_fallback_type_> | + 79.65% visitation_impl_invoke_impl, void*, boost::intrusive_ptr > | + 79.65% internal_visit > | + 79.65% PGQueueable::RunVis::operator() | + 79.60% OSD::dequeue_op | | + 79.30% PrimaryLogPG::do_request | | | + 78.90% PrimaryLogPG::do_op | | | | + 62.45% PrimaryLogPG::execute_ctx | | | | | + 60.00% PrimaryLogPG::issue_repop | | | | | | + 59.75% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr >&&, eversion_t const&, eversion_t const&, std::vector > const&, boost::optional&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr) | | | | | | | + 55.70% PrimaryLogPG::queue_transactions | | | | | | | | + 55.70% queue_transactions | | | | | | | | + 55.65% BlueStore::queue_transactions | | | | | | | | | + 52.35% BlueStore::_txc_add_transaction | | | | | | | | | | + 49.95% BlueStore::_write | | | | | | | | | | | + 49.85% BlueStore::_do_write | | | | | | | | | | | | + 45.65% BlueStore::ExtentMap::fault_range | | | | | | | | | | | | | + 44.15% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | | | | | + 44.10% operator() | | | | | | | | | | | | | | | + 44.10% BlueStore::ExtentMap::__lambda9::operator() | | | | | | | | | | | | | | | + 44.10% RocksDBStore::get | | | | | | | | | | | | | | | + 43.90% rocksdb::DB::Get | | | | | | | | | | | | | | | | + 43.90% rocksdb::DB::Get | | | | | | | | | | | | | | | | + 43.80% rocksdb::DBImpl::Get | | | | | | | | | | | | | | | | | + 43.80% rocksdb::DBImpl::GetImpl | | | | | | | | | | | | | | | | | + 42.90% rocksdb::Version::Get | | | | | | | | | | | | | | | | | | + 42.80% rocksdb::TableCache::Get | | | | | | | | | | | | | | | | | | | + 42.80% rocksdb::BlockBasedTable::Get | | | | | | | | | | | | | | | | | | | + 41.70% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | | | | | + 41.65% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | | | | | | | | | + 41.65% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | | | | | | | | | + 40.95% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | | | | | | | | | | + 40.85% rocksdb::ReadBlockContents | | | | | | | | | | | | | | | | | | | | | | + 40.75% ReadBlock | | | | | | | | | | | | | | | | | | | | | | | + 40.65% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | | | | | | | | | | | | + 40.65% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | | | | | | | | | | | | + 40.65% read_random | | | | | | | | | | | | | | | | | | | | | | | | + 40.65% BlueFS::_read_random | | | | | | | | | | | | | | | | | | | | | | | | + 40.65% KernelDevice::read_random | | | | | | | | | | | | | | | | | | | | | | | | + 40.65% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | | | | | | | | | | | | + 40.40% pread | | | | | | | | | | | | | | | | | | | | | | | | | + 40.40% pread64 | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% ceph::buffer::create_page_aligned | | | | | | | | | | | | | | | | | | | | | | | | | + 0.15% ceph::buffer::create_aligned | | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% raw_posix_aligned | | | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% tc_posix_memalign | | | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% do_memalign_or_cpp_memalign | | | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% (anonymous namespace)::do_memalign | | | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% tcmalloc::AlignmentForSize | | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::raw_posix_aligned::operator new | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% ~ptr | | | | | | | | | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::raw_posix_aligned::~raw_posix_aligned | | | | | | | | | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::raw_posix_aligned::operator delete | | | | | | | | | | | | | | | | | | | | | | | + 0.10% Value | | | | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::crc32c::ExtendImpl | | | | | | | | | | | | | | | | | | | | | | + 0.05% tc_newarray | | | | | | | | | | | | | | | | | | | | | | + 0.05% __memcpy_ssse3_back | | | | | | | | | | | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | | | | | | | | | | | + 0.05% cpp_alloc | | | | | | | | | | | | | | | | | | | | + 0.35% rocksdb::BlockBasedTable::PutDataBlockToCache | | | | | | | | | | | | | | | | | | | | | + 0.35% rocksdb::ShardedCache::Insert | | | | | | | | | | | | | | | | | | | | | + 0.30% rocksdb::LRUCacheShard::Insert | | | | | | | | | | | | | | | | | | | | | + 0.20% Free | | | | | | | | | | | | | | | | | | | | | | + 0.20% rocksdb::(anonymous namespace)::DeleteCachedEntry | | | | | | | | | | | | | | | | | | | | | | + 0.20% ~Block | | | | | | | | | | | | | | | | | | | | | | + 0.20% ~BlockContents | | | | | | | | | | | | | | | | | | | | | | + 0.20% ~unique_ptr | | | | | | | | | | | | | | | | | | | | | | + 0.20% operator() | | | | | | | | | | | | | | | | | | | | | | + 0.20% tc_deletearray | | | | | | | | | | | | | | | | | | | | | | + 0.20% do_free | | | | | | | | | | | | | | | | | | | | | | + 0.20% do_free_with_callback | | | | | | | | | | | | | | | | | | | | | | + 0.20% do_free_helper | | | | | | | | | | | | | | | | | | | | | | + 0.15% Deallocate | | | | | | | | | | | | | | | | | | | | | | | + 0.15% Push | | | | | | | | | | | | | | | | | | | | | | | + 0.15% SLL_Push | | | | | | | | | | | | | | | | | | | | | | | + 0.15% SLL_SetNext | | | | | | | | | | | | | | | | | | | | | | + 0.05% CacheSizeClass | | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUHandleTable::Insert | | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::EvictFromLRU | | | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::(anonymous namespace)::GetEntryFromCache | | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::LRUCacheShard::Lookup | | | | | | | | | | | | | | | | | | | | | | + 0.05% ~MutexLock | | | | | | | | | | | | | | | | | | | | | | + 0.05% MutexLock | | | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::ShardedCache::Lookup | | | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::BlockBasedTable::GetCacheKey | | | | | | | | | | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | | | | | | | | | | + 0.95% rocksdb::BlockIter::Seek | | | | | | | | | | | | | | | | | | | | + 0.55% rocksdb::BlockIter::BinarySeek | | | | | | | | | | | | | | | | | | | | | + 0.25% DecodeEntry | | | | | | | | | | | | | | | | | | | | | + 0.10% Compare | | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | | | | | | | | + 0.10% compare | | | | | | | | | | | | | | | | | | | | | + 0.10% __memcmp_sse4_1 | | | | | | | | | | | | | | | | | | | | + 0.20% Compare | | | | | | | | | | | | | | | | | | | | | + 0.20% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | | | | | | | | | + 0.10% compare | | | | | | | | | | | | | | | | | | | | | | + 0.10% __memcmp_sse4_1 | | | | | | | | | | | | | | | | | | | | | + 0.05% ExtractUserKey | | | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::BlockIter::ParseNextKey | | | | | | | | | | | | | | | | | | | | + 0.10% DecodeEntry | | | | | | | | | | | | | | | | | | | | + 0.05% GetVarint32Ptr | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::GetContext::SaveValue | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::NewIndexIterator | | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::GetFilter | | | | | | | | | | | | | | | | | | + 0.05% GetNextFile | | | | | | | | | | | | | | | | | + 0.70% Get | | | | | | | | | | | | | | | | | | + 0.65% rocksdb::MemTable::Get | | | | | | | | | | | | | | | | | | | + 0.65% rocksdb::(anonymous namespace)::SkipListRep::Get | | | | | | | | | | | | | | | | | | | + 0.65% Seek | | | | | | | | | | | | | | | | | | | + 0.65% Seek | | | | | | | | | | | | | | | | | | | + 0.65% rocksdb::InlineSkipList::FindGreaterOrEqual | | | | | | | | | | | | | | | | | | | + 0.65% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | | | | | | | | | | | | + 0.40% rocksdb::InternalKeyComparator::Compare | | | | | | | | | | | | | | | | | | | | + 0.25% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | | | | | | | | | | | | + 0.20% compare | | | | | | | | | | | | | | | | | | | | | + 0.20% __memcmp_sse4_1 | | | | | | | | | | | | | | | | | | | | + 0.05% ExtractUserKey | | | | | | | | | | | | | | | | | | | + 0.25% GetLengthPrefixedSlice | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::MemTableListVersion::Get | | | | | | | | | | | | | | | | | + 0.15% rocksdb::DBImpl::ReturnAndCleanupSuperVersion | | | | | | | | | | | | | | | | | | + 0.15% rocksdb::ColumnFamilyData::ReturnThreadLocalSuperVersion | | | | | | | | | | | | | | | | | | + 0.10% rocksdb::ThreadLocalPtr::CompareAndSwap | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::ThreadLocalPtr::StaticMeta::CompareAndSwap | | | | | | | | | | | | | | | | | | + 0.05% rocksdb::ThreadLocalPtr::Instance | | | | | | | | | | | | | | | | | + 0.05% rocksdb::DBImpl::GetAndRefSuperVersion | | | | | | | | | | | | | | | | + 0.05% std::string::_M_replace_safe | | | | | | | | | | | | | | | + 0.10% ~basic_string | | | | | | | | | | | | | | | | + 0.05% tc_delete | | | | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_dispose | | | | | | | | | | | | | | | + 0.10% append | | | | | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | | | | | + 0.05% create | | | | | | | | | | | | | | + 0.05% get_extent_shard_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | | | | | | + 1.35% BlueStore::ExtentMap::decode_some | | | | | | | | | | | | | | + 0.45% BlueStore::Blob::decode | | | | | | | | | | | | | | | + 0.45% denc > | | | | | | | | | | | | | | | + 0.45% decode | | | | | | | | | | | | | | | + 0.45% decode | | | | | | | | | | | | | | | + 0.20% get_ptr | | | | | | | | | | | | | | | | + 0.15% ceph::buffer::copy | | | | | | | | | | | | | | | | | + 0.15% ceph::buffer::create_aligned | | | | | | | | | | | | | | | | | + 0.15% create | | | | | | | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | | | | | | | | + 0.10% tc_posix_memalign | | | | | | | | | | | | | | | | | | + 0.10% do_memalign_or_cpp_memalign | | | | | | | | | | | | | | | | | | + 0.10% (anonymous namespace)::do_memalign | | | | | | | | | | | | | | | | | | + 0.10% do_malloc | | | | | | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | | | | | | | + 0.05% SLL_Next | | | | | | | | | | | | | | | | | + 0.05% raw_combined | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | | | | | | | + 0.20% denc >, denc_traits > > > | | | | | | | | | | | | | | | + 0.20% decode | | | | | | | | | | | | | | | + 0.15% resize | | | | | | | | | | | | | | | | + 0.15% std::vector >::_M_default_append | | | | | | | | | | | | | | | | + 0.10% _M_allocate | | | | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | | | | + 0.05% operator+= | | | | | | | | | | | | | | | + 0.05% denc > | | | | | | | | | | | | | | + 0.35% BlueStore::Collection::open_shared_blob | | | | | | | | | | | | | | | + 0.25% BlueStore::SharedBlob::operator new | | | | | | | | | | | | | | | | + 0.25% allocate | | | | | | | | | | | | | | | | + 0.25% tc_newarray | | | | | | | | | | | | | | | | + 0.25% cpp_alloc | | | | | | | | | | | | | | | | + 0.25% do_malloc_no_errno | | | | | | | | | | | | | | | | + 0.25% do_malloc_small | | | | | | | | | | | | | | | | + 0.25% Allocate | | | | | | | | | | | | | | | | + 0.15% Pop | | | | | | | | | | | | | | | | | + 0.15% SLL_Pop | | | | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | | | | | | | + 0.10% operator-> | | | | | | | | | | | | | | + 0.15% bluestore_blob_t | | | | | | | | | | | | | | | + 0.05% vector | | | | | | | | | | | | | | | + 0.05% ptr | | | | | | | | | | | | | | + 0.15% BlueStore::Blob::get_ref | | | | | | | | | | | | | | | + 0.15% bluestore_blob_use_tracker_t::get | | | | | | | | | | | | | | + 0.10% BlueStore::Blob::operator new | | | | | | | | | | | | | | | + 0.05% allocate | | | | | | | | | | | | | | + 0.05% vector | | | | | | | | | | | | | | + 0.05% insert | | | | | | | | | | | | | | + 0.05% BlueStore::Extent::operator new | | | | | | | | | | | | | + 0.15% seek_shard | | | | | | | | | | | | + 3.05% BlueStore::_do_alloc_write | | | | | | | | | | | | | + 1.50% BitMapAllocator::allocate | | | | | | | | | | | | | | + 1.50% BitMapAllocator::allocate_dis | | | | | | | | | | | | | | + 1.50% BitAllocator::alloc_blocks_dis_res | | | | | | | | | | | | | | + 1.50% BitAllocator::alloc_blocks_dis_work | | | | | | | | | | | | | | + 1.45% BitAllocator::alloc_blocks_dis_int | | | | | | | | | | | | | | | + 1.45% BitMapAreaIN::alloc_blocks_dis_int_work | | | | | | | | | | | | | | | + 0.85% BitMapAreaIN::alloc_blocks_dis | | | | | | | | | | | | | | | | + 0.85% BitMapAreaLeaf::alloc_blocks_dis_int | | | | | | | | | | | | | | | | + 0.55% child_check_n_lock | | | | | | | | | | | | | | | | + 0.10% next | | | | | | | | | | | | | | | | | + 0.05% size | | | | | | | | | | | | | | | | + 0.10% BitMapZone::alloc_blocks_dis | | | | | | | | | | | | | | | | + 0.05% BmapEntry::find_first_set_bits | | | | | | | | | | | | | | | + 0.60% BitAllocator::child_check_n_lock | | | | | | | | | | | | | | | + 0.50% BitMapAreaIN::is_exhausted | | | | | | | | | | | | | | | + 0.40% BitMapAreaIN::get_used_blocks | | | | | | | | | | | | | | | + 0.20% lock_guard | | | | | | | | | | | | | | | | + 0.20% lock | | | | | | | | | | | | | | | | + 0.20% __gthread_mutex_lock | | | | | | | | | | | | | | | | + 0.15% __GI___pthread_mutex_lock | | | | | | | | | | | | | | | + 0.15% ~lock_guard | | | | | | | | | | | | | | | + 0.15% unlock | | | | | | | | | | | | | | | + 0.15% __gthread_mutex_unlock | | | | | | | | | | | | | | | + 0.15% __GI___pthread_mutex_unlock | | | | | | | | | | | | | | | + 0.15% __pthread_mutex_unlock_usercnt | | | | | | | | | | | | | | + 0.05% BitAllocator::unlock | | | | | | | | | | | | | + 0.45% _buffer_cache_write | | | | | | | | | | | | | | + 0.40% write | | | | | | | | | | | | | | | + 0.15% _add_buffer | | | | | | | | | | | | | | | | + 0.10% operator[] | | | | | | | | | | | | | | | | + 0.10% std::_Rb_tree > >, std::_Select1st > > >, std::less, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > > > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator > > >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | | | | | | | | | + 0.05% _M_insert_node | | | | | | | | | | | | | | | | + 0.05% _M_create_node, std::tuple<> > | | | | | | | | | | | | | | | + 0.10% Buffer | | | | | | | | | | | | | | | | + 0.10% ceph::buffer::list::list | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | | | | | | | | | + 0.10% BlueStore::BufferSpace::_discard | | | | | | | | | | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | | | | | | | | | | | | + 0.05% BlueStore::Buffer::operator new | | | | | | | | | | | | | | + 0.05% insert | | | | | | | | | | | | | + 0.40% map_bl | | | | | | | | | | | | | | + 0.35% operator() | | | | | | | | | | | | | | | + 0.30% KernelDevice::aio_write | | | | | | | | | | | | | | | | + 0.05% push_back | | | | | | | | | | | | | | | | + 0.05% prepare_iov > | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::rebuild_aligned_size_and_memory | | | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::claim_append | | | | | | | | | | | | | | | + 0.05% std::_Function_handler::_M_invoke(const std::_Any_data &, unsigned long, ceph::buffer::list &) | | | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy | | | | | | | | | | | | | + 0.20% bluestore_blob_t::calc_csum | | | | | | | | | | | | | | + 0.15% calculate | | | | | | | | | | | | | | + 0.15% calculate | | | | | | | | | | | | | | + 0.15% calc | | | | | | | | | | | | | | + 0.15% ceph::buffer::list::iterator_impl::crc32c | | | | | | | | | | | | | | + 0.15% ceph_crc32c | | | | | | | | | | | | | | + 0.15% ceph_crc32c_intel_fast | | | | | | | | | | | | | | + 0.15% None | | | | | | | | | | | | | | + 0.15% None | | | | | | | | | | | | | | + 0.15% crc32_iscsi_00 | | | | | | | | | | | | | + 0.15% BlueStore::ExtentMap::set_lextent | | | | | | | | | | | | | | + 0.05% spans_shard | | | | | | | | | | | | | | + 0.05% insert | | | | | | | | | | | | | | + 0.05% Extent | | | | | | | | | | | | | + 0.05% reserve | | | | | | | | | | | | | + 0.05% interval_set::insert | | | | | | | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | | | | | | | | | | + 0.05% begin | | | | | | | | | | | | | + 0.05% BitMapAllocator::reserve | | | | | | | | | | | | + 0.60% BlueStore::_do_write_data | | | | | | | | | | | | | + 0.50% BlueStore::_do_write_big | | | | | | | | | | | | | | + 0.30% BlueStore::ExtentMap::punch_hole | | | | | | | | | | | | | | | + 0.30% BlueStore::OldExtent::create | | | | | | | | | | | | | | | + 0.25% BlueStore::Blob::put_ref | | | | | | | | | | | | | | | | + 0.25% bluestore_blob_t::release_extents | | | | | | | | | | | | | | | | + 0.15% add | | | | | | | | | | | | | | | | | + 0.10% std::vector >::emplace_back(bluestore_pextent_t&&) | | | | | | | | | | | | | | | | | | + 0.10% std::vector >::_M_emplace_back_aux(bluestore_pextent_t&&) | | | | | | | | | | | | | | | | | | + 0.05% _M_deallocate | | | | | | | | | | | | | | | | | | + 0.05% _M_allocate | | | | | | | | | | | | | | | | | + 0.05% flush | | | | | | | | | | | | | | | | + 0.05% ~vecbuilder | | | | | | | | | | | | | | | | + 0.05% emplace | | | | | | | | | | | | | | | + 0.05% OldExtent | | | | | | | | | | | | | | + 0.10% write | | | | | | | | | | | | | | | + 0.10% std::vector >::emplace_back&, unsigned long&, unsigned long&, ceph::buffer::list&, unsigned long&, unsigned long&, bool&, bool&> | | | | | | | | | | | | | | | + 0.05% std::vector >::_M_emplace_back_aux&, unsigned long&, unsigned long&, ceph::buffer::list&, unsigned long&, unsigned long&, bool&, bool&> | | | | | | | | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | | | | | | | | | | + 0.05% begin | | | | | | | | | | | | + 0.20% BlueStore::_wctx_finish | | | | | | | | | | | | | + 0.10% interval_set::insert | | | | | | | | | | | | | | + 0.05% operator[] | | | | | | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | | | | | | | + 0.05% BlueStore::Blob::discard_unallocated | | | | | | | | | | | | + 0.20% BlueStore::ExtentMap::compress_extent_map | | | | | | | | | | | | | + 0.10% BlueStore::ExtentMap::seek_lextent | | | | | | | | | | | | | | + 0.05% operator-- | | | | | | | | | | | | | | + 0.05% lower_bound | | | | | | | | | | | | | + 0.05% rm | | | | | | | | | | | | | + 0.05% PerfCounters::inc | | | | | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | | | + 0.05% ~GarbageCollector | | | | | | | | | | | + 0.05% ~intrusive_ptr | | | | | | | | | | | + 0.05% write_onode | | | | | | | | | | + 1.10% BlueStore::_omap_setkeys | | | | | | | | | | | + 0.60% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | | + 0.25% Put | | | | | | | | | | | | | + 0.25% rocksdb::WriteBatch::Put | | | | | | | | | | | | | + 0.20% rocksdb::WriteBatchInternal::Put | | | | | | | | | | | | | | + 0.15% PutLengthPrefixedSlice | | | | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_clone | | | | | | | | | | | | | | | | + 0.05% _M_dispose | | | | | | | | | | | | | | | + 0.05% PutVarint32 | | | | | | | | | | | | | | + 0.05% push_back | | | | | | | | | | | | | + 0.05% rocksdb::GetColumnFamilyID | | | | | | | | | | | | + 0.15% ceph::buffer::list::c_str | | | | | | | | | | | | | + 0.15% ceph::buffer::list::rebuild | | | | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | | | | | + 0.05% ceph::buffer::list::rebuild | | | | | | | | | | | | | + 0.05% ceph::buffer::create | | | | | | | | | | | | + 0.10% combine_strings | | | | | | | | | | | | | + 0.05% std::string::append | | | | | | | | | | | | | + 0.05% push_back | | | | | | | | | | | | + 0.05% ~list | | | | | | | | | | | + 0.20% decode | | | | | | | | | | | | + 0.20% ceph::buffer::list::iterator::copy | | | | | | | | | | | | + 0.20% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | | + 0.15% ceph::buffer::list::append | | | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | | | + 0.10% _M_insert | | | | | | | | | | | | | + 0.10% _M_create_node | | | | | | | | | | | | | + 0.10% _M_get_node | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | + 0.05% std::string::append | | | | | | | | | | | + 0.10% _key_encode_u64 > | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_clone | | | | | | | | | | | | + 0.05% _ZNSs4_Rep8_M_cloneERKSaIcEm@plt | | | | | | | | | | | + 0.05% std::string::push_back | | | | | | | | | | | + 0.05% note_modified_object | | | | | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | | | | | | | | + 0.05% basic_string | | | | | | | | | | + 0.30% decode_attrset_bl | | | | | | | | | | | + 0.30% decode_str_str_map_to_bl | | | | | | | | | | | + 0.20% ceph::buffer::list::iterator::copy | | | | | | | | | | | | + 0.20% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | | + 0.20% ceph::buffer::list::append | | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | | | + 0.10% _M_insert | | | | | | | | | | | | | + 0.10% _M_create_node | | | | | | | | | | | | | + 0.10% _M_get_node | | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | | | + 0.10% decode | | | | | | | | | | | + 0.10% decode_raw > | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | | | | + 0.30% BlueStore::_get_collection | | | | | | | | | | | + 0.30% find | | | | | | | | | | | + 0.30% find | | | | | | | | | | | + 0.20% _M_hash_code | | | | | | | | | | | | + 0.20% operator() | | | | | | | | | | | | + 0.10% ~basic_string | | | | | | | | | | | | | + 0.10% tc_delete | | | | | | | | | | | | | + 0.10% do_free | | | | | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | | | | | + 0.05% GetSizeClassIfCached | | | | | | | | | | | | | + 0.05% GetDescriptor | | | | | | | | | | | | + 0.10% to_str | | | | | | | | | | | | + 0.10% std::basic_string, std::allocator >::basic_string | | | | | | | | | | | | + 0.10% _S_construct | | | | | | | | | | | | + 0.10% _S_construct_aux | | | | | | | | | | | | + 0.10% std::string::_S_construct | | | | | | | | | | | | + 0.10% std::string::_Rep::_S_create | | | | | | | | | | | | + 0.10% allocate | | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | + 0.05% Allocate | | | | | | | | | | | + 0.10% _M_find_node | | | | | | | | | | | + 0.10% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | | | | + 0.05% _M_equals | | | | | | | | | | + 0.15% BlueStore::Collection::get_onode | | | | | | | | | | | + 0.15% BlueStore::OnodeSpace::lookup | | | | | | | | | | | + 0.05% find | | | | | | | | | | | + 0.05% BlueStore::TwoQCache::_touch_onode | | | | | | | | | | + 0.10% ~map | | | | | | | | | | | + 0.10% ~_Rb_tree | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | | | + 0.05% _M_destroy_node | | | | | | | | | | + 0.10% decode_attrset | | | | | | | | | | | + 0.10% decode, std::allocator > >, denc_traits, std::allocator > >, void> > | | | | | | | | | | | + 0.05% decode | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy_shallow | | | | | | | | | | + 0.10% BlueStore::_setattrs | | | | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | | | | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | | | | | | | | | | + 0.05% operator++ | | | | | | | | | | + 0.05% begin | | | | | | | | | | + 0.05% BlueStore::_omap_rmkeys | | | | | | | | | + 1.00% BlueStore::_txc_state_proc | | | | | | | | | | + 1.00% BlueStore::_txc_aio_submit | | | | | | | | | | + 1.00% KernelDevice::aio_submit | | | | | | | | | | + 1.00% aio_queue_t::submit | | | | | | | | | | + 1.00% io_submit | | | | | | | | | + 0.95% BlueStore::_txc_write_nodes | | | | | | | | | | + 0.70% BlueStore::ExtentMap::update | | | | | | | | | | | + 0.35% BlueStore::ExtentMap::encode_some | | | | | | | | | | | | + 0.15% get_contiguous_appender | | | | | | | | | | | | | + 0.15% ceph::buffer::list::contiguous_appender::contiguous_appender | | | | | | | | | | | | | + 0.15% ceph::buffer::create | | | | | | | | | | | | | + 0.15% ceph::buffer::create_aligned | | | | | | | | | | | | | + 0.10% create | | | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | | | + 0.10% tc_posix_memalign | | | | | | | | | | | | | + 0.10% do_memalign_or_cpp_memalign | | | | | | | | | | | | | + 0.10% (anonymous namespace)::do_memalign | | | | | | | | | | | | | + 0.10% do_malloc | | | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | | | + 0.10% SLL_Pop | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | | + 0.10% denc > | | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | | + 0.05% denc >, denc_traits > > > | | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::c_str | | | | | | | | | | | | + 0.05% lower_bound | | | | | | | | | | | + 0.30% generate_extent_shard_key_and_apply, mempool::pool_allocator<(mempool::pool_index_t)2, char> > >(const std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> > &, uint32_t, std::string *, std::function, std::allocator >&)>) | | | | | | | | | | | | + 0.20% operator() | | | | | | | | | | | | | + 0.20% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | | | | | + 0.10% combine_strings | | | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | | | + 0.10% std::string::reserve | | | | | | | | | | | | | | + 0.05% std::string::_Rep::_M_clone | | | | | | | | | | | | | | + 0.05% _M_dispose | | | | | | | | | | | | | + 0.10% Put | | | | | | | | | | | | | + 0.10% rocksdb::WriteBatch::Put | | | | | | | | | | | | | + 0.05% rocksdb::WriteBatchInternal::Put | | | | | | | | | | | | + 0.10% get_extent_shard_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | + 0.05% _M_copy | | | | | | | | | | | + 0.05% vector | | | | | | | | | | + 0.15% denc > | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | + 0.15% _denc_friend | | | | | | | | | | | + 0.15% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | | | | + 0.15% encode, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr> > | | | | | | | | | | | + 0.15% encode_nohead, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr> > | | | | | | | | | | | + 0.10% denc, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, denc_traits, mempool::pool_allocator<(mempool::pool_index_t)2, char> >, ceph::buffer::ptr>, void> > | | | | | | | | | | | | + 0.10% encode, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | | | | | + 0.10% denc > | | | | | | | | | | | | + 0.10% encode | | | | | | | | | | | | + 0.10% append | | | | | | | | | | | | + 0.10% ceph::buffer::list::contiguous_appender::append | | | | | | | | | | | | + 0.10% maybe_inline_memcpy | | | | | | | | | | | | + 0.10% memcpy | | | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | | | + 0.05% pair, mempool::pool_allocator<(mempool::pool_index_t)2, char> > const, ceph::buffer::ptr, void> | | | | | | | | | | + 0.05% RocksDBStore::RocksDBTransactionImpl::set | | | | | | | | | + 0.70% BlueStore::_txc_finalize_kv | | | | | | | | | | + 0.35% BitmapFreelistManager::allocate | | | | | | | | | | | + 0.35% BitmapFreelistManager::_xor | | | | | | | | | | | + 0.20% RocksDBStore::RocksDBTransactionImpl::merge | | | | | | | | | | | | + 0.10% combine_strings | | | | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | | | | + 0.05% std::string::reserve | | | | | | | | | | | | + 0.05% ceph::buffer::list::is_contiguous | | | | | | | | | | | | + 0.05% Merge | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | | + 0.10% push_back | | | | | | | | | | | | + 0.10% _M_insert | | | | | | | | | | | | + 0.10% std::__detail::_List_node_base::_M_hook | | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | + 0.20% BitmapFreelistManager::release | | | | | | | | | | | + 0.20% BitmapFreelistManager::_xor | | | | | | | | | | | + 0.10% RocksDBStore::RocksDBTransactionImpl::merge | | | | | | | | | | | | + 0.05% combine_strings | | | | | | | | | | | | + 0.05% Merge | | | | | | | | | | | + 0.05% ceph::buffer::ptr::zero | | | | | | | | | | + 0.05% interval_set::intersection_of | | | | | | | | | + 0.25% Throttle::get | | | | | | | | | | + 0.15% Locker | | | | | | | | | | | + 0.15% Mutex::Lock | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock | | | | | | | | | | | + 0.10% _L_lock_791 | | | | | | | | | | | + 0.10% __lll_lock_wait | | | | | | | | | | + 0.10% PerfCounters::inc | | | | | | | | | | + 0.05% add | | | | | | | | | + 0.15% collect_contexts | | | | | | | | | | + 0.10% C_ContextsBase::list_to_context | | | | | | | | | | | + 0.10% tc_new | | | | | | | | | | | + 0.10% cpp_alloc | | | | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | | | | + 0.10% do_malloc_small | | | | | | | | | | | + 0.10% Allocate | | | | | | | | | | | + 0.10% Pop | | | | | | | | | | | + 0.05% SLL_Pop | | | | | | | | | | + 0.05% ~list | | | | | | | | | + 0.10% BlueStore::_txc_create | | | | | | | | | | + 0.05% TransContext | | | | | | | | | | + 0.05% RocksDBStore::get_transaction | | | | | | | | | + 0.05% shared_ptr | | | | | | | | | + 0.05% get_num_bytes | | | | | | | | + 0.05% intrusive_ptr | | | | | | | + 2.10% PrimaryLogPG::log_operation | | | | | | | | + 2.10% PG::append_log | | | | | | | | + 1.40% PG::write_if_dirty | | | | | | | | | + 0.60% PGLog::write_log_and_missing | | | | | | | | | | + 0.60% PGLog::_write_log_and_missing | | | | | | | | | | + 0.35% pg_log_entry_t::encode_with_checksum | | | | | | | | | | | + 0.25% pg_log_entry_t::encode | | | | | | | | | | | | + 0.15% encode > | | | | | | | | | | | | | + 0.05% get_contiguous_appender | | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::release | | | | | | | | | | | | | + 0.05% ceph::buffer::list::contiguous_appender::~contiguous_appender | | | | | | | | | | | | + 0.05% encode | | | | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | | | | | + 0.05% encode | | | | | | | | | | | + 0.05% ceph::buffer::list::crc32c | | | | | | | | | | + 0.15% std::map, std::allocator > >::operator[](std::string&&) | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos | | | | | | | | | | | + 0.05% operator() | | | | | | | | | | + 0.05% pg_log_entry_t::get_key_name | | | | | | | | | | + 0.05% list | | | | | | | | | + 0.45% PG::prepare_write_info | | | | | | | | | | + 0.40% PG::_prepare_write_info | | | | | | | | | | + 0.30% encode | | | | | | | | | | | + 0.25% pg_fast_info_t::encode | | | | | | | | | | | | + 0.15% encode | | | | | | | | | | | | | + 0.15% encode_raw | | | | | | | | | | | | | + 0.15% ceph::buffer::list::append | | | | | | | | | | | | | + 0.10% create | | | | | | | | | | | | | | + 0.10% allocate_aligned | | | | | | | | | | | | | | + 0.10% tc_posix_memalign | | | | | | | | | | | | | | + 0.05% do_memalign_or_cpp_memalign | | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::append | | | | | | | | | | | | + 0.10% end | | | | | | | | | | | | + 0.10% ceph::buffer::list::iterator::iterator | | | | | | | | | | | | + 0.10% iterator_impl | | | | | | | | | | | + 0.05% pg_info_t::encode | | | | | | | | | | + 0.10% PerfCounters::inc | | | | | | | | | | + 0.05% add | | | | | | | | | + 0.20% omap_setkeys | | | | | | | | | | + 0.20% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | + 0.10% bound_encode, ceph::buffer::list> > | | | | | | | | | | | + 0.05% ~pair | | | | | | | | | | | + 0.05% pair const, ceph::buffer::list, void> | | | | | | | | | | + 0.05% encode, ceph::buffer::list> > | | | | | | | | | + 0.10% ~map | | | | | | | | | + 0.10% ~_Rb_tree | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | + 0.05% _M_destroy_node | | | | | | | | + 0.45% PGLog::trim | | | | | | | | | + 0.45% PGLog::IndexedLog::trim | | | | | | | | | + 0.35% unindex | | | | | | | | | | + 0.25% count | | | | | | | | | | | + 0.25% std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::count | | | | | | | | | | | + 0.20% _M_bucket_begin | | | | | | | | | | | + 0.05% _M_bucket_index | | | | | | | | | | + 0.10% erase | | | | | | | | | | + 0.10% erase | | | | | | | | | | + 0.10% _M_erase | | | | | | | | | | + 0.10% _M_erase | | | | | | | | | | + 0.10% _M_deallocate_node | | | | | | | | | | + 0.10% deallocate | | | | | | | | | | + 0.10% tc_delete | | | | | | | | | | + 0.10% do_free | | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | | + 0.05% GetSizeClassIfCached | | | | | | | | | | + 0.05% GetDescriptor | | | | | | | | | + 0.05% pop_front | | | | | | | | | + 0.05% insert | | | | | | | | + 0.10% PGLog::IndexedLog::trim | | | | | | | | | + 0.05% pop_front | | | | | | | | + 0.05% ~shared_ptr | | | | | | | | + 0.05% PGLog::roll_forward_to | | | | | | | | + 0.05% PG::update_snap_map | | | | | | | + 0.60% generate_transaction | | | | | | | | + 0.55% PGTransaction::safe_create_traverse&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26>() | | | | | | | | | + 0.55% operator() | | | | | | | | | + 0.45% ObjectStore::Transaction::setattrs | | | | | | | | | | + 0.15% encode, ceph::buffer::list>, denc_traits, ceph::buffer::list>, void> > | | | | | | | | | | | + 0.10% encode, ceph::buffer::list> > | | | | | | | | | | | | + 0.10% encode_nohead, ceph::buffer::list> > | | | | | | | | | | | | + 0.05% ~pair | | | | | | | | | | | | + 0.05% pair const, ceph::buffer::list, void> | | | | | | | | | | | + 0.05% bound_encode, ceph::buffer::list> > | | | | | | | | | | + 0.15% ObjectStore::Transaction::_get_next_op | | | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | | + 0.10% ObjectStore::Transaction::_get_coll_id | | | | | | | | | | + 0.10% operator[] | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos | | | | | | | | | | + 0.05% _M_insert_node | | | | | | | | | + 0.05% std::map, std::allocator > >::operator[] | | | | | | | | | + 0.05% match, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda31, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda32, generate_transaction(PGTransactionUPtr&, const coll_t&, bool, std::vector&, ObjectStore::Transaction*, std::set*, std::set*)::__lambda26::__lambda33> | | | | | | | | + 0.05% find | | | | | | | + 0.45% ~vector | | | | | | | | + 0.45% _Destroy | | | | | | | | + 0.45% _Destroy | | | | | | | | + 0.45% __destroy | | | | | | | | + 0.45% _Destroy | | | | | | | | + 0.45% ObjectStore::Transaction::~Transaction | | | | | | | | + 0.40% ~list | | | | | | | | | + 0.35% ~list | | | | | | | | | | + 0.35% ~_List_base | | | | | | | | | | + 0.35% std::_List_base >::_M_clear | | | | | | | | | | + 0.20% destroy > | | | | | | | | | | | + 0.20% ~_List_node | | | | | | | | | | | + 0.15% ~ptr | | | | | | | | | | | + 0.15% ceph::buffer::ptr::release | | | | | | | | | | | + 0.15% ceph::buffer::raw_combined::~raw_combined | | | | | | | | | | | + 0.10% operator delete | | | | | | | | | | | + 0.10% deallocate_aligned | | | | | | | | | | | + 0.05% operator-= | | | | | | | | | | + 0.15% _M_put_node | | | | | | | | | | + 0.15% deallocate | | | | | | | | | | + 0.15% tc_delete | | | | | | | | | | + 0.15% do_free | | | | | | | | | | + 0.15% do_free_with_callback | | | | | | | | | | + 0.15% do_free_helper | | | | | | | | | | + 0.15% GetSizeClassIfCached | | | | | | | | | | + 0.15% GetOrDefault | | | | | | | | | | + 0.15% KeyMatch | | | | | | | | | + 0.05% ~_List_base | | | | | | | | + 0.05% ~map | | | | | | | + 0.15% ~unique_ptr | | | | | | | | + 0.15% operator() | | | | | | | | + 0.15% ~PGTransaction | | | | | | | | + 0.15% ~map | | | | | | | | + 0.15% ~_Rb_tree | | | | | | | | + 0.15% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | + 0.10% _M_destroy_node | | | | | | | | + 0.10% destroy > > | | | | | | | | + 0.10% ~_Rb_tree_node | | | | | | | | + 0.10% ~pair | | | | | | | | + 0.10% ~ObjectOperation | | | | | | | | + 0.10% ~map | | | | | | | | + 0.10% ~_Rb_tree | | | | | | | | + 0.10% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase | | | | | | | | + 0.05% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase | | | | | | | + 0.15% insert, void> | | | | | | | | + 0.15% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique >(std::pair&&) | | | | | | | | + 0.15% _M_insert_ > | | | | | | | | + 0.05% std::_Rb_tree_insert_and_rebalance | | | | | | | | + 0.05% _M_create_node > | | | | | | | + 0.15% insert > | | | | | | | | + 0.15% std::_Rb_tree, std::less, std::allocator >::_M_insert_unique > | | | | | | | | + 0.15% _M_insert_unique_ | | | | | | | | + 0.15% std::_Rb_tree, std::less, std::allocator >::_M_insert_ | | | | | | | | + 0.05% _M_create_node | | | | | | | + 0.05% ~shared_ptr | | | | | | | + 0.05% std::vector >::~vector | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | + 0.05% register_on_applied | | | | | | | + 0.05% push_back | | | | | | | + 0.05% non-virtual thunk to PrimaryLogPG::queue_transactions(std::vector >&, boost::intrusive_ptr) | | | | | | | + 0.05% hobject_t | | | | | | | + 0.05% ReplicatedBackend::issue_op | | | | | | | + 0.05% PrimaryLogPG::bless_context | | | | | | + 0.10% PGTransaction::add_obc | | | | | | | + 0.05% operator[] | | | | | | + 0.05% tc_new | | | | | | + 0.05% add | | | | | | + 0.05% ObjectContext::ondisk_write_lock | | | | | + 1.80% PrimaryLogPG::prepare_transaction | | | | | | + 1.50% PrimaryLogPG::finish_ctx | | | | | | | + 0.60% encode | | | | | | | | + 0.30% object_info_t::encode | | | | | | | | | + 0.15% encode | | | | | | | | | | + 0.05% hobject_t::encode | | | | | | | | | | + 0.05% encode_raw | | | | | | | | | | + 0.05% encode_raw > | | | | | | | | | + 0.05% encode > | | | | | | | | | + 0.05% ceph::buffer::list::iterator::copy_in | | | | | | | | + 0.30% SnapSet::encode | | | | | | | | + 0.10% encode >, denc_traits >, void> > | | | | | | | | | + 0.05% get_contiguous_appender | | | | | | | | | + 0.05% ceph::buffer::list::contiguous_appender::~contiguous_appender | | | | | | | | + 0.10% encode | | | | | | | | | + 0.10% encode_raw | | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | + 0.05% create | | | | | | | | | + 0.05% ceph::buffer::ptr::append | | | | | | | | + 0.05% encode, denc_traits, void> > | | | | | | | | + 0.05% encode, denc_traits, void> > | | | | | | | + 0.25% PGTransaction::setattrs | | | | | | | | + 0.15% operator= | | | | | | | | | + 0.15% assign_expr | | | | | | | | | + 0.15% construct | | | | | | | | | + 0.15% ceph::buffer::list::list | | | | | | | | | + 0.05% list | | | | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | | | | + 0.05% operator[] | | | | | | | | + 0.05% PGTransaction::get_object_op_for_modify | | | | | | | + 0.25% OSDMap::get_features | | | | | | | | + 0.10% find | | | | | | | | | + 0.10% find | | | | | | | | | + 0.05% _M_lower_bound | | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | | + 0.05% operator==, std::allocator > | | | | | | | | + 0.05% CrushWrapper::is_v3_rule | | | | | | | + 0.15% std::map, std::allocator > >::operator[](std::string&&) | | | | | | | | + 0.15% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node | | | | | | | + 0.10% list | | | | | | | | + 0.10% reserve | | | | | | | | + 0.10% ceph::buffer::create | | | | | | | | + 0.10% ceph::buffer::create_aligned | | | | | | | | + 0.10% create | | | | | | | | + 0.10% allocate_aligned | | | | | | | | + 0.10% pick_a_shard | | | | | | | | + 0.10% __pthread_self | | | | | | | + 0.10% ceph::buffer::list::claim | | | | | | | | + 0.10% clear | | | | | | | + 0.05% ~basic_string | | | | | | + 0.25% PrimaryLogPG::do_osd_ops | | | | | | + 0.20% PGTransaction::write | | | | | | | + 0.15% get_object_op_for_modify | | | | | | | | + 0.10% operator[] | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos | | | | | | | | | + 0.05% _M_create_node, std::tuple<> > | | | | | | | | + 0.05% is_delete | | | | | | | + 0.05% interval_map, PGTransaction::ObjectOperation::SplitMerger>::insert(unsigned long, unsigned long, boost::variant&&) | | | | | | + 0.05% PrimaryLogPG::write_update_size_and_usage | | | | | + 0.15% reset_obs | | | | | | + 0.15% operator= | | | | | | + 0.15% operator= | | | | | | + 0.15% operator= | | | | | | + 0.05% swap | | | | | | + 0.05% operator= | | | | | | + 0.05% clear | | | | | + 0.15% MOSDOpReply::MOSDOpReply | | | | | | + 0.05% ceph::buffer::list::clear | | | | | + 0.10% PrimaryLogPG::new_repop | | | | | | + 0.10% tc_new | | | | | | + 0.10% cpp_alloc | | | | | | + 0.10% do_malloc_no_errno | | | | | | + 0.10% do_malloc_small | | | | | | + 0.05% SizeClass | | | | | | + 0.05% Allocate | | | | | + 0.05% tc_new | | | | | + 0.05% register_on_finish | | | | | + 0.05% get_reqid | | | | | + 0.05% PrimaryLogPG::eval_repop | | | | + 13.80% PrimaryLogPG::find_object_context | | | | | + 13.60% PrimaryLogPG::get_object_context | | | | | | + 11.05% PGBackend::objects_get_attr | | | | | | | + 11.05% BlueStore::getattr | | | | | | | + 10.95% BlueStore::Collection::get_onode | | | | | | | | + 10.30% RocksDBStore::get | | | | | | | | | + 10.25% rocksdb::DB::Get | | | | | | | | | | + 10.25% rocksdb::DB::Get | | | | | | | | | | + 10.25% rocksdb::DBImpl::Get | | | | | | | | | | + 10.25% rocksdb::DBImpl::GetImpl | | | | | | | | | | + 10.25% rocksdb::Version::Get | | | | | | | | | | + 10.20% rocksdb::TableCache::Get | | | | | | | | | | | + 10.20% rocksdb::BlockBasedTable::Get | | | | | | | | | | | + 9.90% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | + 9.90% rocksdb::BlockBasedTable::NewDataBlockIterator | | | | | | | | | | | | + 9.90% rocksdb::BlockBasedTable::MaybeLoadDataBlockToCache | | | | | | | | | | | | + 9.60% rocksdb::(anonymous namespace)::ReadBlockFromFile | | | | | | | | | | | | | + 9.60% rocksdb::ReadBlockContents | | | | | | | | | | | | | + 9.60% ReadBlock | | | | | | | | | | | | | + 9.60% rocksdb::RandomAccessFileReader::Read | | | | | | | | | | | | | + 9.60% BlueRocksRandomAccessFile::Read | | | | | | | | | | | | | + 9.55% read_random | | | | | | | | | | | | | + 9.55% BlueFS::_read_random | | | | | | | | | | | | | + 9.55% KernelDevice::read_random | | | | | | | | | | | | | + 9.55% KernelDevice::direct_read_unaligned | | | | | | | | | | | | | + 9.45% pread | | | | | | | | | | | | | | + 9.45% pread64 | | | | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | | | | | + 0.05% memcpy | | | | | | | | | | | | + 0.15% rocksdb::BlockBasedTable::PutDataBlockToCache | | | | | | | | | | | | | + 0.15% rocksdb::ShardedCache::Insert | | | | | | | | | | | | | + 0.15% rocksdb::LRUCacheShard::Insert | | | | | | | | | | | | | + 0.10% Free | | | | | | | | | | | | | | + 0.10% rocksdb::(anonymous namespace)::DeleteCachedEntry | | | | | | | | | | | | | | + 0.05% ~Block | | | | | | | | | | | | | + 0.05% rocksdb::LRUCacheShard::EvictFromLRU | | | | | | | | | | | | + 0.05% rocksdb::StopWatch::~StopWatch | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::GetDataBlockFromCache | | | | | | | | | | | | + 0.05% rocksdb::BlockBasedTable::GetCacheKey | | | | | | | | | | | + 0.25% rocksdb::BlockIter::Seek | | | | | | | | | | | | + 0.15% rocksdb::BlockIter::BinarySeek | | | | | | | | | | | | + 0.05% rocksdb::BlockIter::ParseNextKey | | | | | | | | | | | | + 0.05% Compare | | | | | | | | | | | + 0.05% rocksdb::GetContext::SaveValue | | | | | | | | | | + 0.05% operator= | | | | | | | | | + 0.05% append | | | | | | | | + 0.35% BlueStore::OnodeSpace::lookup | | | | | | | | | + 0.25% find | | | | | | | | | | + 0.25% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find | | | | | | | | | | + 0.25% _M_find_node | | | | | | | | | | + 0.25% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node | | | | | | | | | | + 0.15% _M_equals | | | | | | | | | | + 0.15% _S_equals | | | | | | | | | | + 0.10% operator() | | | | | | | | | | + 0.10% operator== | | | | | | | | | | + 0.10% operator== | | | | | | | | | | + 0.10% operator== | | | | | | | | | | + 0.10% operator== | | | | | | | | | + 0.05% lock_guard | | | | | | | | | + 0.05% BlueStore::TwoQCache::_touch_onode | | | | | | | | + 0.10% BlueStore::OnodeSpace::add | | | | | | | | | + 0.10% operator[] | | | | | | | | | + 0.10% std::__detail::_Map_base >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits, true>::operator[] | | | | | | | | | + 0.05% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node | | | | | | | | | + 0.05% std::_Hashtable >, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_allocate_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) | | | | | | | | + 0.10% BlueStore::ExtentMap::init_shards | | | | | | | | | + 0.10% resize | | | | | | | | | + 0.05% std::vector >::_M_default_append | | | | | | | | + 0.05% get_object_key, mempool::pool_allocator<(mempool::pool_index_t)2, char> > > | | | | | | | | + 0.05% decode | | | | | | | + 0.05% ~RLocker | | | | | | | + 0.05% operator[] | | | | | | + 1.35% SharedLRU, std::hash >::lookup_or_create | | | | | | | + 0.75% ~list | | | | | | | | + 0.75% ~_List_base | | | | | | | | + 0.75% std::_List_base, std::allocator > >::_M_clear | | | | | | | | + 0.75% destroy > > | | | | | | | | + 0.75% ~_List_node | | | | | | | | + 0.75% ~shared_ptr | | | | | | | | + 0.75% ~__shared_ptr | | | | | | | | + 0.75% ~__shared_count | | | | | | | | + 0.65% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | | | | | | | | | + 0.65% std::_Sp_counted_deleter, std::hash >::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2>::_M_dispose | | | | | | | | | + 0.65% operator() | | | | | | | | | + 0.40% ~ObjectContext | | | | | | | | | | + 0.30% Context::complete | | | | | | | | | | | + 0.25% PrimaryLogPG::put_snapset_context | | | | | | | | | | | + 0.20% erase | | | | | | | | | | | + 0.20% erase | | | | | | | | | | | + 0.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::equal_range | | | | | | | | | | | | + 0.10% operator() | | | | | | | | | | | | + 0.10% operator< | | | | | | | | | | | | + 0.10% cmp | | | | | | | | | | | | + 0.05% operator< | | | | | | | | | | | + 0.10% erase | | | | | | | | | | | + 0.10% _M_erase_aux | | | | | | | | | | | + 0.10% erase | | | | | | | | | | | + 0.10% _M_erase_aux | | | | | | | | | | | + 0.05% std::_Rb_tree_rebalance_for_erase | | | | | | | | | | | + 0.05% _M_destroy_node | | | | | | | | | | + 0.05% Mutex::~Mutex | | | | | | | | | + 0.25% remove | | | | | | | | | + 0.20% find | | | | | | | | | | + 0.20% std::_Rb_tree, ObjectContext*> >, std::_Select1st, ObjectContext*> > >, std::less, std::allocator, ObjectContext*> > > >::find | | | | | | | | | | + 0.10% operator() | | | | | | | | | | | + 0.10% operator< | | | | | | | | | | | + 0.10% cmp | | | | | | | | | | | + 0.05% operator< , std::allocator > | | | | | | | | | | | + 0.05% get_effective_key | | | | | | | | | | + 0.10% _M_lower_bound | | | | | | | | | | + 0.10% operator() | | | | | | | | | | + 0.10% operator< | | | | | | | | | | + 0.10% cmp | | | | | | | | | + 0.05% erase | | | | | | | | + 0.10% std::_Sp_counted_deleter, std::hash >::Cleanup, std::allocator, (__gnu_cxx::_Lock_policy)2>::_M_destroy | | | | | | | | + 0.05% deallocate | | | | | | | + 0.35% SharedLRU, std::hash >::lru_add | | | | | | | | + 0.25% trim_cache | | | | | | | | | + 0.15% lru_remove | | | | | | | | | | + 0.10% erase | | | | | | | | | | | + 0.10% erase | | | | | | | | | | | + 0.10% erase | | | | | | | | | | | + 0.10% _M_erase | | | | | | | | | | | + 0.05% _M_deallocate_node | | | | | | | | | | | + 0.05% _M_bucket_index | | | | | | | | | | + 0.05% find | | | | | | | | | + 0.10% push_back | | | | | | | | | + 0.10% _M_insert const&> | | | | | | | | | + 0.10% _M_create_node const&> | | | | | | | | | + 0.10% construct >, std::shared_ptr const&> | | | | | | | | | + 0.10% _List_node const&> | | | | | | | | | + 0.10% shared_ptr | | | | | | | | | + 0.10% __shared_ptr | | | | | | | | + 0.05% push_front | | | | | | | | + 0.05% operator[] | | | | | | | + 0.05% ~pair | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | + 0.05% insert, ObjectContext*> >, void> | | | | | | | + 0.05% hobject_t::hobject_t | | | | | | | + 0.05% Mutex::Mutex | | | | | | + 0.50% decode | | | | | | | + 0.50% object_info_t::decode | | | | | | | + 0.40% decode | | | | | | | | + 0.15% hobject_t::decode | | | | | | | | | + 0.15% decode | | | | | | | | | + 0.15% decode | | | | | | | | | + 0.15% decode | | | | | | | | | + 0.10% ceph::buffer::list::iterator::copy | | | | | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | | | | | | + 0.10% std::string::append | | | | | | | | | | + 0.10% _M_copy | | | | | | | | | | + 0.10% copy | | | | | | | | | | + 0.10% __memcpy_ssse3_back | | | | | | | | | + 0.05% clear | | | | | | | | + 0.10% object_locator_t::decode | | | | | | | | | + 0.05% decode | | | | | | | | + 0.05% decode_raw > | | | | | | | + 0.05% ~object_locator_t | | | | | | | + 0.05% decode > | | | | | | + 0.45% PrimaryLogPG::get_snapset_context | | | | | | | + 0.20% PGBackend::objects_get_attr | | | | | | | | + 0.20% BlueStore::getattr | | | | | | | | + 0.05% std::basic_string, mempool::pool_allocator<(mempool::pool_index_t)2, char> >::basic_string | | | | | | | | + 0.05% operator[] | | | | | | | | + 0.05% BlueStore::Collection::get_onode | | | | | | | + 0.10% SnapSet::decode | | | | | | | | + 0.05% decode >, denc_traits >, void> > | | | | | | | | + 0.05% decode, denc_traits, void> > | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | + 0.05% get_head | | | | | | | + 0.05% find | | | | | | + 0.05% ~shared_ptr | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | + 0.05% PrimaryLogPG::populate_obc_watchers | | | | | + 0.05% operator= | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | + 1.00% OSDService::check_failsafe_full | | | | | + 1.00% OSDService::_check_full | | | | | + 0.75% operator<< | | | | | | + 0.75% std::ostream::_M_insert | | | | | | + 0.75% put | | | | | | + 0.75% std::num_put > >::do_put | | | | | | + 0.75% std::num_put > >::_M_insert_float | | | | | | + 0.65% std::__convert_from_v | | | | | | | + 0.60% _IO_vsnprintf | | | | | | | | + 0.60% _IO_vfprintf_internal | | | | | | | | + 0.30% ___printf_fp | | | | | | | | | + 0.05% hack_digit | | | | | | | | | + 0.05% __strlen_sse2 | | | | | | | | | + 0.05% __GI___isnan | | | | | | | | + 0.05% tc_free | | | | | | | | + 0.05% __find_specmb | | | | | | | | + 0.05% __GI__IO_default_xsputn | | | | | | | + 0.05% __GI___uselocale | | | | | | + 0.05% std::locale::facet::_S_get_c_locale | | | | | | + 0.05% std::__use_cache >::operator() | | | | | + 0.15% operator<< > | | | | | | + 0.15% std::__ostream_insert > | | | | | | + 0.15% __ostream_write > | | | | | | + 0.15% sputn | | | | | | + 0.15% std::basic_streambuf >::xsputn | | | | | | + 0.10% std::basic_stringbuf, std::allocator >::overflow | | | | | | | + 0.05% std::basic_stringbuf, std::allocator >::_M_sync | | | | | | | + 0.05% _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@plt | | | | | | + 0.05% copy | | | | | + 0.05% ~Locker | | | | | + 0.05% Locker | | | | + 0.30% clear_payload | | | | | + 0.20% Throttle::put | | | | | | + 0.20% Locker | | | | | | + 0.20% Mutex::Lock | | | | | | + 0.20% __GI___pthread_mutex_lock | | | | | | + 0.20% _L_lock_791 | | | | | | + 0.20% __lll_lock_wait | | | | | + 0.10% ceph::buffer::list::clear | | | | | + 0.10% clear | | | | | + 0.10% std::_List_base >::_M_clear | | | | | + 0.10% destroy > | | | | | + 0.10% ~_List_node | | | | | + 0.10% ~ptr | | | | | + 0.10% ceph::buffer::ptr::release | | | | | + 0.05% tc_free | | | | | + 0.05% ceph::buffer::raw_combined::~raw_combined | | | | + 0.20% std::basic_ostringstream, std::allocator >::basic_ostringstream | | | | | + 0.10% std::basic_ios >::init | | | | | | + 0.10% std::basic_ios >::_M_cache_locale | | | | | | + 0.05% std::use_facet > | | | | | | + 0.05% std::has_facet > > > | | | | | + 0.10% basic_ostream | | | | | + 0.10% std::basic_ios >::init | | | | | + 0.10% std::basic_ios >::_M_cache_locale | | | | | + 0.05% std::has_facet > > > | | | | | + 0.05% std::has_facet > | | | | + 0.20% PrimaryLogPG::OpContext::OpContext | | | | | + 0.05% object_stat_sum_t | | | | | + 0.05% hobject_t | | | | + 0.15% std::basic_ostringstream, std::allocator >::~basic_ostringstream | | | | | + 0.15% ~basic_stringbuf | | | | | + 0.10% ~basic_string | | | | | | + 0.10% _M_dispose | | | | | + 0.05% ~basic_streambuf | | | | + 0.15% finish_decode | | | | | + 0.10% OSDOp::split_osd_op_vector_in_data | | | | | | + 0.10% ceph::buffer::list::iterator::copy | | | | | | + 0.10% ceph::buffer::list::iterator_impl::copy | | | | | + 0.05% std::vector >::resize | | | | + 0.05% ~shared_ptr | | | | + 0.05% operator!= | | | | + 0.05% object_locator_t::~object_locator_t | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | + 0.05% PrimaryLogPG::maybe_await_blocked_snapset | | | | + 0.05% PrimaryLogPG::get_rw_locks | | | | + 0.05% PGLog::IndexedLog::get_request | | | | + 0.05% PG::op_has_sufficient_caps | | | | + 0.05% PG::get_osdmap | | | | + 0.05% PG::check_in_progress_op | | | | + 0.05% OSD::init_op_flags | | | + 0.10% PG::can_discard_request | | | + 0.05% operator-> | | | + 0.05% have_same_or_newer_map | | | + 0.05% get_priv | | | + 0.05% find | | + 0.05% intrusive_ptr | | + 0.05% get_osdmap | | + 0.05% OSD::maybe_share_map | + 0.05% ~intrusive_ptr + 15.55% WaitInterval | + 15.50% WaitUntil | | + 15.50% pthread_cond_timedwait@@GLIBC_2.3.2 | + 0.05% ceph_clock_now + 4.50% PG::lock | + 4.50% Mutex::Lock | + 4.50% __GI___pthread_mutex_lock | + 4.50% _L_lock_791 | + 4.50% __lll_lock_wait + 0.10% PGQueueable::maybe_get_op | + 0.05% intrusive_ptr + 0.05% WeightedPriorityQueue, entity_inst_t>::empty + 0.05% WeightedPriorityQueue, entity_inst_t>::dequeue + 0.05% Mutex::Unlock Thread: 104 (tp_osd) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ThreadPool::WorkThread::entry + 100.00% ThreadPool::worker + 100.00% WaitInterval + 100.00% WaitUntil + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 Thread: 105 (tp_osd) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ThreadPool::WorkThread::entry + 100.00% ThreadPool::worker + 100.00% WaitInterval + 100.00% WaitUntil + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 Thread: 106 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% WaitUntil + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 Thread: 107 (fn_anonymous) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% Finisher::finisher_thread_entry + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 108 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% WaitUntil + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 Thread: 109 (ms_local) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% DispatchQueue::LocalDeliveryThread::entry + 100.00% DispatchQueue::run_local_delivery + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 110 (ms_dispatch) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% DispatchQueue::DispatchThread::entry + 100.00% DispatchQueue::entry + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 111 (ms_local) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% DispatchQueue::LocalDeliveryThread::entry + 100.00% DispatchQueue::run_local_delivery + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 112 (ms_dispatch) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% DispatchQueue::DispatchThread::entry + 100.00% DispatchQueue::entry + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 113 (ms_local) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% DispatchQueue::LocalDeliveryThread::entry + 100.00% DispatchQueue::run_local_delivery + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 114 (ms_dispatch) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% DispatchQueue::DispatchThread::entry + 100.00% DispatchQueue::entry + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 115 (ms_local) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% DispatchQueue::LocalDeliveryThread::entry + 100.00% DispatchQueue::run_local_delivery + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 116 (ms_dispatch) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% DispatchQueue::DispatchThread::entry + 100.00% DispatchQueue::entry + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 117 (ms_local) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% DispatchQueue::LocalDeliveryThread::entry + 100.00% DispatchQueue::run_local_delivery + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 118 (ms_dispatch) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% DispatchQueue::DispatchThread::entry + 100.00% DispatchQueue::entry + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 119 (ms_local) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% DispatchQueue::LocalDeliveryThread::entry + 100.00% DispatchQueue::run_local_delivery + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 120 (ms_dispatch) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% DispatchQueue::DispatchThread::entry + 100.00% DispatchQueue::entry + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 121 (ms_local) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% DispatchQueue::LocalDeliveryThread::entry + 100.00% DispatchQueue::run_local_delivery + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 122 (ms_dispatch) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% DispatchQueue::DispatchThread::entry + 100.00% DispatchQueue::entry + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 123 (bstore_mempool) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% BlueStore::MempoolThread::entry + 100.00% WaitInterval + 100.00% WaitUntil + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 Thread: 124 (bstore_kv_final) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% BlueStore::KVFinalizeThread::entry + 100.00% BlueStore::_kv_finalize_thread + 93.60% std::condition_variable::wait | + 93.60% __gthread_cond_wait | + 93.60% pthread_cond_wait@@GLIBC_2.3.2 | + 0.40% __pthread_mutex_cond_lock | + 0.40% _L_cond_lock_792 | + 0.40% __lll_lock_wait + 6.00% BlueStore::_txc_state_proc | + 4.80% BlueStore::_txc_finish | | + 1.75% BlueStore::TransContext::~TransContext | | | + 1.70% ~TransContext | | | + 0.65% ~set | | | | + 0.60% ~_Rb_tree | | | | + 0.60% std::_Rb_tree, boost::intrusive_ptr, std::_Identity >, std::less >, std::allocator > >::_M_erase | | | | + 0.25% _M_destroy_node | | | | + 0.20% _M_put_node | | | | | + 0.20% deallocate | | | | | + 0.20% tc_delete | | | | | + 0.20% do_free | | | | | + 0.20% do_free_with_callback | | | | | + 0.20% do_free_helper | | | | | + 0.20% Deallocate | | | | | + 0.20% tcmalloc::ThreadCache::ListTooLong | | | | | + 0.20% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | + 0.20% PopRange | | | | | + 0.20% SLL_PopRange | | | | + 0.05% destroy > > | | | + 0.60% ~shared_ptr | | | | + 0.60% ~__shared_ptr | | | | + 0.60% ~__shared_count | | | | + 0.30% tc_delete | | | | | + 0.25% do_free | | | | | + 0.25% do_free_with_callback | | | | | + 0.25% do_free_helper | | | | | + 0.20% Deallocate | | | | | | + 0.15% tcmalloc::ThreadCache::ListTooLong | | | | | | | + 0.15% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | | | + 0.15% PopRange | | | | | | | + 0.15% SLL_PopRange | | | | | | + 0.05% Push | | | | | + 0.05% GetSizeClassIfCached | | | | + 0.30% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | | | | + 0.15% __exchange_and_add_dispatch | | | | | + 0.15% __exchange_and_add | | | | + 0.15% RocksDBStore::RocksDBTransactionImpl::~RocksDBTransactionImpl | | | | + 0.15% rocksdb::WriteBatch::~WriteBatch | | | | + 0.15% ~basic_string | | | | + 0.15% _M_dispose | | | | + 0.10% std::string::_Rep::_M_destroy | | | | + 0.10% deallocate | | | | + 0.10% tc_delete | | | | + 0.10% do_free | | | | + 0.10% do_free_with_callback | | | | + 0.10% do_free_helper | | | | + 0.05% pageheap | | | | + 0.05% Deallocate | | | + 0.35% ~IOContext | | | | + 0.30% ~list | | | | | + 0.30% ~_List_base | | | | | + 0.30% std::_List_base >::_M_clear | | | | | + 0.20% destroy > | | | | | | + 0.20% ~_List_node | | | | | | + 0.20% ~aio_t | | | | | | + 0.20% ~list | | | | | | + 0.20% ~list | | | | | | + 0.20% ~_List_base | | | | | | + 0.20% std::_List_base >::_M_clear | | | | | | + 0.15% _M_put_node | | | | | | | + 0.15% deallocate | | | | | | | + 0.15% tc_delete | | | | | | | + 0.15% do_free | | | | | | | + 0.15% do_free_with_callback | | | | | | | + 0.10% do_free_helper | | | | | | | + 0.10% Deallocate | | | | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong | | | | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | | | + 0.10% PopRange | | | | | | | + 0.10% SLL_PopRange | | | | | | | + 0.05% SLL_Next | | | | | | + 0.05% destroy > | | | | | + 0.10% _M_put_node | | | | | + 0.10% deallocate | | | | | + 0.10% tc_delete | | | | | + 0.10% do_free | | | | | + 0.10% do_free_with_callback | | | | | + 0.10% do_free_helper | | | | | + 0.05% GetSizeClassIfCached | | | | | + 0.05% CacheSizeClass | | | | + 0.05% __pthread_cond_destroy | | | + 0.10% ~intrusive_ptr | | | + 0.05% intrusive_ptr_release | | | + 0.05% RefCountedObject::put | | + 0.95% BlueStore::BufferSpace::finish_write | | | + 0.80% erase | | | | + 0.80% std::_Rb_tree > >, std::_Select1st > > >, std::less, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > > > >::erase | | | | + 0.70% erase | | | | | + 0.70% _M_erase_aux | | | | | + 0.70% clear | | | | | + 0.70% std::_Rb_tree > >, std::_Select1st > > >, std::less, mempool::pool_allocator<(mempool::pool_index_t)2, std::pair > > > >::_M_erase | | | | | + 0.70% _M_destroy_node | | | | | + 0.55% destroy | | | | | | + 0.55% ~_Rb_tree_node | | | | | | + 0.55% ~pair | | | | | | + 0.55% ~unique_ptr | | | | | | + 0.55% operator() | | | | | | + 0.30% ~Buffer | | | | | | | + 0.30% ~list | | | | | | | + 0.30% ~list | | | | | | | + 0.30% ~_List_base | | | | | | | + 0.30% std::_List_base >::_M_clear | | | | | | | + 0.20% _M_put_node | | | | | | | | + 0.20% deallocate | | | | | | | | + 0.20% tc_delete | | | | | | | | + 0.20% do_free | | | | | | | | + 0.20% do_free_with_callback | | | | | | | | + 0.20% do_free_helper | | | | | | | | + 0.20% Deallocate | | | | | | | | + 0.15% tcmalloc::ThreadCache::ListTooLong | | | | | | | | + 0.15% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | | | | + 0.15% PopRange | | | | | | | | + 0.15% SLL_PopRange | | | | | | | + 0.05% destroy > | | | | | | + 0.25% BlueStore::Buffer::operator delete | | | | | | + 0.25% deallocate | | | | | | + 0.10% tc_deletearray | | | | | | | + 0.10% do_free | | | | | | | + 0.10% do_free_with_callback | | | | | | | + 0.10% do_free_helper | | | | | | | + 0.10% Deallocate | | | | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong | | | | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | | | + 0.10% PopRange | | | | | | | + 0.10% SLL_PopRange | | | | | | + 0.10% operator-= | | | | | + 0.15% _M_put_node | | | | | + 0.15% deallocate | | | | | + 0.10% tc_deletearray | | | | | + 0.10% do_free | | | | | + 0.10% do_free_with_callback | | | | | + 0.10% do_free_helper | | | | | + 0.10% Deallocate | | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong | | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | + 0.10% PopRange | | | | | + 0.10% SLL_PopRange | | | | + 0.10% equal_range | | | + 0.05% ~lock_guard | | + 0.90% BlueStore::_txc_release_alloc | | | + 0.50% BitMapAllocator::release | | | | + 0.50% BitMapAllocator::insert_free | | | | + 0.45% BitAllocator::free_blocks | | | | + 0.40% BitMapAreaIN::free_blocks_int | | | | | + 0.35% BitMapAreaIN::free_blocks | | | | | + 0.30% BitMapAreaLeaf::free_blocks_int | | | | | | + 0.10% BitMapZone::lock_excl | | | | | | | + 0.10% lock | | | | | | | + 0.10% __gthread_mutex_lock | | | | | | | + 0.05% __GI___pthread_mutex_lock | | | | | | + 0.05% BitMapZone::free_blocks | | | | | + 0.05% BitMapAreaIN::sub_used_blocks | | | | + 0.05% pthread_rwlock_rdlock | | | + 0.25% clear | | | + 0.25% clear | | | + 0.25% clear | | | + 0.25% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | + 0.25% _M_destroy_node | | | + 0.25% _M_put_node | | | + 0.25% deallocate | | | + 0.25% tc_delete | | | + 0.25% do_free | | | + 0.25% do_free_with_callback | | | + 0.25% do_free_helper | | | + 0.20% Deallocate | | | | + 0.15% tcmalloc::ThreadCache::ListTooLong | | | | | + 0.15% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | + 0.15% PopRange | | | | | + 0.15% SLL_PopRange | | | | + 0.05% Push | | | + 0.05% GetSizeClassIfCached | | + 0.35% clear | | | + 0.35% clear | | | + 0.35% std::_Rb_tree, boost::intrusive_ptr, std::_Identity >, std::less >, std::allocator > >::_M_erase | | | + 0.35% _M_destroy_node | | | + 0.35% _M_put_node | | | + 0.35% deallocate | | | + 0.35% tc_delete | | | + 0.35% do_free | | | + 0.35% do_free_with_callback | | | + 0.35% do_free_helper | | | + 0.20% GetSizeClassIfCached | | | | + 0.20% GetOrDefault | | | | + 0.20% KeyMatch | | | + 0.10% Deallocate | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | + 0.10% PopRange | | | | + 0.10% SLL_PopRange | | | + 0.05% CacheSizeClass | | + 0.20% intrusive_ptr | | | + 0.20% intrusive_ptr_add_ref | | | + 0.20% RefCountedObject::get | | + 0.10% log_state_latency | | | + 0.10% PerfCounters::tinc | | | + 0.05% add | | + 0.10% get_cache | | + 0.10% end | | | + 0.10% end | | + 0.05% ~intrusive_ptr | | + 0.05% std::condition_variable::notify_all | | + 0.05% operator= | | + 0.05% lock_guard | | + 0.05% ceph::logging::SubsystemMap::should_gather | + 0.80% BlueStore::_txc_committed_kv | | + 0.25% tc_delete | | | + 0.20% do_free | | | + 0.20% do_free_with_callback | | | + 0.20% do_free_helper | | | + 0.15% Deallocate | | | | + 0.15% tcmalloc::ThreadCache::ListTooLong | | | | + 0.15% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | + 0.15% PopRange | | | | + 0.15% SLL_PopRange | | | + 0.05% GetSizeClassIfCached | | + 0.25% queue | | | + 0.10% push_back | | | | + 0.05% std::vector >::_M_emplace_back_aux | | | | + 0.05% construct | | | + 0.05% PerfCounters::inc | | | + 0.05% Mutex::Lock | | + 0.10% hash_to_shard | | + 0.05% PrimaryLogPG::C_OSD_OndiskWriteUnlock::~C_OSD_OndiskWriteUnlock | | + 0.05% Context::complete | + 0.25% log_state_latency | + 0.20% PerfCounters::tinc | + 0.10% add | + 0.10% ceph_spin_lock | + 0.10% pthread_spin_lock + 0.05% ~lock_guard + 0.05% unlock + 0.05% past_midpoint + 0.05% begin + 0.05% BlueStore::_reap_collections Thread: 125 (bstore_kv_sync) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% BlueStore::KVSyncThread::entry + 100.00% BlueStore::_kv_sync_thread + 50.45% RocksDBStore::submit_transaction_sync | + 50.45% rocksdb::DBImpl::Write | + 50.45% rocksdb::DBImpl::WriteImpl | + 50.30% rocksdb::DBImpl::WriteToWAL | | + 49.90% rocksdb::WritableFileWriter::Sync | | | + 49.85% rocksdb::WritableFileWriter::SyncInternal | | | | + 49.85% BlueRocksWritableFile::Sync | | | | + 49.85% fsync | | | | + 49.85% BlueFS::_fsync | | | | + 43.35% BlueFS::_flush_bdev_safely | | | | | + 42.90% BlueFS::wait_for_aio | | | | | | + 42.70% IOContext::aio_wait | | | | | | | + 42.70% std::condition_variable::wait | | | | | | | + 42.70% __gthread_cond_wait | | | | | | | + 42.65% pthread_cond_wait@@GLIBC_2.3.2 | | | | | | | | + 1.55% __pthread_mutex_cond_lock | | | | | | | | | + 1.55% _L_cond_lock_792 | | | | | | | | | + 1.55% __lll_lock_wait | | | | | | | | + 0.10% __pthread_enable_asynccancel | | | | | | | + 0.05% pthread_cond_wait@plt | | | | | | + 0.20% ceph_clock_now | | | | | | + 0.20% clock_gettime | | | | | | + 0.15% clock_gettime | | | | | + 0.40% lock | | | | | | + 0.40% __gthread_mutex_lock | | | | | | + 0.40% __GI___pthread_mutex_lock | | | | | | + 0.40% _L_lock_791 | | | | | | + 0.40% __lll_lock_wait | | | | | + 0.05% unlock | | | | + 6.45% BlueFS::_flush | | | | + 6.40% BlueFS::_flush_range | | | | + 3.80% KernelDevice::aio_submit | | | | | + 3.80% aio_queue_t::submit | | | | | + 3.75% io_submit | | | | + 1.55% KernelDevice::aio_write | | | | | + 1.10% ceph::buffer::list::rebuild_aligned_size_and_memory | | | | | | + 0.45% ceph::buffer::list::rebuild | | | | | | | + 0.15% __memcpy_ssse3_back | | | | | | | + 0.10% push_back | | | | | | | | + 0.10% _M_insert | | | | | | | | + 0.10% _M_create_node | | | | | | | | + 0.10% construct, ceph::buffer::ptr const&> | | | | | | | | + 0.10% _List_node | | | | | | | | + 0.05% ceph::buffer::ptr::ptr | | | | | | | + 0.10% clear | | | | | | | | + 0.10% std::_List_base >::_M_clear | | | | | | | | + 0.10% _M_put_node | | | | | | | | + 0.10% deallocate | | | | | | | | + 0.10% tc_delete | | | | | | | | + 0.10% do_free | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | + 0.10% do_free_helper | | | | | | | | + 0.10% GetSizeClassIfCached | | | | | | | | + 0.10% GetOrDefault | | | | | | | | + 0.10% KeyMatch | | | | | | | + 0.05% operator++ | | | | | | | + 0.05% ceph::buffer::ptr::copy_in | | | | | | + 0.25% ceph::buffer::create_aligned | | | | | | | + 0.15% raw_posix_aligned | | | | | | | | + 0.15% allocate_aligned | | | | | | | | + 0.10% tc_posix_memalign | | | | | | | | | + 0.10% do_memalign_or_cpp_memalign | | | | | | | | | + 0.10% (anonymous namespace)::do_memalign | | | | | | | | | + 0.05% tcmalloc::AlignmentForSize | | | | | | | | | + 0.05% _ZN8tcmalloc16AlignmentForSizeEm@plt | | | | | | | | + 0.05% operator+= | | | | | | | + 0.05% ceph::buffer::raw_posix_aligned::operator new | | | | | | + 0.15% push_back | | | | | | | + 0.15% push_back | | | | | | | + 0.15% _M_insert | | | | | | | + 0.15% _M_create_node | | | | | | | + 0.10% _M_get_node | | | | | | | | + 0.10% allocate | | | | | | | | + 0.10% tc_new | | | | | | | | + 0.10% cpp_alloc | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | + 0.10% do_malloc_small | | | | | | | | + 0.10% SizeClass | | | | | | | | + 0.05% ClassIndex | | | | | | | + 0.05% construct, ceph::buffer::ptr const&> | | | | | | + 0.10% erase | | | | | | | + 0.10% _M_erase | | | | | | | + 0.05% std::__detail::_List_node_base::_M_unhook | | | | | | | + 0.05% _M_put_node | | | | | | + 0.05% ~list | | | | | | + 0.05% list | | | | | + 0.15% push_back | | | | | | + 0.15% _M_insert | | | | | | + 0.10% std::__detail::_List_node_base::_M_hook | | | | | | + 0.05% _M_create_node | | | | | + 0.10% aio_t | | | | | | + 0.10% list | | | | | | + 0.05% ceph::buffer::list::iterator_impl::iterator_impl | | | | | | + 0.05% ceph::buffer::list::iterator_impl::advance | | | | | + 0.05% ~aio_t | | | | | + 0.05% ceph::buffer::list::claim_append | | | | | + 0.05% back | | | | | + 0.05% KernelDevice::_aio_log_start | | | | + 0.20% ceph::buffer::list::substr_of | | | | | + 0.15% push_back | | | | | | + 0.15% _M_insert | | | | | | + 0.15% _M_create_node | | | | | | + 0.15% _M_get_node | | | | | | + 0.15% allocate | | | | | | + 0.15% tc_new | | | | | | + 0.15% cpp_alloc | | | | | | + 0.15% do_malloc_no_errno | | | | | | + 0.15% do_malloc_small | | | | | | + 0.10% SizeClass | | | | | | + 0.05% Allocate | | | | | + 0.05% clear | | | | + 0.20% ceph::buffer::list::claim_append | | | | | + 0.05% make_shareable | | | | + 0.15% IOContext::aio_wait | | | | | + 0.10% unique_lock | | | | | | + 0.10% lock | | | | | | + 0.10% lock | | | | | | + 0.10% __gthread_mutex_lock | | | | | | + 0.10% __GI___pthread_mutex_lock | | | | | + 0.05% ~unique_lock | | | | + 0.10% ~list | | | | | + 0.05% ~ptr | | | | | + 0.05% ~list | | | | + 0.10% ceph::buffer::list::clear | | | | | + 0.05% clear | | | | | + 0.05% begin | | | | + 0.05% list | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | + 0.05% bluefs_fnode_t::seek | | | | + 0.05% __memset_sse2 | | | + 0.05% rocksdb::WritableFileWriter::Flush | | + 0.30% rocksdb::log::Writer::AddRecord | | | + 0.30% rocksdb::log::Writer::EmitPhysicalRecord | | | + 0.20% rocksdb::WritableFileWriter::Append | | | | + 0.10% rocksdb::WritableFileWriter::WriteBuffered | | | | + 0.05% BlueRocksWritableFile::Append | | | + 0.10% rocksdb::WritableFileWriter::Flush | | | + 0.10% BlueRocksWritableFile::Flush | | | + 0.10% flush | | | + 0.10% ~lock_guard | | | + 0.10% unlock | | | + 0.10% __gthread_mutex_unlock | | | + 0.10% __GI___pthread_mutex_unlock | | | + 0.10% __pthread_mutex_unlock_usercnt | | + 0.05% file | + 0.05% rocksdb::WriteThread::ExitAsBatchGroupLeader | + 0.05% rocksdb::InstrumentedMutex::Lock | + 0.05% Writer + 24.00% RocksDBStore::submit_transaction | + 23.55% rocksdb::DBImpl::Write | | + 23.55% rocksdb::DBImpl::WriteImpl | | + 20.35% rocksdb::WriteBatchInternal::InsertInto | | | + 20.30% rocksdb::WriteBatch::Iterate | | | + 12.40% rocksdb::MemTableInserter::PutCF | | | | + 12.10% rocksdb::MemTable::Add | | | | | + 9.60% rocksdb::InlineSkipList::Insert | | | | | | + 8.95% rocksdb::InlineSkipList::RecomputeSpliceLevels | | | | | | | + 8.80% rocksdb::InlineSkipList::FindSpliceForLevel | | | | | | | + 7.70% KeyIsAfterNode | | | | | | | | + 7.55% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | + 3.85% rocksdb::InternalKeyComparator::Compare | | | | | | | | | + 2.75% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | | | + 2.55% compare | | | | | | | | | | + 2.30% __memcmp_sse4_1 | | | | | | | | | | + 0.05% memcmp@plt | | | | | | | | | + 0.10% ExtractUserKey | | | | | | | | + 3.10% GetLengthPrefixedSlice | | | | | | | | + 0.25% GetVarint32Ptr | | | | | | | + 0.05% Next | | | | | | + 0.60% KeyIsAfterNode | | | | | | + 0.60% rocksdb::MemTable::KeyComparator::operator() | | | | | | + 0.50% rocksdb::InternalKeyComparator::Compare | | | | | | | + 0.25% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | + 0.25% compare | | | | | | | | + 0.20% __memcmp_sse4_1 | | | | | | | + 0.05% ExtractUserKey | | | | | | + 0.05% GetLengthPrefixedSlice | | | | | + 1.60% __memcpy_ssse3_back | | | | | + 0.35% rocksdb::(anonymous namespace)::SkipListRep::Allocate | | | | | | + 0.35% AllocateKey | | | | | | + 0.30% rocksdb::InlineSkipList::AllocateNode | | | | | | | + 0.15% rocksdb::ConcurrentArena::AllocateAligned | | | | | | | | + 0.15% AllocateImpl | | | | | | | | + 0.05% try_lock | | | | | | | | + 0.05% operator() | | | | | | | + 0.10% rocksdb::MemTableAllocator::AllocateAligned | | | | | | + 0.05% RandomHeight | | | | | + 0.30% rocksdb::MemTable::UpdateFlushState | | | | | | + 0.30% rocksdb::MemTable::ShouldFlushNow | | | | | | + 0.10% AllocatedAndUnused | | | | | | | + 0.10% ShardAllocatedAndUnused | | | | | | + 0.05% rocksdb::(anonymous namespace)::SkipListRep::ApproximateMemoryUsage | | | | | + 0.05% rocksdb::(anonymous namespace)::SkipListRep::Insert | | | | | + 0.05% EncodeFixed64 | | | | + 0.10% SeekToColumnFamily | | | | | + 0.05% rocksdb::ColumnFamilyMemTablesImpl::Seek | | | | + 0.10% CheckMemtableFull | | | | | + 0.05% rocksdb::ColumnFamilyMemTablesImpl::current | | | | + 0.05% get_post_process_info | | | + 6.90% rocksdb::MemTableInserter::MergeCF | | | | + 6.65% rocksdb::MemTable::Add | | | | | + 6.30% rocksdb::InlineSkipList::Insert | | | | | | + 6.20% rocksdb::InlineSkipList::RecomputeSpliceLevels | | | | | | | + 6.10% rocksdb::InlineSkipList::FindSpliceForLevel | | | | | | | + 5.15% KeyIsAfterNode | | | | | | | | + 5.10% rocksdb::MemTable::KeyComparator::operator() | | | | | | | | + 3.70% GetLengthPrefixedSlice | | | | | | | | | + 0.90% GetVarint32Ptr | | | | | | | | + 1.25% rocksdb::InternalKeyComparator::Compare | | | | | | | | + 0.85% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | | | | | | | | + 0.75% compare | | | | | | | | + 0.60% __memcmp_sse4_1 | | | | | | | | + 0.05% memcmp@plt | | | | | | | + 0.05% Next | | | | | | + 0.05% NoBarrier_SetNext | | | | | | + 0.05% KeyIsAfterNode | | | | | + 0.10% rocksdb::EncodeVarint32 | | | | | + 0.10% rocksdb::(anonymous namespace)::SkipListRep::Allocate | | | | | | + 0.10% AllocateKey | | | | | | + 0.05% rocksdb::InlineSkipList::AllocateNode | | | | | | + 0.05% RandomHeight | | | | | + 0.10% __memcpy_ssse3_back | | | | | + 0.05% rocksdb::MemTable::UpdateFlushState | | | | + 0.05% Status | | | | + 0.05% SeekToColumnFamily | | | + 0.40% rocksdb::MemTableInserter::DeleteCF | | | | + 0.35% DeleteImpl | | | | | + 0.35% rocksdb::MemTable::Add | | | | | + 0.05% rocksdb::InlineSkipList::Insert | | | | | + 0.05% rocksdb::EncodeVarint32 | | | | | + 0.05% rocksdb::(anonymous namespace)::SkipListRep::Allocate | | | | | + 0.05% __memcpy_ssse3_back | | | | | + 0.05% Slice | | | | | + 0.05% EncodeFixed64 | | | | + 0.05% SeekToColumnFamily | | | + 0.25% rocksdb::ReadRecordFromWriteBatch | | | | + 0.20% GetLengthPrefixedSlice | | | | | + 0.15% GetVarint32 | | | | | + 0.10% GetVarint32Ptr | | | | | + 0.05% rocksdb::GetVarint32PtrFallback | | | | + 0.05% OK | | | + 0.05% rocksdb::WriteBatch::Handler::Continue | | | + 0.05% operator= | | | + 0.05% Slice | | + 2.55% rocksdb::DBImpl::WriteToWAL | | | + 2.55% rocksdb::log::Writer::AddRecord | | | + 2.40% rocksdb::log::Writer::EmitPhysicalRecord | | | | + 1.70% rocksdb::WritableFileWriter::Append | | | | | + 1.55% rocksdb::WritableFileWriter::WriteBuffered | | | | | | + 1.40% BlueRocksWritableFile::Append | | | | | | + 1.40% append | | | | | | + 1.40% append | | | | | | + 1.30% memcpy | | | | | | | + 1.30% __memcpy_ssse3_back | | | | | | + 0.05% ceph::buffer::create_page_aligned | | | | | + 0.05% use_direct_io | | | | | + 0.05% rocksdb::WritableFile::PrepareWrite | | | | + 0.50% rocksdb::WritableFileWriter::Flush | | | | | + 0.50% BlueRocksWritableFile::Flush | | | | | + 0.50% flush | | | | | + 0.25% BlueFS::_flush | | | | | | + 0.25% flush | | | | | | + 0.10% ceph::buffer::ptr::c_str | | | | | | | + 0.05% ceph::buffer::raw::get_data | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | + 0.05% push_back | | | | | | + 0.05% set_length | | | | | + 0.20% lock_guard | | | | | | + 0.20% lock | | | | | | + 0.20% __gthread_mutex_lock | | | | | | + 0.20% __GI___pthread_mutex_lock | | | | | | + 0.15% _L_lock_791 | | | | | | + 0.15% __lll_lock_wait | | | | | + 0.05% ~lock_guard | | | | + 0.20% rocksdb::crc32c::ExtendImpl | | | | + 0.05% Fast_CRC32 | | | + 0.05% operator= | | + 0.10% rocksdb::WriteThread::EnterAsBatchGroupLeader | | | + 0.10% push_back | | + 0.10% PerfStepTimer | | + 0.05% ~PerfStepTimer | | + 0.05% rocksdb::WriteThread::ExitAsBatchGroupLeader | | + 0.05% rocksdb::DBImpl::UpdateBackgroundError | | + 0.05% operator= | | + 0.05% Unlock | | + 0.05% AddDBStats | + 0.25% ceph_clock_now | | + 0.20% clock_gettime | | + 0.15% clock_gettime | + 0.15% PerfCounters::tinc | | + 0.15% add | | + 0.15% ceph_spin_lock | | + 0.15% pthread_spin_lock | + 0.05% PerfCounters::inc + 21.80% std::condition_variable::wait | + 21.80% __gthread_cond_wait | + 21.80% pthread_cond_wait@@GLIBC_2.3.2 | + 0.20% __pthread_mutex_cond_lock | + 0.20% _L_cond_lock_792 | + 0.20% __lll_lock_wait + 0.65% BlueStore::_txc_applied_kv | + 0.35% operator-> | + 0.05% std::condition_variable::notify_all | + 0.05% operator++ + 0.55% std::condition_variable::notify_one | + 0.55% __gthread_cond_signal | + 0.55% pthread_cond_signal@@GLIBC_2.3.2 + 0.40% KernelDevice::flush | + 0.35% fdatasync | + 0.05% lock_guard + 0.30% log_state_latency | + 0.15% ceph_clock_now | | + 0.15% clock_gettime | | + 0.10% clock_gettime | + 0.10% PerfCounters::tinc | | + 0.10% add | | + 0.05% ceph_spin_unlock | | + 0.05% ceph_spin_lock | + 0.05% pthread_spin_unlock + 0.30% Throttle::put | + 0.15% Locker | | + 0.15% Mutex::Lock | | + 0.10% __GI___pthread_mutex_lock | | + 0.05% _post_lock | + 0.05% should_gather | + 0.05% read | + 0.05% PerfCounters::set + 0.30% RocksDBStore::get_transaction | + 0.30% make_shared | + 0.30% allocate_shared, RocksDBStore* const> | + 0.30% shared_ptr, RocksDBStore* const> | + 0.30% __shared_ptr, RocksDBStore* const> | + 0.30% __shared_count, RocksDBStore* const> | + 0.30% construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | + 0.30% _S_construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | + 0.30% construct, (__gnu_cxx::_Lock_policy)2>, std::allocator const, RocksDBStore* const> | + 0.30% _Sp_counted_ptr_inplace | + 0.30% construct | + 0.30% _S_construct | + 0.30% construct | + 0.30% RocksDBStore::RocksDBTransactionImpl::RocksDBTransactionImpl | + 0.30% rocksdb::WriteBatch::WriteBatch | + 0.15% std::string::reserve | | + 0.15% std::string::_Rep::_M_clone | | + 0.10% std::string::_Rep::_S_create | | | + 0.05% allocate | | + 0.05% _ZNSs4_Rep9_S_createEmmRKSaIcE@plt | + 0.15% resize | + 0.15% std::string::append | + 0.10% _M_assign | + 0.10% assign | + 0.10% memset@plt + 0.20% ~deque | + 0.10% std::_Deque_base >::~_Deque_base | | + 0.05% _M_destroy_nodes | | + 0.05% _M_deallocate_map | + 0.10% std::_Deque_base >::~_Deque_base | + 0.10% _M_destroy_nodes | + 0.05% _M_deallocate_node + 0.20% shared_ptr | + 0.20% __shared_ptr | + 0.20% __shared_count | + 0.15% _M_add_ref_copy | | + 0.15% __atomic_add_dispatch | | + 0.15% __atomic_add | + 0.05% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_add_ref_copy + 0.15% swap | + 0.15% swap > | + 0.05% _Deque_iterator + 0.10% ~shared_ptr | + 0.10% ~__shared_ptr | + 0.10% ~__shared_count | + 0.05% tc_delete | + 0.05% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release + 0.10% operator-> + 0.10% lock | + 0.10% lock | + 0.10% __gthread_mutex_lock | + 0.10% __GI___pthread_mutex_lock | + 0.10% _L_lock_791 | + 0.10% __lll_lock_wait + 0.05% operator- + 0.05% deque + 0.05% ceph::logging::SubsystemMap::should_gather Thread: 126 (finisher) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% Finisher::finisher_thread_entry + 83.25% Context::complete | + 83.05% PrimaryLogPG::BlessedContext::finish | | + 78.45% PG::lock | | | + 78.40% Mutex::Lock | | | | + 78.25% __GI___pthread_mutex_lock | | | | + 78.25% _L_lock_791 | | | | + 78.25% __lll_lock_wait | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | + 4.50% Context::complete | | | + 4.50% ReplicatedBackend::op_commit | | | + 3.60% Context::complete | | | | + 3.60% PrimaryLogPG::repop_all_committed | | | | + 3.55% PrimaryLogPG::eval_repop | | | | | + 2.95% PrimaryLogPG::__lambda26::operator() | | | | | | + 1.35% PrimaryLogPG::log_op_stats | | | | | | | + 0.40% PerfCounters::tinc | | | | | | | | + 0.35% add | | | | | | | | + 0.35% ceph_spin_lock | | | | | | | | + 0.35% pthread_spin_lock | | | | | | | + 0.30% PerfCounters::inc | | | | | | | | + 0.25% add | | | | | | | | + 0.25% ceph_spin_lock | | | | | | | | + 0.25% pthread_spin_lock | | | | | | | + 0.25% PerfCounters::hinc | | | | | | | | + 0.25% inc | | | | | | | | + 0.25% get_raw_index_for_value | | | | | | | | + 0.25% get_raw_index_internal<0, long (*)(long, PerfHistogramCommon::axis_config_d const&), long> | | | | | | | | + 0.20% get_raw_index_internal<1, long (*)(long, PerfHistogramCommon::axis_config_d const&)> | | | | | | | | | + 0.20% PerfHistogramCommon::get_bucket_for_axis | | | | | | | | | + 0.10% get_quants | | | | | | | | + 0.05% PerfHistogramCommon::get_bucket_for_axis | | | | | | | + 0.10% ceph_clock_now | | | | | | | | + 0.05% clock_gettime | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | | | + 1.25% send_message_osd_client | | | | | | | + 1.25% AsyncConnection::send_message | | | | | | | + 0.50% lock_guard | | | | | | | | + 0.50% lock | | | | | | | | + 0.50% __gthread_mutex_lock | | | | | | | | + 0.50% __GI___pthread_mutex_lock | | | | | | | | + 0.50% _L_lock_791 | | | | | | | | + 0.50% __lll_lock_wait | | | | | | | + 0.25% EventCenter::dispatch_event_external | | | | | | | | + 0.25% EventCenter::wakeup | | | | | | | | + 0.25% write | | | | | | | + 0.10% operator[] | | | | | | | | + 0.10% _M_emplace_hint_unique, std::tuple<> > | | | | | | | | + 0.10% _M_create_node, std::tuple<> > | | | | | | | | + 0.10% _M_get_node | | | | | | | | + 0.10% allocate | | | | | | | | + 0.10% tc_new | | | | | | | | + 0.10% cpp_alloc | | | | | | | | + 0.10% do_malloc_no_errno | | | | | | | | + 0.10% do_malloc_small | | | | | | | | + 0.05% SizeClass | | | | | | | | + 0.05% Allocate | | | | | | | + 0.10% operator== | | | | | | | | + 0.10% __memcmp_sse4_1 | | | | | | | + 0.10% intrusive_ptr | | | | | | | | + 0.10% intrusive_ptr_add_ref | | | | | | | | + 0.10% RefCountedObject::get | | | | | | | | + 0.05% should_gather | | | | | | | + 0.10% emplace_back | | | | | | | | + 0.10% _M_insert | | | | | | | | + 0.10% _M_create_node | | | | | | | | + 0.10% _M_get_node | | | | | | | | + 0.10% allocate | | | | | | | | + 0.05% tc_new | | | | | | | + 0.05% set_connection | | | | | | | + 0.05% PerfCounters::inc | | | | | | + 0.20% mark_commit_sent | | | | | | + 0.20% OpRequest::mark_flag_point | | | | | | + 0.10% ceph_clock_now | | | | | | | + 0.05% clock_gettime | | | | | | + 0.10% TrackedOp::mark_event | | | | | | + 0.05% ~Locker | | | | | + 0.30% erase | | | | | | + 0.30% _M_erase | | | | | | + 0.20% _M_put_node | | | | | | | + 0.20% deallocate | | | | | | | + 0.20% tc_delete | | | | | | | + 0.20% do_free | | | | | | | + 0.20% do_free_with_callback | | | | | | | + 0.20% do_free_helper | | | | | | | + 0.15% GetSizeClassIfCached | | | | | | | | + 0.15% GetOrDefault | | | | | | | | + 0.15% KeyMatch | | | | | | | + 0.05% Deallocate | | | | | | + 0.10% destroy > > | | | | | | + 0.10% ~_List_node | | | | | | + 0.10% ~function | | | | | | + 0.10% ~_Function_base | | | | | | + 0.10% std::_Function_base::_Base_manager::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | | | | | | + 0.10% _M_destroy | | | | | | + 0.10% tc_delete | | | | | | + 0.10% do_free | | | | | | + 0.10% do_free_with_callback | | | | | | + 0.10% do_free_helper | | | | | | + 0.10% GetSizeClassIfCached | | | | | | + 0.10% GetOrDefault | | | | | | + 0.10% KeyMatch | | | | | + 0.15% std::function::operator()() const | | | | | + 0.05% count | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | + 0.35% erase | | | | + 0.35% std::_Rb_tree, std::less, std::allocator >::erase | | | | + 0.25% std::_Rb_tree, std::less, std::allocator >::equal_range | | | | | + 0.20% operator() | | | | | + 0.20% operator< | | | | + 0.10% erase | | | | + 0.10% _M_erase_aux | | | | + 0.10% clear | | | | + 0.10% std::_Rb_tree, std::less, std::allocator >::_M_erase | | | | + 0.10% _M_destroy_node | | | | + 0.10% _M_put_node | | | | + 0.10% deallocate | | | | + 0.10% tc_delete | | | | + 0.10% do_free | | | | + 0.10% do_free_with_callback | | | | + 0.10% do_free_helper | | | | + 0.10% Deallocate | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | + 0.10% PopRange | | | | + 0.10% SLL_PopRange | | | + 0.15% tc_delete | | | | + 0.15% do_free | | | | + 0.15% do_free_with_callback | | | | + 0.15% do_free_helper | | | | + 0.15% Deallocate | | | | + 0.15% tcmalloc::ThreadCache::ListTooLong | | | | + 0.15% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | + 0.15% PopRange | | | | + 0.15% SLL_PopRange | | | + 0.10% ceph_clock_now | | | | + 0.10% clock_gettime | | | | + 0.05% clock_gettime | | | + 0.10% TrackedOp::mark_event | | | + 0.10% C_OSD_RepopCommit::~C_OSD_RepopCommit | | | + 0.05% ~C_OSD_RepopCommit | | + 0.05% tc_delete | | + 0.05% release | + 0.20% Mutex::Unlock | + 0.20% __GI___pthread_mutex_unlock | + 0.20% __pthread_mutex_unlock_usercnt | + 0.20% _L_unlock_697 | + 0.20% __lll_unlock_wake + 14.15% C_ContextsBase::complete | + 14.15% complete | + 14.15% finish_contexts | + 13.20% Context::complete | | + 12.80% PrimaryLogPG::BlessedContext::finish | | | + 12.50% Context::complete | | | | + 12.40% ReplicatedBackend::op_applied | | | | + 6.15% erase | | | | | + 5.50% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::erase | | | | | | + 5.40% erase | | | | | | | + 5.40% _M_erase_aux | | | | | | | + 4.10% erase | | | | | | | | + 4.10% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase_aux | | | | | | | | + 4.00% _M_destroy_node | | | | | | | | | + 3.85% destroy > > | | | | | | | | | | + 3.85% ~_Rb_tree_node | | | | | | | | | | + 3.85% ~pair | | | | | | | | | | + 3.85% ~InProgressOp | | | | | | | | | | + 3.85% ~intrusive_ptr | | | | | | | | | | + 3.85% intrusive_ptr_release | | | | | | | | | | + 3.60% OpTracker::unregister_inflight_op | | | | | | | | | | | + 1.35% ~intrusive_ptr | | | | | | | | | | | | + 1.35% intrusive_ptr_release | | | | | | | | | | | | + 1.35% put | | | | | | | | | | | | + 1.35% OpRequest::~OpRequest | | | | | | | | | | | | + 1.00% ~OpRequest | | | | | | | | | | | | | + 0.50% ~TrackedOp | | | | | | | | | | | | | | + 0.40% Mutex::~Mutex | | | | | | | | | | | | | | | + 0.40% ~basic_string | | | | | | | | | | | | | | | + 0.40% _M_dispose | | | | | | | | | | | | | | | + 0.15% std::string::_Rep::_M_destroy | | | | | | | | | | | | | | | + 0.15% deallocate | | | | | | | | | | | | | | | + 0.15% tc_delete | | | | | | | | | | | | | | | + 0.15% do_free | | | | | | | | | | | | | | | + 0.15% do_free_with_callback | | | | | | | | | | | | | | | + 0.15% do_free_helper | | | | | | | | | | | | | | + 0.05% ~vector | | | | | | | | | | | | | + 0.50% RefCountedObject::put | | | | | | | | | | | | | + 0.45% MOSDOp::~MOSDOp | | | | | | | | | | | | | + 0.40% ~MOSDOp | | | | | | | | | | | | | | + 0.30% ~MOSDFastDispatchOp | | | | | | | | | | | | | | | + 0.30% Message::~Message | | | | | | | | | | | | | | | + 0.15% ~RefCountedObject | | | | | | | | | | | | | | | | + 0.05% read | | | | | | | | | | | | | | | + 0.10% Throttle::put | | | | | | | | | | | | | | | + 0.05% ~Locker | | | | | | | | | | | | | | | + 0.05% Locker | | | | | | | | | | | | | | + 0.05% ~vector | | | | | | | | | | | | | | + 0.05% ~hobject_t | | | | | | | | | | | | | + 0.05% tc_delete | | | | | | | | | | | | + 0.30% tc_delete | | | | | | | | | | | | + 0.30% do_free | | | | | | | | | | | | + 0.30% do_free_with_callback | | | | | | | | | | | | + 0.30% do_free_helper | | | | | | | | | | | | + 0.15% Deallocate | | | | | | | | | | | | | + 0.15% tcmalloc::ThreadCache::ListTooLong | | | | | | | | | | | | | + 0.15% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | | | | | | | | | + 0.15% PopRange | | | | | | | | | | | | | + 0.15% SLL_PopRange | | | | | | | | | | | | + 0.05% GetSizeClassIfCached | | | | | | | | | | | + 1.20% OpRequest::_unregistered | | | | | | | | | | | | + 0.90% clear_data | | | | | | | | | | | | | + 0.40% Throttle::put | | | | | | | | | | | | | | + 0.15% read | | | | | | | | | | | | | | | + 0.10% AO_load_read | | | | | | | | | | | | | | | + 0.10% AO_load | | | | | | | | | | | | | | + 0.05% ~Locker | | | | | | | | | | | | | | + 0.05% PerfCounters::set | | | | | | | | | | | | | + 0.25% clear | | | | | | | | | | | | | | + 0.20% clear | | | | | | | | | | | | | | + 0.20% std::_List_base >::_M_clear | | | | | | | | | | | | | | + 0.10% destroy > | | | | | | | | | | | | | | | + 0.10% ~_List_node | | | | | | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | | | | | | + 0.10% _M_put_node | | | | | | | | | | | | | | + 0.10% deallocate | | | | | | | | | | | | | | + 0.10% tc_delete | | | | | | | | | | | | | | + 0.10% do_free | | | | | | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | | | | | | + 0.10% Deallocate | | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong | | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | | | | | | | | | | + 0.10% PopRange | | | | | | | | | | | | | | + 0.10% SLL_PopRange | | | | | | | | | | | | | + 0.25% MOSDOp::clear_buffers | | | | | | | | | | | | | + 0.25% clear | | | | | | | | | | | | | + 0.25% _M_erase_at_end | | | | | | | | | | | | | + 0.20% _Destroy | | | | | | | | | | | | | + 0.20% _Destroy | | | | | | | | | | | | | + 0.20% __destroy | | | | | | | | | | | | | + 0.20% _Destroy | | | | | | | | | | | | | + 0.20% ~OSDOp | | | | | | | | | | | | | + 0.20% ~list | | | | | | | | | | | | | + 0.15% ~list | | | | | | | | | | | | | | + 0.15% ~_List_base | | | | | | | | | | | | | | + 0.15% std::_List_base >::_M_clear | | | | | | | | | | | | | | + 0.10% _M_put_node | | | | | | | | | | | | | | | + 0.10% deallocate | | | | | | | | | | | | | | | + 0.10% tc_delete | | | | | | | | | | | | | | | + 0.10% do_free | | | | | | | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | | | | | | | + 0.10% Deallocate | | | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong | | | | | | | | | | | | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | | | | | | | | | | | + 0.10% PopRange | | | | | | | | | | | | | | | + 0.10% SLL_PopRange | | | | | | | | | | | | | | + 0.05% destroy > | | | | | | | | | | | | | + 0.05% ~ptr | | | | | | | | | | | | + 0.30% clear_payload | | | | | | | | | | | | + 0.15% clear | | | | | | | | | | | | | + 0.05% clear | | | | | | | | | | | | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | | | | | | | | | | | | + 0.15% Throttle::put | | | | | | | | | | | | + 0.05% ~Locker | | | | | | | | | | | | + 0.05% should_gather | | | | | | | | | | | | + 0.05% Locker | | | | | | | | | | | + 0.65% OpHistory::insert | | | | | | | | | | | | + 0.30% get_duration | | | | | | | | | | | | | + 0.15% Locker | | | | | | | | | | | | | | + 0.15% Mutex::Lock | | | | | | | | | | | | | | + 0.10% __GI___pthread_mutex_lock | | | | | | | | | | | | | + 0.10% operator double | | | | | | | | | | | | | + 0.05% compare | | | | | | | | | | | | + 0.25% insert | | | | | | | | | | | | | + 0.15% std::_Rb_tree >, std::pair >, std::_Identity > >, std::less > >, std::allocator > > >::_M_insert_unique > >(std::pair >&&) | | | | | | | | | | | | | | + 0.05% _M_insert_ > > | | | | | | | | | | | | | + 0.10% std::_Rb_tree >, std::pair >, std::_Identity > >, std::less > >, std::allocator > > >::_M_insert_unique > >(std::pair >&&) | | | | | | | | | | | | | + 0.05% _M_insert_ > > | | | | | | | | | | | | + 0.05% OpHistory::cleanup | | | | | | | | | | | | + 0.05% Locker | | | | | | | | | | | + 0.10% ~RLocker | | | | | | | | | | | | + 0.10% unlock | | | | | | | | | | | | + 0.10% read | | | | | | | | | | | | + 0.10% AO_load_read | | | | | | | | | | | | + 0.10% AO_load | | | | | | | | | | | + 0.10% ceph_clock_now | | | | | | | | | | | | + 0.10% clock_gettime | | | | | | | | | | | | + 0.10% clock_gettime | | | | | | | | | | | + 0.05% erase | | | | | | | | | | | + 0.05% RLocker | | | | | | | | | | + 0.25% TrackedOp::put | | | | | | | | | | + 0.15% TrackedOp::mark_event | | | | | | | | | | | + 0.05% ~Locker | | | | | | | | | | | + 0.05% should_gather | | | | | | | | | | + 0.05% ceph_clock_now | | | | | | | | | + 0.15% _M_put_node | | | | | | | | | + 0.15% deallocate | | | | | | | | | + 0.15% tc_delete | | | | | | | | | + 0.15% do_free | | | | | | | | | + 0.15% do_free_with_callback | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | | + 0.05% Deallocate | | | | | | | | | + 0.05% IsFastPathAllowed | | | | | | | | + 0.05% std::_Rb_tree_rebalance_for_erase | | | | | | | + 1.30% clear | | | | | | | + 1.30% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | + 1.25% _M_destroy_node | | | | | | | + 1.15% destroy > > | | | | | | | | + 1.15% ~_Rb_tree_node | | | | | | | | + 1.15% ~pair | | | | | | | | + 1.15% ~InProgressOp | | | | | | | | + 1.15% ~intrusive_ptr | | | | | | | | + 1.15% intrusive_ptr_release | | | | | | | | + 1.05% OpTracker::unregister_inflight_op | | | | | | | | | + 0.45% OpRequest::_unregistered | | | | | | | | | | + 0.25% clear_payload | | | | | | | | | | | + 0.15% clear | | | | | | | | | | | | + 0.05% begin | | | | | | | | | | | + 0.10% Throttle::put | | | | | | | | | | | + 0.05% ~Locker | | | | | | | | | | | + 0.05% read | | | | | | | | | | + 0.20% clear_data | | | | | | | | | | + 0.10% MOSDOp::clear_buffers | | | | | | | | | | | + 0.10% clear | | | | | | | | | | | + 0.10% _M_erase_at_end | | | | | | | | | | | + 0.10% _Destroy | | | | | | | | | | | + 0.10% _Destroy | | | | | | | | | | | + 0.10% __destroy | | | | | | | | | | | + 0.10% _Destroy | | | | | | | | | | | + 0.10% ~OSDOp | | | | | | | | | | | + 0.10% ~list | | | | | | | | | | | + 0.10% ~ptr | | | | | | | | | | | + 0.10% ceph::buffer::ptr::release | | | | | | | | | | + 0.05% clear | | | | | | | | | | + 0.05% Throttle::put | | | | | | | | | + 0.25% ~intrusive_ptr | | | | | | | | | | + 0.25% intrusive_ptr_release | | | | | | | | | | + 0.25% put | | | | | | | | | | + 0.25% OpRequest::~OpRequest | | | | | | | | | | + 0.25% ~OpRequest | | | | | | | | | | + 0.20% RefCountedObject::put | | | | | | | | | | | + 0.20% MOSDOp::~MOSDOp | | | | | | | | | | | + 0.10% ~MOSDOp | | | | | | | | | | | | + 0.05% ~hobject_t | | | | | | | | | | | | + 0.05% ~MOSDFastDispatchOp | | | | | | | | | | | + 0.10% tc_delete | | | | | | | | | | | + 0.10% do_free | | | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | | | + 0.05% do_free_helper | | | | | | | | | | + 0.05% ~TrackedOp | | | | | | | | | + 0.20% OpHistory::insert | | | | | | | | | | + 0.10% OpHistory::cleanup | | | | | | | | | | | + 0.10% erase | | | | | | | | | | | + 0.05% std::_Rb_tree >, std::pair >, std::_Identity > >, std::less > >, std::allocator > > >::erase | | | | | | | | | | | + 0.05% erase | | | | | | | | | | + 0.05% insert | | | | | | | | | | + 0.05% get_duration | | | | | | | | | + 0.10% ~RLocker | | | | | | | | | + 0.10% unlock | | | | | | | | | + 0.05% read | | | | | | | | | + 0.05% pthread_rwlock_unlock | | | | | | | | + 0.10% TrackedOp::put | | | | | | | | + 0.05% ceph_clock_now | | | | | | | | + 0.05% TrackedOp::mark_event | | | | | | | + 0.10% _M_put_node | | | | | | | + 0.10% deallocate | | | | | | | + 0.10% tc_delete | | | | | | | + 0.10% do_free | | | | | | | + 0.10% do_free_with_callback | | | | | | | + 0.10% do_free_helper | | | | | | | + 0.05% Deallocate | | | | | | + 0.05% equal_range | | | | | + 0.65% std::_Rb_tree, std::less, std::allocator >::erase | | | | | + 0.50% erase | | | | | | + 0.50% _M_erase_aux | | | | | | + 0.50% clear | | | | | | + 0.50% std::_Rb_tree, std::less, std::allocator >::_M_erase | | | | | | + 0.50% _M_destroy_node | | | | | | + 0.50% _M_put_node | | | | | | + 0.50% deallocate | | | | | | + 0.50% tc_delete | | | | | | + 0.50% do_free | | | | | | + 0.50% do_free_with_callback | | | | | | + 0.50% do_free_helper | | | | | | + 0.30% Deallocate | | | | | | | + 0.30% tcmalloc::ThreadCache::ListTooLong | | | | | | | + 0.30% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | | | + 0.30% PopRange | | | | | | | + 0.30% SLL_PopRange | | | | | | + 0.05% GetSizeClassIfCached | | | | | | + 0.05% GetDescriptor | | | | | | + 0.05% CacheSizeClass | | | | | + 0.10% std::_Rb_tree, std::less, std::allocator >::equal_range | | | | | + 0.10% operator() | | | | | + 0.10% operator< | | | | + 5.20% Context::complete | | | | | + 5.20% PrimaryLogPG::repop_all_applied | | | | | + 5.20% PrimaryLogPG::eval_repop | | | | | + 2.70% PrimaryLogPG::remove_repop | | | | | | + 1.00% std::_Function_handler::_M_invoke(const std::_Any_data &) | | | | | | | + 1.00% operator() | | | | | | | + 0.90% PrimaryLogPG::OpContext::~OpContext | | | | | | | | + 0.35% ~vector | | | | | | | | | + 0.25% _Destroy | | | | | | | | | | + 0.25% _Destroy | | | | | | | | | | + 0.25% __destroy | | | | | | | | | | + 0.25% _Destroy | | | | | | | | | | + 0.25% ~pg_log_entry_t | | | | | | | | | | + 0.20% hobject_t::~hobject_t | | | | | | | | | | | + 0.15% ~object_t | | | | | | | | | | | | + 0.15% ~basic_string | | | | | | | | | | | | + 0.15% std::string::_Rep::_M_dispose | | | | | | | | | | | | + 0.15% std::string::_Rep::_M_dispose | | | | | | | | | | | | + 0.15% __exchange_and_add_dispatch | | | | | | | | | | | | + 0.15% __exchange_and_add | | | | | | | | | | | + 0.05% ~basic_string | | | | | | | | | | + 0.05% ~vector | | | | | | | | | + 0.10% ~_Vector_base | | | | | | | | | + 0.10% _M_deallocate | | | | | | | | | + 0.10% deallocate | | | | | | | | | + 0.10% tc_delete | | | | | | | | | + 0.10% do_free | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | + 0.10% GetSizeClassIfCached | | | | | | | | | + 0.10% GetOrDefault | | | | | | | | | + 0.10% KeyMatch | | | | | | | | + 0.25% SnapSet::~SnapSet | | | | | | | | | + 0.15% ~map | | | | | | | | | + 0.15% ~_Rb_tree | | | | | | | | | + 0.05% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | + 0.05% std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase | | | | | | | | + 0.15% ~interval_set | | | | | | | | | + 0.15% ~map | | | | | | | | | + 0.15% ~_Rb_tree | | | | | | | | | + 0.15% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | + 0.15% _M_destroy_node | | | | | | | | | + 0.15% _M_put_node | | | | | | | | | + 0.15% deallocate | | | | | | | | | + 0.15% tc_delete | | | | | | | | | + 0.10% do_free | | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | | + 0.10% do_free_helper | | | | | | | | | + 0.10% Deallocate | | | | | | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong | | | | | | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | | | | | + 0.10% PopRange | | | | | | | | | + 0.10% SLL_PopRange | | | | | | | | + 0.10% ~list | | | | | | | | | + 0.05% ~_List_base | | | | | | | | + 0.05% ~shared_ptr | | | | | | | + 0.05% TrackedOp::put | | | | | | + 0.75% PrimaryLogPG::release_object_locks | | | | | | | + 0.55% put_locks | | | | | | | | + 0.15% pair | | | | | | | | | + 0.15% hobject_t::hobject_t | | | | | | | | | + 0.10% object_t | | | | | | | | | | + 0.10% std::basic_string, std::allocator >::basic_string | | | | | | | | | | + 0.10% _M_grab | | | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | | + 0.15% clear | | | | | | | | | + 0.15% clear | | | | | | | | | + 0.15% std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_erase | | | | | | | | | + 0.15% _M_destroy_node | | | | | | | | | + 0.10% destroy > > | | | | | | | | | | + 0.10% ~_Rb_tree_node | | | | | | | | | | + 0.10% ~pair | | | | | | | | | | + 0.05% ~ObjectLockState | | | | | | | | | | + 0.05% hobject_t::~hobject_t | | | | | | | | | + 0.05% _M_put_node | | | | | | | | + 0.10% make_pair > > | | | | | | | | | + 0.10% pair >, void> | | | | | | | | | + 0.10% hobject_t::hobject_t | | | | | | | | | + 0.05% std::basic_string, std::allocator >::basic_string | | | | | | | | | + 0.05% _ZNSsC1ERKSs@plt | | | | | | | | + 0.05% put_lock_type | | | | | | | | + 0.05% push_back | | | | | | | | + 0.05% end | | | | | | | + 0.10% PG::requeue_ops | | | | | | | | + 0.05% clear | | | | | | | + 0.05% hobject_t::~hobject_t | | | | | | + 0.65% erase | | | | | | | + 0.65% _M_erase | | | | | | | + 0.45% destroy > > | | | | | | | | + 0.45% ~_List_node | | | | | | | | + 0.45% ~function | | | | | | | | + 0.45% ~_Function_base | | | | | | | | + 0.45% std::_Function_base::_Base_manager::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | | | | | | | | + 0.45% _M_destroy | | | | | | | | + 0.45% tc_delete | | | | | | | | + 0.45% do_free | | | | | | | | + 0.45% do_free_with_callback | | | | | | | | + 0.45% do_free_helper | | | | | | | | + 0.35% Deallocate | | | | | | | | | + 0.35% tcmalloc::ThreadCache::ListTooLong | | | | | | | | | + 0.35% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | | | | | + 0.20% tcmalloc::CentralFreeList::InsertRange | | | | | | | | | | + 0.20% tcmalloc::CentralFreeList::ReleaseListToSpans | | | | | | | | | | + 0.15% tcmalloc::CentralFreeList::ReleaseToSpans | | | | | | | | | | + 0.05% _ZN8tcmalloc10DLL_RemoveEPNS_4SpanE@plt | | | | | | | | | + 0.15% PopRange | | | | | | | | | + 0.15% SLL_PopRange | | | | | | | | | + 0.10% SLL_Next | | | | | | | | + 0.10% GetSizeClassIfCached | | | | | | | | + 0.10% GetOrDefault | | | | | | | | + 0.10% KeyMatch | | | | | | | + 0.20% _M_put_node | | | | | | | + 0.20% deallocate | | | | | | | + 0.20% tc_delete | | | | | | | + 0.20% do_free | | | | | | | + 0.20% do_free_with_callback | | | | | | | + 0.20% do_free_helper | | | | | | | + 0.05% Deallocate | | | | | | + 0.20% tc_delete | | | | | | | + 0.20% do_free | | | | | | | + 0.20% do_free_with_callback | | | | | | | + 0.20% do_free_helper | | | | | | | + 0.15% Deallocate | | | | | | | | + 0.05% tcmalloc::ThreadCache::ListTooLong | | | | | | | | + 0.05% _ZN8tcmalloc11ThreadCache11ListTooLongEPNS0_8FreeListEm@plt | | | | | | | + 0.05% CacheSizeClass | | | | | | + 0.10% std::function::operator()() const | | | | | + 1.00% PG::publish_stats_to_osd | | | | | | + 0.30% pg_stat_t | | | | | | | + 0.20% vector | | | | | | | + 0.15% __uninitialized_copy_a<__gnu_cxx::__normal_iterator >, int*, int> | | | | | | | | + 0.15% uninitialized_copy<__gnu_cxx::__normal_iterator >, int*> | | | | | | | | + 0.15% __uninit_copy<__gnu_cxx::__normal_iterator >, int*> | | | | | | | | + 0.15% copy<__gnu_cxx::__normal_iterator >, int*> | | | | | | | | + 0.15% __copy_move_a2 >, int*> | | | | | | | | + 0.15% __copy_move_a | | | | | | | | + 0.15% __copy_m | | | | | | | | + 0.15% __memmove_ssse3_back | | | | | | | + 0.05% size | | | | | | + 0.20% OSDService::pg_stat_queue_enqueue | | | | | | | + 0.20% pg_stat_queue_enqueue | | | | | | | + 0.05% Mutex::Unlock | | | | | | | + 0.05% Mutex::Lock | | | | | | + 0.15% PG::_update_calc_stats | | | | | | | + 0.05% get_pg_size | | | | | | | + 0.05% PG::get_osdmap | | | | | | + 0.10% ~pg_stat_t | | | | | | | + 0.10% ~vector | | | | | | | + 0.10% ~_Vector_base | | | | | | | + 0.10% _M_deallocate | | | | | | | + 0.10% deallocate | | | | | | | + 0.10% tc_delete | | | | | | | + 0.05% do_free | | | | | | + 0.10% pg_stat_t::operator= | | | | | | | + 0.05% std::vector >::operator= | | | | | | + 0.05% operator-= | | | | | | + 0.05% PG::_update_blocked_by | | | | | | + 0.05% Mutex::Lock | | | | | + 0.55% std::_Function_handler::_M_invoke(const std::_Any_data &) | | | | | | + 0.50% operator() | | | | | | + 0.35% PrimaryLogPG::do_osd_op_effects | | | | | | | + 0.10% get_priv | | | | | | | | + 0.10% ~Locker | | | | | | | | + 0.10% Mutex::Unlock | | | | | | | | + 0.05% __GI___pthread_mutex_unlock | | | | | | | + 0.10% RefCountedObject::put | | | | | | | | + 0.05% dec | | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | | | | + 0.05% shared_ptr | | | | | | | + 0.05% intrusive_ptr | | | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | | | + 0.15% ~intrusive_ptr | | | | | | + 0.15% RefCountedObject::put | | | | | | + 0.10% dec | | | | | + 0.50% erase | | | | | | + 0.50% _M_erase | | | | | | + 0.40% destroy > > | | | | | | | + 0.40% ~_List_node | | | | | | | + 0.40% ~function | | | | | | | + 0.40% ~_Function_base | | | | | | | + 0.40% std::_Function_base::_Base_manager::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | | | | | | | + 0.30% _M_destroy | | | | | | | + 0.30% tc_delete | | | | | | | + 0.30% do_free | | | | | | | + 0.30% do_free_with_callback | | | | | | | + 0.30% do_free_helper | | | | | | | + 0.30% Deallocate | | | | | | | + 0.30% tcmalloc::ThreadCache::ListTooLong | | | | | | | + 0.30% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | | | + 0.25% PopRange | | | | | | | | + 0.25% SLL_PopRange | | | | | | | | + 0.05% SLL_Next | | | | | | | + 0.05% tcmalloc::CentralFreeList::InsertRange | | | | | | + 0.10% _M_put_node | | | | | | + 0.10% deallocate | | | | | | + 0.10% tc_delete | | | | | | + 0.05% do_free | | | | | + 0.25% PG::calc_min_last_complete_ondisk | | | | | | + 0.05% operator== | | | | | + 0.15% std::function::operator()() const | | | | | + 0.05% pop_front | | | | + 0.40% C_OSD_RepopApplied::~C_OSD_RepopApplied | | | | | + 0.40% ~C_OSD_RepopApplied | | | | | + 0.40% ~intrusive_ptr | | | | | + 0.40% intrusive_ptr_release | | | | | + 0.35% put | | | | | | + 0.30% tc_delete | | | | | | | + 0.30% do_free | | | | | | | + 0.30% do_free_with_callback | | | | | | | + 0.30% do_free_helper | | | | | | | + 0.25% Deallocate | | | | | | | | + 0.20% tcmalloc::ThreadCache::ListTooLong | | | | | | | | + 0.20% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | | | | + 0.20% PopRange | | | | | | | | + 0.20% SLL_PopRange | | | | | | | + 0.05% GetSizeClassIfCached | | | | | | + 0.05% ~RepGather | | | | | + 0.05% PG::put | | | | + 0.25% TrackedOp::mark_event | | | | | + 0.10% ~Locker | | | | | | + 0.10% Mutex::Unlock | | | | | | + 0.05% _pre_unlock | | | | | | + 0.05% __GI___pthread_mutex_unlock | | | | | + 0.10% Locker | | | | | + 0.10% Mutex::Lock | | | | | + 0.05% __GI___pthread_mutex_lock | | | | + 0.15% tc_delete | | | | | + 0.15% do_free | | | | | + 0.15% do_free_with_callback | | | | | + 0.15% do_free_helper | | | | | + 0.15% Deallocate | | | | | + 0.15% tcmalloc::ThreadCache::ListTooLong | | | | | + 0.15% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | | + 0.15% PopRange | | | | | + 0.15% SLL_PopRange | | | | + 0.10% PrimaryLogPG::op_applied | | | | | + 0.10% operator== | | | | | + 0.05% operator== | | | | | + 0.05% operator== | | | | + 0.05% non-virtual thunk to PrimaryLogPG::op_applied(eversion_t const&) | | | | + 0.05% ceph_clock_now | | | + 0.15% PG::lock | | | | + 0.15% Mutex::Lock | | | | + 0.15% __GI___pthread_mutex_lock | | | | + 0.10% _L_lock_791 | | | | + 0.10% __lll_lock_wait | | | + 0.05% tc_delete | | + 0.35% PG::C_UpdateLastRollbackInfoTrimmedToApplied::finish | | + 0.30% PG::lock | | | + 0.25% Mutex::Lock | | | | + 0.25% __GI___pthread_mutex_lock | | | | + 0.20% _L_lock_791 | | | | + 0.20% __lll_lock_wait | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | + 0.05% unlock | + 0.20% tc_delete | | + 0.15% do_free | | + 0.15% do_free_with_callback | | + 0.15% do_free_helper | | + 0.10% GetSizeClassIfCached | | | + 0.10% GetOrDefault | | | + 0.10% KeyMatch | | + 0.05% Deallocate | + 0.20% swap | | + 0.20% std::__detail::_List_node_base::swap | + 0.10% ~list | | + 0.10% ~_List_base | | + 0.10% _M_clear | | + 0.10% _M_put_node | | + 0.10% deallocate | | + 0.10% tc_delete | | + 0.10% do_free | | + 0.10% do_free_with_callback | | + 0.10% do_free_helper | | + 0.05% Deallocate | + 0.05% PrimaryLogPG::BlessedContext::~BlessedContext + 2.00% Wait | + 2.00% pthread_cond_wait@@GLIBC_2.3.2 + 0.35% tc_delete | + 0.30% do_free | + 0.30% do_free_with_callback | + 0.30% do_free_helper | + 0.20% Deallocate | | + 0.20% tcmalloc::ThreadCache::ListTooLong | | + 0.20% tcmalloc::ThreadCache::ReleaseToCentralCache | | + 0.20% PopRange | | + 0.20% SLL_PopRange | + 0.05% GetSizeClassIfCached | + 0.05% CacheSizeClass + 0.10% Mutex::Unlock + 0.10% __GI___pthread_mutex_unlock + 0.10% __pthread_mutex_unlock_usercnt + 0.10% _L_unlock_697 + 0.10% __lll_unlock_wake Thread: 127 (bstore_aio) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% KernelDevice::AioCompletionThread::entry + 100.00% KernelDevice::_aio_thread + 98.45% aio_queue_t::get_next_completed | + 98.45% __io_getevents_0_4 + 1.55% aio_wake + 1.55% std::condition_variable::notify_all + 1.55% __gthread_cond_broadcast + 1.55% pthread_cond_broadcast@@GLIBC_2.3.2 Thread: 128 (bstore_aio) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% KernelDevice::AioCompletionThread::entry + 100.00% KernelDevice::_aio_thread + 100.00% aio_queue_t::get_next_completed + 100.00% __io_getevents_0_4 Thread: 129 (bstore_aio) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% KernelDevice::AioCompletionThread::entry + 100.00% KernelDevice::_aio_thread + 100.00% aio_queue_t::get_next_completed + 100.00% __io_getevents_0_4 Thread: 130 (bstore_aio) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% KernelDevice::AioCompletionThread::entry + 100.00% KernelDevice::_aio_thread + 98.60% aio_queue_t::get_next_completed | + 98.55% __io_getevents_0_4 | + 0.05% io_getevents_0_4 + 1.15% BlueStore::_txc_state_proc | + 1.00% BlueStore::_txc_finish_io | | + 0.90% BlueStore::_txc_state_proc | | | + 0.35% std::condition_variable::notify_one | | | | + 0.35% __gthread_cond_signal | | | | + 0.35% pthread_cond_signal@@GLIBC_2.3.2 | | | + 0.30% log_state_latency | | | | + 0.20% PerfCounters::tinc | | | | | + 0.10% add | | | | | + 0.10% ceph_spin_lock | | | | | + 0.10% pthread_spin_lock | | | | + 0.05% operator- | | | | + 0.05% ceph_clock_now | | | + 0.20% ~lock_guard | | | + 0.20% unlock | | | + 0.20% __gthread_mutex_unlock | | | + 0.15% __GI___pthread_mutex_unlock | | | + 0.15% __pthread_mutex_unlock_usercnt | | | + 0.15% _L_unlock_697 | | | + 0.15% __lll_unlock_wake | | + 0.10% lock_guard | | + 0.10% lock | | + 0.10% __gthread_mutex_lock | | + 0.10% __GI___pthread_mutex_lock | + 0.10% log_state_latency | + 0.05% ceph_clock_now | + 0.05% PerfCounters::tinc + 0.15% BlueStore::TransContext::aio_finish + 0.05% aio_cb + 0.05% BlockDevice::reap_ioc Thread: 131 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% Wait + 100.00% pthread_cond_wait@@GLIBC_2.3.2 Thread: 132 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% WaitUntil + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 Thread: 133 (safe_timer) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% SafeTimerThread::entry + 100.00% SafeTimer::timer_thread + 100.00% WaitUntil + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 Thread: 134 (ceph-osd) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% std::(anonymous namespace)::execute_native_thread_routine + 100.00% ceph::timer_detail::timer::timer_thread + 100.00% wait_until > > + 100.00% __wait_until_impl > > + 100.00% __gthread_cond_timedwait + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 Thread: 135 (admin_socket) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% AdminSocket::entry + 100.00% poll + 100.00% poll Thread: 136 (service) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% CephContextServiceThread::entry + 100.00% WaitInterval + 100.00% WaitUntil + 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 Thread: 137 (msgr-worker-2) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% std::(anonymous namespace)::execute_native_thread_routine + 100.00% NetworkStack::__lambda4::operator() + 100.00% EventCenter::process_events + 100.00% EpollDriver::event_wait + 100.00% epoll_wait Thread: 138 (msgr-worker-1) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% std::(anonymous namespace)::execute_native_thread_routine + 100.00% NetworkStack::__lambda4::operator() + 100.00% EventCenter::process_events + 100.00% EpollDriver::event_wait + 100.00% epoll_wait Thread: 139 (msgr-worker-0) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% std::(anonymous namespace)::execute_native_thread_routine + 100.00% NetworkStack::__lambda4::operator() + 99.95% EventCenter::process_events + 69.40% EpollDriver::event_wait | + 69.40% epoll_wait + 15.80% AsyncConnection::process | + 5.35% AsyncConnection::read_until | | + 4.35% AsyncConnection::read_bulk | | | + 4.35% read | | | + 4.35% PosixConnectedSocketImpl::read | | | + 4.35% read | | | + 4.30% read | | | + 0.15% __pthread_enable_asynccancel | | + 0.70% memcpy | | | + 0.70% __memcpy_ssse3_back | | + 0.10% ceph::logging::SubsystemMap::should_gather | | + 0.05% size | + 4.60% DispatchQueue::fast_dispatch | | + 4.30% ms_fast_dispatch | | | + 4.30% OSD::ms_fast_dispatch | | | + 2.20% create_request | | | | + 1.50% OpRequest::OpRequest | | | | | + 1.15% TrackedOp | | | | | | + 0.60% std::basic_string, std::allocator >::basic_string | | | | | | | + 0.55% _S_construct | | | | | | | + 0.55% _S_construct_aux | | | | | | | + 0.55% std::string::_S_construct | | | | | | | + 0.45% std::string::_Rep::_S_create | | | | | | | | + 0.40% allocate | | | | | | | | + 0.40% tc_new | | | | | | | | + 0.35% cpp_alloc | | | | | | | | + 0.35% do_malloc_no_errno | | | | | | | | + 0.35% do_malloc_small | | | | | | | | + 0.30% Allocate | | | | | | | | | + 0.20% Pop | | | | | | | | | | + 0.20% SLL_Pop | | | | | | | | | | + 0.05% SLL_Next | | | | | | | | | + 0.10% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | + 0.10% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | + 0.05% tcmalloc::CentralFreeList::FetchFromOneSpansSafe | | | | | | | | | + 0.05% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | + 0.05% SizeClass | | | | | | | + 0.05% _ZNSs4_Rep9_S_createEmmRKSaIcE@plt | | | | | | + 0.50% Mutex::Mutex | | | | | | | + 0.20% std::basic_string, std::allocator >::basic_string | | | | | | | | + 0.20% _M_grab | | | | | | | | + 0.20% _M_refcopy | | | | | | | | + 0.20% __atomic_add_dispatch | | | | | | | | + 0.20% __atomic_add | | | | | | | + 0.10% __GI___pthread_mutex_init | | | | | | + 0.05% reserve | | | | | + 0.25% TrackedOp::mark_event | | | | | + 0.05% osd_reqid_t | | | | + 0.35% tracking_start | | | | | + 0.30% OpTracker::register_inflight_op | | | | | | + 0.15% Locker | | | | | | | + 0.15% Mutex::Lock | | | | | | | + 0.10% __GI___pthread_mutex_lock | | | | | | + 0.10% RLocker | | | | | | | + 0.10% get_read | | | | | | | + 0.05% pthread_rwlock_rdlock | | | | | | + 0.05% ~RLocker | | | | | + 0.05% operator= | | | | + 0.35% tc_new | | | | + 0.30% cpp_alloc | | | | + 0.30% do_malloc_no_errno | | | | + 0.30% do_malloc_small | | | | + 0.25% Allocate | | | | + 0.20% Pop | | | | | + 0.20% SLL_Pop | | | | + 0.05% tcmalloc::ThreadCache::FetchFromCentralCache | | | + 2.10% OSD::enqueue_op | | | + 1.85% queue | | | | + 1.75% OSD::ShardedOpWQ::_enqueue | | | | | + 0.85% WeightedPriorityQueue, entity_inst_t>::Queue::insert | | | | | | + 0.55% insert | | | | | | | + 0.45% insert | | | | | | | | + 0.40% tc_new | | | | | | | | | + 0.40% cpp_alloc | | | | | | | | | + 0.40% do_malloc_no_errno | | | | | | | | | + 0.40% do_malloc_small | | | | | | | | | + 0.40% Allocate | | | | | | | | | + 0.20% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | | | | | | + 0.20% tcmalloc::CentralFreeList::RemoveRange | | | | | | | | | | + 0.20% tcmalloc::CentralFreeList::FetchFromOneSpans | | | | | | | | | + 0.20% Pop | | | | | | | | | + 0.20% SLL_Pop | | | | | | | | + 0.05% ListPair | | | | | | | + 0.10% insert_unique_check, entity_inst_t>::Klass, entity_inst_t> > | | | | | | | + 0.10% insert_unique_check, entity_inst_t>::Klass, entity_inst_t>, boost::intrusive::bhtraits, entity_inst_t>::Klass, boost::intrusive::rbtree_node_traits, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity, entity_inst_t>::Klass> > > | | | | | | | + 0.10% operator()*, entity_inst_t> | | | | | | | + 0.10% operator() | | | | | | | + 0.10% operator() | | | | | | | + 0.05% operator< | | | | | | + 0.05% insert_unique_check, entity_inst_t>::SubQueue, unsigned int> > | | | | | + 0.55% SignalOne | | | | | | + 0.55% pthread_cond_signal@@GLIBC_2.3.2 | | | | | + 0.25% Mutex::Lock | | | | | | + 0.15% __GI___pthread_mutex_lock | | | | | | + 0.10% _L_lock_791 | | | | | | + 0.10% __lll_lock_wait | | | | | + 0.10% ~pair | | | | | + 0.10% ~PGQueueable | | | | | + 0.10% ~variant | | | | | + 0.10% destroy_content | | | | | + 0.10% TrackedOp::put | | | | + 0.05% ~pair | | | | + 0.05% pair | | | + 0.15% mark_queued_for_pg | | | | + 0.15% OpRequest::mark_flag_point | | | | + 0.15% ceph_clock_now | | | | + 0.05% clock_gettime | | | + 0.05% ~pair | | | + 0.05% ceph_clock_now | | + 0.15% DispatchQueue::post_dispatch | | | + 0.15% DispatchQueue::dispatch_throttle_release | | | + 0.10% Throttle::put | | | + 0.05% ~Locker | | | + 0.05% PerfCounters::inc | | + 0.05% DispatchQueue::pre_dispatch | + 2.50% decode_message | | + 0.80% ceph::buffer::list::crc32c | | | + 0.55% ceph_crc32c | | | | + 0.55% ceph_crc32c_intel_fast | | | | + 0.50% None | | | | + 0.50% None | | | | + 0.50% crc32_iscsi_00 | | | + 0.20% set_crc | | | + 0.15% operator[] | | | | + 0.15% std::_Rb_tree, std::pair const, std::pair >, std::_Select1st const, std::pair > >, std::less >, std::allocator const, std::pair > > >::_M_emplace_hint_unique const&>, std::tuple<> >(std::_Rb_tree_const_iterator const, std::pair > >, std::piecewise_construct_t const&, std::tuple const&>&&, std::tuple<>&&) | | | | + 0.15% _M_create_node&>, std::tuple<> > | | | | + 0.10% _M_get_node | | | | | + 0.10% allocate | | | | | + 0.10% tc_new | | | | | + 0.10% cpp_alloc | | | | | + 0.10% do_malloc_no_errno | | | | | + 0.10% do_malloc_small | | | | | + 0.10% Allocate | | | | | + 0.05% tcmalloc::ThreadCache::FetchFromCentralCache | | | | | + 0.05% Pop | | | | + 0.05% construct, std::pair > >, const std::piecewise_construct_t&, std::tuple&>, std::tuple<> > | | | + 0.05% simple_spin_lock | | + 0.45% MOSDOp::decode_payload | | | + 0.25% decode | | | | + 0.15% decode_raw > | | | | | + 0.15% ceph::buffer::list::iterator_impl::copy | | | | | + 0.05% ceph::buffer::ptr::copy_out | | | | + 0.10% spg_t::decode | | | | + 0.10% decode | | | | + 0.05% decode_raw | | | | + 0.05% decode | | | + 0.05% decode > | | | + 0.05% begin | | | + 0.05% Message::decode_trace | | + 0.35% set_payload | | | + 0.35% ceph::buffer::list::claim | | | + 0.25% clear | | | | + 0.10% clear | | | | | + 0.05% std::_List_base >::_M_clear | | | | | + 0.05% _M_init | | | | + 0.05% ~ptr | | | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | | | + 0.05% ceph::buffer::list::claim_append | | + 0.35% set_data | | | + 0.35% share | | | + 0.35% push_back | | | + 0.35% push_back | | | + 0.35% _M_insert | | | + 0.30% _M_create_node | | | | + 0.25% _M_get_node | | | | | + 0.25% allocate | | | | | + 0.25% tc_new | | | | | + 0.25% cpp_alloc | | | | | + 0.25% do_malloc_no_errno | | | | | + 0.25% do_malloc_small | | | | | + 0.25% Allocate | | | | | + 0.25% Pop | | | | | + 0.20% SLL_Pop | | | | + 0.05% construct, ceph::buffer::ptr const&> | | | + 0.05% std::__detail::_List_node_base::_M_hook | | + 0.15% MOSDOp::MOSDOp | | | + 0.05% vector | | | + 0.05% snapid_t | | | + 0.05% MOSDFastDispatchOp | | + 0.10% ~intrusive_ptr | | | + 0.10% RefCountedObject::put | | | + 0.10% dec | | + 0.10% intrusive_ptr | | | + 0.10% intrusive_ptr_add_ref | | | + 0.10% RefCountedObject::get | | | + 0.05% inc | | + 0.05% set_middle | | + 0.05% set_header | + 0.90% Throttle::get_or_fail | | + 0.25% ~Locker | | | + 0.25% Mutex::Unlock | | | + 0.20% __GI___pthread_mutex_unlock | | | + 0.15% __pthread_mutex_unlock_usercnt | | | + 0.10% _L_unlock_697 | | | + 0.10% __lll_unlock_wake | | + 0.15% _should_wait | | | + 0.10% read | | | + 0.10% AO_load_read | | | + 0.10% AO_load | | + 0.15% PerfCounters::inc | | | + 0.10% add | | | | + 0.10% ceph_spin_lock | | | | + 0.10% pthread_spin_lock | | | + 0.05% operator[] | | + 0.10% PerfCounters::set | | | + 0.05% operator[] | | + 0.10% Locker | | + 0.10% Mutex::Lock | | + 0.05% pthread_mutex_lock@plt | | + 0.05% _post_lock | + 0.40% ceph::buffer::list::clear | | + 0.25% clear | | | + 0.25% std::_List_base >::_M_clear | | | + 0.20% _M_put_node | | | | + 0.20% deallocate | | | | + 0.20% tc_delete | | | | + 0.15% do_free | | | | + 0.15% do_free_with_callback | | | | + 0.15% do_free_helper | | | | + 0.10% GetSizeClassIfCached | | | | + 0.10% GetOrDefault | | | | + 0.10% KeyMatch | | | + 0.05% destroy > | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | | + 0.05% begin | + 0.40% alloc_aligned_buffer | | + 0.35% ceph::buffer::create_page_aligned | | | + 0.35% ceph::buffer::create_aligned | | | + 0.15% ceph::buffer::raw_posix_aligned::operator new | | | | + 0.15% allocate | | | | + 0.10% pick_a_shard | | | | + 0.05% tc_newarray | | | + 0.10% raw_posix_aligned | | | + 0.10% allocate_aligned | | | + 0.05% operator+= | | + 0.05% push_back | + 0.30% ceph::buffer::create | | + 0.30% ceph::buffer::create_aligned | | + 0.30% create | | + 0.30% allocate_aligned | | + 0.20% tc_posix_memalign | | | + 0.20% do_memalign_or_cpp_memalign | | | + 0.20% (anonymous namespace)::do_memalign | | | + 0.15% do_malloc | | | | + 0.15% do_malloc_no_errno | | | | + 0.15% do_malloc_small | | | | + 0.15% Allocate | | | | + 0.15% Pop | | | | + 0.15% SLL_Pop | | | + 0.05% _ZN8tcmalloc16AlignmentForSizeEm@plt | | + 0.05% pick_a_shard | | + 0.05% operator+= | + 0.15% ceph_clock_now | | + 0.15% clock_gettime | | + 0.10% clock_gettime | + 0.15% ceph::buffer::list::push_back | | + 0.15% ceph::buffer::ptr::ptr | | + 0.15% inc | | + 0.15% AO_fetch_and_add_full | + 0.10% unlock | | + 0.10% __gthread_mutex_unlock | | + 0.10% __GI___pthread_mutex_unlock | | + 0.10% __pthread_mutex_unlock_usercnt | + 0.10% now | | + 0.10% clock_gettime | | + 0.10% clock_gettime | + 0.10% ms_can_fast_dispatch | | + 0.10% OSD::ms_can_fast_dispatch | + 0.10% ceph_crc32c | | + 0.10% ceph_crc32c_intel_fast | | + 0.10% None | | + 0.05% crc32_iscsi_00 | | + 0.05% None | + 0.10% PerfCounters::tinc | | + 0.05% add | + 0.05% ~ptr | + 0.05% should_gather | + 0.05% set_connection | + 0.05% set | + 0.05% read | + 0.05% intrusive_ptr | + 0.05% ceph::buffer::list::iterator_impl::advance + 13.45% AsyncConnection::handle_write | + 9.80% AsyncConnection::write_message | | + 7.10% AsyncConnection::_try_send | | | + 6.15% send | | | | + 6.15% PosixConnectedSocketImpl::send | | | | + 6.00% do_sendmsg | | | | | + 6.00% sendmsg | | | | + 0.05% operator++ | | | | + 0.05% clear | | | + 0.60% EventCenter::create_file_event | | | | + 0.55% EpollDriver::add_event | | | | + 0.55% epoll_ctl | | | + 0.35% EventCenter::delete_file_event | | | + 0.35% EpollDriver::del_event | | | + 0.35% epoll_ctl | | + 1.80% RefCountedObject::put | | | + 1.80% MOSDOpReply::~MOSDOpReply | | | + 1.80% ~MOSDOpReply | | | + 1.40% ~vector | | | | + 1.20% _Destroy | | | | | + 1.20% _Destroy | | | | | + 1.20% __destroy | | | | | + 1.20% _Destroy | | | | | + 1.20% ~OSDOp | | | | | + 1.20% ~list | | | | | + 1.20% ~list | | | | | + 1.20% ~_List_base | | | | | + 1.20% std::_List_base >::_M_clear | | | | | + 1.10% destroy > | | | | | | + 1.10% ~_List_node | | | | | | + 1.05% ~ptr | | | | | | + 1.05% ceph::buffer::ptr::release | | | | | | + 0.65% ceph::buffer::raw_posix_aligned::~raw_posix_aligned | | | | | | | + 0.65% ~raw_posix_aligned | | | | | | | + 0.40% ~raw | | | | | | | | + 0.35% ~map | | | | | | | | + 0.30% ~_Rb_tree | | | | | | | | + 0.30% std::_Rb_tree, std::pair const, std::pair >, std::_Select1st const, std::pair > >, std::less >, std::allocator const, std::pair > > >::_M_erase | | | | | | | | + 0.10% _M_destroy_node | | | | | | | | + 0.10% _M_put_node | | | | | | | | + 0.10% deallocate | | | | | | | | + 0.10% tc_delete | | | | | | | | + 0.10% do_free | | | | | | | | + 0.10% do_free_with_callback | | | | | | | | + 0.10% do_free_helper | | | | | | | | + 0.05% GetSizeClassIfCached | | | | | | | | + 0.05% CacheSizeClass | | | | | | | + 0.25% deallocate_aligned | | | | | | | + 0.05% tc_free | | | | | | | + 0.05% pick_a_shard | | | | | | | + 0.05% operator-= | | | | | | + 0.25% ceph::buffer::raw_posix_aligned::operator delete | | | | | | | + 0.25% deallocate | | | | | | | + 0.10% operator-= | | | | | | | + 0.05% pick_a_shard | | | | | | + 0.05% tc_deletearray | | | | | + 0.05% _M_put_node | | | | + 0.20% ~_Vector_base | | | | + 0.20% _M_deallocate | | | | + 0.20% deallocate | | | | + 0.20% tc_delete | | | | + 0.20% do_free | | | | + 0.20% do_free_with_callback | | | | + 0.20% do_free_helper | | | | + 0.15% Deallocate | | | | + 0.10% tcmalloc::ThreadCache::ListTooLong | | | | + 0.10% tcmalloc::ThreadCache::ReleaseToCentralCache | | | | + 0.10% PopRange | | | | + 0.10% SLL_PopRange | | | + 0.35% Message::~Message | | | | + 0.15% ~intrusive_ptr | | | | | + 0.15% RefCountedObject::put | | | | | + 0.05% dec | | | | | + 0.05% ceph::logging::SubsystemMap::should_gather | | | | + 0.10% ~list | | | | | + 0.10% ~list | | | | | + 0.10% ~_List_base | | | | | + 0.10% std::_List_base >::_M_clear | | | | | + 0.10% destroy > | | | | | + 0.10% ~_List_node | | | | | + 0.10% ~ptr | | | | | + 0.10% ceph::buffer::ptr::release | | | | | + 0.10% ceph::buffer::raw_combined::~raw_combined | | | | | + 0.05% ~raw_combined | | | | | + 0.05% operator delete | | | | + 0.10% ~RefCountedObject | | | | + 0.10% read | | | | + 0.10% AO_load_read | | | | + 0.10% AO_load | | | + 0.05% ~request_redirect_t | | + 0.55% ceph::buffer::list::append | | | + 0.15% create | | | | + 0.10% allocate_aligned | | | | | + 0.05% tc_posix_memalign | | | | | + 0.05% operator+= | | | | + 0.05% raw_combined | | | + 0.15% ceph::buffer::list::append | | | | + 0.10% push_back | | | | | + 0.10% push_back | | | | | + 0.10% _M_insert | | | | | + 0.10% _M_create_node | | | | | + 0.05% construct, ceph::buffer::ptr> | | | | | + 0.05% _M_get_node | | | | + 0.05% ceph::buffer::ptr::ptr | | | + 0.10% ceph::buffer::ptr::append | | | | + 0.10% maybe_inline_memcpy | | | | + 0.05% memcpy | | | + 0.05% ceph::buffer::ptr::ptr | | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | | + 0.10% calc_header_crc | | | + 0.10% ceph_crc32c | | | + 0.10% ceph_crc32c_intel_baseline | | + 0.05% size | | + 0.05% ceph::buffer::list::claim_append | | + 0.05% AuthNoneSessionHandler::sign_message | + 2.05% AsyncConnection::prepare_send_message | | + 1.95% Message::encode | | | + 1.45% MOSDOpReply::encode_payload | | | | + 1.15% encode | | | | | + 0.90% encode | | | | | | + 0.75% encode | | | | | | | + 0.40% encode | | | | | | | | + 0.40% encode_raw > | | | | | | | | + 0.35% ceph::buffer::list::append | | | | | | | | + 0.15% create | | | | | | | | | + 0.15% allocate_aligned | | | | | | | | | + 0.05% tc_posix_memalign | | | | | | | | | + 0.05% operator+= | | | | | | | | + 0.10% ceph::buffer::list::append | | | | | | | | | + 0.10% push_back | | | | | | | | | + 0.10% push_back | | | | | | | | | + 0.10% _M_insert | | | | | | | | | + 0.05% std::__detail::_List_node_base::_M_hook | | | | | | | | | + 0.05% _M_create_node | | | | | | | | + 0.05% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | | | | | | | | + 0.05% ceph::buffer::ptr::append | | | | | | | + 0.20% encode_raw > | | | | | | | | + 0.20% ceph::buffer::list::append | | | | | | | | + 0.05% ceph::buffer::ptr::append | | | | | | | | + 0.05% ceph::buffer::list::append | | | | | | | + 0.05% encode_raw | | | | | | | + 0.05% encode_raw > | | | | | | + 0.15% ceph::buffer::list::append | | | | | | + 0.05% ceph::buffer::ptr::unused_tail_length | | | | | + 0.10% encode_raw | | | | | | + 0.10% ceph::buffer::list::append | | | | | | + 0.05% ceph::buffer::ptr::append | | | | | + 0.10% encode_raw > | | | | | | + 0.10% ceph::buffer::list::append | | | | | | + 0.05% ceph::buffer::ptr::append | | | | | + 0.05% operator= | | | | + 0.20% Message::encode_trace | | | | | + 0.20% encode | | | | | + 0.20% encode | | | | | + 0.20% encode_raw > | | | | | + 0.15% ceph::buffer::list::append | | | | | + 0.10% ceph::buffer::list::append | | | | | | + 0.05% set_length | | | | | + 0.05% ceph::buffer::ptr::append | | | | + 0.05% empty | | | | + 0.05% OSDOp::merge_osd_op_vector_out_data | | | + 0.45% calc_front_crc | | | | + 0.45% ceph::buffer::list::crc32c | | | | + 0.20% ceph_crc32c | | | | | + 0.10% ceph_crc32c_intel_fast | | | | | | + 0.10% None | | | | | | + 0.05% crc32_iscsi_00 | | | | | | + 0.05% None | | | | | + 0.10% ceph_crc32c_intel_baseline | | | | + 0.15% set_crc | | | | | + 0.15% operator[] | | | | | + 0.15% std::_Rb_tree, std::pair const, std::pair >, std::_Select1st const, std::pair > >, std::less >, std::allocator const, std::pair > > >::_M_emplace_hint_unique const&>, std::tuple<> >(std::_Rb_tree_const_iterator const, std::pair > >, std::piecewise_construct_t const&, std::tuple const&>&&, std::tuple<>&&) | | | | | + 0.10% _M_insert_node | | | | | | + 0.05% std::_Rb_tree_insert_and_rebalance | | | | | | + 0.05% _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@plt | | | | | + 0.05% _M_create_node&>, std::tuple<> > | | | | + 0.05% ceph::buffer::ptr::c_str | | | + 0.05% calc_data_crc | | + 0.05% ceph::buffer::list::append | + 0.55% _get_next_outgoing | | + 0.50% erase | | + 0.35% _M_erase | | | + 0.35% _M_put_node | | | + 0.35% deallocate | | | + 0.35% tc_delete | | | + 0.35% do_free | | | + 0.35% do_free_with_callback | | | + 0.35% do_free_helper | | | + 0.35% Deallocate | | | + 0.35% tcmalloc::ThreadCache::ListTooLong | | | + 0.35% tcmalloc::ThreadCache::ReleaseToCentralCache | | | + 0.35% PopRange | | | + 0.35% SLL_PopRange | | | + 0.05% SLL_Next | | + 0.15% std::_Rb_tree, std::allocator > > >, std::_Select1st, std::allocator > > > >, std::less, std::allocator, std::allocator > > > > >::erase | | + 0.15% erase | | + 0.15% _M_erase_aux | | + 0.15% clear | | + 0.15% std::_Rb_tree, std::allocator > > >, std::_Select1st, std::allocator > > > >, std::less, std::allocator, std::allocator > > > > >::_M_erase | | + 0.15% _M_destroy_node | | + 0.10% destroy > > > > | | | + 0.10% ~_Rb_tree_node | | | + 0.10% ~pair | | | + 0.10% ~list | | | + 0.10% ~_List_base | | | + 0.10% std::_List_base, std::allocator > >::_M_clear | | + 0.05% _M_put_node | + 0.50% lock | | + 0.50% __gthread_mutex_lock | | + 0.45% __GI___pthread_mutex_lock | | + 0.45% _L_lock_791 | | + 0.45% __lll_lock_wait | + 0.25% unlock | | + 0.25% __gthread_mutex_unlock | | + 0.25% __GI___pthread_mutex_unlock | | + 0.25% __pthread_mutex_unlock_usercnt | | + 0.20% _L_unlock_697 | | + 0.20% __lll_unlock_wake | + 0.10% ~list | | + 0.05% ~ptr | | + 0.05% ~_List_base | + 0.05% now + 1.15% C_handle_notify::do_request + 1.15% read + 1.15% read Thread: 140 (log) - 2000 samples + 100.00% clone + 100.00% start_thread + 100.00% ceph::logging::Log::entry + 100.00% pthread_cond_wait@@GLIBC_2.3.2 A debugging session is active.