All of lore.kernel.org
 help / color / mirror / Atom feed
* JSON versus terse : latency_us : "2"
@ 2018-10-11 17:51 smitha sunder
  2018-10-15 19:09 ` Vincent Fu
  0 siblings, 1 reply; 4+ messages in thread
From: smitha sunder @ 2018-10-11 17:51 UTC (permalink / raw)
  To: fio

Hi,

I have a question with respect to the JSON output versus terse output
(version 4).
There appears to be a different in the latency_us for "2" between the
two outputs for latency_us.

In JSON its 11.5% for 2 us, but in terse output its 56.70%, the rest
of the %s seem to be matching i.e 2,4,10,20,20 usecs :

From the JSON output :
      "latency_us" : {
        "2" : 11.500203, <----
        "4" : 40.336987,
        "10" : 2.821762,
        "20" : 0.121803,
        "50" : 0.020300,
        "100" : 0.000000,
        "250" : 0.000000,
        "500" : 0.000000,
        "750" : 0.000000,
        "1000" : 0.000000
      },

Terse output :
lat_2us 56.70% <---
lat_4us 40.34%
lat_10us 2.82%
lat_20us 0.12%
lat_50us 0.02%
lat_100us 0.00%
lat_250us 0.00%
lat_500us 0.00%
lat_750us 0.00%
lat_1000us 0.00%


4;fio-3.11;trim_ul_512_1_p0;0;0;0;0;0;0;0;0;0.000000;0.000000;0;0;0.000000;0.000000;1.000000%=0;5.000000%=0;10.000000%=0;20.000000%=0;30.000000%=0;40.000000%=0;50.000000%=0;60.000000%=0;70.000000%=0;80.000000%=0;90.000000%=0;95.000000%=0;99.000000%=0;99.500000%=0;99.900000%=0;99.950000%=0;99.990000%=0;99.999000%=0;99.999900%=0;99.999990%=0;0;0;0.000000;0.000000;0;0;0.000000%;0.000000;0.000000;2463;123;246;20002;0;0;0.000000;0.000000;0;15;2.770458;0.861419;1.000000%=0;5.000000%=1;10.000000%=1;20.000000%=2;30.000000%=2;40.000000%=2;50.000000%=2;60.000000%=2;70.000000%=2;80.000000%=3;90.000000%=3;95.000000%=4;99.000000%=4;99.500000%=4;99.900000%=14;99.950000%=14;99.990000%=15;99.999000%=15;99.999900%=15;99.999990%=15;2;432;56.459681;95.161235;113;165;100.000000%;123.000000;13.424050;2463;123;246;20002;0;0;0.000000;0.000000;0;32;0.863402;0.819190;1.000000%=0;5.000000%=0;10.000000%=0;20.000000%=0;30.000000%=0;40.000000%=0;50.000000%=0;60.000000%=0;70.000000%=0;80.000000%=0;90.000000%=1;95.000000%=1;99.000000%=1;99.500000%=1;99.900000%=14;99.950000%=14;99.990000%=32;99.999000%=32;99.999900%=32;99.999990%=32;1008;9329;3994.007577;703.493133;113;165;99.979675%;122.975000;13.411605;0.959952%;2.699865%;5543;0;0;104.9%;0.0%;0.0%;0.0%;0.0%;0.0%;0.0%;56.70%;40.34%;2.82%;0.12%;0.02%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;sdb;691;5170;0;458;124;20104;20232;95.95%

Thanks
smitha


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: JSON versus terse : latency_us : "2"
  2018-10-11 17:51 JSON versus terse : latency_us : "2" smitha sunder
@ 2018-10-15 19:09 ` Vincent Fu
  2018-10-15 20:35   ` smitha sunder
  0 siblings, 1 reply; 4+ messages in thread
From: Vincent Fu @ 2018-10-15 19:09 UTC (permalink / raw)
  To: fio@vger.kernel.org

On 10/11/2018 01:51 PM, smitha sunder wrote:
>>>From the JSON output :
>        "latency_us" : {
>          "2" : 11.500203, <----
>          "4" : 40.336987,
>          "10" : 2.821762,
>          "20" : 0.121803,
>          "50" : 0.020300,
>          "100" : 0.000000,
>          "250" : 0.000000,
>          "500" : 0.000000,
>          "750" : 0.000000,
>          "1000" : 0.000000
>        },
> 
> Terse output :
> lat_2us 56.70% <---
> lat_4us 40.34%
> lat_10us 2.82%
> lat_20us 0.12%
> lat_50us 0.02%
> lat_100us 0.00%
> lat_250us 0.00%
> lat_500us 0.00%
> lat_750us 0.00%
> lat_1000us 0.00% 

This is because the terse output has no nanosecond latency values. So 
the terse lat_2us bucket includes everything below 2us.

The JSON latency_us 2 bucket includes only the percentage from 1-2us. 
There should also be a "latency_ns" JSON object with the percentage 
distribution for latencies under 1us. If you add up all those along with 
the latency_us 2 value of 11.5, you should get 56.7%.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: JSON versus terse : latency_us : "2"
  2018-10-15 19:09 ` Vincent Fu
