Make pqd --output json have flags to enable sorted keys and prettyfied JSON

This commit is contained in:
Brian Fraser fraserb@gmail.com
2013-01-24 12:00:48 -03:00
parent b21baeb5d8
commit d1bdd4d80c
5 changed files with 596 additions and 6 deletions

View File

@@ -7977,7 +7977,7 @@ sub _d {
{
package JSONReportFormatter;
use Mo;
use JSON;
use JSON ();
use List::Util qw(sum);
@@ -7985,8 +7985,22 @@ use Transformers qw(make_checksum parse_timestamp);
use constant PTDEBUG => $ENV{PTDEBUG} || 0;
our $pretty_json = undef;
our $sorted_json = undef;
extends qw(QueryReportFormatter);
has _json => (
is => 'ro',
init_arg => undef,
builder => '_build_json',
handles => { encode_json => 'encode' },
);
sub _build_json {
return JSON->new->utf8->pretty($pretty_json)->canonical($sorted_json);
}
override [qw(rusage date hostname files header profile prepared)] => sub {
return;
};
@@ -8062,7 +8076,7 @@ override query_report => sub {
};
}
return encode_json(\@queries) . "\n";
return $self->encode_json(\@queries) . "\n";
};
1;

View File

@@ -1,7 +1,7 @@
{
package JSONReportFormatter;
use Mo;
use JSON;
use JSON ();
use List::Util qw(sum);
@@ -9,8 +9,22 @@ use Transformers qw(make_checksum parse_timestamp);
use constant PTDEBUG => $ENV{PTDEBUG} || 0;
our $pretty_json = undef;
our $sorted_json = undef;
extends qw(QueryReportFormatter);
has _json => (
is => 'ro',
init_arg => undef,
builder => '_build_json',
handles => { encode_json => 'encode' },
);
sub _build_json {
return JSON->new->utf8->pretty($pretty_json)->canonical($sorted_json);
}
override [qw(rusage date hostname files header profile prepared)] => sub {
return;
};
@@ -89,7 +103,7 @@ override query_report => sub {
};
}
return encode_json(\@queries) . "\n";
return $self->encode_json(\@queries) . "\n";
};
1;

View File

@@ -14,6 +14,10 @@ use Test::More;
use PerconaTest;
require "$trunk/bin/pt-query-digest";
no warnings 'once';
local $JSONReportFormatter::sorted_json = 1;
local $JSONReportFormatter::pretty_json = 1;
my @args = qw(--output json);
my $sample = "$trunk/t/lib/samples";
my $results = "t/pt-query-digest/samples";

View File

