314 void Histogram::WriteAsciiHeader(const SampleSet& snapshot,
315                                  Count sample_count,
316                                  std::string* output) const {
317   StringAppendF(output,
318                 "Histogram: %s recorded %d samples",
319                 histogram_name().c_str(),
320                 sample_count);
321   if (0 == sample_count) {
322     DCHECK_EQ(snapshot.sum(), 0);
323   } else {
324     double average = static_cast<float>(snapshot.sum()) / sample_count;
325     double variance = static_cast<float>(snapshot.square_sum())/sample_count
326                       - average * average;
327     double standard_deviation = sqrt(variance);
328 
329     StringAppendF(output,
330                   ", average = %.1f, standard deviation = %.1f",
331                   average, standard_deviation);
332   }
333   if (flags_ & ~kHexRangePrintingFlag )
334     StringAppendF(output, " (flags = 0x%x)", flags_ & ~kHexRangePrintingFlag);
335 }