/* * 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. */ /** * \file TestResult.cpp */ #include "tests/storePerftools/asyncPerf/TestResult.h" namespace tests { namespace storePerftools { namespace asyncPerf { TestResult::TestResult(const TestOptions& to) : tests::storePerftools::common::TestResult(), m_testOpts(to) {} TestResult::~TestResult() {} void TestResult::toStream(std::ostream& os) const { double msgsRate; os << "TEST RESULTS:" << std::endl; os << " Msgs per thread: " << m_testOpts.m_numMsgs << std::endl; os << " Msg size: " << m_testOpts.m_msgSize << std::endl; os << " No. queues: " << m_testOpts.m_numQueues << std::endl; os << " No. enq threads/queue: " << m_testOpts.m_numEnqThreadsPerQueue << std::endl; os << " No. deq threads/queue: " << m_testOpts.m_numDeqThreadsPerQueue << std::endl; os << " Time taken: " << m_elapsed << " sec" << std::endl; uint32_t msgsPerQueue = m_testOpts.m_numMsgs * m_testOpts.m_numEnqThreadsPerQueue; if (m_testOpts.m_numQueues > 1) { msgsRate = double(msgsPerQueue) / m_elapsed; os << " No. msgs per queue: " << msgsPerQueue << std::endl; os << "Per queue msg throughput: " << (msgsRate / 1e3) << " kMsgs/sec" << std::endl; os << " " << (msgsRate * m_testOpts.m_msgSize / 1e6) << " MB/sec" << std::endl; } uint32_t totalMsgs = msgsPerQueue * m_testOpts.m_numQueues; msgsRate = double(totalMsgs) / m_elapsed; os << " Total no. msgs: " << totalMsgs << std::endl; os << " Broker msg throughput: " << (msgsRate / 1e3) << " kMsgs/sec" << std::endl; os << " " << (msgsRate * m_testOpts.m_msgSize / 1e6) << " MB/sec" << std::endl; } }}} // namespace tests::storePerftools::asyncPerf