The uint32_t key is an implementation detail of the stat class. This adds an overload and externally exposes detail_to_string with a stat::detail parameter and hides the uint32_t key overload. (#3717)
This commit is contained in:
parent
ddf07f156b
commit
fefd993989
3 changed files with 10 additions and 5 deletions
|
|
@ -538,9 +538,8 @@ std::string nano::stat::type_to_string (uint32_t key)
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string nano::stat::detail_to_string (uint32_t key)
|
std::string nano::stat::detail_to_string (stat::detail detail)
|
||||||
{
|
{
|
||||||
auto detail = static_cast<stat::detail> (key >> 8 & 0x000000ff);
|
|
||||||
std::string res;
|
std::string res;
|
||||||
switch (detail)
|
switch (detail)
|
||||||
{
|
{
|
||||||
|
|
@ -893,6 +892,12 @@ std::string nano::stat::detail_to_string (uint32_t key)
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string nano::stat::detail_to_string (uint32_t key)
|
||||||
|
{
|
||||||
|
auto detail = static_cast<stat::detail> (key >> 8 & 0x000000ff);
|
||||||
|
return detail_to_string (detail);
|
||||||
|
}
|
||||||
|
|
||||||
std::string nano::stat::dir_to_string (uint32_t key)
|
std::string nano::stat::dir_to_string (uint32_t key)
|
||||||
{
|
{
|
||||||
auto dir = static_cast<stat::dir> (key & 0x000000ff);
|
auto dir = static_cast<stat::dir> (key & 0x000000ff);
|
||||||
|
|
|
||||||
|
|
@ -583,7 +583,7 @@ public:
|
||||||
std::unique_ptr<stat_log_sink> log_sink_json () const;
|
std::unique_ptr<stat_log_sink> log_sink_json () const;
|
||||||
|
|
||||||
/** Returns string representation of detail */
|
/** Returns string representation of detail */
|
||||||
static std::string detail_to_string (uint32_t key);
|
static std::string detail_to_string (stat::detail detail);
|
||||||
|
|
||||||
/** Stop stats being output */
|
/** Stop stats being output */
|
||||||
void stop ();
|
void stop ();
|
||||||
|
|
@ -591,6 +591,7 @@ public:
|
||||||
private:
|
private:
|
||||||
static std::string type_to_string (uint32_t key);
|
static std::string type_to_string (uint32_t key);
|
||||||
static std::string dir_to_string (uint32_t key);
|
static std::string dir_to_string (uint32_t key);
|
||||||
|
static std::string detail_to_string (uint32_t key);
|
||||||
|
|
||||||
/** Constructs a key given type, detail and direction. This is used as input to update(...) and get_entry(...) */
|
/** Constructs a key given type, detail and direction. This is used as input to update(...) and get_entry(...) */
|
||||||
uint32_t key_of (stat::type type, stat::detail detail, stat::dir dir) const
|
uint32_t key_of (stat::type type, stat::detail detail, stat::dir dir) const
|
||||||
|
|
|
||||||
|
|
@ -128,8 +128,7 @@ void nano::transport::channel::send (nano::message & message_a, std::function<vo
|
||||||
node.stats.inc (nano::stat::type::drop, detail, nano::stat::dir::out);
|
node.stats.inc (nano::stat::type::drop, detail, nano::stat::dir::out);
|
||||||
if (node.config.logging.network_packet_logging ())
|
if (node.config.logging.network_packet_logging ())
|
||||||
{
|
{
|
||||||
auto key = static_cast<uint8_t> (detail) << 8;
|
node.logger.always_log (boost::str (boost::format ("%1% of size %2% dropped") % node.stats.detail_to_string (detail) % buffer.size ()));
|
||||||
node.logger.always_log (boost::str (boost::format ("%1% of size %2% dropped") % node.stats.detail_to_string (key) % buffer.size ()));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue