Running the following on mezuro.org console gives us an hint of why some processings take so long
=> ProcessTime.all.group('state').average('time').map { |k,v| {k => v.to_f/60.0} }
=> [
{"PREPARING"=>0.0021892476280869332},
{"CHECKING"=>2.1039809739626834},
{"AGGREGATING"=>29.408375646260332},
{"BUILDING"=>0.919068727626195},
{"INTERPRETING"=>1.7958658936723333},
{"DOWNLOADING"=>0.20159135590306834},
{"CALCULATING"=>3.2441646428687334},
{"COLLECTING"=>4.56774077964555}
]
It means that on average each Processing takes approximately 30min aggregating.
By looking at the database machine processor we can see it at 100% full time during aggregation.
I suggest:
Running the following on mezuro.org console gives us an hint of why some processings take so long
It means that on average each Processing takes approximately 30min aggregating.
By looking at the database machine processor we can see it at 100% full time during aggregation.
I suggest:
RubyProf::CallStackPrinterTreeMetricResults bottom-upmetric_resultstable may be worth the extra insertion cost. We need to investigate that once the bulk insertions are up.TreeMetricResult#descendant_valuesperformance