# Tracking input document raw size in bytes

**URL:** <https://discuss.elastic.co/t/tracking-input-document-raw-size-in-bytes/10433>\
**Category:** Elasticsearch\
**Created:** [January 21, 2013, 3:04am UTC](https://discuss.elastic.co/t/tracking-input-document-raw-size-in-bytes/10433 "2013-01-21T03:04:05Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![otisg](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/otisg/32/492_2.png) [@otisg](https://discuss.elastic.co/u/otisg)\
**Post date:** [January 21, 2013, 3:04am UTC](https://discuss.elastic.co/t/tracking-input-document-raw-size-in-bytes/10433/1 "2013-01-21T03:04:05Z")

</div>

Hi,

What are my options if I want to keep track of the size (in bytes) of the  
original input documents? That is, the sum of sizes, in bytes, of all  
their fields?

I see [http://www.elasticsearch.org/guide/reference/mapping/size-field.html](http://www.elasticsearch.org/guide/reference/mapping/size-field.html)  
, but that \_size includes JSON as well.

## Thanks, Otis

ELASTICSEARCH Performance Monitoring - [http://sematext.com/spm/index.html](http://sematext.com/spm/index.html)

--

---

<div class="post-metadata">

**Author:** ![drewr](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/drewr/32/7803_2.png) [@drewr](https://discuss.elastic.co/u/drewr)\
**Post date:** [January 21, 2013, 6:21pm UTC](https://discuss.elastic.co/t/tracking-input-document-raw-size-in-bytes/10433/2 "2013-01-21T18:21:34Z")

</div>

Otis Gospodnetic wrote:

> What are my options if I want to keep track of the size (in bytes) of  
> the original input documents? That is, the sum of sizes, in bytes, of  
> all their fields?

The best one IMO is to index a field along with your doc that has the  
bytes counted in whatever way interests you.

With this solution you can add as many different sizes as you need.

-Drew

--

---

<div class="post-metadata">

**Author:** ![jprante](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jprante/32/44941_2.png) [@jprante](https://discuss.elastic.co/u/jprante)\
**Post date:** [January 21, 2013, 6:54pm UTC](https://discuss.elastic.co/t/tracking-input-document-raw-size-in-bytes/10433/3 "2013-01-21T18:54:13Z")

</div>

In org.elasticsearch.action.bulk.BulkRequest, there is a method  
estimatedSizeInBytes()

[https://github.com/elasticsearch/elasticsearch/blob/master/src/main/java/org/elasticsearch/action/bulk/BulkRequest.java](https://github.com/elasticsearch/elasticsearch/blob/master/src/main/java/org/elasticsearch/action/bulk/BulkRequest.java)

Because you know how many bulk items are there, it is easy in the Java API  
to track the average size of indexed docs when using bulk indexing.

Best regards,

Jörg

--

---

<div class="post-metadata">

**Author:** ![otisg](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/otisg/32/492_2.png) [@otisg](https://discuss.elastic.co/u/otisg)\
**Post date:** [January 22, 2013, 6:54pm UTC](https://discuss.elastic.co/t/tracking-input-document-raw-size-in-bytes/10433/4 "2013-01-22T18:54:39Z")

</div>

Hi,

On Monday, January 21, 2013 1:21:34 PM UTC-5, Drew Raines wrote:

> Otis Gospodnetic wrote:
> 
> > What are my options if I want to keep track of the size (in bytes) of  
> > the original input documents? That is, the sum of sizes, in bytes, of  
> > all their fields?
> 
> The best one IMO is to index a field along with your doc that has the  
> bytes counted in whatever way interests you.

The client doesn't have this information.... or at least I can't rely on it  
to existing and be accurate.  
So I need to figure out the size on the server side somewhere.  
But I would like to avoid unwrapping JSON just to sum up all document's  
fields' values.

That estimateSizeInBytes in  
[https://github.com/elasticsearch/elasticsearch/blob/master/src/main/java/org/elasticsearch/action/bulk/BulkRequest.java](https://github.com/elasticsearch/elasticsearch/blob/master/src/main/java/org/elasticsearch/action/bulk/BulkRequest.java) that  
Jörg pointed out sounds promising.

## Thanks, Otis

ELASTICSEARCH Performance Monitoring - [Sematext Monitoring | Infrastructure Monitoring Service](http://sematext.com/spm/index.html)

> With this solution you can add as many different sizes as you need.
> 
> -Drew

--

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 2:55am UTC](https://discuss.elastic.co/t/tracking-input-document-raw-size-in-bytes/10433/5 "2017-07-06T02:55:09Z")

</div>


