diff options
| author | Alan Conway <aconway@apache.org> | 2009-04-15 17:45:45 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2009-04-15 17:45:45 +0000 |
| commit | b73dada8c6e7ce38c48b11ff8b79c821d9dee0c1 (patch) | |
| tree | 82b14fa8a183edc6e76e745aeb6b27aa3b1218f0 /cpp/src/qpid/sys | |
| parent | f608cd0f72d98d60f92165ac0efd6c70efcd870c (diff) | |
| download | qpid-python-b73dada8c6e7ce38c48b11ff8b79c821d9dee0c1.tar.gz | |
Cleaned up some un-necessary #include dependencies.
Removed un-used LatencyMetric hack.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@765285 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/sys')
| -rw-r--r-- | cpp/src/qpid/sys/LatencyMetric.cpp | 74 | ||||
| -rw-r--r-- | cpp/src/qpid/sys/LatencyMetric.h | 85 |
2 files changed, 0 insertions, 159 deletions
diff --git a/cpp/src/qpid/sys/LatencyMetric.cpp b/cpp/src/qpid/sys/LatencyMetric.cpp deleted file mode 100644 index caa221def4..0000000000 --- a/cpp/src/qpid/sys/LatencyMetric.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ - -#ifdef QPID_LATENCY_METRIC - -#include "LatencyMetric.h" -#include "Time.h" -#include <iostream> - -namespace qpid { -namespace sys { - -void LatencyMetricTimestamp::initialize(const LatencyMetricTimestamp& ts) { - const_cast<int64_t&>(ts.latency_metric_timestamp) = Duration(now()); -} - -void LatencyMetricTimestamp::clear(const LatencyMetricTimestamp& ts) { - const_cast<int64_t&>(ts.latency_metric_timestamp) = 0; -} - -LatencyMetric::LatencyMetric(const char* msg, int64_t skip_) : - message(msg), count(0), total(0), skipped(0), skip(skip_) -{} - -LatencyMetric::~LatencyMetric() { report(); } - -void LatencyMetric::record(const LatencyMetricTimestamp& start) { - if (!start.latency_metric_timestamp) return; // Ignore 0 timestamps. - if (skip) { - if (++skipped < skip) return; - else skipped = 0; - } - ++count; - int64_t now_ = Duration(now()); - total += now_ - start.latency_metric_timestamp; - // Set start time for next leg of the journey - const_cast<int64_t&>(start.latency_metric_timestamp) = now_; -} - -void LatencyMetric::report() { - using namespace std; - if (count) { - cout << "LATENCY: " << message << ": " - << total / (count * TIME_USEC) << " microseconds" << endl; - } - else { - cout << "LATENCY: " << message << ": no data." << endl; - } - count = 0; - total = 0; -} - - -}} // namespace qpid::sys - -#endif diff --git a/cpp/src/qpid/sys/LatencyMetric.h b/cpp/src/qpid/sys/LatencyMetric.h deleted file mode 100644 index 63b5020db4..0000000000 --- a/cpp/src/qpid/sys/LatencyMetric.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef QPID_SYS_LATENCYMETRIC_H -#define QPID_SYS_LATENCYMETRIC_H - -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ - -#ifdef QPID_LATENCY_METRIC - -#include "qpid/sys/IntegerTypes.h" - -namespace qpid { -namespace sys { - -/** Use this base class to add a timestamp for latency to an object */ -struct LatencyMetricTimestamp { - LatencyMetricTimestamp() : latency_metric_timestamp(0) {} - static void initialize(const LatencyMetricTimestamp&); - static void clear(const LatencyMetricTimestamp&); - int64_t latency_metric_timestamp; -}; - -/** - * Record average latencies, report on destruction. - * - * For debugging only, use via macros below so it can be compiled out - * of production code. - */ -class LatencyMetric { - public: - /** msg should be a string literal. */ - LatencyMetric(const char* msg, int64_t skip_=0); - ~LatencyMetric(); - - void record(const LatencyMetricTimestamp& start); - - private: - void report(); - const char* message; - int64_t count, total, skipped, skip; -}; - -}} // namespace qpid::sys - -#define QPID_LATENCY_INIT(x) ::qpid::sys::LatencyMetricTimestamp::initialize(x) -#define QPID_LATENCY_CLEAR(x) ::qpid::sys::LatencyMetricTimestamp::clear(x) -#define QPID_LATENCY_RECORD(msg, x) do { \ - static ::qpid::sys::LatencyMetric metric__(msg); metric__.record(x); \ - } while (false) -#define QPID_LATENCY_RECORD_SKIP(msg, x, skip) do { \ - static ::qpid::sys::LatencyMetric metric__(msg, skip); metric__.record(x); \ - } while (false) - - -#else /* defined QPID_LATENCY_METRIC */ - -namespace qpid { namespace sys { -class LatencyMetricTimestamp {}; -}} - -#define QPID_LATENCY_INIT(x) (void)x -#define QPID_LATENCY_CLEAR(x) (void)x -#define QPID_LATENCY_RECORD(msg, x) (void)x -#define QPID_LATENCY_RECORD_SKIP(msg, x, skip) (void)x - -#endif /* defined QPID_LATENCY_METRIC */ - -#endif /*!QPID_SYS_LATENCYMETRIC_H*/ |
