dbms: profile event UncompressedCacheWeightLost [METR-10570]

This commit is contained in:
Sergey Fedorov 2014-04-17 19:46:58 +04:00
parent a670bd654b
commit d0452204ad
3 changed files with 14 additions and 0 deletions

View File

@ -112,8 +112,13 @@ public:
current_size = 0; current_size = 0;
hits = 0; hits = 0;
misses = 0; misses = 0;
current_weight_lost = 0;
} }
protected:
size_t current_weight_lost = 0;
/// Суммарный вес выброшенных из кеша элементов.
/// Обнуляется каждый раз, когда информация добавляется в Profile events
private: private:
typedef std::list<Key> LRUQueue; typedef std::list<Key> LRUQueue;
typedef typename LRUQueue::iterator LRUQueueIterator; typedef typename LRUQueue::iterator LRUQueueIterator;
@ -148,6 +153,7 @@ private:
const Key & key = queue.front(); const Key & key = queue.front();
auto it = cells.find(key); auto it = cells.find(key);
current_size -= it->second.size; current_size -= it->second.size;
current_weight_lost += it->second.size;
cells.erase(it); cells.erase(it);
queue.pop_front(); queue.pop_front();
--queue_size; --queue_size;

View File

@ -19,6 +19,7 @@
M(CompressedReadBufferBytes, "Read decompressed bytes") \ M(CompressedReadBufferBytes, "Read decompressed bytes") \
M(UncompressedCacheHits, "Uncompressed cache hits") \ M(UncompressedCacheHits, "Uncompressed cache hits") \
M(UncompressedCacheMisses, "Uncompressed cache misses") \ M(UncompressedCacheMisses, "Uncompressed cache misses") \
M(UncompressedCacheWeightLost, "Uncompressed cache weight lost") \
M(IOBufferAllocs, "IO buffers allocations") \ M(IOBufferAllocs, "IO buffers allocations") \
M(IOBufferAllocBytes, "IO buffers allocated bytes") \ M(IOBufferAllocBytes, "IO buffers allocated bytes") \
M(ArenaAllocChunks, "Arena allocated chunks") \ M(ArenaAllocChunks, "Arena allocated chunks") \

View File

@ -61,6 +61,13 @@ public:
return res; return res;
} }
void set(const Key & key, MappedPtr mapped)
{
Base::set(key, mapped);
ProfileEvents::increment(ProfileEvents::UncompressedCacheWeightLost, current_weight_lost);
current_weight_lost = 0;
}
}; };
typedef Poco::SharedPtr<UncompressedCache> UncompressedCachePtr; typedef Poco::SharedPtr<UncompressedCache> UncompressedCachePtr;