<div dir="ltr">Hi Matthew,<div><br></div><div>I don't have a github account so seems i'm not able to create the ticket for this feature, could you do it?</div><div><br></div><div>Thanks,</div><div>Alex</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 16, 2015 at 10:08 PM, Alex De la rosa <span dir="ltr"><<a href="mailto:alex.rosa.box@gmail.com" target="_blank">alex.rosa.box@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Matthew,<div><br></div><div>Thanks for your answer : ) i always have interesting questions : P</div><div><br></div><div>about point [2]... if you see my examples, i'm already using sys.getsizeof()... but sizes are not so accurate, also, I believe that is the size they take on RAM when loaded by Python and not the full exact size of the object (specially on Maps that differs quite some).</div><div><br></div><div>I will open the ticket then : ) I think it can be very helpful future feature.</div><div><br></div><div>Thanks,</div><div>Alex</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 16, 2015 at 10:03 PM, Matthew Brender <span dir="ltr"><<a href="mailto:mbrender@basho.com" target="_blank">mbrender@basho.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Alex,<br>
<br>
That is an interesting question! I haven't seen a request like that in<br>
our backlog, so feel free to open a new issue [1]. I'm curious: why<br>
not use something like sys.getsizeof [2]?<br>
<br>
[1] <a href="https://github.com/basho/riak-python-client/issues" target="_blank">https://github.com/basho/riak-python-client/issues</a><br>
[2] <a href="http://stackoverflow.com/questions/449560/how-do-i-determine-the-size-of-an-object-in-python" target="_blank">http://stackoverflow.com/questions/449560/how-do-i-determine-the-size-of-an-object-in-python</a><br>
<br>
Matt Brender | Developer Advocacy Lead<br>
Basho Technologies<br>
t: @mjbrender<br>
<br>
<br>
On Mon, Apr 13, 2015 at 7:26 AM, Alex De la rosa<br>
<div><div><<a href="mailto:alex.rosa.box@gmail.com" target="_blank">alex.rosa.box@gmail.com</a>> wrote:<br>
> Hi Bryan,<br>
><br>
> Thanks for your answer; i don't know how to code in erlang, so all my system<br>
> relies on Python.<br>
><br>
> Following Ciprian's curl suggestion, I tried to compare it with this python<br>
> code during the weekend:<br>
><br>
> Map object:<br>
> curl -I<br>
>> 1058 bytes<br>
> print sys.getsizeof(obj.value)<br>
>> 3352 bytes<br>
><br>
> Standard object:<br>
> curl -I<br>
>> 9718 bytes<br>
> print sys.getsizeof(obj.encoded_data)<br>
>> 9755 bytes<br>
><br>
> The standard object seems pretty accurate in both approaches even the image<br>
> binary data was only 5kbs (I assume some overhead here)<br>
><br>
> The map object is about 3x the difference between curl and getting the<br>
> object via Python.<br>
><br>
> Not so sure if this is a realistic way to measure their growth (moreover<br>
> because the objects i would need this monitorization are Maps, not unaltered<br>
> binary data that I can know the size before storing it).<br>
><br>
> Would it be possible in some way that the Python get() function would return<br>
> something like "obj.content-lenght" returning the size is currently taking?<br>
> that would be a pretty nice feature.<br>
><br>
> Thanks!<br>
> Alex<br>
><br>
> On Mon, Apr 13, 2015 at 12:47 PM, bryan hunt <<a href="mailto:bhunt@basho.com" target="_blank">bhunt@basho.com</a>> wrote:<br>
>><br>
>> Alex,<br>
>><br>
>><br>
>> Maps and Sets are stored just like a regular Riak object, but using a<br>
>> particular data structure and object serialization format. As you have<br>
>> observed, there is an overhead, and you want to monitor the growth of these<br>
>> data structures.<br>
>><br>
>> It is possible to write a MapReduce map function (in Erlang) which<br>
>> retrieves a provided object by type/bucket/id and returns the size of it's<br>
>> data. Would such a thing be of use?<br>
>><br>
>> It would not be hard to write such a module, and I might even have some<br>
>> code for doing so if you are interested. There are also reasonably good<br>
>> examples in our documentation -<br>
>> <a href="http://docs.basho.com/riak/latest/dev/advanced/mapreduce" target="_blank">http://docs.basho.com/riak/latest/dev/advanced/mapreduce</a><br>
>><br>
>> I haven't looked at the Python PB API in a while, but I'm reasonably<br>
>> certain it supports the invocation of MapReduce jobs.<br>
>><br>
>> Bryan<br>
>><br>
>><br>
>> On 10 Apr 2015, at 13:51, Alex De la rosa <<a href="mailto:alex.rosa.box@gmail.com" target="_blank">alex.rosa.box@gmail.com</a>> wrote:<br>
>><br>
>> Also, I forgot, i'm most interested on bucket_types instead of simple riak<br>
>> buckets. Being able how my mutable data inside a MAP/SET has grown.<br>
>><br>
>> For a traditional standard bucket I can calculate the size of what I'm<br>
>> sending before, so Riak won't get data bigger than 1MB. Problem arise in<br>
>> MAPS/SETS that can grown.<br>
>><br>
>> Thanks,<br>
>> Alex<br>
>><br>
>> On Fri, Apr 10, 2015 at 2:47 PM, Alex De la rosa <<a href="mailto:alex.rosa.box@gmail.com" target="_blank">alex.rosa.box@gmail.com</a>><br>
>> wrote:<br>
>>><br>
>>> Well... using the HTTP Rest API would make no sense when using the PB<br>
>>> API... would be extremely costly to maintain, also it may include some extra<br>
>>> bytes on the transport.<br>
>>><br>
>>> I would be interested on being able to know the size via Python itself<br>
>>> using the PB API as I'm doing.<br>
>>><br>
>>> Thanks anyway,<br>
>>> Alex<br>
>>><br>
>>> On Fri, Apr 10, 2015 at 1:58 PM, Ciprian Manea <<a href="mailto:ciprian@basho.com" target="_blank">ciprian@basho.com</a>> wrote:<br>
>>>><br>
>>>> Hi Alex,<br>
>>>><br>
>>>> You can always query the size of a riak object using `curl` and the REST<br>
>>>> API:<br>
>>>><br>
>>>> i.e. curl -I <riak-node-ip>:8098/buckets/test/keys/demo<br>
>>>><br>
>>>><br>
>>>> Regards,<br>
>>>> Ciprian<br>
>>>><br>
>>>> On Thu, Apr 9, 2015 at 12:11 PM, Alex De la rosa<br>
>>>> <<a href="mailto:alex.rosa.box@gmail.com" target="_blank">alex.rosa.box@gmail.com</a>> wrote:<br>
>>>>><br>
>>>>> Hi there,<br>
>>>>><br>
>>>>> I'm using the python client (by the way).<br>
>>>>><br>
>>>>> obj = RIAK.bucket('my_bucket').get('my_key')<br>
>>>>><br>
>>>>> Is there any way to know the actual size of an object stored in Riak?<br>
>>>>> to make sure something mutable (like a set) didn't added up to more than 1MB<br>
>>>>> in storage size.<br>
>>>>><br>
>>>>> Thanks!<br>
>>>>> Alex<br>
>>>>><br>
>>>>> _______________________________________________<br>
>>>>> riak-users mailing list<br>
>>>>> <a href="mailto:riak-users@lists.basho.com" target="_blank">riak-users@lists.basho.com</a><br>
>>>>> <a href="http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com" target="_blank">http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com</a><br>
>>>>><br>
>>>><br>
>>><br>
>><br>
>> _______________________________________________<br>
>> riak-users mailing list<br>
>> <a href="mailto:riak-users@lists.basho.com" target="_blank">riak-users@lists.basho.com</a><br>
>> <a href="http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com" target="_blank">http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com</a><br>
>><br>
>><br>
><br>
><br>
> _______________________________________________<br>
> riak-users mailing list<br>
> <a href="mailto:riak-users@lists.basho.com" target="_blank">riak-users@lists.basho.com</a><br>
> <a href="http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com" target="_blank">http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com</a><br>
><br>
</div></div>ᐧ<br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>