@ 2018-10-15 20:35   ` smitha sunder
  2018-10-16  0:31     ` Vincent Fu
  0 siblings, 1 reply; 4+ messages in thread
From: smitha sunder @ 2018-10-15 20:35 UTC (permalink / raw)
  To: vincentfu; +Cc: fio

On Mon, Oct 15, 2018 at 12:09 PM Vincent Fu <vincentfu@gmail.com> wrote:
>
> On 10/11/2018 01:51 PM, smitha sunder wrote:
> >>From the JSON output :
> >        "latency_us" : {
> >          "2" : 11.500203, <----
> >          "4" : 40.336987,
> >          "10" : 2.821762,
> >          "20" : 0.121803,
> >          "50" : 0.020300,
> >          "100" : 0.000000,
> >          "250" : 0.000000,
> >          "500" : 0.000000,
> >          "750" : 0.000000,
> >          "1000" : 0.000000
> >        },
> >
> > Terse output :
> > lat_2us 56.70% <---
> > lat_4us 40.34%
> > lat_10us 2.82%
> > lat_20us 0.12%
> > lat_50us 0.02%
> > lat_100us 0.00%
> > lat_250us 0.00%
> > lat_500us 0.00%
> > lat_750us 0.00%
> > lat_1000us 0.00%
>
> This is because the terse output has no nanosecond latency values. So
> the terse lat_2us bucket includes everything below 2us.
>
> The JSON latency_us 2 bucket includes only the percentage from 1-2us.
> There should also be a "latency_ns" JSON object with the percentage
> distribution for latencies under 1us. If you add up all those along with
> the latency_us 2 value of 11.5, you should get 56.7%.

Thanks Vicent! Appreciate the help!



Here it is :

      "latency_ns" : {

        "2" : 0.000000,

        "4" : 0.000000,

        "10" : 0.000000,

        "20" : 0.000000,

        "50" : 0.000000,

        "100" : 0.030451,

        "250" : 1.421031,

        "500" : 4.496549,

        "750" : 3.664231,

        "1000" : 35.586683

      },

      "latency_us" : {

        "2" : 11.500203,

        "4" : 40.336987,

        "10" : 2.821762,

        "20" : 0.121803,

        "50" : 0.020300,

        "100" : 0.000000,

        "250" : 0.000000,

        "500" : 0.000000,

        "750" : 0.000000,

        "1000" : 0.000000

      },

      "latency_ms" : {

        "2" : 0.000000,

        "4" : 0.000000,

        "10" : 0.000000,

        "20" : 0.000000,

        "50" : 0.000000,

        "100" : 0.000000,

        "250" : 0.000000,

        "500" : 0.000000,

        "750" : 0.000000,

        "1000" : 0.000000,

        "2000" : 0.000000,

        ">=2000" : 0.000000

      },