@@ -1,2 +1,203 @@
[{"class":{"checksum":"66825DDC008FFA89","ts_min":"2007-12-18 11:48:27","ts_max":"2007-12-18 11:48:27","fingerprint":"update d?tuningdetail_?_? n inner join d?gonzo a using(gonzo) set n.column? = a.column?, n.word? = a.word?","sample":"update db2.tuningdetail_21_265507 n\n inner join db1.gonzo a using(gonzo) \n set n.column1 = a.column1, n.word3 = a.word3","cnt":1},"attributes":{"bytes":{"pct":"0.12","avg":"129.000000","min":"129.000000","max":"129.000000","median":"129.000000","cnt":"1.000000","stddev":0,"pct_95":"129.000000","sum":"129.000000"},"db":{"pct":0.142857142857143,"avg":0,"min":"db1","max":"db1","median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":null},"Full_join":{"pct":0.125,"avg":0,"min":0,"max":0,"median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":0},"Merge_passes":{"pct":"0.12","avg":0,"min":"0","max":"0","median":0,"cnt":"1.000000","stddev":0,"pct_95":0,"sum":0},"Filesort":{"pct":0.125,"avg":0,"min":0,"max":0,"median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":0},"user":{"pct":0.125,"avg":0,"min":"[SQL_SLAVE]","max":"[SQL_SLAVE]","median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":null},"Rows_sent":{"pct":"0.12","avg":0,"min":"0","max":"0","median":0,"cnt":"1.000000","stddev":0,"pct_95":0,"sum":0},"Lock_time":{"pct":"0.12","avg":"0.000091","min":"0.000091","max":"0.000091","median":"0.000091","cnt":"1.000000","stddev":0,"pct_95":"0.000091","sum":"0.000091"},"Full_scan":{"pct":0.125,"avg":1,"min":1,"max":1,"median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":1},"Filesort_on_disk":{"pct":0.125,"avg":0,"min":0,"max":0,"median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":0},"host":{"pct":0.125,"avg":0,"min":"","max":"","median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":null},"pos_in_log":{"pct":"0.12","avg":"338.000000","min":"338.000000","max":"338.000000","median":"338.000000","cnt":"1.000000","stddev":0,"pct_95":"338.000000","sum":"338.000000"},"Tmp_table":{"pct":0.125,"avg":0,"min":0,"max":0,"median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":0},"QC_Hit":{"pct":0.125,"avg":0,"min":0,"max":0,"median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":0},"Tmp_table_on_disk":{"pct":0.125,"avg":0,"min":0,"max":0,"median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":0},"Rows_examined":{"pct":"0.12","avg":"62951.000000","min":"62951.000000","max":"62951.000000","median":"62951.000000","cnt":"1.000000","stddev":0,"pct_95":"62951.000000","sum":"62951.000000"},"Query_time":{"pct":"0.12","avg":"0.726052","min":"0.726052","max":"0.726052","median":"0.726052","cnt":"1.000000","stddev":0,"pct_95":"0.726052","sum":"0.726052"}}}]
[
{
"attributes" : {
"Filesort" : {
"avg" : 0,
"cnt" : 1,
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : 0.125,
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"Filesort_on_disk" : {
"avg" : 0,
"cnt" : 1,
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : 0.125,
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"Full_join" : {
"avg" : 0,
"cnt" : 1,
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : 0.125,
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"Full_scan" : {
"avg" : 1,
"cnt" : 1,
"max" : 1,
"median" : 0,
"min" : 1,
"pct" : 0.125,
"pct_95" : 0,
"stddev" : 0,
"sum" : 1
},
"Lock_time" : {
"avg" : "0.000091",
"cnt" : "1.000000",
"max" : "0.000091",
"median" : "0.000091",
"min" : "0.000091",
"pct" : "0.12",
"pct_95" : "0.000091",
"stddev" : 0,
"sum" : "0.000091"
},
"Merge_passes" : {
"avg" : 0,
"cnt" : "1.000000",
"max" : "0",
"median" : 0,
"min" : "0",
"pct" : "0.12",
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"QC_Hit" : {
"avg" : 0,
"cnt" : 1,
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : 0.125,
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"Query_time" : {
"avg" : "0.726052",
"cnt" : "1.000000",
"max" : "0.726052",
"median" : "0.726052",
"min" : "0.726052",
"pct" : "0.12",
"pct_95" : "0.726052",
"stddev" : 0,
"sum" : "0.726052"
},
"Rows_examined" : {
"avg" : "62951.000000",
"cnt" : "1.000000",
"max" : "62951.000000",
"median" : "62951.000000",
"min" : "62951.000000",
"pct" : "0.12",
"pct_95" : "62951.000000",
"stddev" : 0,
"sum" : "62951.000000"
},
"Rows_sent" : {
"avg" : 0,
"cnt" : "1.000000",
"max" : "0",
"median" : 0,
"min" : "0",
"pct" : "0.12",
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"Tmp_table" : {
"avg" : 0,
"cnt" : 1,
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : 0.125,
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"Tmp_table_on_disk" : {
"avg" : 0,
"cnt" : 1,
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : 0.125,
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"bytes" : {
"avg" : "129.000000",
"cnt" : "1.000000",
"max" : "129.000000",
"median" : "129.000000",
"min" : "129.000000",
"pct" : "0.12",
"pct_95" : "129.000000",
"stddev" : 0,
"sum" : "129.000000"
},
"db" : {
"avg" : 0,
"cnt" : 1,
"max" : "db1",
"median" : 0,
"min" : "db1",
"pct" : 0.142857142857143,
"pct_95" : 0,
"stddev" : 0,
"sum" : null
},
"host" : {
"avg" : 0,
"cnt" : 1,
"max" : "",
"median" : 0,
"min" : "",
"pct" : 0.125,
"pct_95" : 0,
"stddev" : 0,
"sum" : null
},
"pos_in_log" : {
"avg" : "338.000000",
"cnt" : "1.000000",
"max" : "338.000000",
"median" : "338.000000",
"min" : "338.000000",
"pct" : "0.12",
"pct_95" : "338.000000",
"stddev" : 0,
"sum" : "338.000000"
},
"user" : {
"avg" : 0,
"cnt" : 1,
"max" : "[SQL_SLAVE]",
"median" : 0,
"min" : "[SQL_SLAVE]",
"pct" : 0.125,
"pct_95" : 0,
"stddev" : 0,
"sum" : null
}
},
"class" : {
"checksum" : "66825DDC008FFA89",
"cnt" : 1,
"fingerprint" : "update d?tuningdetail_?_? n inner join d?gonzo a using(gonzo) set n.column? = a.column?, n.word? = a.word?",
"sample" : "update db2.tuningdetail_21_265507 n\n inner join db1.gonzo a using(gonzo) \n set n.column1 = a.column1, n.word3 = a.word3",
"ts_max" : "2007-12-18 11:48:27",
"ts_min" : "2007-12-18 11:48:27"
}
}
]

View File

@@ -1,2 +1,359 @@
[{"class":{"checksum":"AA8E9FA785927259","ts_min":"2009-12-08 09:23:49.637394","ts_max":"2009-12-08 09:23:49.637394","fingerprint":"prepare select i from d.t where i=?","sample":"PREPARE SELECT i FROM d.t WHERE i=?","cnt":1},"attributes":{"bytes":{"pct":"0.33","avg":"35.000000","min":"35.000000","max":"35.000000","median":"35.000000","cnt":"1.000000","stddev":0,"pct_95":"35.000000","sum":"35.000000"},"No_good_index_used":{"pct":0.333333333333333,"avg":0,"min":0,"max":0,"median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":0},"No_index_used":{"pct":0.333333333333333,"avg":0,"min":0,"max":0,"median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":0},"host":{"pct":0.333333333333333,"avg":0,"min":"127.0.0.1","max":"127.0.0.1","median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":null},"pos_in_log":{"pct":"0.33","avg":0,"min":0,"max":0,"median":0,"cnt":"1.000000","stddev":0,"pct_95":0,"sum":0},"Rows_affected":{"pct":"0.33","avg":0,"min":0,"max":0,"median":0,"cnt":"1.000000","stddev":0,"pct_95":0,"sum":0},"Statement_id":{"pct":0.5,"avg":0,"min":2,"max":2,"median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":null},"Error_no":{"pct":0.333333333333333,"avg":0,"min":"none","max":"none","median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":null},"Query_time":{"pct":"0.33","avg":"0.000286","min":"0.000286","max":"0.000286","median":"0.000286","cnt":"1.000000","stddev":0,"pct_95":"0.000286","sum":"0.000286"},"Warning_count":{"pct":"0.33","avg":0,"min":0,"max":0,"median":0,"cnt":"1.000000","stddev":0,"pct_95":0,"sum":0}}},{"class":{"checksum":"3F79759E7FA2F117","ts_min":"2009-12-08 09:23:49.637892","ts_max":"2009-12-08 09:23:49.637892","fingerprint":"execute select i from d.t where i=?","sample":"EXECUTE SELECT i FROM d.t WHERE i=\"3\"","cnt":1},"attributes":{"bytes":{"pct":"0.33","avg":"37.000000","min":"37.000000","max":"37.000000","median":"37.000000","cnt":"1.000000","stddev":0,"pct_95":"37.000000","sum":"37.000000"},"No_good_index_used":{"pct":0.333333333333333,"avg":0,"min":0,"max":0,"median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":0},"No_index_used":{"pct":0.333333333333333,"avg":1,"min":1,"max":1,"median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":1},"host":{"pct":0.333333333333333,"avg":0,"min":"127.0.0.1","max":"127.0.0.1","median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":null},"pos_in_log":{"pct":"0.33","avg":"1106.000000","min":"1106.000000","max":"1106.000000","median":"1106.000000","cnt":"1.000000","stddev":0,"pct_95":"1106.000000","sum":"1106.000000"},"Rows_affected":{"pct":"0.33","avg":0,"min":0,"max":0,"median":0,"cnt":"1.000000","stddev":0,"pct_95":0,"sum":0},"Statement_id":{"pct":0.5,"avg":0,"min":"2","max":"2","median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":null},"Error_no":{"pct":0.333333333333333,"avg":0,"min":"none","max":"none","median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":null},"Query_time":{"pct":"0.33","avg":"0.000281","min":"0.000281","max":"0.000281","median":"0.000281","cnt":"1.000000","stddev":0,"pct_95":"0.000281","sum":"0.000281"},"Warning_count":{"pct":"0.33","avg":0,"min":0,"max":0,"median":0,"cnt":"1.000000","stddev":0,"pct_95":0,"sum":0}}},{"class":{"checksum":"AA353644DE4C4CB4","ts_min":"2009-12-08 09:23:49.638381","ts_max":"2009-12-08 09:23:49.638381","fingerprint":"administrator command: Quit","sample":"administrator command: Quit","cnt":1},"attributes":{"bytes":{"pct":"0.33","avg":"27.000000","min":"27.000000","max":"27.000000","median":"27.000000","cnt":"1.000000","stddev":0,"pct_95":"27.000000","sum":"27.000000"},"No_good_index_used":{"pct":0.333333333333333,"avg":0,"min":0,"max":0,"median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":0},"No_index_used":{"pct":0.333333333333333,"avg":0,"min":0,"max":0,"median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":0},"host":{"pct":0.333333333333333,"avg":0,"min":"127.0.0.1","max":"127.0.0.1","median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":null},"pos_in_log":{"pct":"0.33","avg":"1850.000000","min":"1850.000000","max":"1850.000000","median":"1850.000000","cnt":"1.000000","stddev":0,"pct_95":"1850.000000","sum":"1850.000000"},"Rows_affected":{"pct":"0.33","avg":0,"min":0,"max":0,"median":0,"cnt":"1.000000","stddev":0,"pct_95":0,"sum":0},"Error_no":{"pct":0.333333333333333,"avg":0,"min":"none","max":"none","median":0,"cnt":1,"stddev":0,"pct_95":0,"sum":null},"Query_time":{"pct":"0.33","avg":0,"min":"0.000000","max":"0.000000","median":"0.000000","cnt":"1.000000","stddev":0,"pct_95":"0.000000","sum":0},"Warning_count":{"pct":"0.33","avg":0,"min":0,"max":0,"median":0,"cnt":"1.000000","stddev":0,"pct_95":0,"sum":0}}}]
[
{
"attributes" : {
"Error_no" : {
"avg" : 0,
"cnt" : 1,
"max" : "none",
"median" : 0,
"min" : "none",
"pct" : 0.333333333333333,
"pct_95" : 0,
"stddev" : 0,
"sum" : null
},
"No_good_index_used" : {
"avg" : 0,
"cnt" : 1,
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : 0.333333333333333,
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"No_index_used" : {
"avg" : 0,
"cnt" : 1,
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : 0.333333333333333,
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"Query_time" : {
"avg" : "0.000286",
"cnt" : "1.000000",
"max" : "0.000286",
"median" : "0.000286",
"min" : "0.000286",
"pct" : "0.33",
"pct_95" : "0.000286",
"stddev" : 0,
"sum" : "0.000286"
},
"Rows_affected" : {
"avg" : 0,
"cnt" : "1.000000",
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : "0.33",
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"Statement_id" : {
"avg" : 0,
"cnt" : 1,
"max" : 2,
"median" : 0,
"min" : 2,
"pct" : 0.5,
"pct_95" : 0,
"stddev" : 0,
"sum" : null
},
"Warning_count" : {
"avg" : 0,
"cnt" : "1.000000",
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : "0.33",
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"bytes" : {
"avg" : "35.000000",
"cnt" : "1.000000",
"max" : "35.000000",
"median" : "35.000000",
"min" : "35.000000",
"pct" : "0.33",
"pct_95" : "35.000000",
"stddev" : 0,
"sum" : "35.000000"
},
"host" : {
"avg" : 0,
"cnt" : 1,
"max" : "127.0.0.1",
"median" : 0,
"min" : "127.0.0.1",
"pct" : 0.333333333333333,
"pct_95" : 0,
"stddev" : 0,
"sum" : null
},
"pos_in_log" : {
"avg" : 0,
"cnt" : "1.000000",
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : "0.33",
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
}
},
"class" : {
"checksum" : "AA8E9FA785927259",
"cnt" : 1,
"fingerprint" : "prepare select i from d.t where i=?",
"sample" : "PREPARE SELECT i FROM d.t WHERE i=?",
"ts_max" : "2009-12-08 09:23:49.637394",
"ts_min" : "2009-12-08 09:23:49.637394"
}
},
{
"attributes" : {
"Error_no" : {
"avg" : 0,
"cnt" : 1,
"max" : "none",
"median" : 0,
"min" : "none",
"pct" : 0.333333333333333,
"pct_95" : 0,
"stddev" : 0,
"sum" : null
},
"No_good_index_used" : {
"avg" : 0,
"cnt" : 1,
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : 0.333333333333333,
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"No_index_used" : {
"avg" : 1,
"cnt" : 1,
"max" : 1,
"median" : 0,
"min" : 1,
"pct" : 0.333333333333333,
"pct_95" : 0,
"stddev" : 0,
"sum" : 1
},
"Query_time" : {
"avg" : "0.000281",
"cnt" : "1.000000",
"max" : "0.000281",
"median" : "0.000281",
"min" : "0.000281",
"pct" : "0.33",
"pct_95" : "0.000281",
"stddev" : 0,
"sum" : "0.000281"
},
"Rows_affected" : {
"avg" : 0,
"cnt" : "1.000000",
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : "0.33",
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"Statement_id" : {
"avg" : 0,
"cnt" : 1,
"max" : "2",
"median" : 0,
"min" : "2",
"pct" : 0.5,
"pct_95" : 0,
"stddev" : 0,
"sum" : null
},
"Warning_count" : {
"avg" : 0,
"cnt" : "1.000000",
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : "0.33",
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"bytes" : {
"avg" : "37.000000",
"cnt" : "1.000000",
"max" : "37.000000",
"median" : "37.000000",
"min" : "37.000000",
"pct" : "0.33",
"pct_95" : "37.000000",
"stddev" : 0,
"sum" : "37.000000"
},
"host" : {
"avg" : 0,
"cnt" : 1,
"max" : "127.0.0.1",
"median" : 0,
"min" : "127.0.0.1",
"pct" : 0.333333333333333,
"pct_95" : 0,
"stddev" : 0,
"sum" : null
},
"pos_in_log" : {
"avg" : "1106.000000",
"cnt" : "1.000000",
"max" : "1106.000000",
"median" : "1106.000000",
"min" : "1106.000000",
"pct" : "0.33",
"pct_95" : "1106.000000",
"stddev" : 0,
"sum" : "1106.000000"
}
},
"class" : {
"checksum" : "3F79759E7FA2F117",
"cnt" : 1,
"fingerprint" : "execute select i from d.t where i=?",
"sample" : "EXECUTE SELECT i FROM d.t WHERE i=\"3\"",
"ts_max" : "2009-12-08 09:23:49.637892",
"ts_min" : "2009-12-08 09:23:49.637892"
}
},
{
"attributes" : {
"Error_no" : {
"avg" : 0,
"cnt" : 1,
"max" : "none",
"median" : 0,
"min" : "none",
"pct" : 0.333333333333333,
"pct_95" : 0,
"stddev" : 0,
"sum" : null
},
"No_good_index_used" : {
"avg" : 0,
"cnt" : 1,
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : 0.333333333333333,
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"No_index_used" : {
"avg" : 0,
"cnt" : 1,
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : 0.333333333333333,
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"Query_time" : {
"avg" : 0,
"cnt" : "1.000000",
"max" : "0.000000",
"median" : "0.000000",
"min" : "0.000000",
"pct" : "0.33",
"pct_95" : "0.000000",
"stddev" : 0,
"sum" : 0
},
"Rows_affected" : {
"avg" : 0,
"cnt" : "1.000000",
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : "0.33",
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"Warning_count" : {
"avg" : 0,
"cnt" : "1.000000",
"max" : 0,
"median" : 0,
"min" : 0,
"pct" : "0.33",
"pct_95" : 0,
"stddev" : 0,
"sum" : 0
},
"bytes" : {
"avg" : "27.000000",
"cnt" : "1.000000",
"max" : "27.000000",
"median" : "27.000000",
"min" : "27.000000",
"pct" : "0.33",
"pct_95" : "27.000000",
"stddev" : 0,
"sum" : "27.000000"
},
"host" : {
"avg" : 0,
"cnt" : 1,
"max" : "127.0.0.1",
"median" : 0,
"min" : "127.0.0.1",
"pct" : 0.333333333333333,
"pct_95" : 0,
"stddev" : 0,
"sum" : null
},
"pos_in_log" : {
"avg" : "1850.000000",
"cnt" : "1.000000",
"max" : "1850.000000",
"median" : "1850.000000",
"min" : "1850.000000",
"pct" : "0.33",
"pct_95" : "1850.000000",
"stddev" : 0,
"sum" : "1850.000000"
}
},
"class" : {
"checksum" : "AA353644DE4C4CB4",
"cnt" : 1,
"fingerprint" : "administrator command: Quit",
"sample" : "administrator command: Quit",
"ts_max" : "2009-12-08 09:23:49.638381",
"ts_min" : "2009-12-08 09:23:49.638381"
}
}
]