equal
deleted
inserted
replaced
759 // |
759 // |
760 // Stat sample/inc |
760 // Stat sample/inc |
761 // |
761 // |
762 void ZStatSample(const ZStatSampler& sampler, uint64_t value) { |
762 void ZStatSample(const ZStatSampler& sampler, uint64_t value) { |
763 ZStatSamplerData* const cpu_data = sampler.get(); |
763 ZStatSamplerData* const cpu_data = sampler.get(); |
764 Atomic::add(1u, &cpu_data->_nsamples); |
764 Atomic::add(&cpu_data->_nsamples, 1u); |
765 Atomic::add(value, &cpu_data->_sum); |
765 Atomic::add(&cpu_data->_sum, value); |
766 |
766 |
767 uint64_t max = cpu_data->_max; |
767 uint64_t max = cpu_data->_max; |
768 for (;;) { |
768 for (;;) { |
769 if (max >= value) { |
769 if (max >= value) { |
770 // Not max |
770 // Not max |
785 ZTracer::tracer()->report_stat_sampler(sampler, value); |
785 ZTracer::tracer()->report_stat_sampler(sampler, value); |
786 } |
786 } |
787 |
787 |
788 void ZStatInc(const ZStatCounter& counter, uint64_t increment) { |
788 void ZStatInc(const ZStatCounter& counter, uint64_t increment) { |
789 ZStatCounterData* const cpu_data = counter.get(); |
789 ZStatCounterData* const cpu_data = counter.get(); |
790 const uint64_t value = Atomic::add(increment, &cpu_data->_counter); |
790 const uint64_t value = Atomic::add(&cpu_data->_counter, increment); |
791 |
791 |
792 ZTracer::tracer()->report_stat_counter(counter, increment, value); |
792 ZTracer::tracer()->report_stat_counter(counter, increment, value); |
793 } |
793 } |
794 |
794 |
795 void ZStatInc(const ZStatUnsampledCounter& counter, uint64_t increment) { |
795 void ZStatInc(const ZStatUnsampledCounter& counter, uint64_t increment) { |
796 ZStatCounterData* const cpu_data = counter.get(); |
796 ZStatCounterData* const cpu_data = counter.get(); |
797 Atomic::add(increment, &cpu_data->_counter); |
797 Atomic::add(&cpu_data->_counter, increment); |
798 } |
798 } |
799 |
799 |
800 // |
800 // |
801 // Stat allocation rate |
801 // Stat allocation rate |
802 // |
802 // |