perf
include
perf_roscpp
intra.h
Go to the documentation of this file.
1
/*
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2009, Willow Garage, Inc.
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above
14
* copyright notice, this list of conditions and the following
15
* disclaimer in the documentation and/or other materials provided
16
* with the distribution.
17
* * Neither the name of Willow Garage, Inc. nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
* POSSIBILITY OF SUCH DAMAGE.
33
*/
34
35
#ifndef PERF_ROSCPP_INTRA_H
36
#define PERF_ROSCPP_INTRA_H
37
38
#include <
ros/types.h
>
39
#include <
ros/time.h
>
40
41
namespace
perf_roscpp
42
{
43
namespace
intra
44
{
45
46
struct
ThroughputResult
47
{
48
double
test_duration
;
49
uint64_t
streams
;
50
uint64_t
message_size
;
51
uint32_t
sender_threads
;
52
uint32_t
receiver_threads
;
53
54
uint64_t
messages_sent
;
55
uint64_t
messages_received
;
56
57
uint64_t
total_bytes_sent
;
58
uint64_t
total_bytes_received
;
59
uint64_t
bytes_per_second
;
60
61
ros::WallTime
test_start
;
62
ros::WallTime
test_end
;
63
};
64
65
ThroughputResult
throughput
(
double
duration, uint32_t streams, uint32_t message_size, uint32_t sender_threads, uint32_t receiver_threads);
66
67
struct
LatencyResult
68
{
69
uint64_t
count_per_stream
;
70
uint64_t
streams
;
71
uint64_t
message_size
;
72
uint32_t
sender_threads
;
73
uint32_t
receiver_threads
;
74
75
uint64_t
total_message_count
;
76
77
double
latency_avg
;
78
double
latency_min
;
79
double
latency_max
;
80
81
ros::WallTime
test_start
;
82
ros::WallTime
test_end
;
83
};
84
LatencyResult
latency
(uint32_t count_per_stream, uint32_t streams, uint32_t message_size, uint32_t sender_threads, uint32_t receiver_threads);
85
86
struct
STLatencyResult
87
{
88
uint64_t
total_message_count
;
89
90
double
latency_avg
;
91
double
latency_min
;
92
double
latency_max
;
93
94
ros::WallTime
test_start
;
95
ros::WallTime
test_end
;
96
};
97
STLatencyResult
stlatency
(uint32_t message_count);
98
99
}
// namespace intra
100
}
// namespace perf_roscpp
101
102
#endif // PERF_ROSCPP_INTRA_H
perf_roscpp::intra::LatencyResult
Definition:
intra.h:67
perf_roscpp::intra::ThroughputResult::streams
uint64_t streams
Definition:
intra.h:49
perf_roscpp::intra::LatencyResult::sender_threads
uint32_t sender_threads
Definition:
intra.h:72
perf_roscpp::intra::ThroughputResult::sender_threads
uint32_t sender_threads
Definition:
intra.h:51
time.h
perf_roscpp::intra::STLatencyResult::latency_max
double latency_max
Definition:
intra.h:92
perf_roscpp::intra::STLatencyResult::latency_min
double latency_min
Definition:
intra.h:91
perf_roscpp::intra::ThroughputResult::receiver_threads
uint32_t receiver_threads
Definition:
intra.h:52
perf_roscpp::intra::LatencyResult::latency_max
double latency_max
Definition:
intra.h:79
perf_roscpp::intra::STLatencyResult::latency_avg
double latency_avg
Definition:
intra.h:90
perf_roscpp::intra::ThroughputResult
Definition:
intra.h:46
perf_roscpp::intra::LatencyResult::total_message_count
uint64_t total_message_count
Definition:
intra.h:75
perf_roscpp::intra::ThroughputResult::total_bytes_sent
uint64_t total_bytes_sent
Definition:
intra.h:57
perf_roscpp::intra::LatencyResult::message_size
uint64_t message_size
Definition:
intra.h:71
perf_roscpp::intra::STLatencyResult::test_end
ros::WallTime test_end
Definition:
intra.h:95
perf_roscpp::intra::LatencyResult::streams
uint64_t streams
Definition:
intra.h:70
perf_roscpp::intra::LatencyResult::test_start
ros::WallTime test_start
Definition:
intra.h:81
perf_roscpp::intra::stlatency
STLatencyResult stlatency(uint32_t message_count)
Definition:
intra.cpp:710
perf_roscpp::intra::ThroughputResult::message_size
uint64_t message_size
Definition:
intra.h:50
perf_roscpp::intra::ThroughputResult::bytes_per_second
uint64_t bytes_per_second
Definition:
intra.h:59
perf_roscpp::intra::LatencyResult::receiver_threads
uint32_t receiver_threads
Definition:
intra.h:73
perf_roscpp::intra::LatencyResult::count_per_stream
uint64_t count_per_stream
Definition:
intra.h:69
perf_roscpp::intra::ThroughputResult::messages_received
uint64_t messages_received
Definition:
intra.h:55
perf_roscpp::intra::LatencyResult::latency_avg
double latency_avg
Definition:
intra.h:77
ros::WallTime
perf_roscpp::intra::STLatencyResult::total_message_count
uint64_t total_message_count
Definition:
intra.h:88
perf_roscpp::intra::ThroughputResult::test_end
ros::WallTime test_end
Definition:
intra.h:62
perf_roscpp::intra::ThroughputResult::messages_sent
uint64_t messages_sent
Definition:
intra.h:54
perf_roscpp::intra::ThroughputResult::test_start
ros::WallTime test_start
Definition:
intra.h:61
perf_roscpp::intra::throughput
ThroughputResult throughput(double duration, uint32_t streams, uint32_t message_size, uint32_t sender_threads, uint32_t receiver_threads)
Definition:
intra.cpp:314
perf_roscpp::intra::STLatencyResult::test_start
ros::WallTime test_start
Definition:
intra.h:94
perf_roscpp::intra::LatencyResult::latency_min
double latency_min
Definition:
intra.h:78
perf_roscpp::intra::ThroughputResult::test_duration
double test_duration
Definition:
intra.h:48
perf_roscpp::intra::latency
LatencyResult latency(uint32_t count_per_stream, uint32_t streams, uint32_t message_size, uint32_t sender_threads, uint32_t receiver_threads)
Definition:
intra.cpp:576
perf_roscpp::intra::STLatencyResult
Definition:
intra.h:86
perf_roscpp
Definition:
intra.h:41
types.h
perf_roscpp::intra::ThroughputResult::total_bytes_received
uint64_t total_bytes_received
Definition:
intra.h:58
perf_roscpp::intra::LatencyResult::test_end
ros::WallTime test_end
Definition:
intra.h:82
test_roscpp
Author(s): Morgan Quigley, Josh Faust, Brian Gerkey, Troy Straszheim, Dirk Thomas
, Jacob Perron
autogenerated on Sat Sep 14 2024 02:59:57