Thanks

smitha


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: JSON versus terse : latency_us : "2"
  2018-10-15 20:35   ` smitha sunder
@ 2018-10-16  0:31     ` Vincent Fu
  0 siblings, 0 replies; 4+ messages in thread
From: Vincent Fu @ 2018-10-16  0:31 UTC (permalink / raw)
  To: smitha sunder; +Cc: fio

On 10/15/2018 04:35 PM, smitha sunder wrote:
> On Mon, Oct 15, 2018 at 12:09 PM Vincent Fu <vincentfu@gmail.com> wrote:
>>
>> On 10/11/2018 01:51 PM, smitha sunder wrote:
>>> >From the JSON output :
>>>         "latency_us" : {
>>>           "2" : 11.500203, <----
>>>           "4" : 40.336987,
>>>           "10" : 2.821762,
>>>           "20" : 0.121803,
>>>           "50" : 0.020300,
>>>           "100" : 0.000000,
>>>           "250" : 0.000000,
>>>           "500" : 0.000000,
>>>           "750" : 0.000000,
>>>           "1000" : 0.000000
>>>         },
>>>
>>> Terse output :
>>> lat_2us 56.70% <---
>>> lat_4us 40.34%
>>> lat_10us 2.82%
>>> lat_20us 0.12%
>>> lat_50us 0.02%
>>> lat_100us 0.00%
>>> lat_250us 0.00%
>>> lat_500us 0.00%
>>> lat_750us 0.00%
>>> lat_1000us 0.00%
>>
>> This is because the terse output has no nanosecond latency values. So
>> the terse lat_2us bucket includes everything below 2us.
>>
>> The JSON latency_us 2 bucket includes only the percentage from 1-2us.
>> There should also be a "latency_ns" JSON object with the percentage
>> distribution for latencies under 1us. If you add up all those along with
>> the latency_us 2 value of 11.5, you should get 56.7%.
> 
> Thanks Vicent! Appreciate the help!
> 
> 
> 
> Here it is :
> 
>        "latency_ns" : {
> 
>          "2" : 0.000000,
> 
>          "4" : 0.000000,
> 
>          "10" : 0.000000,
> 
>          "20" : 0.000000,
> 
>          "50" : 0.000000,
> 
>          "100" : 0.030451,
> 
>          "250" : 1.421031,
> 
>          "500" : 4.496549,
> 
>          "750" : 3.664231,
> 
>          "1000" : 35.586683
> 
>        },
> 
>        "latency_us" : {
> 
>          "2" : 11.500203,
> 
>          "4" : 40.336987,
> 
>          "10" : 2.821762,
> 
>          "20" : 0.121803,
> 
>          "50" : 0.020300,
> 
>          "100" : 0.000000,
> 
>          "250" : 0.000000,
> 
>          "500" : 0.000000,
> 
>          "750" : 0.000000,
> 
>          "1000" : 0.000000
> 
>        },
> 
>        "latency_ms" : {
> 
>          "2" : 0.000000,
> 
>          "4" : 0.000000,
> 
>          "10" : 0.000000,
> 
>          "20" : 0.000000,
> 
>          "50" : 0.000000,
> 
>          "100" : 0.000000,
> 
>          "250" : 0.000000,
> 
>          "500" : 0.000000,
> 
>          "750" : 0.000000,
> 
>          "1000" : 0.000000,
> 
>          "2000" : 0.000000,
> 
>          ">=2000" : 0.000000
> 
>        },
> 
> 
> 
> Thanks
> 
> smitha
> 

For the record, I added up all the latency_ns values along with the 
first latency_us bin and got 56.699148 which matches the terse lat_2us 
value of 56.70.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-10-16  8:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-11 17:51 JSON versus terse : latency_us : "2" smitha sunder
2018-10-15 19:09 ` Vincent Fu
2018-10-15 20:35   ` smitha sunder
2018-10-16  0:31     ` Vincent Fu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.