20#include <pgsql/testutils/pgsql_schema.h>
26using namespace isc::db::test;
39 void SetUp(::benchmark::State
const&)
override {
46 cerr <<
"ERROR: unable to open database" << endl;
52 void SetUp(::benchmark::State& s)
override {
53 ::benchmark::State
const& cs = s;
58 void TearDown(::benchmark::State
const&)
override {
62 cerr <<
"WARNING: rollback has failed, this is expected if database"
63 " is opened in read-only mode, continuing..."
71 void TearDown(::benchmark::State& s)
override {
72 ::benchmark::State
const& cs = s;
78BENCHMARK_DEFINE_F(PgSqlLeaseMgrBenchmark, insertLeases4)(benchmark::State& state) {
79 const size_t lease_count = state.range(0);
80 while (state.KeepRunning()) {
81 setUp4(state, lease_count);
87BENCHMARK_DEFINE_F(PgSqlLeaseMgrBenchmark, updateLeases4)(benchmark::State& state) {
88 const size_t lease_count = state.range(0);
89 while (state.KeepRunning()) {
90 setUpWithInserts4(state, lease_count);
96BENCHMARK_DEFINE_F(PgSqlLeaseMgrBenchmark, getLease4_address)(benchmark::State& state) {
97 const size_t lease_count = state.range(0);
98 while (state.KeepRunning()) {
99 setUpWithInserts4(state, lease_count);
100 benchGetLease4_address();
105BENCHMARK_DEFINE_F(PgSqlLeaseMgrBenchmark, getLease4_hwaddr)(benchmark::State& state) {
106 const size_t lease_count = state.range(0);
107 while (state.KeepRunning()) {
108 setUpWithInserts4(state, lease_count);
109 benchGetLease4_hwaddr();
115BENCHMARK_DEFINE_F(PgSqlLeaseMgrBenchmark, getLease4_hwaddr_subnetid)(benchmark::State& state) {
116 const size_t lease_count = state.range(0);
117 while (state.KeepRunning()) {
118 setUpWithInserts4(state, lease_count);
119 benchGetLease4_hwaddr_subnetid();
124BENCHMARK_DEFINE_F(PgSqlLeaseMgrBenchmark, getLease4_clientid)(benchmark::State& state) {
125 const size_t lease_count = state.range(0);
126 while (state.KeepRunning()) {
127 setUpWithInserts4(state, lease_count);
128 benchGetLease4_clientid();
134BENCHMARK_DEFINE_F(PgSqlLeaseMgrBenchmark, getLease4_clientid_subnetid)(benchmark::State& state) {
135 const size_t lease_count = state.range(0);
136 while (state.KeepRunning()) {
137 setUpWithInserts4(state, lease_count);
138 benchGetLease4_clientid_subnetid();
143BENCHMARK_DEFINE_F(PgSqlLeaseMgrBenchmark, getExpiredLeases4)(benchmark::State& state) {
144 const size_t lease_count = state.range(0);
145 while (state.KeepRunning()) {
146 setUpWithInserts4(state, lease_count);
147 benchGetExpiredLeases4();
152BENCHMARK_DEFINE_F(PgSqlLeaseMgrBenchmark, insertLeases6)(benchmark::State& state) {
153 const size_t lease_count = state.range(0);
154 while (state.KeepRunning()) {
155 setUp6(state, lease_count);
156 benchInsertLeases6();
161BENCHMARK_DEFINE_F(PgSqlLeaseMgrBenchmark, updateLeases6)(benchmark::State& state) {
162 const size_t lease_count = state.range(0);
163 while (state.KeepRunning()) {
164 setUpWithInserts6(state, lease_count);
165 benchUpdateLeases6();
170BENCHMARK_DEFINE_F(PgSqlLeaseMgrBenchmark, getLease6_type_address)(benchmark::State& state) {
171 const size_t lease_count = state.range(0);
172 while (state.KeepRunning()) {
173 setUpWithInserts6(state, lease_count);
174 benchGetLease6_type_address();
179BENCHMARK_DEFINE_F(PgSqlLeaseMgrBenchmark, getLease6_type_duid_iaid)(benchmark::State& state) {
180 const size_t lease_count = state.range(0);
181 while (state.KeepRunning()) {
182 setUpWithInserts6(state, lease_count);
183 benchGetLease6_type_duid_iaid();
189BENCHMARK_DEFINE_F(PgSqlLeaseMgrBenchmark, getLease6_type_duid_iaid_subnetid)
190 (benchmark::State& state) {
191 const size_t lease_count = state.range(0);
192 while (state.KeepRunning()) {
193 setUpWithInserts6(state, lease_count);
194 benchGetLease6_type_duid_iaid_subnetid();
199BENCHMARK_DEFINE_F(PgSqlLeaseMgrBenchmark, getExpiredLeases6)(benchmark::State& state) {
200 const size_t lease_count = state.range(0);
201 while (state.KeepRunning()) {
202 setUpWithInserts6(state, lease_count);
203 benchGetExpiredLeases6();
211BENCHMARK_REGISTER_F(PgSqlLeaseMgrBenchmark, insertLeases4)
215BENCHMARK_REGISTER_F(PgSqlLeaseMgrBenchmark, updateLeases4)
219BENCHMARK_REGISTER_F(PgSqlLeaseMgrBenchmark, getLease4_address)
223BENCHMARK_REGISTER_F(PgSqlLeaseMgrBenchmark, getLease4_hwaddr)
228BENCHMARK_REGISTER_F(PgSqlLeaseMgrBenchmark, getLease4_hwaddr_subnetid)
232BENCHMARK_REGISTER_F(PgSqlLeaseMgrBenchmark, getLease4_clientid)
236BENCHMARK_REGISTER_F(PgSqlLeaseMgrBenchmark, getLease4_clientid_subnetid)
240BENCHMARK_REGISTER_F(PgSqlLeaseMgrBenchmark, getExpiredLeases4)
244BENCHMARK_REGISTER_F(PgSqlLeaseMgrBenchmark, insertLeases6)
248BENCHMARK_REGISTER_F(PgSqlLeaseMgrBenchmark, updateLeases6)
252BENCHMARK_REGISTER_F(PgSqlLeaseMgrBenchmark, getLease6_type_address)
256BENCHMARK_REGISTER_F(PgSqlLeaseMgrBenchmark, getLease6_type_duid_iaid)
261BENCHMARK_REGISTER_F(PgSqlLeaseMgrBenchmark, getLease6_type_duid_iaid_subnetid)
265BENCHMARK_REGISTER_F(PgSqlLeaseMgrBenchmark, getExpiredLeases6)
static void create(const std::string &dbaccess)
Create an instance of a lease manager.
static void destroy()
Destroy lease manager.
static LeaseMgr & instance()
Return current lease manager.
A base class for a fixture for specific lease manager benchmarks.
constexpr benchmark::TimeUnit UNIT
A time unit used - all results to be expressed in us (microseconds)
constexpr size_t MIN_LEASE_COUNT
A minimum number of leases used in a benchmark.
constexpr size_t MAX_LEASE_COUNT
A maximum number of leases used in a benchmark.