Add logging for comparison behaviors
[hiphop-php.git] / hphp / util / service-data-inl.h
blob8dbec10fae63b8d1d1b8298027c73f2a0d24fd3c
1 /*
2 +----------------------------------------------------------------------+
3 | HipHop for PHP |
4 +----------------------------------------------------------------------+
5 | Copyright (c) 2010-present Facebook, Inc. (http://www.facebook.com) |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 3.01 of the PHP license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.php.net/license/3_01.txt |
11 | If you did not receive a copy of the PHP license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@php.net so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
17 namespace HPHP {
19 //////////////////////////////////////////////////////////////////////
21 namespace ServiceData {
23 namespace detail {
25 inline std::chrono::seconds nowAsSeconds() {
26 auto now = std::chrono::system_clock::now();
27 return std::chrono::duration_cast<std::chrono::seconds>(
28 now.time_since_epoch());
31 } // namespace detail
33 inline void ExportedTimeSeries::addValue(int64_t value) {
34 m_timeseries.wlock()->addValue(detail::nowAsSeconds(), value);
37 inline void ExportedTimeSeries::addValue(int64_t value, int64_t times) {
38 m_timeseries.wlock()->addValue(detail::nowAsSeconds(), value, times);
41 inline void ExportedTimeSeries::addValueAggregated(int64_t sum,
42 int64_t nsamples) {
43 m_timeseries.wlock()->addValueAggregated(detail::nowAsSeconds(), sum, nsamples);
46 inline void ExportedHistogram::addValue(int64_t value) {
47 m_histogram.wlock()->addValue(value);
50 inline void ExportedHistogram::removeValue(int64_t value) {
51 m_histogram.wlock()->removeValue(value);
54 } // namespace ServiceData
56 //////////////////////////////////////////////////////////////////////
58 } // namespace HPHP