"v4-allocation-fail-subnet",
"v4-allocation-fail-no-pools",
"v4-allocation-fail-classes",
- "v4-reservation-conflicts"
+ "v4-reservation-conflicts",
+ "v4-lease-reuses",
};
} // end of anonymous namespace
.arg(query->getLabel())
.arg(lease->addr_.toText())
.arg(Lease::lifetimeToText(lease->valid_lft_));
+
+ // Increment the reuse statistics.
+ StatsMgr::instance().addValue("v4-lease-reuses", int64_t(1));
+ StatsMgr::instance().addValue(StatsMgr::generateName("subnet", lease->subnet_id_,
+ "v4-lease-reuses"),
+ int64_t(1));
}
// IP Address Lease time (type 51)
"v6-allocation-fail-shared-network",
"v6-allocation-fail-subnet",
"v6-allocation-fail-no-pools",
- "v6-allocation-fail-classes"
+ "v6-allocation-fail-classes",
+ "v6-ia-na-lease-reuses",
+ "v6-ia-pd-lease-reuses",
};
} // namespace
.arg(lease->addr_.toText())
.arg(ia->getIAID())
.arg(Lease::lifetimeToText(lease->valid_lft_));
+
+ // Increment the reuse statistics.
+ StatsMgr::instance().addValue("v6-ia-na-lease-reuses", int64_t(1));
+ StatsMgr::instance().addValue(StatsMgr::generateName("subnet", lease->subnet_id_,
+ "v6-ia-na-lease-reuses"),
+ int64_t(1));
}
LOG_DEBUG(lease6_logger, DBG_DHCP6_DETAIL_DATA, DHCP6_LEASE_DATA)
.arg(query->getLabel())
.arg(static_cast<int>((*l)->prefixlen_))
.arg(ia->getIAID())
.arg(Lease::lifetimeToText((*l)->valid_lft_));
+
+ // Increment the reuse statistics.
+ StatsMgr::instance().addValue("v6-ia-pd-lease-reuses", int64_t(1));
+ StatsMgr::instance().addValue(StatsMgr::generateName("subnet", (*l)->subnet_id_,
+ "v6-ia-pd-lease-reuses"),
+ int64_t(1));
}
// Check for new minimum lease time
.arg((*l)->addr_.toText())
.arg(ia->getIAID())
.arg(Lease::lifetimeToText((*l)->valid_lft_));
+
+ // Increment the reuse statistics.
+ StatsMgr::instance().addValue("v6-ia-na-lease-reuses", int64_t(1));
+ StatsMgr::instance().addValue(StatsMgr::generateName("subnet", (*l)->subnet_id_,
+ "v6-ia-na-lease-reuses"),
+ int64_t(1));
}
Option6IAAddrPtr iaaddr(new Option6IAAddr(D6O_IAADDR,
.arg(static_cast<int>((*l)->prefixlen_))
.arg(ia->getIAID())
.arg(Lease::lifetimeToText((*l)->valid_lft_));
+
+ // Increment the reuse statistics.
+ StatsMgr::instance().addValue("v6-ia-pd-lease-reuses", int64_t(1));
+ StatsMgr::instance().addValue(StatsMgr::generateName("subnet", (*l)->subnet_id_,
+ "v6-ia-pd-lease-reuses"),
+ int64_t(1));
}
Option6IAPrefixPtr prf(new Option6IAPrefix(D6O_IAPREFIX,
stats_mgr.setValue(name, static_cast<int64_t>(0));
}
+ name = StatsMgr::generateName("subnet", subnet_id, "v4-lease-reuses");
+ if (!stats_mgr.getObservation(name)) {
+ stats_mgr.setValue(name, int64_t(0));
+ }
+
name = StatsMgr::generateName("subnet", subnet_id, "v4-reservation-conflicts");
if (!stats_mgr.getObservation(name)) {
stats_mgr.setValue(name, static_cast<int64_t>(0));
using namespace isc::asiolink;
using namespace isc::data;
+using namespace std;
+
namespace isc {
namespace dhcp {
if (!stats_mgr.getObservation(name_pds)) {
stats_mgr.setValue(name_pds, static_cast<int64_t>(0));
}
+
+ string const& name_ia_na_reuses(
+ StatsMgr::generateName("subnet", subnet_id, "v6-ia-na-lease-reuses"));
+ if (!stats_mgr.getObservation(name_ia_na_reuses)) {
+ stats_mgr.setValue(name_ia_na_reuses, int64_t(0));
+ }
+
+ string const& name_ia_pd_reuses(
+ StatsMgr::generateName("subnet", subnet_id, "v6-ia-pd-lease-reuses"));
+ if (!stats_mgr.getObservation(name_ia_pd_reuses)) {
+ stats_mgr.setValue(name_ia_pd_reuses, int64_t(0));
+ }
}
// Only recount the stats if we have subnets.