From a9410e622d84c4b6c017d16ea600e9b19e306c59 Mon Sep 17 00:00:00 2001 From: Robert Dionne Date: Tue, 19 Apr 2011 12:06:37 -0400 Subject: Track and report size of live data in DBs and views The #full_doc_info record is extended to include the summed size of leaf revision document bodies and their attachments. Document sizes are computed on update; accurate sizes of existing databases and view groups are only available after compaction. The document size is defined to be the size of the binary representation of #doc.body. The att_len field is used for attachments; attachments that are shared by multiple revisions of a document are only counted once. The size of a view index is defined as the size of all keys, values, and reductions accessible from the current root of the tree. BugzID: 9995 --- apps/couch/include/couch_db.hrl | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'apps/couch/include') diff --git a/apps/couch/include/couch_db.hrl b/apps/couch/include/couch_db.hrl index b2f02cee..6b3d53a1 100644 --- a/apps/couch/include/couch_db.hrl +++ b/apps/couch/include/couch_db.hrl @@ -65,6 +65,7 @@ {id = <<"">>, update_seq = 0, deleted = false, + data_size = 0, rev_tree = [] }). @@ -298,3 +299,11 @@ set_timeout_fun, stop_fun }). + +-record(leaf, { + deleted, + ptr, + seq, + size = 0, + atts = [] +}). -- cgit v1.2.3