summaryrefslogtreecommitdiff
path: root/analyzers
diff options
context:
space:
mode:
Diffstat (limited to 'analyzers')
-rw-r--r--analyzers/src/breakdown/analyzer.cpp30
-rw-r--r--analyzers/src/breakdown/breakdowncounter.cpp6
-rw-r--r--analyzers/src/breakdown/breakdowncounter.h6
-rw-r--r--analyzers/src/breakdown/cifsv1breakdownanalyzer.cpp2
-rw-r--r--analyzers/src/breakdown/cifsv1breakdownanalyzer.h6
-rw-r--r--analyzers/src/breakdown/cifsv1commands.h7
-rw-r--r--analyzers/src/breakdown/cifsv2breakdownanalyzer.h6
-rw-r--r--analyzers/src/breakdown/cifsv2commands.cpp80
-rw-r--r--analyzers/src/breakdown/cifsv2commands.h7
-rw-r--r--analyzers/src/breakdown/commandrepresenter.h3
-rw-r--r--analyzers/src/breakdown/latencies.cpp15
-rw-r--r--analyzers/src/breakdown/latencies.h5
-rw-r--r--analyzers/src/breakdown/nfsv3breakdownanalyzer.cpp3
-rw-r--r--analyzers/src/breakdown/nfsv3breakdownanalyzer.h5
-rw-r--r--analyzers/src/breakdown/nfsv3commands.h7
-rw-r--r--analyzers/src/breakdown/nfsv41breakdownanalyzer.cpp114
-rw-r--r--analyzers/src/breakdown/nfsv41breakdownanalyzer.h27
-rw-r--r--analyzers/src/breakdown/nfsv41commands.h5
-rw-r--r--analyzers/src/breakdown/nfsv4breakdownanalyzer.cpp78
-rw-r--r--analyzers/src/breakdown/nfsv4breakdownanalyzer.h27
-rw-r--r--analyzers/src/breakdown/nfsv4commands.h7
-rw-r--r--analyzers/src/breakdown/nfsv4representer.cpp11
-rw-r--r--analyzers/src/breakdown/nfsv4representer.h4
-rw-r--r--analyzers/src/breakdown/representer.cpp61
-rw-r--r--analyzers/src/breakdown/representer.h17
-rw-r--r--analyzers/src/breakdown/statistics.cpp35
-rw-r--r--analyzers/src/breakdown/statistics.h18
-rw-r--r--analyzers/src/breakdown/statisticscompositor.cpp20
-rw-r--r--analyzers/src/breakdown/statisticscompositor.h4
-rw-r--r--analyzers/src/json/abstract_tcp_service.cpp65
-rw-r--r--analyzers/src/json/abstract_tcp_service.h37
-rw-r--r--analyzers/src/json/ip_endpoint.cpp14
-rw-r--r--analyzers/src/json/ip_endpoint.h3
-rw-r--r--analyzers/src/json/json_analyzer.cpp20
-rw-r--r--analyzers/src/json/json_analyzer.h260
-rw-r--r--analyzers/src/json/json_plugin.cpp150
-rw-r--r--analyzers/src/json/json_tcp_service.cpp38
-rw-r--r--analyzers/src/json/json_tcp_service.h6
-rw-r--r--analyzers/src/test/test_analyzer.cpp123
-rw-r--r--analyzers/src/watch/nc_windows/header_window.cpp30
-rw-r--r--analyzers/src/watch/nc_windows/header_window.h6
-rw-r--r--analyzers/src/watch/nc_windows/main_window.cpp30
-rw-r--r--analyzers/src/watch/nc_windows/main_window.h4
-rw-r--r--analyzers/src/watch/nc_windows/nc_window_const.h4
-rw-r--r--analyzers/src/watch/nc_windows/statistics_window.cpp56
-rw-r--r--analyzers/src/watch/nc_windows/statistics_window.h26
-rw-r--r--analyzers/src/watch/protocols/abstract_protocol.cpp8
-rw-r--r--analyzers/src/watch/protocols/abstract_protocol.h2
-rw-r--r--analyzers/src/watch/protocols/cifsv1_protocol.cpp8
-rw-r--r--analyzers/src/watch/protocols/cifsv1_protocol.h2
-rw-r--r--analyzers/src/watch/protocols/cifsv2_protocol.cpp8
-rw-r--r--analyzers/src/watch/protocols/cifsv2_protocol.h2
-rw-r--r--analyzers/src/watch/protocols/nfsv3_protocol.cpp10
-rw-r--r--analyzers/src/watch/protocols/nfsv3_protocol.h2
-rw-r--r--analyzers/src/watch/protocols/nfsv41_protocol.cpp14
-rw-r--r--analyzers/src/watch/protocols/nfsv41_protocol.h2
-rw-r--r--analyzers/src/watch/protocols/nfsv4_protocol.cpp14
-rw-r--r--analyzers/src/watch/protocols/nfsv4_protocol.h2
-rw-r--r--analyzers/src/watch/user_gui.cpp68
-rw-r--r--analyzers/src/watch/user_gui.h36
-rw-r--r--analyzers/src/watch/watch_analyzer.cpp91
-rw-r--r--analyzers/src/watch/watch_analyzer.h20
62 files changed, 891 insertions, 886 deletions
diff --git a/analyzers/src/breakdown/analyzer.cpp b/analyzers/src/breakdown/analyzer.cpp
index de60cf0..5f46cb6 100644
--- a/analyzers/src/breakdown/analyzer.cpp
+++ b/analyzers/src/breakdown/analyzer.cpp
@@ -45,25 +45,23 @@ public:
}
};
-extern "C"
+extern "C" {
+const char* usage()
{
+ return "No options";
+}
- const char* usage()
- {
- return "No options";
- }
-
- IAnalyzer* create(const char*)
- {
- return new Analyzer();
- }
+IAnalyzer* create(const char*)
+{
+ return new Analyzer();
+}
- void destroy(IAnalyzer* instance)
- {
- delete instance;
- }
+void destroy(IAnalyzer* instance)
+{
+ delete instance;
+}
- NST_PLUGIN_ENTRY_POINTS (&usage, &create, &destroy, nullptr)
+NST_PLUGIN_ENTRY_POINTS(&usage, &create, &destroy, nullptr)
-}//extern "C"
+} //extern "C"
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/breakdowncounter.cpp b/analyzers/src/breakdown/breakdowncounter.cpp
index 5d3df3c..7a7ab5a 100644
--- a/analyzers/src/breakdown/breakdowncounter.cpp
+++ b/analyzers/src/breakdown/breakdowncounter.cpp
@@ -26,7 +26,8 @@
//------------------------------------------------------------------------------
using namespace NST::breakdown;
//------------------------------------------------------------------------------
-BreakdownCounter::BreakdownCounter(size_t count) : latencies(count, NST::breakdown::Latencies())
+BreakdownCounter::BreakdownCounter(size_t count)
+ : latencies(count, NST::breakdown::Latencies())
{
}
@@ -41,8 +42,7 @@ Latencies& BreakdownCounter::operator[](int index)
uint64_t BreakdownCounter::get_total_count() const
{
- return std::accumulate(std::begin(latencies), std::end(latencies), 0, [](int sum, const NST::breakdown::Latencies & latency)
- {
+ return std::accumulate(std::begin(latencies), std::end(latencies), 0, [](int sum, const NST::breakdown::Latencies& latency) {
return sum + latency.get_count();
});
}
diff --git a/analyzers/src/breakdown/breakdowncounter.h b/analyzers/src/breakdown/breakdowncounter.h
index 2d9a86c..66a9443 100644
--- a/analyzers/src/breakdown/breakdowncounter.h
+++ b/analyzers/src/breakdown/breakdowncounter.h
@@ -53,12 +53,12 @@ public:
* \brief get_total_count returns total amount of commands
* \return commands count
*/
- uint64_t get_total_count () const;
+ uint64_t get_total_count() const;
private:
- void operator= (const BreakdownCounter&) = delete;
+ void operator=(const BreakdownCounter&) = delete;
std::vector<NST::breakdown::Latencies> latencies;
};
//------------------------------------------------------------------------------
-#endif//BREAKDOWNCOUNTER_H
+#endif //BREAKDOWNCOUNTER_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/cifsv1breakdownanalyzer.cpp b/analyzers/src/breakdown/cifsv1breakdownanalyzer.cpp
index e8977e8..751664e 100644
--- a/analyzers/src/breakdown/cifsv1breakdownanalyzer.cpp
+++ b/analyzers/src/breakdown/cifsv1breakdownanalyzer.cpp
@@ -19,8 +19,8 @@
along with Nfstrace. If not, see <http://www.gnu.org/licenses/>.
*/
//------------------------------------------------------------------------------
-#include "cifsv1commands.h"
#include "cifsv1breakdownanalyzer.h"
+#include "cifsv1commands.h"
//------------------------------------------------------------------------------
using namespace NST::breakdown;
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/cifsv1breakdownanalyzer.h b/analyzers/src/breakdown/cifsv1breakdownanalyzer.h
index 335b0fd..cb19df2 100644
--- a/analyzers/src/breakdown/cifsv1breakdownanalyzer.h
+++ b/analyzers/src/breakdown/cifsv1breakdownanalyzer.h
@@ -31,13 +31,12 @@ namespace NST
{
namespace breakdown
{
-
/*! \class Analyzer for CIFS v1
* Handles CIFS v1 commands
*/
class CIFSBreakdownAnalyzer : virtual public IAnalyzer
{
- Statistics statistics; //!< Statistics
+ Statistics statistics; //!< Statistics
Representer representer; //!< Class for statistics representation
public:
CIFSBreakdownAnalyzer(std::ostream& o = std::cout);
@@ -117,6 +116,7 @@ public:
void writeBulkDataSMBv1(const SMBv1::WriteBulkDataCommand* cmd, const SMBv1::WriteBulkDataArgumentType*, const SMBv1::WriteBulkDataResultType*) override final;
void invalidSMBv1(const SMBv1::InvalidCommand* cmd, const SMBv1::InvalidArgumentType*, const SMBv1::InvalidResultType*) override final;
void noAndxCommandSMBv1(const SMBv1::NoAndxCommand* cmd, const SMBv1::NoAndxCmdArgumentType*, const SMBv1::NoAndxCmdResultType*) override final;
+
protected:
void flush_statistics() override;
};
@@ -124,5 +124,5 @@ protected:
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//CIFSBREAKDOWNANALYZER_H
+#endif //CIFSBREAKDOWNANALYZER_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/cifsv1commands.h b/analyzers/src/breakdown/cifsv1commands.h
index 3e0aeb7..e039b6a 100644
--- a/analyzers/src/breakdown/cifsv1commands.h
+++ b/analyzers/src/breakdown/cifsv1commands.h
@@ -28,7 +28,6 @@ namespace NST
{
namespace breakdown
{
-
/*!
* Represents CIFS v1 commands
* Converts commands to string
@@ -37,11 +36,11 @@ struct SMBv1Commands : public CommandRepresenter
{
const char* command_description(int cmd_code) override final;
const char* command_name(int cmd_code) override final;
- size_t commands_count();
- const char* protocol_name();
+ size_t commands_count() override final;
+ const char* protocol_name() override final;
};
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//CIFS_COMMANDS_H
+#endif //CIFS_COMMANDS_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/cifsv2breakdownanalyzer.h b/analyzers/src/breakdown/cifsv2breakdownanalyzer.h
index 73f1fad..1bdb72d 100644
--- a/analyzers/src/breakdown/cifsv2breakdownanalyzer.h
+++ b/analyzers/src/breakdown/cifsv2breakdownanalyzer.h
@@ -31,13 +31,12 @@ namespace NST
{
namespace breakdown
{
-
/*! \class Analyzer for CIFS v2
* Handles CIFS v2 commands
*/
class CIFSv2BreakdownAnalyzer : virtual public IAnalyzer
{
- Statistics stats; //!< Statistics
+ Statistics stats; //!< Statistics
Representer cifs2Representer; //!< Class for statistics representation
public:
CIFSv2BreakdownAnalyzer(std::ostream& o = std::cout);
@@ -60,6 +59,7 @@ public:
void queryInfoSMBv2(const SMBv2::QueryInfoCommand* cmd, const SMBv2::QueryInfoRequest*, const SMBv2::QueryInfoResponse*) override final;
void setInfoSMBv2(const SMBv2::SetInfoCommand* cmd, const SMBv2::SetInfoRequest*, const SMBv2::SetInfoResponse*) override final;
void breakOplockSMBv2(const SMBv2::BreakOpLockCommand* cmd, const SMBv2::OplockAcknowledgment*, const SMBv2::OplockResponse*) override final;
+
protected:
void flush_statistics() override;
};
@@ -67,5 +67,5 @@ protected:
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//CIFSV2BREAKDOWNANALYZER_H
+#endif //CIFSV2BREAKDOWNANALYZER_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/cifsv2commands.cpp b/analyzers/src/breakdown/cifsv2commands.cpp
index e00e244..c64acd7 100644
--- a/analyzers/src/breakdown/cifsv2commands.cpp
+++ b/analyzers/src/breakdown/cifsv2commands.cpp
@@ -29,27 +29,27 @@ using namespace NST::breakdown;
const char* NST::breakdown::SMBv2Commands::command_name(int cmd_code)
{
static std::map<Commands, const char*> cmdNames;
- if (cmdNames.empty())
+ if(cmdNames.empty())
{
- cmdNames[Commands::NEGOTIATE] = "NEGOTIATE";
- cmdNames[Commands::SESSION_SETUP] = "SESSION SETUP";
- cmdNames[Commands::LOGOFF] = "LOGOFF";
- cmdNames[Commands::TREE_CONNECT] = "TREE CONNECT";
- cmdNames[Commands::TREE_DISCONNECT] = "TREE DISCONNECT";
- cmdNames[Commands::CREATE] = "CREATE";
- cmdNames[Commands::CLOSE] = "CLOSE";
- cmdNames[Commands::FLUSH] = "FLUSH";
- cmdNames[Commands::READ] = "READ";
- cmdNames[Commands::WRITE] = "WRITE";
- cmdNames[Commands::LOCK] = "LOCK";
- cmdNames[Commands::IOCTL] = "IOCTL";
- cmdNames[Commands::CANCEL] = "CANCEL";
- cmdNames[Commands::ECHO] = "ECHO";
- cmdNames[Commands::QUERY_DIRECTORY] = "QUERY DIRECTORY";
- cmdNames[Commands::CHANGE_NOTIFY] = "CHANGE NOTIFY";
- cmdNames[Commands::QUERY_INFO] = "QUERY INFO";
- cmdNames[Commands::SET_INFO] = "SET INFO";
- cmdNames[Commands::OPLOCK_BREAK] = "OPLOCK BREAK";
+ cmdNames[Commands::NEGOTIATE] = "NEGOTIATE";
+ cmdNames[Commands::SESSION_SETUP] = "SESSION SETUP";
+ cmdNames[Commands::LOGOFF] = "LOGOFF";
+ cmdNames[Commands::TREE_CONNECT] = "TREE CONNECT";
+ cmdNames[Commands::TREE_DISCONNECT] = "TREE DISCONNECT";
+ cmdNames[Commands::CREATE] = "CREATE";
+ cmdNames[Commands::CLOSE] = "CLOSE";
+ cmdNames[Commands::FLUSH] = "FLUSH";
+ cmdNames[Commands::READ] = "READ";
+ cmdNames[Commands::WRITE] = "WRITE";
+ cmdNames[Commands::LOCK] = "LOCK";
+ cmdNames[Commands::IOCTL] = "IOCTL";
+ cmdNames[Commands::CANCEL] = "CANCEL";
+ cmdNames[Commands::ECHO] = "ECHO";
+ cmdNames[Commands::QUERY_DIRECTORY] = "QUERY DIRECTORY";
+ cmdNames[Commands::CHANGE_NOTIFY] = "CHANGE NOTIFY";
+ cmdNames[Commands::QUERY_INFO] = "QUERY INFO";
+ cmdNames[Commands::SET_INFO] = "SET INFO";
+ cmdNames[Commands::OPLOCK_BREAK] = "OPLOCK BREAK";
}
return cmdNames[static_cast<Commands>(cmd_code)];
}
@@ -62,27 +62,27 @@ size_t SMBv2Commands::commands_count()
const char* NST::breakdown::SMBv2Commands::command_description(int cmd_code)
{
static std::map<Commands, const char*> cmdNames;
- if (cmdNames.empty())
+ if(cmdNames.empty())
{
- cmdNames[Commands::NEGOTIATE] = "NEGOTIATE";
- cmdNames[Commands::SESSION_SETUP] = "SESSION_SETUP";
- cmdNames[Commands::LOGOFF] = "LOGOFF";
- cmdNames[Commands::TREE_CONNECT] = "TREE_CONNECT";
- cmdNames[Commands::TREE_DISCONNECT] = "TREE_DISCONNECT";
- cmdNames[Commands::CREATE] = "CREATE";
- cmdNames[Commands::CLOSE] = "CLOSE";
- cmdNames[Commands::FLUSH] = "FLUSH";
- cmdNames[Commands::READ] = "READ";
- cmdNames[Commands::WRITE] = "WRITE";
- cmdNames[Commands::LOCK] = "LOCK";
- cmdNames[Commands::IOCTL] = "IOCTL";
- cmdNames[Commands::CANCEL] = "CANCEL";
- cmdNames[Commands::ECHO] = "ECHO";
- cmdNames[Commands::QUERY_DIRECTORY] = "QUERY_DIRECTORY";
- cmdNames[Commands::CHANGE_NOTIFY] = "CHANGE_NOTIFY";
- cmdNames[Commands::QUERY_INFO] = "QUERY_INFO";
- cmdNames[Commands::SET_INFO] = "SET_INFO";
- cmdNames[Commands::OPLOCK_BREAK] = "OPLOCK_BREAK";
+ cmdNames[Commands::NEGOTIATE] = "NEGOTIATE";
+ cmdNames[Commands::SESSION_SETUP] = "SESSION_SETUP";
+ cmdNames[Commands::LOGOFF] = "LOGOFF";
+ cmdNames[Commands::TREE_CONNECT] = "TREE_CONNECT";
+ cmdNames[Commands::TREE_DISCONNECT] = "TREE_DISCONNECT";
+ cmdNames[Commands::CREATE] = "CREATE";
+ cmdNames[Commands::CLOSE] = "CLOSE";
+ cmdNames[Commands::FLUSH] = "FLUSH";
+ cmdNames[Commands::READ] = "READ";
+ cmdNames[Commands::WRITE] = "WRITE";
+ cmdNames[Commands::LOCK] = "LOCK";
+ cmdNames[Commands::IOCTL] = "IOCTL";
+ cmdNames[Commands::CANCEL] = "CANCEL";
+ cmdNames[Commands::ECHO] = "ECHO";
+ cmdNames[Commands::QUERY_DIRECTORY] = "QUERY_DIRECTORY";
+ cmdNames[Commands::CHANGE_NOTIFY] = "CHANGE_NOTIFY";
+ cmdNames[Commands::QUERY_INFO] = "QUERY_INFO";
+ cmdNames[Commands::SET_INFO] = "SET_INFO";
+ cmdNames[Commands::OPLOCK_BREAK] = "OPLOCK_BREAK";
}
return cmdNames[static_cast<Commands>(cmd_code)];
}
diff --git a/analyzers/src/breakdown/cifsv2commands.h b/analyzers/src/breakdown/cifsv2commands.h
index 306f18a..3a166ae 100644
--- a/analyzers/src/breakdown/cifsv2commands.h
+++ b/analyzers/src/breakdown/cifsv2commands.h
@@ -28,7 +28,6 @@ namespace NST
{
namespace breakdown
{
-
/*!
* Represents CIFS v2 commands
* Converts commands to string
@@ -66,13 +65,13 @@ struct SMBv2Commands : CommandRepresenter
const char* command_name(int cmd_code) override final;
- size_t commands_count();
+ size_t commands_count() override final;
- const char* protocol_name();
+ const char* protocol_name() override final;
};
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//CIFS2_COMMANDS_H
+#endif //CIFS2_COMMANDS_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/commandrepresenter.h b/analyzers/src/breakdown/commandrepresenter.h
index 2e1a61a..4847199 100644
--- a/analyzers/src/breakdown/commandrepresenter.h
+++ b/analyzers/src/breakdown/commandrepresenter.h
@@ -28,7 +28,6 @@ namespace NST
{
namespace breakdown
{
-
/*!
* \brief The CommandRepresenter struct represents interface for command representers
* Commands representer should be able to convert commands to string
@@ -67,5 +66,5 @@ struct CommandRepresenter
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//COMMANDREPRESENTER_H
+#endif //COMMANDREPRESENTER_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/latencies.cpp b/analyzers/src/breakdown/latencies.cpp
index bc342e5..b6bbc83 100644
--- a/analyzers/src/breakdown/latencies.cpp
+++ b/analyzers/src/breakdown/latencies.cpp
@@ -26,7 +26,10 @@
using namespace NST::breakdown;
//------------------------------------------------------------------------------
-Latencies::Latencies() : count {0}, avg {0}, m2 {0}
+Latencies::Latencies()
+ : count{0}
+ , avg{0}
+ , m2{0}
{
timerclear(&min);
timerclear(&max);
@@ -34,7 +37,7 @@ Latencies::Latencies() : count {0}, avg {0}, m2 {0}
void Latencies::add(const timeval& t)
{
- long double x = to_sec(t);
+ long double x = to_sec(t);
long double delta = x - avg;
avg += delta / (++count);
m2 += delta * (x - avg);
@@ -54,7 +57,7 @@ long double Latencies::get_avg() const
long double Latencies::get_st_dev() const
{
- if (count < 2)
+ if(count < 2)
{
return 0;
}
@@ -73,15 +76,15 @@ const timeval& Latencies::get_max() const
void Latencies::set_range(const timeval& t)
{
- if (timercmp(&t, &min, < ))
+ if(timercmp(&t, &min, <))
{
min = t;
}
- if (min.tv_sec == 0 && min.tv_usec == 0)
+ if(min.tv_sec == 0 && min.tv_usec == 0)
{
min = t;
}
- if (timercmp(&t, &max, > ))
+ if(timercmp(&t, &max, >))
{
max = t;
}
diff --git a/analyzers/src/breakdown/latencies.h b/analyzers/src/breakdown/latencies.h
index b206e52..bb4a073 100644
--- a/analyzers/src/breakdown/latencies.h
+++ b/analyzers/src/breakdown/latencies.h
@@ -30,7 +30,6 @@ namespace NST
{
namespace breakdown
{
-
/*!
* \brief Latencies calculates latencies
*/
@@ -82,7 +81,7 @@ private:
timeval min;
timeval max;
- uint64_t count;
+ uint64_t count;
long double avg;
long double m2;
};
@@ -97,5 +96,5 @@ double to_sec(const timeval& val);
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//LATENCIES_H
+#endif //LATENCIES_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/nfsv3breakdownanalyzer.cpp b/analyzers/src/breakdown/nfsv3breakdownanalyzer.cpp
index e12409a..006556d 100644
--- a/analyzers/src/breakdown/nfsv3breakdownanalyzer.cpp
+++ b/analyzers/src/breakdown/nfsv3breakdownanalyzer.cpp
@@ -19,8 +19,8 @@
along with Nfstrace. If not, see <http://www.gnu.org/licenses/>.
*/
//------------------------------------------------------------------------------
-#include "breakdowncounter.h"
#include "nfsv3breakdownanalyzer.h"
+#include "breakdowncounter.h"
#include "nfsv3commands.h"
//------------------------------------------------------------------------------
using namespace NST::breakdown;
@@ -101,7 +101,6 @@ void NFSv3BreakdownAnalyzer::rmdir3(const RPCProcedure* proc, const NFS3::RMDIR3
stats.account(proc, proc->call.ru.RM_cmb.cb_proc);
}
-
void NFSv3BreakdownAnalyzer::rename3(const RPCProcedure* proc, const NFS3::RENAME3args*, const NFS3::RENAME3res*)
{
stats.account(proc, proc->call.ru.RM_cmb.cb_proc);
diff --git a/analyzers/src/breakdown/nfsv3breakdownanalyzer.h b/analyzers/src/breakdown/nfsv3breakdownanalyzer.h
index 943a453..7e8a8c6 100644
--- a/analyzers/src/breakdown/nfsv3breakdownanalyzer.h
+++ b/analyzers/src/breakdown/nfsv3breakdownanalyzer.h
@@ -31,13 +31,12 @@ namespace NST
{
namespace breakdown
{
-
/*! \brief NFSv3BreakdownAnalyzer Analyzer for NFS v3
* Handles NFS v3 commands
*/
class NFSv3BreakdownAnalyzer : virtual public IAnalyzer
{
- Statistics stats; //!< Statistics
+ Statistics stats; //!< Statistics
Representer representer; //!< Class for statistics representation
public:
NFSv3BreakdownAnalyzer(std::ostream& o = std::cout);
@@ -115,5 +114,5 @@ public:
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//NFSV3BREAKDOWNANALYZER_H
+#endif //NFSV3BREAKDOWNANALYZER_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/nfsv3commands.h b/analyzers/src/breakdown/nfsv3commands.h
index 19f035d..1b7dcc9 100644
--- a/analyzers/src/breakdown/nfsv3commands.h
+++ b/analyzers/src/breakdown/nfsv3commands.h
@@ -28,7 +28,6 @@ namespace NST
{
namespace breakdown
{
-
/*!
* Represents NFS v3 commands
* Converts commands to string
@@ -38,12 +37,12 @@ class NFSv3Commands : public CommandRepresenter
public:
const char* command_description(int cmd_code) override final;
const char* command_name(int cmd_code) override final;
- size_t commands_count() override final;
- const char* protocol_name();
+ size_t commands_count() override final;
+ const char* protocol_name() override final;
};
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//NFSV3COMMANDS_H
+#endif //NFSV3COMMANDS_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/nfsv41breakdownanalyzer.cpp b/analyzers/src/breakdown/nfsv41breakdownanalyzer.cpp
index ba95f08..d785875 100644
--- a/analyzers/src/breakdown/nfsv41breakdownanalyzer.cpp
+++ b/analyzers/src/breakdown/nfsv41breakdownanalyzer.cpp
@@ -42,7 +42,7 @@ void NFSv41BreakdownAnalyzer::compound41(const RPCProcedure* proc, const NFS41::
void NFSv41BreakdownAnalyzer::access41(const RPCProcedure* proc, const NFS41::ACCESS4args*, const NFS41::ACCESS4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::ACCESS);
}
@@ -50,7 +50,7 @@ void NFSv41BreakdownAnalyzer::access41(const RPCProcedure* proc, const NFS41::AC
void NFSv41BreakdownAnalyzer::close41(const RPCProcedure* proc, const NFS41::CLOSE4args*, const NFS41::CLOSE4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::CLOSE);
}
@@ -58,7 +58,7 @@ void NFSv41BreakdownAnalyzer::close41(const RPCProcedure* proc, const NFS41::CLO
void NFSv41BreakdownAnalyzer::commit41(const RPCProcedure* proc, const NFS41::COMMIT4args*, const NFS41::COMMIT4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::COMMIT);
}
@@ -66,7 +66,7 @@ void NFSv41BreakdownAnalyzer::commit41(const RPCProcedure* proc, const NFS41::CO
void NFSv41BreakdownAnalyzer::create41(const RPCProcedure* proc, const NFS41::CREATE4args*, const NFS41::CREATE4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::CREATE);
}
@@ -74,7 +74,7 @@ void NFSv41BreakdownAnalyzer::create41(const RPCProcedure* proc, const NFS41::CR
void NFSv41BreakdownAnalyzer::delegpurge41(const RPCProcedure* proc, const NFS41::DELEGPURGE4args*, const NFS41::DELEGPURGE4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::DELEGPURGE);
}
@@ -82,7 +82,7 @@ void NFSv41BreakdownAnalyzer::delegpurge41(const RPCProcedure* proc, const NFS41
void NFSv41BreakdownAnalyzer::delegreturn41(const RPCProcedure* proc, const NFS41::DELEGRETURN4args*, const NFS41::DELEGRETURN4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::DELEGRETURN);
}
@@ -90,7 +90,7 @@ void NFSv41BreakdownAnalyzer::delegreturn41(const RPCProcedure* proc, const NFS4
void NFSv41BreakdownAnalyzer::getattr41(const RPCProcedure* proc, const NFS41::GETATTR4args*, const NFS41::GETATTR4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::GETATTR);
}
@@ -98,7 +98,7 @@ void NFSv41BreakdownAnalyzer::getattr41(const RPCProcedure* proc, const NFS41::G
void NFSv41BreakdownAnalyzer::getfh41(const RPCProcedure* proc, const NFS41::GETFH4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::GETFH);
}
@@ -106,7 +106,7 @@ void NFSv41BreakdownAnalyzer::getfh41(const RPCProcedure* proc, const NFS41::GET
void NFSv41BreakdownAnalyzer::link41(const RPCProcedure* proc, const NFS41::LINK4args*, const NFS41::LINK4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::LINK);
}
@@ -114,7 +114,7 @@ void NFSv41BreakdownAnalyzer::link41(const RPCProcedure* proc, const NFS41::LINK
void NFSv41BreakdownAnalyzer::lock41(const RPCProcedure* proc, const NFS41::LOCK4args*, const NFS41::LOCK4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::LOCK);
}
@@ -122,7 +122,7 @@ void NFSv41BreakdownAnalyzer::lock41(const RPCProcedure* proc, const NFS41::LOCK
void NFSv41BreakdownAnalyzer::lockt41(const RPCProcedure* proc, const NFS41::LOCKT4args*, const NFS41::LOCKT4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::LOCKT);
}
@@ -130,7 +130,7 @@ void NFSv41BreakdownAnalyzer::lockt41(const RPCProcedure* proc, const NFS41::LOC
void NFSv41BreakdownAnalyzer::locku41(const RPCProcedure* proc, const NFS41::LOCKU4args*, const NFS41::LOCKU4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::LOCKU);
}
@@ -138,7 +138,7 @@ void NFSv41BreakdownAnalyzer::locku41(const RPCProcedure* proc, const NFS41::LOC
void NFSv41BreakdownAnalyzer::lookup41(const RPCProcedure* proc, const NFS41::LOOKUP4args*, const NFS41::LOOKUP4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::LOOKUP);
}
@@ -146,7 +146,7 @@ void NFSv41BreakdownAnalyzer::lookup41(const RPCProcedure* proc, const NFS41::LO
void NFSv41BreakdownAnalyzer::lookupp41(const RPCProcedure* proc, const NFS41::LOOKUPP4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::LOOKUPP);
}
@@ -154,7 +154,7 @@ void NFSv41BreakdownAnalyzer::lookupp41(const RPCProcedure* proc, const NFS41::L
void NFSv41BreakdownAnalyzer::nverify41(const RPCProcedure* proc, const NFS41::NVERIFY4args*, const NFS41::NVERIFY4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::NVERIFY);
}
@@ -162,7 +162,7 @@ void NFSv41BreakdownAnalyzer::nverify41(const RPCProcedure* proc, const NFS41::N
void NFSv41BreakdownAnalyzer::open41(const RPCProcedure* proc, const NFS41::OPEN4args*, const NFS41::OPEN4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::OPEN);
}
@@ -170,7 +170,7 @@ void NFSv41BreakdownAnalyzer::open41(const RPCProcedure* proc, const NFS41::OPEN
void NFSv41BreakdownAnalyzer::openattr41(const RPCProcedure* proc, const NFS41::OPENATTR4args*, const NFS41::OPENATTR4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::OPENATTR);
}
@@ -178,7 +178,7 @@ void NFSv41BreakdownAnalyzer::openattr41(const RPCProcedure* proc, const NFS41::
void NFSv41BreakdownAnalyzer::open_confirm41(const RPCProcedure* proc, const NFS41::OPEN_CONFIRM4args*, const NFS41::OPEN_CONFIRM4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::OPEN_CONFIRM);
}
@@ -186,7 +186,7 @@ void NFSv41BreakdownAnalyzer::open_confirm41(const RPCProcedure* proc, const NFS
void NFSv41BreakdownAnalyzer::open_downgrade41(const RPCProcedure* proc, const NFS41::OPEN_DOWNGRADE4args*, const NFS41::OPEN_DOWNGRADE4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::OPEN_DOWNGRADE);
}
@@ -194,7 +194,7 @@ void NFSv41BreakdownAnalyzer::open_downgrade41(const RPCProcedure* proc, const N
void NFSv41BreakdownAnalyzer::putfh41(const RPCProcedure* proc, const NFS41::PUTFH4args*, const NFS41::PUTFH4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::PUTFH);
}
@@ -202,7 +202,7 @@ void NFSv41BreakdownAnalyzer::putfh41(const RPCProcedure* proc, const NFS41::PUT
void NFSv41BreakdownAnalyzer::putpubfh41(const RPCProcedure* proc, const NFS41::PUTPUBFH4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::PUTPUBFH);
}
@@ -210,7 +210,7 @@ void NFSv41BreakdownAnalyzer::putpubfh41(const RPCProcedure* proc, const NFS41::
void NFSv41BreakdownAnalyzer::putrootfh41(const RPCProcedure* proc, const NFS41::PUTROOTFH4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::PUTROOTFH);
}
@@ -218,7 +218,7 @@ void NFSv41BreakdownAnalyzer::putrootfh41(const RPCProcedure* proc, const NFS41:
void NFSv41BreakdownAnalyzer::read41(const RPCProcedure* proc, const NFS41::READ4args*, const NFS41::READ4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::READ);
}
@@ -226,7 +226,7 @@ void NFSv41BreakdownAnalyzer::read41(const RPCProcedure* proc, const NFS41::READ
void NFSv41BreakdownAnalyzer::readdir41(const RPCProcedure* proc, const NFS41::READDIR4args*, const NFS41::READDIR4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::READDIR);
}
@@ -234,7 +234,7 @@ void NFSv41BreakdownAnalyzer::readdir41(const RPCProcedure* proc, const NFS41::R
void NFSv41BreakdownAnalyzer::readlink41(const RPCProcedure* proc, const NFS41::READLINK4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::READLINK);
}
@@ -242,7 +242,7 @@ void NFSv41BreakdownAnalyzer::readlink41(const RPCProcedure* proc, const NFS41::
void NFSv41BreakdownAnalyzer::remove41(const RPCProcedure* proc, const NFS41::REMOVE4args*, const NFS41::REMOVE4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::REMOVE);
}
@@ -250,7 +250,7 @@ void NFSv41BreakdownAnalyzer::remove41(const RPCProcedure* proc, const NFS41::RE
void NFSv41BreakdownAnalyzer::rename41(const RPCProcedure* proc, const NFS41::RENAME4args*, const NFS41::RENAME4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::RENAME);
}
@@ -258,7 +258,7 @@ void NFSv41BreakdownAnalyzer::rename41(const RPCProcedure* proc, const NFS41::RE
void NFSv41BreakdownAnalyzer::renew41(const RPCProcedure* proc, const NFS41::RENEW4args*, const NFS41::RENEW4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::RENEW);
}
@@ -266,7 +266,7 @@ void NFSv41BreakdownAnalyzer::renew41(const RPCProcedure* proc, const NFS41::REN
void NFSv41BreakdownAnalyzer::restorefh41(const RPCProcedure* proc, const NFS41::RESTOREFH4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::RESTOREFH);
}
@@ -274,7 +274,7 @@ void NFSv41BreakdownAnalyzer::restorefh41(const RPCProcedure* proc, const NFS41:
void NFSv41BreakdownAnalyzer::savefh41(const RPCProcedure* proc, const NFS41::SAVEFH4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::SAVEFH);
}
@@ -282,7 +282,7 @@ void NFSv41BreakdownAnalyzer::savefh41(const RPCProcedure* proc, const NFS41::SA
void NFSv41BreakdownAnalyzer::secinfo41(const RPCProcedure* proc, const NFS41::SECINFO4args*, const NFS41::SECINFO4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::SECINFO);
}
@@ -290,7 +290,7 @@ void NFSv41BreakdownAnalyzer::secinfo41(const RPCProcedure* proc, const NFS41::S
void NFSv41BreakdownAnalyzer::setattr41(const RPCProcedure* proc, const NFS41::SETATTR4args*, const NFS41::SETATTR4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::SETATTR);
}
@@ -298,7 +298,7 @@ void NFSv41BreakdownAnalyzer::setattr41(const RPCProcedure* proc, const NFS41::S
void NFSv41BreakdownAnalyzer::setclientid41(const RPCProcedure* proc, const NFS41::SETCLIENTID4args*, const NFS41::SETCLIENTID4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::SETCLIENTID);
}
@@ -306,7 +306,7 @@ void NFSv41BreakdownAnalyzer::setclientid41(const RPCProcedure* proc, const NFS4
void NFSv41BreakdownAnalyzer::setclientid_confirm41(const RPCProcedure* proc, const NFS41::SETCLIENTID_CONFIRM4args*, const NFS41::SETCLIENTID_CONFIRM4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::SETCLIENTID_CONFIRM);
}
@@ -314,7 +314,7 @@ void NFSv41BreakdownAnalyzer::setclientid_confirm41(const RPCProcedure* proc, co
void NFSv41BreakdownAnalyzer::verify41(const RPCProcedure* proc, const NFS41::VERIFY4args*, const NFS41::VERIFY4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::VERIFY);
}
@@ -322,7 +322,7 @@ void NFSv41BreakdownAnalyzer::verify41(const RPCProcedure* proc, const NFS41::VE
void NFSv41BreakdownAnalyzer::write41(const RPCProcedure* proc, const NFS41::WRITE4args*, const NFS41::WRITE4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::WRITE);
}
@@ -330,7 +330,7 @@ void NFSv41BreakdownAnalyzer::write41(const RPCProcedure* proc, const NFS41::WRI
void NFSv41BreakdownAnalyzer::release_lockowner41(const RPCProcedure* proc, const NFS41::RELEASE_LOCKOWNER4args*, const NFS41::RELEASE_LOCKOWNER4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::RELEASE_LOCKOWNER);
}
@@ -338,7 +338,7 @@ void NFSv41BreakdownAnalyzer::release_lockowner41(const RPCProcedure* proc, cons
void NFSv41BreakdownAnalyzer::backchannel_ctl41(const RPCProcedure* proc, const NFS41::BACKCHANNEL_CTL4args*, const NFS41::BACKCHANNEL_CTL4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::BACKCHANNEL_CTL);
}
@@ -346,7 +346,7 @@ void NFSv41BreakdownAnalyzer::backchannel_ctl41(const RPCProcedure* proc, const
void NFSv41BreakdownAnalyzer::bind_conn_to_session41(const RPCProcedure* proc, const NFS41::BIND_CONN_TO_SESSION4args*, const NFS41::BIND_CONN_TO_SESSION4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::BIND_CONN_TO_SESSION);
}
@@ -354,7 +354,7 @@ void NFSv41BreakdownAnalyzer::bind_conn_to_session41(const RPCProcedure* proc, c
void NFSv41BreakdownAnalyzer::exchange_id41(const RPCProcedure* proc, const NFS41::EXCHANGE_ID4args*, const NFS41::EXCHANGE_ID4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::EXCHANGE_ID);
}
@@ -362,7 +362,7 @@ void NFSv41BreakdownAnalyzer::exchange_id41(const RPCProcedure* proc, const NFS4
void NFSv41BreakdownAnalyzer::create_session41(const RPCProcedure* proc, const NFS41::CREATE_SESSION4args*, const NFS41::CREATE_SESSION4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::CREATE_SESSION);
}
@@ -370,7 +370,7 @@ void NFSv41BreakdownAnalyzer::create_session41(const RPCProcedure* proc, const N
void NFSv41BreakdownAnalyzer::destroy_session41(const RPCProcedure* proc, const NFS41::DESTROY_SESSION4args*, const NFS41::DESTROY_SESSION4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::DESTROY_SESSION);
}
@@ -378,7 +378,7 @@ void NFSv41BreakdownAnalyzer::destroy_session41(const RPCProcedure* proc, const
void NFSv41BreakdownAnalyzer::free_stateid41(const RPCProcedure* proc, const NFS41::FREE_STATEID4args*, const NFS41::FREE_STATEID4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::FREE_STATEID);
}
@@ -386,7 +386,7 @@ void NFSv41BreakdownAnalyzer::free_stateid41(const RPCProcedure* proc, const NFS
void NFSv41BreakdownAnalyzer::get_dir_delegation41(const RPCProcedure* proc, const NFS41::GET_DIR_DELEGATION4args*, const NFS41::GET_DIR_DELEGATION4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::GET_DIR_DELEGATION);
}
@@ -394,7 +394,7 @@ void NFSv41BreakdownAnalyzer::get_dir_delegation41(const RPCProcedure* proc, con
void NFSv41BreakdownAnalyzer::getdeviceinfo41(const RPCProcedure* proc, const NFS41::GETDEVICEINFO4args*, const NFS41::GETDEVICEINFO4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::GETDEVICEINFO);
}
@@ -402,7 +402,7 @@ void NFSv41BreakdownAnalyzer::getdeviceinfo41(const RPCProcedure* proc, const NF
void NFSv41BreakdownAnalyzer::getdevicelist41(const RPCProcedure* proc, const NFS41::GETDEVICELIST4args*, const NFS41::GETDEVICELIST4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::GETDEVICELIST);
}
@@ -410,7 +410,7 @@ void NFSv41BreakdownAnalyzer::getdevicelist41(const RPCProcedure* proc, const NF
void NFSv41BreakdownAnalyzer::layoutcommit41(const RPCProcedure* proc, const NFS41::LAYOUTCOMMIT4args*, const NFS41::LAYOUTCOMMIT4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::LAYOUTCOMMIT);
}
@@ -418,7 +418,7 @@ void NFSv41BreakdownAnalyzer::layoutcommit41(const RPCProcedure* proc, const NFS
void NFSv41BreakdownAnalyzer::layoutget41(const RPCProcedure* proc, const NFS41::LAYOUTGET4args*, const NFS41::LAYOUTGET4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::LAYOUTGET);
}
@@ -426,7 +426,7 @@ void NFSv41BreakdownAnalyzer::layoutget41(const RPCProcedure* proc, const NFS41:
void NFSv41BreakdownAnalyzer::layoutreturn41(const RPCProcedure* proc, const NFS41::LAYOUTRETURN4args*, const NFS41::LAYOUTRETURN4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::LAYOUTRETURN);
}
@@ -434,7 +434,7 @@ void NFSv41BreakdownAnalyzer::layoutreturn41(const RPCProcedure* proc, const NFS
void NFSv41BreakdownAnalyzer::secinfo_no_name41(const RPCProcedure* proc, const NFS41::SECINFO_NO_NAME4args*, const NFS41::SECINFO_NO_NAME4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::SECINFO_NO_NAME);
}
@@ -442,7 +442,7 @@ void NFSv41BreakdownAnalyzer::secinfo_no_name41(const RPCProcedure* proc, const
void NFSv41BreakdownAnalyzer::sequence41(const RPCProcedure* proc, const NFS41::SEQUENCE4args*, const NFS41::SEQUENCE4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::SEQUENCE);
}
@@ -450,7 +450,7 @@ void NFSv41BreakdownAnalyzer::sequence41(const RPCProcedure* proc, const NFS41::
void NFSv41BreakdownAnalyzer::set_ssv41(const RPCProcedure* proc, const NFS41::SET_SSV4args*, const NFS41::SET_SSV4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::SET_SSV);
}
@@ -458,7 +458,7 @@ void NFSv41BreakdownAnalyzer::set_ssv41(const RPCProcedure* proc, const NFS41::S
void NFSv41BreakdownAnalyzer::test_stateid41(const RPCProcedure* proc, const NFS41::TEST_STATEID4args*, const NFS41::TEST_STATEID4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::TEST_STATEID);
}
@@ -466,7 +466,7 @@ void NFSv41BreakdownAnalyzer::test_stateid41(const RPCProcedure* proc, const NFS
void NFSv41BreakdownAnalyzer::want_delegation41(const RPCProcedure* proc, const NFS41::WANT_DELEGATION4args*, const NFS41::WANT_DELEGATION4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::WANT_DELEGATION);
}
@@ -474,7 +474,7 @@ void NFSv41BreakdownAnalyzer::want_delegation41(const RPCProcedure* proc, const
void NFSv41BreakdownAnalyzer::destroy_clientid41(const RPCProcedure* proc, const NFS41::DESTROY_CLIENTID4args*, const NFS41::DESTROY_CLIENTID4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::DESTROY_CLIENTID);
}
@@ -482,7 +482,7 @@ void NFSv41BreakdownAnalyzer::destroy_clientid41(const RPCProcedure* proc, const
void NFSv41BreakdownAnalyzer::reclaim_complete41(const RPCProcedure* proc, const NFS41::RECLAIM_COMPLETE4args*, const NFS41::RECLAIM_COMPLETE4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::RECLAIM_COMPLETE);
}
@@ -490,7 +490,7 @@ void NFSv41BreakdownAnalyzer::reclaim_complete41(const RPCProcedure* proc, const
void NFSv41BreakdownAnalyzer::illegal41(const RPCProcedure* proc, const NFS41::ILLEGAL4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS41::NFSProcedure::ILLEGAL);
}
diff --git a/analyzers/src/breakdown/nfsv41breakdownanalyzer.h b/analyzers/src/breakdown/nfsv41breakdownanalyzer.h
index f5f1f9b..2221db6 100644
--- a/analyzers/src/breakdown/nfsv41breakdownanalyzer.h
+++ b/analyzers/src/breakdown/nfsv41breakdownanalyzer.h
@@ -31,19 +31,18 @@ namespace NST
{
namespace breakdown
{
-
/*! \brief Analyzer for NFS v4.1
* Handles NFS v4.1 commands
*/
class NFSv41BreakdownAnalyzer : virtual public IAnalyzer
{
- Statistics compound_stats; //!< Statistics
- Statistics stats; //!< Statistics
- NFSv4Representer representer; //!< Class for statistics representation
+ Statistics compound_stats; //!< Statistics
+ Statistics stats; //!< Statistics
+ NFSv4Representer representer; //!< Class for statistics representation
public:
NFSv41BreakdownAnalyzer(std::ostream& o = std::cout);
// NFSv4.1 procedures
- void compound41(const RPCProcedure* proc,
+ void compound41(const RPCProcedure* proc,
const struct NFS41::COMPOUND4args*,
const struct NFS41::COMPOUND4res*) override final;
// NFSv4.1 operations
@@ -69,7 +68,7 @@ public:
void getattr41(const RPCProcedure* proc,
const struct NFS41::GETATTR4args*,
const struct NFS41::GETATTR4res* res) override final;
- void getfh41(const RPCProcedure* proc,
+ void getfh41(const RPCProcedure* proc,
const struct NFS41::GETFH4res* res) override final;
void link41(const RPCProcedure* proc,
const struct NFS41::LINK4args*,
@@ -86,7 +85,7 @@ public:
void lookup41(const RPCProcedure* proc,
const struct NFS41::LOOKUP4args*,
const struct NFS41::LOOKUP4res* res) override final;
- void lookupp41(const RPCProcedure* proc,
+ void lookupp41(const RPCProcedure* proc,
const struct NFS41::LOOKUPP4res* res) override final;
void nverify41(const RPCProcedure* proc,
const struct NFS41::NVERIFY4args*,
@@ -106,9 +105,9 @@ public:
void putfh41(const RPCProcedure* proc,
const struct NFS41::PUTFH4args*,
const struct NFS41::PUTFH4res* res) override final;
- void putpubfh41(const RPCProcedure* proc,
+ void putpubfh41(const RPCProcedure* proc,
const struct NFS41::PUTPUBFH4res* res) override final;
- void putrootfh41(const RPCProcedure* proc,
+ void putrootfh41(const RPCProcedure* proc,
const struct NFS41::PUTROOTFH4res* res) override final;
void read41(const RPCProcedure* proc,
const struct NFS41::READ4args*,
@@ -116,7 +115,7 @@ public:
void readdir41(const RPCProcedure* proc,
const struct NFS41::READDIR4args*,
const struct NFS41::READDIR4res* res) override final;
- void readlink41(const RPCProcedure* proc,
+ void readlink41(const RPCProcedure* proc,
const struct NFS41::READLINK4res* res) override final;
void remove41(const RPCProcedure* proc,
const struct NFS41::REMOVE4args*,
@@ -127,9 +126,9 @@ public:
void renew41(const RPCProcedure* proc,
const struct NFS41::RENEW4args*,
const struct NFS41::RENEW4res* res) override final;
- void restorefh41(const RPCProcedure* proc,
+ void restorefh41(const RPCProcedure* proc,
const struct NFS41::RESTOREFH4res* res) override final;
- void savefh41(const RPCProcedure* proc,
+ void savefh41(const RPCProcedure* proc,
const struct NFS41::SAVEFH4res* res) override final;
void secinfo41(const RPCProcedure* proc,
const struct NFS41::SECINFO4args*,
@@ -209,7 +208,7 @@ public:
void reclaim_complete41(const RPCProcedure* proc,
const struct NFS41::RECLAIM_COMPLETE4args*,
const struct NFS41::RECLAIM_COMPLETE4res* res) override final;
- void illegal41(const RPCProcedure* proc,
+ void illegal41(const RPCProcedure* proc,
const struct NFS41::ILLEGAL4res* res) override final;
void flush_statistics() override;
@@ -218,5 +217,5 @@ public:
} // namespace protocols
} // namespace NST
//------------------------------------------------------------------------------
-#endif//NFSV41BREAKDOWNANALYZER_H
+#endif //NFSV41BREAKDOWNANALYZER_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/nfsv41commands.h b/analyzers/src/breakdown/nfsv41commands.h
index 97c7c9c..fce94fd 100644
--- a/analyzers/src/breakdown/nfsv41commands.h
+++ b/analyzers/src/breakdown/nfsv41commands.h
@@ -28,7 +28,6 @@ namespace NST
{
namespace breakdown
{
-
/*!
* Represents NFS v 4.0 commands
* Converts commands to string
@@ -39,11 +38,11 @@ public:
const char* command_description(int cmd_code);
const char* command_name(int cmd_code);
const char* protocol_name();
- size_t commands_count();
+ size_t commands_count();
};
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//NFSV41COMMANDS_H
+#endif //NFSV41COMMANDS_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/nfsv4breakdownanalyzer.cpp b/analyzers/src/breakdown/nfsv4breakdownanalyzer.cpp
index b9f37af..5ac6641 100644
--- a/analyzers/src/breakdown/nfsv4breakdownanalyzer.cpp
+++ b/analyzers/src/breakdown/nfsv4breakdownanalyzer.cpp
@@ -49,7 +49,7 @@ void NFSv4BreakdownAnalyzer::compound4(const RPCProcedure* proc, const NFS4::COM
void NFSv4BreakdownAnalyzer::access40(const RPCProcedure* proc, const NFS4::ACCESS4args*, const NFS4::ACCESS4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::ACCESS);
}
@@ -57,7 +57,7 @@ void NFSv4BreakdownAnalyzer::access40(const RPCProcedure* proc, const NFS4::ACCE
void NFSv4BreakdownAnalyzer::close40(const RPCProcedure* proc, const NFS4::CLOSE4args*, const NFS4::CLOSE4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::CLOSE);
}
@@ -65,7 +65,7 @@ void NFSv4BreakdownAnalyzer::close40(const RPCProcedure* proc, const NFS4::CLOSE
void NFSv4BreakdownAnalyzer::commit40(const RPCProcedure* proc, const NFS4::COMMIT4args*, const NFS4::COMMIT4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::COMMIT);
}
@@ -73,7 +73,7 @@ void NFSv4BreakdownAnalyzer::commit40(const RPCProcedure* proc, const NFS4::COMM
void NFSv4BreakdownAnalyzer::create40(const RPCProcedure* proc, const NFS4::CREATE4args*, const NFS4::CREATE4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::CREATE);
}
@@ -81,7 +81,7 @@ void NFSv4BreakdownAnalyzer::create40(const RPCProcedure* proc, const NFS4::CREA
void NFSv4BreakdownAnalyzer::delegpurge40(const RPCProcedure* proc, const NFS4::DELEGPURGE4args*, const NFS4::DELEGPURGE4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::DELEGPURGE);
}
@@ -89,7 +89,7 @@ void NFSv4BreakdownAnalyzer::delegpurge40(const RPCProcedure* proc, const NFS4::
void NFSv4BreakdownAnalyzer::delegreturn40(const RPCProcedure* proc, const NFS4::DELEGRETURN4args*, const NFS4::DELEGRETURN4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::DELEGRETURN);
}
@@ -97,7 +97,7 @@ void NFSv4BreakdownAnalyzer::delegreturn40(const RPCProcedure* proc, const NFS4:
void NFSv4BreakdownAnalyzer::getattr40(const RPCProcedure* proc, const NFS4::GETATTR4args*, const NFS4::GETATTR4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::GETATTR);
}
@@ -105,7 +105,7 @@ void NFSv4BreakdownAnalyzer::getattr40(const RPCProcedure* proc, const NFS4::GET
void NFSv4BreakdownAnalyzer::getfh40(const RPCProcedure* proc, const NFS4::GETFH4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::GETFH);
}
@@ -113,7 +113,7 @@ void NFSv4BreakdownAnalyzer::getfh40(const RPCProcedure* proc, const NFS4::GETFH
void NFSv4BreakdownAnalyzer::link40(const RPCProcedure* proc, const NFS4::LINK4args*, const NFS4::LINK4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::LINK);
}
@@ -121,7 +121,7 @@ void NFSv4BreakdownAnalyzer::link40(const RPCProcedure* proc, const NFS4::LINK4a
void NFSv4BreakdownAnalyzer::lock40(const RPCProcedure* proc, const NFS4::LOCK4args*, const NFS4::LOCK4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::LOCK);
}
@@ -129,7 +129,7 @@ void NFSv4BreakdownAnalyzer::lock40(const RPCProcedure* proc, const NFS4::LOCK4a
void NFSv4BreakdownAnalyzer::lockt40(const RPCProcedure* proc, const NFS4::LOCKT4args*, const NFS4::LOCKT4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::LOCKT);
}
@@ -137,7 +137,7 @@ void NFSv4BreakdownAnalyzer::lockt40(const RPCProcedure* proc, const NFS4::LOCKT
void NFSv4BreakdownAnalyzer::locku40(const RPCProcedure* proc, const NFS4::LOCKU4args*, const NFS4::LOCKU4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::LOCKU);
}
@@ -145,7 +145,7 @@ void NFSv4BreakdownAnalyzer::locku40(const RPCProcedure* proc, const NFS4::LOCKU
void NFSv4BreakdownAnalyzer::lookup40(const RPCProcedure* proc, const NFS4::LOOKUP4args*, const NFS4::LOOKUP4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::LOOKUP);
}
@@ -153,7 +153,7 @@ void NFSv4BreakdownAnalyzer::lookup40(const RPCProcedure* proc, const NFS4::LOOK
void NFSv4BreakdownAnalyzer::lookupp40(const RPCProcedure* proc, const NFS4::LOOKUPP4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::LOOKUPP);
}
@@ -161,7 +161,7 @@ void NFSv4BreakdownAnalyzer::lookupp40(const RPCProcedure* proc, const NFS4::LOO
void NFSv4BreakdownAnalyzer::nverify40(const RPCProcedure* proc, const NFS4::NVERIFY4args*, const NFS4::NVERIFY4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::NVERIFY);
}
@@ -169,7 +169,7 @@ void NFSv4BreakdownAnalyzer::nverify40(const RPCProcedure* proc, const NFS4::NVE
void NFSv4BreakdownAnalyzer::open40(const RPCProcedure* proc, const NFS4::OPEN4args*, const NFS4::OPEN4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::OPEN);
}
@@ -177,7 +177,7 @@ void NFSv4BreakdownAnalyzer::open40(const RPCProcedure* proc, const NFS4::OPEN4a
void NFSv4BreakdownAnalyzer::openattr40(const RPCProcedure* proc, const NFS4::OPENATTR4args*, const NFS4::OPENATTR4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::OPENATTR);
}
@@ -185,7 +185,7 @@ void NFSv4BreakdownAnalyzer::openattr40(const RPCProcedure* proc, const NFS4::OP
void NFSv4BreakdownAnalyzer::open_confirm40(const RPCProcedure* proc, const NFS4::OPEN_CONFIRM4args*, const NFS4::OPEN_CONFIRM4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::OPEN_CONFIRM);
}
@@ -193,7 +193,7 @@ void NFSv4BreakdownAnalyzer::open_confirm40(const RPCProcedure* proc, const NFS4
void NFSv4BreakdownAnalyzer::open_downgrade40(const RPCProcedure* proc, const NFS4::OPEN_DOWNGRADE4args*, const NFS4::OPEN_DOWNGRADE4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::OPEN_DOWNGRADE);
}
@@ -201,7 +201,7 @@ void NFSv4BreakdownAnalyzer::open_downgrade40(const RPCProcedure* proc, const NF
void NFSv4BreakdownAnalyzer::putfh40(const RPCProcedure* proc, const NFS4::PUTFH4args*, const NFS4::PUTFH4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::PUTFH);
}
@@ -209,7 +209,7 @@ void NFSv4BreakdownAnalyzer::putfh40(const RPCProcedure* proc, const NFS4::PUTFH
void NFSv4BreakdownAnalyzer::putpubfh40(const RPCProcedure* proc, const NFS4::PUTPUBFH4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::PUTPUBFH);
}
@@ -217,7 +217,7 @@ void NFSv4BreakdownAnalyzer::putpubfh40(const RPCProcedure* proc, const NFS4::PU
void NFSv4BreakdownAnalyzer::putrootfh40(const RPCProcedure* proc, const NFS4::PUTROOTFH4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::PUTROOTFH);
}
@@ -225,7 +225,7 @@ void NFSv4BreakdownAnalyzer::putrootfh40(const RPCProcedure* proc, const NFS4::P
void NFSv4BreakdownAnalyzer::read40(const RPCProcedure* proc, const NFS4::READ4args*, const NFS4::READ4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::READ);
}
@@ -233,7 +233,7 @@ void NFSv4BreakdownAnalyzer::read40(const RPCProcedure* proc, const NFS4::READ4a
void NFSv4BreakdownAnalyzer::readdir40(const RPCProcedure* proc, const NFS4::READDIR4args*, const NFS4::READDIR4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::READDIR);
}
@@ -241,7 +241,7 @@ void NFSv4BreakdownAnalyzer::readdir40(const RPCProcedure* proc, const NFS4::REA
void NFSv4BreakdownAnalyzer::readlink40(const RPCProcedure* proc, const NFS4::READLINK4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::READLINK);
}
@@ -249,7 +249,7 @@ void NFSv4BreakdownAnalyzer::readlink40(const RPCProcedure* proc, const NFS4::RE
void NFSv4BreakdownAnalyzer::remove40(const RPCProcedure* proc, const NFS4::REMOVE4args*, const NFS4::REMOVE4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::REMOVE);
}
@@ -257,7 +257,7 @@ void NFSv4BreakdownAnalyzer::remove40(const RPCProcedure* proc, const NFS4::REMO
void NFSv4BreakdownAnalyzer::rename40(const RPCProcedure* proc, const NFS4::RENAME4args*, const NFS4::RENAME4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::RENAME);
}
@@ -265,7 +265,7 @@ void NFSv4BreakdownAnalyzer::rename40(const RPCProcedure* proc, const NFS4::RENA
void NFSv4BreakdownAnalyzer::renew40(const RPCProcedure* proc, const NFS4::RENEW4args*, const NFS4::RENEW4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::RENEW);
}
@@ -273,7 +273,7 @@ void NFSv4BreakdownAnalyzer::renew40(const RPCProcedure* proc, const NFS4::RENEW
void NFSv4BreakdownAnalyzer::restorefh40(const RPCProcedure* proc, const NFS4::RESTOREFH4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::RESTOREFH);
}
@@ -281,7 +281,7 @@ void NFSv4BreakdownAnalyzer::restorefh40(const RPCProcedure* proc, const NFS4::R
void NFSv4BreakdownAnalyzer::savefh40(const RPCProcedure* proc, const NFS4::SAVEFH4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::SAVEFH);
}
@@ -289,7 +289,7 @@ void NFSv4BreakdownAnalyzer::savefh40(const RPCProcedure* proc, const NFS4::SAVE
void NFSv4BreakdownAnalyzer::secinfo40(const RPCProcedure* proc, const NFS4::SECINFO4args*, const NFS4::SECINFO4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::SECINFO);
}
@@ -297,7 +297,7 @@ void NFSv4BreakdownAnalyzer::secinfo40(const RPCProcedure* proc, const NFS4::SEC
void NFSv4BreakdownAnalyzer::setattr40(const RPCProcedure* proc, const NFS4::SETATTR4args*, const NFS4::SETATTR4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::SETATTR);
}
@@ -305,7 +305,7 @@ void NFSv4BreakdownAnalyzer::setattr40(const RPCProcedure* proc, const NFS4::SET
void NFSv4BreakdownAnalyzer::setclientid40(const RPCProcedure* proc, const NFS4::SETCLIENTID4args*, const NFS4::SETCLIENTID4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::SETCLIENTID);
}
@@ -313,7 +313,7 @@ void NFSv4BreakdownAnalyzer::setclientid40(const RPCProcedure* proc, const NFS4:
void NFSv4BreakdownAnalyzer::setclientid_confirm40(const RPCProcedure* proc, const NFS4::SETCLIENTID_CONFIRM4args*, const NFS4::SETCLIENTID_CONFIRM4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::SETCLIENTID_CONFIRM);
}
@@ -321,7 +321,7 @@ void NFSv4BreakdownAnalyzer::setclientid_confirm40(const RPCProcedure* proc, con
void NFSv4BreakdownAnalyzer::verify40(const RPCProcedure* proc, const NFS4::VERIFY4args*, const NFS4::VERIFY4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::VERIFY);
}
@@ -329,7 +329,7 @@ void NFSv4BreakdownAnalyzer::verify40(const RPCProcedure* proc, const NFS4::VERI
void NFSv4BreakdownAnalyzer::write40(const RPCProcedure* proc, const NFS4::WRITE4args*, const NFS4::WRITE4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::WRITE);
}
@@ -337,7 +337,7 @@ void NFSv4BreakdownAnalyzer::write40(const RPCProcedure* proc, const NFS4::WRITE
void NFSv4BreakdownAnalyzer::release_lockowner40(const RPCProcedure* proc, const NFS4::RELEASE_LOCKOWNER4args*, const NFS4::RELEASE_LOCKOWNER4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::RELEASE_LOCKOWNER);
}
@@ -345,7 +345,7 @@ void NFSv4BreakdownAnalyzer::release_lockowner40(const RPCProcedure* proc, const
void NFSv4BreakdownAnalyzer::get_dir_delegation40(const RPCProcedure* proc, const NFS4::GET_DIR_DELEGATION4args*, const NFS4::GET_DIR_DELEGATION4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::GET_DIR_DELEGATION);
}
@@ -353,7 +353,7 @@ void NFSv4BreakdownAnalyzer::get_dir_delegation40(const RPCProcedure* proc, cons
void NFSv4BreakdownAnalyzer::illegal40(const RPCProcedure* proc, const NFS4::ILLEGAL4res* res)
{
- if (res)
+ if(res)
{
stats.account(proc, ProcEnumNFS4::NFSProcedure::ILLEGAL);
}
diff --git a/analyzers/src/breakdown/nfsv4breakdownanalyzer.h b/analyzers/src/breakdown/nfsv4breakdownanalyzer.h
index 14275e6..c74cdc4 100644
--- a/analyzers/src/breakdown/nfsv4breakdownanalyzer.h
+++ b/analyzers/src/breakdown/nfsv4breakdownanalyzer.h
@@ -31,7 +31,6 @@ namespace NST
{
namespace breakdown
{
-
/*! \brief Analyzer for NFS v4
* Handles NFS v4 commands
*/
@@ -39,9 +38,9 @@ class NFSv4BreakdownAnalyzer : virtual public IAnalyzer
{
protected:
private:
- Statistics compound_stats; //!< Statistics
- Statistics stats; //!< Statistics
- NFSv4Representer representer; //!< stream to output
+ Statistics compound_stats; //!< Statistics
+ Statistics stats; //!< Statistics
+ NFSv4Representer representer; //!< stream to output
public:
NFSv4BreakdownAnalyzer(std::ostream& o = std::cout);
@@ -50,7 +49,7 @@ public:
void null4(const RPCProcedure* proc,
const struct NFS4::NULL4args*,
const struct NFS4::NULL4res*) override final;
- void compound4(const RPCProcedure* proc,
+ void compound4(const RPCProcedure* proc,
const struct NFS4::COMPOUND4args*,
const struct NFS4::COMPOUND4res*) override final;
@@ -78,7 +77,7 @@ public:
void getattr40(const RPCProcedure* proc,
const struct NFS4::GETATTR4args*,
const struct NFS4::GETATTR4res* res) override final;
- void getfh40(const RPCProcedure* proc,
+ void getfh40(const RPCProcedure* proc,
const struct NFS4::GETFH4res* res) override final;
void link40(const RPCProcedure* proc,
const struct NFS4::LINK4args*,
@@ -95,7 +94,7 @@ public:
void lookup40(const RPCProcedure* proc,
const struct NFS4::LOOKUP4args*,
const struct NFS4::LOOKUP4res* res) override final;
- void lookupp40(const RPCProcedure* proc,
+ void lookupp40(const RPCProcedure* proc,
const struct NFS4::LOOKUPP4res* res) override final;
void nverify40(const RPCProcedure* proc,
const struct NFS4::NVERIFY4args*,
@@ -115,9 +114,9 @@ public:
void putfh40(const RPCProcedure* proc,
const struct NFS4::PUTFH4args*,
const struct NFS4::PUTFH4res* res) override final;
- void putpubfh40(const RPCProcedure* proc,
+ void putpubfh40(const RPCProcedure* proc,
const struct NFS4::PUTPUBFH4res* res) override final;
- void putrootfh40(const RPCProcedure* proc,
+ void putrootfh40(const RPCProcedure* proc,
const struct NFS4::PUTROOTFH4res* res) override final;
void read40(const RPCProcedure* proc,
const struct NFS4::READ4args*,
@@ -125,7 +124,7 @@ public:
void readdir40(const RPCProcedure* proc,
const struct NFS4::READDIR4args*,
const struct NFS4::READDIR4res* res) override final;
- void readlink40(const RPCProcedure* proc,
+ void readlink40(const RPCProcedure* proc,
const struct NFS4::READLINK4res* res) override final;
void remove40(const RPCProcedure* proc,
const struct NFS4::REMOVE4args*,
@@ -136,9 +135,9 @@ public:
void renew40(const RPCProcedure* proc,
const struct NFS4::RENEW4args*,
const struct NFS4::RENEW4res* res) override final;
- void restorefh40(const RPCProcedure* proc,
+ void restorefh40(const RPCProcedure* proc,
const struct NFS4::RESTOREFH4res* res) override final;
- void savefh40(const RPCProcedure* proc,
+ void savefh40(const RPCProcedure* proc,
const struct NFS4::SAVEFH4res* res) override final;
void secinfo40(const RPCProcedure* proc,
const struct NFS4::SECINFO4args*,
@@ -164,7 +163,7 @@ public:
void get_dir_delegation40(const RPCProcedure* proc,
const struct NFS4::GET_DIR_DELEGATION4args*,
const struct NFS4::GET_DIR_DELEGATION4res* res) override final;
- void illegal40(const RPCProcedure* proc,
+ void illegal40(const RPCProcedure* proc,
const struct NFS4::ILLEGAL4res* res) override final;
void flush_statistics() override;
};
@@ -172,5 +171,5 @@ public:
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//NFSV4BREAKDOWNANALYZER_H
+#endif //NFSV4BREAKDOWNANALYZER_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/nfsv4commands.h b/analyzers/src/breakdown/nfsv4commands.h
index 2fcfa0e..ac2789e 100644
--- a/analyzers/src/breakdown/nfsv4commands.h
+++ b/analyzers/src/breakdown/nfsv4commands.h
@@ -28,7 +28,6 @@ namespace NST
{
namespace breakdown
{
-
/*!
* Represents NFS v 4.0 commands
* Converts commands to string
@@ -38,12 +37,12 @@ class NFSv4Commands : public CommandRepresenter
public:
const char* command_description(int cmd_code) override final;
const char* command_name(int cmd_code) override final;
- size_t commands_count() override final;
- const char* protocol_name();
+ size_t commands_count() override final;
+ const char* protocol_name() override final;
};
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//NFSV4COMMANDS_H
+#endif //NFSV4COMMANDS_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/nfsv4representer.cpp b/analyzers/src/breakdown/nfsv4representer.cpp
index e6410b6..beac005 100644
--- a/analyzers/src/breakdown/nfsv4representer.cpp
+++ b/analyzers/src/breakdown/nfsv4representer.cpp
@@ -24,20 +24,21 @@
using namespace NST::breakdown;
//------------------------------------------------------------------------------
NFSv4Representer::NFSv4Representer(std::ostream& o, CommandRepresenter* cmdRep, size_t space_for_cmd_name, size_t count_of_compounds)
- : Representer(o, cmdRep, space_for_cmd_name), count_of_compounds(count_of_compounds)
+ : Representer(o, cmdRep, space_for_cmd_name)
+ , count_of_compounds(count_of_compounds)
{
}
void NFSv4Representer::onProcedureInfoPrinted(std::ostream& o, const BreakdownCounter& breakdown, unsigned procedure) const
{
- if (procedure == 0)
+ if(procedure == 0)
{
o << "Total procedures: " << breakdown.get_total_count()
- << ". Per procedure:" << std::endl;
+ << ". Per procedure:" << std::endl;
}
- if (procedure == count_of_compounds)
+ if(procedure == count_of_compounds)
{
o << "Total operations: " << breakdown.get_total_count()
- << ". Per operation:" << std::endl;
+ << ". Per operation:" << std::endl;
}
}
diff --git a/analyzers/src/breakdown/nfsv4representer.h b/analyzers/src/breakdown/nfsv4representer.h
index 5bda9b1..105aaa7 100644
--- a/analyzers/src/breakdown/nfsv4representer.h
+++ b/analyzers/src/breakdown/nfsv4representer.h
@@ -28,7 +28,6 @@ namespace NST
{
namespace breakdown
{
-
/**
* @brief The NFSv4Representer class
* Splits output into commands/operations lists for NFS v4.* protocols
@@ -36,6 +35,7 @@ namespace breakdown
class NFSv4Representer : public Representer
{
const size_t count_of_compounds;
+
public:
NFSv4Representer(std::ostream& o, CommandRepresenter* cmdRep, size_t space_for_cmd_name, size_t count_of_compounds);
void onProcedureInfoPrinted(std::ostream& o, const BreakdownCounter& breakdown, unsigned procedure) const override final;
@@ -44,5 +44,5 @@ public:
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//NFSV4REPRESENTER_H
+#endif //NFSV4REPRESENTER_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/representer.cpp b/analyzers/src/breakdown/representer.cpp
index ca33062..9f402a5 100644
--- a/analyzers/src/breakdown/representer.cpp
+++ b/analyzers/src/breakdown/representer.cpp
@@ -36,36 +36,33 @@ NST::breakdown::Representer::Representer(std::ostream& o, NST::breakdown::Comman
void Representer::flush_statistics(const Statistics& statistics)
{
- out << "### Breakdown analyzer ###"
- << std::endl
- << cmd_representer->protocol_name()
- << " protocol"
- << std::endl;
+ out << "### Breakdown analyzer ###" << std::endl
+ << cmd_representer->protocol_name() << " protocol";
- statistics.for_each_procedure([&](const BreakdownCounter& breakdown, size_t procedure)
+ if(statistics.has_session())
{
- onProcedureInfoPrinted(out, breakdown, procedure);
- size_t procedure_count = breakdown[procedure].get_count();
- out.width(space_for_cmd_name);
- out << std::left
- << cmd_representer->command_name(procedure);
- out.width(5);
- out << std::right
- << procedure_count;
- out.width(7);
- out.setf(std::ios::fixed, std::ios::floatfield);
- out.precision(2);
- out << (breakdown.get_total_count() ? ((1.0 * procedure_count / breakdown.get_total_count()) * 100.0) : 0);
- out.setf(std::ios::fixed | std::ios::scientific , std::ios::floatfield);
- out << '%' << std::endl;
- });
+ out << std::endl;
+
+ statistics.for_each_procedure([&](const BreakdownCounter& breakdown, size_t procedure) {
+ onProcedureInfoPrinted(out, breakdown, procedure);
+ size_t procedure_count = breakdown[procedure].get_count();
+ out.width(space_for_cmd_name);
+ out << std::left
+ << cmd_representer->command_name(procedure);
+ out.width(5);
+ out << std::right
+ << procedure_count;
+ out.width(7);
+ out.setf(std::ios::fixed, std::ios::floatfield);
+ out.precision(2);
+ out << (breakdown.get_total_count() ? ((1.0 * procedure_count / breakdown.get_total_count()) * 100.0) : 0);
+ out.setf(std::ios::fixed | std::ios::scientific, std::ios::floatfield);
+ out << '%' << std::endl;
+ });
- if (statistics.has_session()) // is not empty?
- {
out << "Per connection info: " << std::endl;
- statistics.for_each_session([&](const Session& session)
- {
+ statistics.for_each_session([&](const Session& session) {
std::stringstream ssession;
print_session(ssession, session);
print_per_session(statistics, session, ssession.str());
@@ -73,6 +70,10 @@ void Representer::flush_statistics(const Statistics& statistics)
store_per_session(file, statistics, session, ssession.str());
});
}
+ else
+ {
+ out << ": Data transmission has not been detected." << std::endl;
+ }
}
void Representer::store_per_session(std::ostream& file, const Statistics& statistics, const Session& session, const std::string& ssession) const
@@ -80,8 +81,7 @@ void Representer::store_per_session(std::ostream& file, const Statistics& statis
//TODO: does it make sense to join store_per_session & print_per_session?
file << "Session: " << ssession << std::endl;
- statistics.for_each_procedure_in_session(session, [&](const BreakdownCounter& breakdown, size_t procedure)
- {
+ statistics.for_each_procedure_in_session(session, [&](const BreakdownCounter& breakdown, size_t procedure) {
uint64_t s_total_proc = breakdown.get_total_count();
file << cmd_representer->command_name(procedure);
file << ' ' << breakdown[procedure].get_count() << ' ';
@@ -98,8 +98,7 @@ void Representer::print_per_session(const Statistics& statistics, const Session&
{
out << "Session: " << ssession << std::endl;
- statistics.for_each_procedure_in_session(session, [&](const BreakdownCounter& breakdown, size_t procedure)
- {
+ statistics.for_each_procedure_in_session(session, [&](const BreakdownCounter& breakdown, size_t procedure) {
uint64_t s_total_proc = breakdown.get_total_count();
onProcedureInfoPrinted(out, breakdown, procedure);
out.width(22);
@@ -136,10 +135,10 @@ void Representer::print_per_session(const Statistics& statistics, const Session&
void Representer::onProcedureInfoPrinted(std::ostream& o, const BreakdownCounter& breakdown, unsigned procedure) const
{
- if (procedure == 0)
+ if(procedure == 0)
{
o << "Total operations: " << breakdown.get_total_count()
- << ". Per operation:" << std::endl;
+ << ". Per operation:" << std::endl;
}
}
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/representer.h b/analyzers/src/breakdown/representer.h
index 3a216ca..edde03d 100644
--- a/analyzers/src/breakdown/representer.h
+++ b/analyzers/src/breakdown/representer.h
@@ -25,29 +25,29 @@
#include <memory>
#include <ostream>
-#include "commandrepresenter.h"
#include "breakdowncounter.h"
+#include "commandrepresenter.h"
#include "statistics.h"
//------------------------------------------------------------------------------
namespace NST
{
namespace breakdown
{
-
/*! \class Represents statistics and sends it to screen
*/
class Representer
{
- std::ostream& out;
+ std::ostream& out;
std::unique_ptr<CommandRepresenter> cmd_representer;
- size_t space_for_cmd_name;
+ size_t space_for_cmd_name;
- void store_per_session(std::ostream& file,
- const Statistics& statistics,
- const Session& session,
+ void store_per_session(std::ostream& file,
+ const Statistics& statistics,
+ const Session& session,
const std::string& ssession) const;
void print_per_session(const Statistics& statistics, const Session& session, const std::string& ssession) const;
+
protected:
/**
* @brief handler of one procedure output event
@@ -56,6 +56,7 @@ protected:
* @param procedure - procedure ID
*/
virtual void onProcedureInfoPrinted(std::ostream& o, const BreakdownCounter& breakdown, unsigned procedure) const;
+
public:
/**
* @brief Representer's constructor
@@ -75,5 +76,5 @@ public:
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//REPRESENTER_H
+#endif //REPRESENTER_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/statistics.cpp b/analyzers/src/breakdown/statistics.cpp
index 5cbf51b..c392ac1 100644
--- a/analyzers/src/breakdown/statistics.cpp
+++ b/analyzers/src/breakdown/statistics.cpp
@@ -25,15 +25,13 @@ using namespace NST::breakdown;
//------------------------------------------------------------------------------
bool Less::operator()(const Session& a, const Session& b) const
{
- return ( (std::uint16_t)(a.ip_type) < (std::uint16_t)(b.ip_type) ) || // compare versions of IP address
- ( ntohs(a.port[0]) < ntohs(b.port[0]) ) || // compare Source(client) ports
- ( ntohs(a.port[1]) < ntohs(b.port[1]) ) || // compare Destination(server) ports
+ return ((std::uint16_t)(a.ip_type) < (std::uint16_t)(b.ip_type)) || // compare versions of IP address
+ (ntohs(a.port[0]) < ntohs(b.port[0])) || // compare Source(client) ports
+ (ntohs(a.port[1]) < ntohs(b.port[1])) || // compare Destination(server) ports
- ( (a.ip_type == Session::IPType::v4) ? // compare IPv4
- ((ntohl(a.ip.v4.addr[0]) < ntohl(b.ip.v4.addr[0])) || (ntohl(a.ip.v4.addr[1]) < ntohl(b.ip.v4.addr[1])))
- :
- (memcmp(&a.ip.v6, &b.ip.v6, sizeof(a.ip.v6)) < 0 )
- );
+ ((a.ip_type == Session::IPType::v4) ? // compare IPv4
+ ((ntohl(a.ip.v4.addr[0]) < ntohl(b.ip.v4.addr[0])) || (ntohl(a.ip.v4.addr[1]) < ntohl(b.ip.v4.addr[1])))
+ : (memcmp(&a.ip.v6, &b.ip.v6, sizeof(a.ip.v6)) < 0));
}
Statistics::Statistics(size_t proc_types_count)
@@ -42,31 +40,31 @@ Statistics::Statistics(size_t proc_types_count)
{
}
-void Statistics::for_each_procedure(std::function<void (const BreakdownCounter&, size_t)> on_procedure) const
+void Statistics::for_each_procedure(std::function<void(const BreakdownCounter&, size_t)> on_procedure) const
{
- for (size_t procedure = 0; procedure < proc_types_count; ++procedure)
+ for(size_t procedure = 0; procedure < proc_types_count; ++procedure)
{
on_procedure(counter, procedure);
}
}
-void Statistics::for_each_session(std::function<void (const Session&)> on_session) const
+void Statistics::for_each_session(std::function<void(const Session&)> on_session) const
{
- for (auto& it : per_session_statistics)
+ for(auto& it : per_session_statistics)
{
on_session(it.first);
}
}
-void Statistics::for_each_procedure_in_session(const Session& session, std::function<void (const BreakdownCounter&, size_t)> on_procedure) const
+void Statistics::for_each_procedure_in_session(const Session& session, std::function<void(const BreakdownCounter&, size_t)> on_procedure) const
{
- if (per_session_statistics.find(session) == per_session_statistics.end())
+ if(per_session_statistics.find(session) == per_session_statistics.end())
{
return;
}
const BreakdownCounter& current = per_session_statistics.at(session);
- for (size_t procedure = 0; procedure < proc_types_count; ++procedure)
+ for(size_t procedure = 0; procedure < proc_types_count; ++procedure)
{
on_procedure(current, procedure);
}
@@ -82,10 +80,10 @@ void Statistics::account(const int cmd_index, const Session& session, const time
counter[cmd_index].add(latency);
auto i = per_session_statistics.find(session);
- if (i == per_session_statistics.end())
+ if(i == per_session_statistics.end())
{
- auto session_res = per_session_statistics.emplace(session, BreakdownCounter {proc_types_count});
- if (session_res.second == false)
+ auto session_res = per_session_statistics.emplace(session, BreakdownCounter{proc_types_count});
+ if(session_res.second == false)
{
return;
}
@@ -93,6 +91,5 @@ void Statistics::account(const int cmd_index, const Session& session, const time
}
(i->second)[cmd_index].add(latency);
-
}
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/statistics.h b/analyzers/src/breakdown/statistics.h
index 6202386..aac0a99 100644
--- a/analyzers/src/breakdown/statistics.h
+++ b/analyzers/src/breakdown/statistics.h
@@ -33,12 +33,11 @@ namespace NST
{
namespace breakdown
{
-
/*! \brief Comparator for sessions
*/
struct Less
{
- bool operator() (const Session& a, const Session& b) const;
+ bool operator()(const Session& a, const Session& b) const;
};
/*! \brief All statistics data's container
@@ -46,7 +45,7 @@ struct Less
struct Statistics
{
using PerSessionStatistics = std::map<Session, BreakdownCounter, Less>;
- using ProceduresCount = std::vector<int>;
+ using ProceduresCount = std::vector<int>;
const size_t proc_types_count; //!< Count of types of procedures
@@ -86,27 +85,28 @@ struct Statistics
* @param cmd_code - commands code
* @param stats - statistics
*/
- template<typename Cmd, typename Code>
+ template <typename Cmd, typename Code>
void account(const Cmd* proc, Code cmd_code)
{
- timeval latency {0, 0};
- const int cmd_index = static_cast<int>(cmd_code);
- const Session& session = *proc->session;
+ timeval latency{0, 0};
+ const int cmd_index = static_cast<int>(cmd_code);
+ const Session& session = *proc->session;
// diff between 'reply' and 'call' timestamps
timersub(proc->rtimestamp, proc->ctimestamp, &latency);
account(cmd_index, session, latency);
}
+
protected:
void account(const int cmd_index, const Session& session, const timeval latency);
- BreakdownCounter counter; //!< Statistics for all sessions
+ BreakdownCounter counter; //!< Statistics for all sessions
PerSessionStatistics per_session_statistics; //!< Statistics for each session
};
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//STATISTICS_H
+#endif //STATISTICS_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/breakdown/statisticscompositor.cpp b/analyzers/src/breakdown/statisticscompositor.cpp
index 653c1df..c322bac 100644
--- a/analyzers/src/breakdown/statisticscompositor.cpp
+++ b/analyzers/src/breakdown/statisticscompositor.cpp
@@ -29,12 +29,11 @@ StatisticsCompositor::StatisticsCompositor(Statistics& procedures_stats, Statist
: Statistics(operations_stats)
, procedures_stats(procedures_stats)
{
- procedures_stats.for_each_session([&](const Session& session)
- {
+ procedures_stats.for_each_session([&](const Session& session) {
auto i = per_session_statistics.find(session);
- if (i == per_session_statistics.end())
+ if(i == per_session_statistics.end())
{
- per_session_statistics.emplace(session, BreakdownCounter {proc_types_count});
+ per_session_statistics.emplace(session, BreakdownCounter{proc_types_count});
}
});
}
@@ -45,33 +44,32 @@ void StatisticsCompositor::for_each_procedure(std::function<void(const Breakdown
procedures_stats.for_each_procedure(on_procedure);
- for (size_t procedure = procedures_stats.proc_types_count; procedure < proc_types_count; ++procedure)
+ for(size_t procedure = procedures_stats.proc_types_count; procedure < proc_types_count; ++procedure)
{
on_procedure(counter, procedure);
}
}
-void StatisticsCompositor::for_each_procedure_in_session(const Session& session, std::function<void (const BreakdownCounter&, size_t)> on_procedure) const
+void StatisticsCompositor::for_each_procedure_in_session(const Session& session, std::function<void(const BreakdownCounter&, size_t)> on_procedure) const
{
bool has_procedures_in_session = false;
- procedures_stats.for_each_procedure_in_session(session, [&](const BreakdownCounter& breakdown, size_t proc)
- {
+ procedures_stats.for_each_procedure_in_session(session, [&](const BreakdownCounter& breakdown, size_t proc) {
on_procedure(breakdown, proc);
has_procedures_in_session = true;
});
- if (!has_procedures_in_session)
+ if(!has_procedures_in_session)
{
BreakdownCounter empty(procedures_stats.proc_types_count);
- for (size_t procedure = 0; procedure < procedures_stats.proc_types_count; ++procedure)
+ for(size_t procedure = 0; procedure < procedures_stats.proc_types_count; ++procedure)
{
on_procedure(empty, procedure);
}
}
const BreakdownCounter& current = per_session_statistics.at(session);
- for (size_t procedure = procedures_stats.proc_types_count; procedure < proc_types_count; ++procedure)
+ for(size_t procedure = procedures_stats.proc_types_count; procedure < proc_types_count; ++procedure)
{
on_procedure(current, procedure);
}
diff --git a/analyzers/src/breakdown/statisticscompositor.h b/analyzers/src/breakdown/statisticscompositor.h
index 3b73182..908c4d0 100644
--- a/analyzers/src/breakdown/statisticscompositor.h
+++ b/analyzers/src/breakdown/statisticscompositor.h
@@ -28,7 +28,6 @@ namespace NST
{
namespace breakdown
{
-
/**
* @brief Composes 2 statistics: for procedures and functions
* It is useful for NFS v4.* protocols
@@ -36,6 +35,7 @@ namespace breakdown
class StatisticsCompositor : public Statistics
{
Statistics& procedures_stats;
+
public:
StatisticsCompositor(Statistics& procedures_stats, Statistics& operations_stats);
void for_each_procedure(std::function<void(const BreakdownCounter&, size_t)> on_procedure) const override;
@@ -46,5 +46,5 @@ public:
} // namespace breakdown
} // namespace NST
//------------------------------------------------------------------------------
-#endif//STATISTICSCOMPOSITOR_H
+#endif //STATISTICSCOMPOSITOR_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/json/abstract_tcp_service.cpp b/analyzers/src/json/abstract_tcp_service.cpp
index 15cd7e1..c04d20f 100644
--- a/analyzers/src/json/abstract_tcp_service.cpp
+++ b/analyzers/src/json/abstract_tcp_service.cpp
@@ -23,32 +23,32 @@
#include <functional>
#include <system_error>
-#include <sys/types.h>
#include <sys/socket.h>
+#include <sys/types.h>
#include <unistd.h>
#include "abstract_tcp_service.h"
#include "utils/log.h"
//------------------------------------------------------------------------------
-AbstractTcpService::AbstractTcpService(std::size_t workersAmount, int port, const std::string& host, int backlog) :
- _port{port},
- _host{host},
- _backlog{backlog},
- _isRunning{true},
- _threadPool{workersAmount},
- _listenerThread{},
- _serverSocket{0},
- _tasksQueue{},
- _tasksQueueMutex{},
- _tasksQueueCond{}
+AbstractTcpService::AbstractTcpService(std::size_t workersAmount, int port, const std::string& host, int backlog)
+ : _port{port}
+ , _host{host}
+ , _backlog{backlog}
+ , _isRunning{true}
+ , _threadPool{workersAmount}
+ , _listenerThread{}
+ , _serverSocket{0}
+ , _tasksQueue{}
+ , _tasksQueueMutex{}
+ , _tasksQueueCond{}
{
}
AbstractTcpService::~AbstractTcpService()
{
// Disposing tasks which are still in queue
- while (!_tasksQueue.empty())
+ while(!_tasksQueue.empty())
{
delete _tasksQueue.front();
_tasksQueue.pop();
@@ -60,29 +60,29 @@ void AbstractTcpService::start()
_isRunning = true;
// Setting up server TCP-socket
_serverSocket = socket(PF_INET, SOCK_STREAM, 0);
- if (_serverSocket < 0)
+ if(_serverSocket < 0)
{
throw std::system_error{errno, std::system_category(), "Opening server socket error"};
}
// Setting SO_REUSEADDR to true
int reuseAddr = 1;
- if (setsockopt(_serverSocket, SOL_SOCKET, SO_REUSEADDR, &reuseAddr, sizeof(reuseAddr)) < 0)
+ if(setsockopt(_serverSocket, SOL_SOCKET, SO_REUSEADDR, &reuseAddr, sizeof(reuseAddr)) < 0)
{
throw std::system_error{errno, std::system_category(), "Setting SO_REUSEADDR socket option error"};
}
// Binding server socket to endpoint
IpEndpoint endpoint{_host.c_str(), _port};
- if (bind(_serverSocket, endpoint.addrinfo()->ai_addr, endpoint.addrinfo()->ai_addrlen) != 0)
+ if(bind(_serverSocket, endpoint.addrinfo()->ai_addr, endpoint.addrinfo()->ai_addrlen) != 0)
{
throw std::system_error{errno, std::system_category(), "Binding server socket error"};
}
// Converting socket to listening state
- if (listen(_serverSocket, _backlog) != 0)
+ if(listen(_serverSocket, _backlog) != 0)
{
throw std::system_error{errno, std::system_category(), "Converting socket to listening state error"};
}
// Creating threads for thread-pool
- for (auto & thr : _threadPool)
+ for(auto& thr : _threadPool)
{
thr = std::thread{&AbstractTcpService::runWorker, this};
}
@@ -98,7 +98,7 @@ void AbstractTcpService::stop()
_tasksQueueCond.notify_all();
}
// Joining to thread-pool threads and disposing them
- for (auto & thr : _threadPool)
+ for(auto& thr : _threadPool)
{
thr.join();
}
@@ -109,18 +109,18 @@ void AbstractTcpService::stop()
void AbstractTcpService::runWorker()
{
- while (true)
+ while(true)
{
std::unique_ptr<AbstractTask> pendingTask;
{
std::unique_lock<std::mutex> lock{_tasksQueueMutex};
- while (!pendingTask)
+ while(!pendingTask)
{
- if (!_isRunning.load())
+ if(!_isRunning.load())
{
return;
}
- if (!_tasksQueue.empty())
+ if(!_tasksQueue.empty())
{
pendingTask.reset(_tasksQueue.front());
_tasksQueue.pop();
@@ -137,7 +137,7 @@ void AbstractTcpService::runWorker()
void AbstractTcpService::runListener()
{
- while (_isRunning.load())
+ while(_isRunning.load())
{
// Accepting incoming connection on socket
struct timespec acceptDuration;
@@ -146,19 +146,19 @@ void AbstractTcpService::runListener()
FD_ZERO(&readDescriptorsSet);
FD_SET(_serverSocket, &readDescriptorsSet);
int descriptorsCount = pselect(_serverSocket + 1, &readDescriptorsSet, NULL, NULL, &acceptDuration, NULL);
- if (descriptorsCount == 0)
+ if(descriptorsCount == 0)
{
// Timeout expired
continue;
}
- else if (descriptorsCount < 0)
+ else if(descriptorsCount < 0)
{
std::system_error e{errno, std::system_category(), "Awaiting for incoming connection on server socket error"};
LOG("ERROR: %s", e.what());
#ifdef __gnu_linux__
// Several first pselect(2) calls cause "Interrupted system call" error (errno == EINTR)
// if drop privileges option is used on Linux (see https://access.redhat.com/solutions/165483)
- if (errno == EINTR)
+ if(errno == EINTR)
{
continue;
}
@@ -167,7 +167,7 @@ void AbstractTcpService::runListener()
}
// Extracting and returning pending connection
int pendingSocketDescriptor = accept(_serverSocket, NULL, NULL);
- if (pendingSocketDescriptor < 0)
+ if(pendingSocketDescriptor < 0)
{
std::system_error e{errno, std::system_category(), "Accepting incoming connection on server socket error"};
LOG("ERROR: %s", e.what());
@@ -177,7 +177,7 @@ void AbstractTcpService::runListener()
std::unique_ptr<AbstractTask> newTask{createTask(pendingSocketDescriptor)};
{
std::unique_lock<std::mutex> lock(_tasksQueueMutex);
- if (_tasksQueue.size() < MaxTasksQueueSize)
+ if(_tasksQueue.size() < MaxTasksQueueSize)
{
_tasksQueue.push(newTask.get());
newTask.release();
@@ -193,9 +193,10 @@ void AbstractTcpService::runListener()
//------------------------------------------------------------------------------
-AbstractTcpService::AbstractTask::AbstractTask(int socket) :
- _socket{socket}
-{}
+AbstractTcpService::AbstractTask::AbstractTask(int socket)
+ : _socket{socket}
+{
+}
AbstractTcpService::AbstractTask::~AbstractTask()
{
diff --git a/analyzers/src/json/abstract_tcp_service.h b/analyzers/src/json/abstract_tcp_service.h
index 8ef0e00..ef43648 100644
--- a/analyzers/src/json/abstract_tcp_service.h
+++ b/analyzers/src/json/abstract_tcp_service.h
@@ -23,11 +23,11 @@
#define ABSTRACT_TCP_SERVICE_H
//------------------------------------------------------------------------------
#include <atomic>
-#include <condition_variable>
#include <mutex>
#include <queue>
#include <thread>
#include <vector>
+#include <condition_variable>
#include "ip_endpoint.h"
//------------------------------------------------------------------------------
@@ -64,7 +64,7 @@ public:
//! Fills 'struct timespec' value using clock timeout
inline static void fillDuration(struct timespec& ts)
{
- ts.tv_sec = ClockTimeoutMs / 1000;
+ ts.tv_sec = ClockTimeoutMs / 1000;
ts.tv_nsec = ClockTimeoutMs % 1000 * 1000000;
}
@@ -72,6 +72,7 @@ public:
virtual void start();
//! Stops TCP-service
virtual void stop();
+
protected:
//! Asbtract TCP-service task
class AbstractTask
@@ -94,34 +95,36 @@ protected:
//! Task execution pure virtual method to override
virtual void execute() = 0;
+
private:
int _socket;
};
virtual AbstractTask* createTask(int socket) = 0;
+
private:
using ThreadPool = std::vector<std::thread>;
- static constexpr int ClockTimeoutMs = 100;
- static constexpr std::size_t ReadBufferSize = 1024;
- static constexpr std::size_t WriteBufferSize = 4096;
- static constexpr std::size_t HeaderPartSize = 1024;
- static constexpr int MaxTasksQueueSize = 128;
+ static constexpr int ClockTimeoutMs = 100;
+ static constexpr std::size_t ReadBufferSize = 1024;
+ static constexpr std::size_t WriteBufferSize = 4096;
+ static constexpr std::size_t HeaderPartSize = 1024;
+ static constexpr int MaxTasksQueueSize = 128;
void runWorker();
void runListener();
- const int _port;
- const std::string _host;
- const int _backlog;
- std::atomic_bool _isRunning;
- ThreadPool _threadPool;
- std::thread _listenerThread;
- int _serverSocket;
+ const int _port;
+ const std::string _host;
+ const int _backlog;
+ std::atomic_bool _isRunning;
+ ThreadPool _threadPool;
+ std::thread _listenerThread;
+ int _serverSocket;
std::queue<AbstractTask*> _tasksQueue;
- std::mutex _tasksQueueMutex;
- std::condition_variable _tasksQueueCond;
+ std::mutex _tasksQueueMutex;
+ std::condition_variable _tasksQueueCond;
};
//------------------------------------------------------------------------------
-#endif//ABSTRACT_TCP_SERVICE_H
+#endif //ABSTRACT_TCP_SERVICE_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/json/ip_endpoint.cpp b/analyzers/src/json/ip_endpoint.cpp
index 777d16b..85f5d81 100644
--- a/analyzers/src/json/ip_endpoint.cpp
+++ b/analyzers/src/json/ip_endpoint.cpp
@@ -27,30 +27,30 @@
#include "ip_endpoint.h"
//------------------------------------------------------------------------------
-IpEndpoint::IpEndpoint(const std::string& host, int port, bool hostAsAddress) :
- _addrinfo{}
+IpEndpoint::IpEndpoint(const std::string& host, int port, bool hostAsAddress)
+ : _addrinfo{}
{
struct addrinfo hints;
memset(&hints, 0, sizeof hints);
- hints.ai_family = AF_INET;
+ hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags |= AI_NUMERICSERV;
std::string serviceStr{std::to_string(port)};
- if (host == WildcardAddress)
+ if(host == WildcardAddress)
{
hints.ai_flags |= AI_PASSIVE;
}
- if ((host != WildcardAddress) && (host != LoopbackAddress))
+ if((host != WildcardAddress) && (host != LoopbackAddress))
{
hints.ai_flags |= AI_CANONNAME;
- if (hostAsAddress)
+ if(hostAsAddress)
{
hints.ai_flags |= AI_NUMERICHOST;
}
}
int status = getaddrinfo((host == LoopbackAddress) || (host == WildcardAddress) ? nullptr : host.c_str(),
serviceStr.c_str(), &hints, &_addrinfo);
- if (status != 0)
+ if(status != 0)
{
throw std::runtime_error{gai_strerror(status)};
}
diff --git a/analyzers/src/json/ip_endpoint.h b/analyzers/src/json/ip_endpoint.h
index a45c5f2..a64f114 100644
--- a/analyzers/src/json/ip_endpoint.h
+++ b/analyzers/src/json/ip_endpoint.h
@@ -51,9 +51,10 @@ public:
{
return _addrinfo;
}
+
private:
struct addrinfo* _addrinfo;
};
//------------------------------------------------------------------------------
-#endif//IP_ENDPOINT_H
+#endif //IP_ENDPOINT_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/json/json_analyzer.cpp b/analyzers/src/json/json_analyzer.cpp
index de6a1ab..657a783 100644
--- a/analyzers/src/json/json_analyzer.cpp
+++ b/analyzers/src/json/json_analyzer.cpp
@@ -22,11 +22,11 @@
#include "json_analyzer.h"
//------------------------------------------------------------------------------
-JsonAnalyzer::JsonAnalyzer(std::size_t workersAmount, int port, const std::string& host, std::size_t maxServingDurationMs, int backlog) :
- _jsonTcpService{*this, workersAmount, port, host, maxServingDurationMs, backlog},
- _nfsV3Stat{},
- _nfsV40Stat{},
- _nfsV41Stat{}
+JsonAnalyzer::JsonAnalyzer(std::size_t workersAmount, int port, const std::string& host, std::size_t maxServingDurationMs, int backlog)
+ : _jsonTcpService{*this, workersAmount, port, host, maxServingDurationMs, backlog}
+ , _nfsV3Stat{}
+ , _nfsV40Stat{}
+ , _nfsV41Stat{}
{
_jsonTcpService.start();
}
@@ -37,7 +37,7 @@ JsonAnalyzer::~JsonAnalyzer()
}
// NFS3
-// Procedures:
+// Procedures:
void JsonAnalyzer::null(const RPCProcedure* /*proc*/,
const struct NFS3::NULL3args* /*args*/,
@@ -194,7 +194,7 @@ void JsonAnalyzer::commit3(const RPCProcedure* /*proc*/,
}
// NFS4.0
-// Procedures:
+// Procedures:
void JsonAnalyzer::null4(const RPCProcedure* /*proc*/,
const struct NFS4::NULL4args* /*args*/,
@@ -477,8 +477,8 @@ void JsonAnalyzer::illegal40(const RPCProcedure* /* proc */,
}
// NFS4.1
-// Procedures:
-
+// Procedures:
+
void JsonAnalyzer::compound41(const RPCProcedure* /*proc*/,
const struct NFS41::COMPOUND4args* /*args*/,
const struct NFS41::COMPOUND4res* /*res*/)
@@ -748,7 +748,7 @@ void JsonAnalyzer::backchannel_ctl41(const RPCProcedure* /* proc */,
}
void JsonAnalyzer::bind_conn_to_session41(const RPCProcedure* /* proc */,
- const struct NFS41::BIND_CONN_TO_SESSION4args* /* args */,
+ const struct NFS41::BIND_CONN_TO_SESSION4args* /* args */,
const struct NFS41::BIND_CONN_TO_SESSION4res* res)
{
if(res) _nfsV41Stat.bind_conn_to_sessionOpsAmount++;
diff --git a/analyzers/src/json/json_analyzer.h b/analyzers/src/json/json_analyzer.h
index ca7eed3..ea161c0 100644
--- a/analyzers/src/json/json_analyzer.h
+++ b/analyzers/src/json/json_analyzer.h
@@ -35,140 +35,140 @@ public:
struct NfsV3Stat
{
// Procedures:
- std::atomic_int nullProcsAmount = {0};
- std::atomic_int getattrProcsAmount = {0};
- std::atomic_int setattrProcsAmount = {0};
- std::atomic_int lookupProcsAmount = {0};
- std::atomic_int accessProcsAmount = {0};
- std::atomic_int readlinkProcsAmount = {0};
- std::atomic_int readProcsAmount = {0};
- std::atomic_int writeProcsAmount = {0};
- std::atomic_int createProcsAmount = {0};
- std::atomic_int mkdirProcsAmount = {0};
- std::atomic_int symlinkProcsAmount = {0};
- std::atomic_int mknodProcsAmount = {0};
- std::atomic_int removeProcsAmount = {0};
- std::atomic_int rmdirProcsAmount = {0};
- std::atomic_int renameProcsAmount = {0};
- std::atomic_int linkProcsAmount = {0};
- std::atomic_int readdirProcsAmount = {0};
+ std::atomic_int nullProcsAmount = {0};
+ std::atomic_int getattrProcsAmount = {0};
+ std::atomic_int setattrProcsAmount = {0};
+ std::atomic_int lookupProcsAmount = {0};
+ std::atomic_int accessProcsAmount = {0};
+ std::atomic_int readlinkProcsAmount = {0};
+ std::atomic_int readProcsAmount = {0};
+ std::atomic_int writeProcsAmount = {0};
+ std::atomic_int createProcsAmount = {0};
+ std::atomic_int mkdirProcsAmount = {0};
+ std::atomic_int symlinkProcsAmount = {0};
+ std::atomic_int mknodProcsAmount = {0};
+ std::atomic_int removeProcsAmount = {0};
+ std::atomic_int rmdirProcsAmount = {0};
+ std::atomic_int renameProcsAmount = {0};
+ std::atomic_int linkProcsAmount = {0};
+ std::atomic_int readdirProcsAmount = {0};
std::atomic_int readdirplusProcsAmount = {0};
- std::atomic_int fsstatProcsAmount = {0};
- std::atomic_int fsinfoProcsAmount = {0};
- std::atomic_int pathconfProcsAmount = {0};
- std::atomic_int commitProcsAmount = {0};
+ std::atomic_int fsstatProcsAmount = {0};
+ std::atomic_int fsinfoProcsAmount = {0};
+ std::atomic_int pathconfProcsAmount = {0};
+ std::atomic_int commitProcsAmount = {0};
};
struct NfsV40Stat
{
// Procedures:
- std::atomic_int nullProcsAmount = {0};
+ std::atomic_int nullProcsAmount = {0};
std::atomic_int compoundProcsAmount = {0};
// Operations:
- std::atomic_int accessOpsAmount = {0};
- std::atomic_int closeOpsAmount = {0};
- std::atomic_int commitOpsAmount = {0};
- std::atomic_int createOpsAmount = {0};
- std::atomic_int delegpurgeOpsAmount = {0};
- std::atomic_int delegreturnOpsAmount = {0};
- std::atomic_int getattrOpsAmount = {0};
- std::atomic_int getfhOpsAmount = {0};
- std::atomic_int linkOpsAmount = {0};
- std::atomic_int lockOpsAmount = {0};
- std::atomic_int locktOpsAmount = {0};
- std::atomic_int lockuOpsAmount = {0};
- std::atomic_int lookupOpsAmount = {0};
- std::atomic_int lookuppOpsAmount = {0};
- std::atomic_int nverifyOpsAmount = {0};
- std::atomic_int openOpsAmount = {0};
- std::atomic_int openattrOpsAmount = {0};
- std::atomic_int open_confirmOpsAmount = {0};
- std::atomic_int open_downgradeOpsAmount = {0};
- std::atomic_int putfhOpsAmount = {0};
- std::atomic_int putpubfhOpsAmount = {0};
- std::atomic_int putrootfhOpsAmount = {0};
- std::atomic_int readOpsAmount = {0};
- std::atomic_int readdirOpsAmount = {0};
- std::atomic_int readlinkOpsAmount = {0};
- std::atomic_int removeOpsAmount = {0};
- std::atomic_int renameOpsAmount = {0};
- std::atomic_int renewOpsAmount = {0};
- std::atomic_int restorefhOpsAmount = {0};
- std::atomic_int savefhOpsAmount = {0};
- std::atomic_int secinfoOpsAmount = {0};
- std::atomic_int setattrOpsAmount = {0};
- std::atomic_int setclientidOpsAmount = {0};
+ std::atomic_int accessOpsAmount = {0};
+ std::atomic_int closeOpsAmount = {0};
+ std::atomic_int commitOpsAmount = {0};
+ std::atomic_int createOpsAmount = {0};
+ std::atomic_int delegpurgeOpsAmount = {0};
+ std::atomic_int delegreturnOpsAmount = {0};
+ std::atomic_int getattrOpsAmount = {0};
+ std::atomic_int getfhOpsAmount = {0};
+ std::atomic_int linkOpsAmount = {0};
+ std::atomic_int lockOpsAmount = {0};
+ std::atomic_int locktOpsAmount = {0};
+ std::atomic_int lockuOpsAmount = {0};
+ std::atomic_int lookupOpsAmount = {0};
+ std::atomic_int lookuppOpsAmount = {0};
+ std::atomic_int nverifyOpsAmount = {0};
+ std::atomic_int openOpsAmount = {0};
+ std::atomic_int openattrOpsAmount = {0};
+ std::atomic_int open_confirmOpsAmount = {0};
+ std::atomic_int open_downgradeOpsAmount = {0};
+ std::atomic_int putfhOpsAmount = {0};
+ std::atomic_int putpubfhOpsAmount = {0};
+ std::atomic_int putrootfhOpsAmount = {0};
+ std::atomic_int readOpsAmount = {0};
+ std::atomic_int readdirOpsAmount = {0};
+ std::atomic_int readlinkOpsAmount = {0};
+ std::atomic_int removeOpsAmount = {0};
+ std::atomic_int renameOpsAmount = {0};
+ std::atomic_int renewOpsAmount = {0};
+ std::atomic_int restorefhOpsAmount = {0};
+ std::atomic_int savefhOpsAmount = {0};
+ std::atomic_int secinfoOpsAmount = {0};
+ std::atomic_int setattrOpsAmount = {0};
+ std::atomic_int setclientidOpsAmount = {0};
std::atomic_int setclientid_confirmOpsAmount = {0};
- std::atomic_int verifyOpsAmount = {0};
- std::atomic_int writeOpsAmount = {0};
- std::atomic_int release_lockownerOpsAmount = {0};
- std::atomic_int get_dir_delegationOpsAmount = {0};
- std::atomic_int illegalOpsAmount = {0};
+ std::atomic_int verifyOpsAmount = {0};
+ std::atomic_int writeOpsAmount = {0};
+ std::atomic_int release_lockownerOpsAmount = {0};
+ std::atomic_int get_dir_delegationOpsAmount = {0};
+ std::atomic_int illegalOpsAmount = {0};
};
struct NfsV41Stat
{
// Procedures:
- std::atomic_int nullProcsAmount = {0};
+ std::atomic_int nullProcsAmount = {0};
std::atomic_int compoundProcsAmount = {0};
// Operations:
- std::atomic_int accessOpsAmount = {0};
- std::atomic_int closeOpsAmount = {0};
- std::atomic_int commitOpsAmount = {0};
- std::atomic_int createOpsAmount = {0};
- std::atomic_int delegpurgeOpsAmount = {0};
- std::atomic_int delegreturnOpsAmount = {0};
- std::atomic_int getattrOpsAmount = {0};
- std::atomic_int getfhOpsAmount = {0};
- std::atomic_int linkOpsAmount = {0};
- std::atomic_int lockOpsAmount = {0};
- std::atomic_int locktOpsAmount = {0};
- std::atomic_int lockuOpsAmount = {0};
- std::atomic_int lookupOpsAmount = {0};
- std::atomic_int lookuppOpsAmount = {0};
- std::atomic_int nverifyOpsAmount = {0};
- std::atomic_int openOpsAmount = {0};
- std::atomic_int openattrOpsAmount = {0};
- std::atomic_int open_confirmOpsAmount = {0};
- std::atomic_int open_downgradeOpsAmount = {0};
- std::atomic_int putfhOpsAmount = {0};
- std::atomic_int putpubfhOpsAmount = {0};
- std::atomic_int putrootfhOpsAmount = {0};
- std::atomic_int readOpsAmount = {0};
- std::atomic_int readdirOpsAmount = {0};
- std::atomic_int readlinkOpsAmount = {0};
- std::atomic_int removeOpsAmount = {0};
- std::atomic_int renameOpsAmount = {0};
- std::atomic_int renewOpsAmount = {0};
- std::atomic_int restorefhOpsAmount = {0};
- std::atomic_int savefhOpsAmount = {0};
- std::atomic_int secinfoOpsAmount = {0};
- std::atomic_int setattrOpsAmount = {0};
- std::atomic_int setclientidOpsAmount = {0};
- std::atomic_int setclientid_confirmOpsAmount = {0};
- std::atomic_int verifyOpsAmount = {0};
- std::atomic_int writeOpsAmount = {0};
- std::atomic_int release_lockownerOpsAmount = {0};
- std::atomic_int backchannel_ctlOpsAmount = {0};
+ std::atomic_int accessOpsAmount = {0};
+ std::atomic_int closeOpsAmount = {0};
+ std::atomic_int commitOpsAmount = {0};
+ std::atomic_int createOpsAmount = {0};
+ std::atomic_int delegpurgeOpsAmount = {0};
+ std::atomic_int delegreturnOpsAmount = {0};
+ std::atomic_int getattrOpsAmount = {0};
+ std::atomic_int getfhOpsAmount = {0};
+ std::atomic_int linkOpsAmount = {0};
+ std::atomic_int lockOpsAmount = {0};
+ std::atomic_int locktOpsAmount = {0};
+ std::atomic_int lockuOpsAmount = {0};
+ std::atomic_int lookupOpsAmount = {0};
+ std::atomic_int lookuppOpsAmount = {0};
+ std::atomic_int nverifyOpsAmount = {0};
+ std::atomic_int openOpsAmount = {0};
+ std::atomic_int openattrOpsAmount = {0};
+ std::atomic_int open_confirmOpsAmount = {0};
+ std::atomic_int open_downgradeOpsAmount = {0};
+ std::atomic_int putfhOpsAmount = {0};
+ std::atomic_int putpubfhOpsAmount = {0};
+ std::atomic_int putrootfhOpsAmount = {0};
+ std::atomic_int readOpsAmount = {0};
+ std::atomic_int readdirOpsAmount = {0};
+ std::atomic_int readlinkOpsAmount = {0};
+ std::atomic_int removeOpsAmount = {0};
+ std::atomic_int renameOpsAmount = {0};
+ std::atomic_int renewOpsAmount = {0};
+ std::atomic_int restorefhOpsAmount = {0};
+ std::atomic_int savefhOpsAmount = {0};
+ std::atomic_int secinfoOpsAmount = {0};
+ std::atomic_int setattrOpsAmount = {0};
+ std::atomic_int setclientidOpsAmount = {0};
+ std::atomic_int setclientid_confirmOpsAmount = {0};
+ std::atomic_int verifyOpsAmount = {0};
+ std::atomic_int writeOpsAmount = {0};
+ std::atomic_int release_lockownerOpsAmount = {0};
+ std::atomic_int backchannel_ctlOpsAmount = {0};
std::atomic_int bind_conn_to_sessionOpsAmount = {0};
- std::atomic_int exchange_idOpsAmount = {0};
- std::atomic_int create_sessionOpsAmount = {0};
- std::atomic_int destroy_sessionOpsAmount = {0};
- std::atomic_int free_stateidOpsAmount = {0};
- std::atomic_int get_dir_delegationOpsAmount = {0};
- std::atomic_int getdeviceinfoOpsAmount = {0};
- std::atomic_int getdevicelistOpsAmount = {0};
- std::atomic_int layoutcommitOpsAmount = {0};
- std::atomic_int layoutgetOpsAmount = {0};
- std::atomic_int layoutreturnOpsAmount = {0};
- std::atomic_int secinfo_no_nameOpsAmount = {0};
- std::atomic_int sequenceOpsAmount = {0};
- std::atomic_int set_ssvOpsAmount = {0};
- std::atomic_int test_stateidOpsAmount = {0};
- std::atomic_int want_delegationOpsAmount = {0};
- std::atomic_int destroy_clientidOpsAmount = {0};
- std::atomic_int reclaim_completeOpsAmount = {0};
- std::atomic_int illegalOpsAmount = {0};
+ std::atomic_int exchange_idOpsAmount = {0};
+ std::atomic_int create_sessionOpsAmount = {0};
+ std::atomic_int destroy_sessionOpsAmount = {0};
+ std::atomic_int free_stateidOpsAmount = {0};
+ std::atomic_int get_dir_delegationOpsAmount = {0};
+ std::atomic_int getdeviceinfoOpsAmount = {0};
+ std::atomic_int getdevicelistOpsAmount = {0};
+ std::atomic_int layoutcommitOpsAmount = {0};
+ std::atomic_int layoutgetOpsAmount = {0};
+ std::atomic_int layoutreturnOpsAmount = {0};
+ std::atomic_int secinfo_no_nameOpsAmount = {0};
+ std::atomic_int sequenceOpsAmount = {0};
+ std::atomic_int set_ssvOpsAmount = {0};
+ std::atomic_int test_stateidOpsAmount = {0};
+ std::atomic_int want_delegationOpsAmount = {0};
+ std::atomic_int destroy_clientidOpsAmount = {0};
+ std::atomic_int reclaim_completeOpsAmount = {0};
+ std::atomic_int illegalOpsAmount = {0};
};
JsonAnalyzer(std::size_t workersAmount, int port, const std::string& host, std::size_t maxServingDurationMs, int backlog);
@@ -265,7 +265,7 @@ public:
const struct NFS3::COMMIT3res* /*res*/) override final;
// NFS4.0 procedures
-
+
void null4(const RPCProcedure* /*proc*/,
const struct NFS4::NULL4args* /*args*/,
const struct NFS4::NULL4res* /*res*/) override final;
@@ -280,8 +280,8 @@ public:
const struct NFS4::ACCESS4args* /* args */,
const struct NFS4::ACCESS4res* res) override final;
void close40(const RPCProcedure* /* proc */,
- const struct NFS4::CLOSE4args* /* args */,
- const struct NFS4::CLOSE4res* res) override final;
+ const struct NFS4::CLOSE4args* /* args */,
+ const struct NFS4::CLOSE4res* res) override final;
void commit40(const RPCProcedure* /* proc */,
const struct NFS4::COMMIT4args* /* args */,
const struct NFS4::COMMIT4res* res) override final;
@@ -387,7 +387,7 @@ public:
const struct NFS4::ILLEGAL4res* res) override final;
// NFSv4.1 procedures
-
+
void compound41(const RPCProcedure* /*proc*/,
const struct NFS41::COMPOUND4args* /*args*/,
const struct NFS41::COMPOUND4res* /*res*/) override final;
@@ -398,8 +398,8 @@ public:
const struct NFS41::ACCESS4args* /* args */,
const struct NFS41::ACCESS4res* res) override final;
void close41(const RPCProcedure* /* proc */,
- const struct NFS41::CLOSE4args* /* args */,
- const struct NFS41::CLOSE4res* res) override final;
+ const struct NFS41::CLOSE4args* /* args */,
+ const struct NFS41::CLOSE4res* res) override final;
void commit41(const RPCProcedure* /* proc */,
const struct NFS41::COMMIT4args* /* args */,
const struct NFS41::COMMIT4res* res) override final;
@@ -502,7 +502,7 @@ public:
const struct NFS41::BACKCHANNEL_CTL4args* /* args */,
const struct NFS41::BACKCHANNEL_CTL4res* res) override final;
void bind_conn_to_session41(const RPCProcedure* /* proc */,
- const struct NFS41::BIND_CONN_TO_SESSION4args* /* args */,
+ const struct NFS41::BIND_CONN_TO_SESSION4args* /* args */,
const struct NFS41::BIND_CONN_TO_SESSION4res* res) override final;
void exchange_id41(const RPCProcedure* /* proc */,
const struct NFS41::EXCHANGE_ID4args* /* args */,
@@ -535,8 +535,8 @@ public:
const struct NFS41::LAYOUTRETURN4args* /* args */,
const struct NFS41::LAYOUTRETURN4res* res) override final;
void secinfo_no_name41(const RPCProcedure* /* proc */,
- const NFS41::SECINFO_NO_NAME4args* /* args */,
- const NFS41::SECINFO_NO_NAME4res* res) override final;
+ const NFS41::SECINFO_NO_NAME4args* /* args */,
+ const NFS41::SECINFO_NO_NAME4res* res) override final;
void sequence41(const RPCProcedure* /* proc */,
const struct NFS41::SEQUENCE4args* /* args */,
const struct NFS41::SEQUENCE4res* res) override final;
@@ -577,10 +577,10 @@ public:
private:
JsonTcpService _jsonTcpService;
- NfsV3Stat _nfsV3Stat;
- NfsV40Stat _nfsV40Stat;
- NfsV41Stat _nfsV41Stat;
+ NfsV3Stat _nfsV3Stat;
+ NfsV40Stat _nfsV40Stat;
+ NfsV41Stat _nfsV41Stat;
};
//------------------------------------------------------------------------------
-#endif//JSON_ANALYZER_H
+#endif //JSON_ANALYZER_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/json/json_plugin.cpp b/analyzers/src/json/json_plugin.cpp
index 8eace3c..b7394c0 100644
--- a/analyzers/src/json/json_plugin.cpp
+++ b/analyzers/src/json/json_plugin.cpp
@@ -23,100 +23,98 @@
#include "json_analyzer.h"
//------------------------------------------------------------------------------
-static constexpr int DefaultPort = 8888;
-static constexpr const char * DefaultHost = IpEndpoint::WildcardAddress;
-static constexpr std::size_t DefaultWorkersAmount = 10U;
-static constexpr int DefaultBacklog = 15;
+static constexpr int DefaultPort = 8888;
+static constexpr const char* DefaultHost = IpEndpoint::WildcardAddress;
+static constexpr std::size_t DefaultWorkersAmount = 10U;
+static constexpr int DefaultBacklog = 15;
static constexpr std::size_t DefaultMaxServingDurationMs = 500U;
-extern "C"
-{
+extern "C" {
- const char* usage()
- {
- return "host - Network interface to listen (default is to listen all interfaces)\n"
- "port - IP-port to bind to (default is 8888)\n"
- "workers - Amount of worker threads (default is 10)\n"
- "duration - Max serving duration in milliseconds (default is 500 ms)\n"
- "backlog - Listen backlog (default is 15)";
- }
+const char* usage()
+{
+ return "host - Network interface to listen (default is to listen all interfaces)\n"
+ "port - IP-port to bind to (default is 8888)\n"
+ "workers - Amount of worker threads (default is 10)\n"
+ "duration - Max serving duration in milliseconds (default is 500 ms)\n"
+ "backlog - Listen backlog (default is 15)";
+}
- IAnalyzer* create(const char* opts)
+IAnalyzer* create(const char* opts)
+{
+ // Initializing plugin options with default values
+ int backlog = DefaultBacklog;
+ std::size_t maxServingDurationMs = DefaultMaxServingDurationMs;
+ std::string host{DefaultHost};
+ int port = DefaultPort;
+ std::size_t workersAmount = DefaultWorkersAmount;
+ // Parising plugin options
+ enum
{
- // Initializing plugin options with default values
- int backlog = DefaultBacklog;
- std::size_t maxServingDurationMs = DefaultMaxServingDurationMs;
- std::string host{DefaultHost};
- int port = DefaultPort;
- std::size_t workersAmount = DefaultWorkersAmount;
- // Parising plugin options
- enum
- {
- BACKLOG_SUBOPT_INDEX = 0,
- DURATION_SUBOPT_INDEX,
- HOST_SUBOPT_INDEX,
- PORT_SUBOPT_INDEX,
- WORKERS_SUBOPT_INDEX
- };
- char backlogSubOptName[] = "backlog";
- char durationSubOptName[] = "duration";
- char hostSubOptName[] = "host";
- char portSubOptName[] = "port";
- char workersSubOptName[] = "workers";
- char* const tokens[] =
+ BACKLOG_SUBOPT_INDEX = 0,
+ DURATION_SUBOPT_INDEX,
+ HOST_SUBOPT_INDEX,
+ PORT_SUBOPT_INDEX,
+ WORKERS_SUBOPT_INDEX
+ };
+ char backlogSubOptName[] = "backlog";
+ char durationSubOptName[] = "duration";
+ char hostSubOptName[] = "host";
+ char portSubOptName[] = "port";
+ char workersSubOptName[] = "workers";
+ char* const tokens[] =
{
backlogSubOptName,
durationSubOptName,
hostSubOptName,
portSubOptName,
workersSubOptName,
- NULL
- };
- std::size_t optsLen = strlen(opts);
- std::vector<char> optsBuf{opts, opts + optsLen + 2};
- char* optionp = &optsBuf[0];
- char* valuep;
- int optIndex;
- while ((optIndex = getsubopt(&optionp, tokens, &valuep)) >= 0)
+ NULL};
+ std::size_t optsLen = strlen(opts);
+ std::vector<char> optsBuf{opts, opts + optsLen + 2};
+ char* optionp = &optsBuf[0];
+ char* valuep;
+ int optIndex;
+ while((optIndex = getsubopt(&optionp, tokens, &valuep)) >= 0)
+ {
+ try
{
- try
+ switch(optIndex)
{
- switch (optIndex)
- {
- case BACKLOG_SUBOPT_INDEX:
- backlog = std::stoi(valuep);
- break;
- case DURATION_SUBOPT_INDEX:
- maxServingDurationMs = std::stoul(valuep);
- break;
- case HOST_SUBOPT_INDEX:
- host = valuep;
- break;
- case PORT_SUBOPT_INDEX:
- port = std::stoi(valuep);
- break;
- case WORKERS_SUBOPT_INDEX:
- workersAmount = std::stoul(valuep);
- break;
- default:
- throw std::runtime_error{std::string{"Invalid suboption index: "} + std::to_string(optIndex)};
- }
- }
- catch (std::logic_error& e)
- {
- throw std::runtime_error{std::string{"Invalid value provided for '"} + tokens[optIndex] + "' suboption"};
+ case BACKLOG_SUBOPT_INDEX:
+ backlog = std::stoi(valuep);
+ break;
+ case DURATION_SUBOPT_INDEX:
+ maxServingDurationMs = std::stoul(valuep);
+ break;
+ case HOST_SUBOPT_INDEX:
+ host = valuep;
+ break;
+ case PORT_SUBOPT_INDEX:
+ port = std::stoi(valuep);
+ break;
+ case WORKERS_SUBOPT_INDEX:
+ workersAmount = std::stoul(valuep);
+ break;
+ default:
+ throw std::runtime_error{std::string{"Invalid suboption index: "} + std::to_string(optIndex)};
}
}
- // Creating and returning plugin
- return new JsonAnalyzer{workersAmount, port, host, maxServingDurationMs, backlog};
+ catch(std::logic_error& e)
+ {
+ throw std::runtime_error{std::string{"Invalid value provided for '"} + tokens[optIndex] + "' suboption"};
+ }
}
+ // Creating and returning plugin
+ return new JsonAnalyzer{workersAmount, port, host, maxServingDurationMs, backlog};
+}
- void destroy(IAnalyzer* instance)
- {
- delete instance;
- }
+void destroy(IAnalyzer* instance)
+{
+ delete instance;
+}
- NST_PLUGIN_ENTRY_POINTS (&usage, &create, &destroy, nullptr)
+NST_PLUGIN_ENTRY_POINTS(&usage, &create, &destroy, nullptr)
} //extern "C"
diff --git a/analyzers/src/json/json_tcp_service.cpp b/analyzers/src/json/json_tcp_service.cpp
index 2e4cc30..b8852bf 100644
--- a/analyzers/src/json/json_tcp_service.cpp
+++ b/analyzers/src/json/json_tcp_service.cpp
@@ -29,11 +29,12 @@
//------------------------------------------------------------------------------
JsonTcpService::JsonTcpService(JsonAnalyzer& analyzer, std::size_t workersAmount, int port, const std::string& host,
- std::size_t maxServingDurationMs, int backlog) :
- AbstractTcpService{workersAmount, port, host, backlog},
- _analyzer(analyzer),
- _maxServingDurationMs{maxServingDurationMs}
-{}
+ std::size_t maxServingDurationMs, int backlog)
+ : AbstractTcpService{workersAmount, port, host, backlog}
+ , _analyzer(analyzer)
+ , _maxServingDurationMs{maxServingDurationMs}
+{
+}
AbstractTcpService::AbstractTask* JsonTcpService::createTask(int socket)
{
@@ -42,16 +43,17 @@ AbstractTcpService::AbstractTask* JsonTcpService::createTask(int socket)
//------------------------------------------------------------------------------
-JsonTcpService::Task::Task(JsonTcpService& service, int socket) :
- AbstractTask{socket},
- _service(service)
-{}
+JsonTcpService::Task::Task(JsonTcpService& service, int socket)
+ : AbstractTask{socket}
+ , _service(service)
+{
+}
void JsonTcpService::Task::execute()
{
std::chrono::system_clock::time_point servingStarted = std::chrono::system_clock::now();
// Composing JSON with statistics
- struct json_object* root = json_object_new_object();
+ struct json_object* root = json_object_new_object();
struct json_object* nfsV3Stat = json_object_new_object();
// NFS3 procedures:
json_object_object_add(nfsV3Stat, "null", json_object_new_int64(_service._analyzer.getNfsV3Stat().nullProcsAmount.load()));
@@ -190,15 +192,15 @@ void JsonTcpService::Task::execute()
// Sending JSON to the client
std::size_t totalBytesSent = 0U;
- while (totalBytesSent < json.length())
+ while(totalBytesSent < json.length())
{
- if (!_service.isRunning())
+ if(!_service.isRunning())
{
LOG("WARNING: Service shutdown detected - terminating task execution");
return;
}
- if (std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now() - servingStarted).count() >
- static_cast<std::chrono::milliseconds::rep>(_service._maxServingDurationMs))
+ if(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now() - servingStarted).count() >
+ static_cast<std::chrono::milliseconds::rep>(_service._maxServingDurationMs))
{
// TODO: Use general logging
LOG("WARNING: A client is too slow - terminating task execution");
@@ -210,23 +212,23 @@ void JsonTcpService::Task::execute()
FD_ZERO(&writeDescriptorsSet);
FD_SET(socket(), &writeDescriptorsSet);
int descriptorsCount = pselect(socket() + 1, NULL, &writeDescriptorsSet, NULL, &writeDuration, NULL);
- if (descriptorsCount < 0)
+ if(descriptorsCount < 0)
{
throw std::system_error{errno, std::system_category(), "Error awaiting for sending data availability on socket"};
}
- else if (descriptorsCount == 0)
+ else if(descriptorsCount == 0)
{
// Timeout expired
continue;
}
ssize_t bytesSent = send(socket(), json.data() + totalBytesSent, json.length() - totalBytesSent, MSG_NOSIGNAL);
- if (bytesSent < 0)
+ if(bytesSent < 0)
{
std::system_error e{errno, std::system_category(), "Sending data to client error"};
LOG("WARNING: %s", e.what());
return;
}
- else if (bytesSent == 0)
+ else if(bytesSent == 0)
{
LOG("WARNING: Connection has been aborted by client while sending data");
return;
diff --git a/analyzers/src/json/json_tcp_service.h b/analyzers/src/json/json_tcp_service.h
index 1403a6f..d631d9b 100644
--- a/analyzers/src/json/json_tcp_service.h
+++ b/analyzers/src/json/json_tcp_service.h
@@ -30,6 +30,7 @@ public:
JsonTcpService() = delete;
JsonTcpService(class JsonAnalyzer& analyzer, std::size_t workersAmount, int port, const std::string& host,
std::size_t maxServingDurationMs, int backlog);
+
private:
class Task : public AbstractTask
{
@@ -38,6 +39,7 @@ private:
Task() = delete;
void execute() override final;
+
private:
JsonTcpService& _service;
};
@@ -45,8 +47,8 @@ private:
AbstractTask* createTask(int socket) override final;
JsonAnalyzer& _analyzer;
- std::size_t _maxServingDurationMs;
+ std::size_t _maxServingDurationMs;
};
//------------------------------------------------------------------------------
-#endif//JSON_TCP_SERVICE_H
+#endif //JSON_TCP_SERVICE_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/test/test_analyzer.cpp b/analyzers/src/test/test_analyzer.cpp
index 7d7bb06..e6cea6e 100644
--- a/analyzers/src/test/test_analyzer.cpp
+++ b/analyzers/src/test/test_analyzer.cpp
@@ -27,7 +27,8 @@
class TestAnalyzer : public IAnalyzer
{
public:
- TestAnalyzer(const char* opts):options(opts)
+ TestAnalyzer(const char* opts)
+ : options(opts)
{
std::cout << "TestAnalyzer::TestAnalyzer(" << options << ')' << std::endl;
}
@@ -40,155 +41,155 @@ public:
// NFSv3 procedures
void null(const RPCProcedure* /*proc*/,
- const struct NFS3::NULL3args* /*args*/,
- const struct NFS3::NULL3res* /*res*/) override final
+ const struct NFS3::NULL3args* /*args*/,
+ const struct NFS3::NULL3res* /*res*/) override final
{
std::cout << "TestAnalyzer::null()" << std::endl;
}
void getattr3(const RPCProcedure* /*proc*/,
- const struct NFS3::GETATTR3args* /*args*/,
- const struct NFS3::GETATTR3res* /*res*/) override final
+ const struct NFS3::GETATTR3args* /*args*/,
+ const struct NFS3::GETATTR3res* /*res*/) override final
{
std::cout << "TestAnalyzer::getattr3()" << std::endl;
}
void setattr3(const RPCProcedure* /*proc*/,
- const struct NFS3::SETATTR3args* /*args*/,
- const struct NFS3::SETATTR3res* /*res*/) override final
+ const struct NFS3::SETATTR3args* /*args*/,
+ const struct NFS3::SETATTR3res* /*res*/) override final
{
std::cout << "TestAnalyzer::setattr3()" << std::endl;
}
void lookup3(const RPCProcedure* /*proc*/,
- const struct NFS3::LOOKUP3args* /*args*/,
- const struct NFS3::LOOKUP3res* /*res*/) override final
+ const struct NFS3::LOOKUP3args* /*args*/,
+ const struct NFS3::LOOKUP3res* /*res*/) override final
{
std::cout << "TestAnalyzer::lookup3()" << std::endl;
}
void access3(const RPCProcedure* /*proc*/,
- const struct NFS3::ACCESS3args* /*args*/,
- const struct NFS3::ACCESS3res* /*res*/) override final
+ const struct NFS3::ACCESS3args* /*args*/,
+ const struct NFS3::ACCESS3res* /*res*/) override final
{
std::cout << "TestAnalyzer::access3()" << std::endl;
}
void readlink3(const RPCProcedure* /*proc*/,
- const struct NFS3::READLINK3args* /*args*/,
- const struct NFS3::READLINK3res* /*res*/) override final
+ const struct NFS3::READLINK3args* /*args*/,
+ const struct NFS3::READLINK3res* /*res*/) override final
{
std::cout << "TestAnalyzer::readlink3()" << std::endl;
}
void read3(const RPCProcedure* /*proc*/,
- const struct NFS3::READ3args* /*args*/,
- const struct NFS3::READ3res* /*res*/) override final
+ const struct NFS3::READ3args* /*args*/,
+ const struct NFS3::READ3res* /*res*/) override final
{
std::cout << "TestAnalyzer::read3()" << std::endl;
}
void write3(const RPCProcedure* /*proc*/,
- const struct NFS3::WRITE3args* /*args*/,
- const struct NFS3::WRITE3res* /*res*/) override final
+ const struct NFS3::WRITE3args* /*args*/,
+ const struct NFS3::WRITE3res* /*res*/) override final
{
std::cout << "TestAnalyzer::write3()" << std::endl;
}
void create3(const RPCProcedure* /*proc*/,
- const struct NFS3::CREATE3args* /*args*/,
- const struct NFS3::CREATE3res* /*res*/) override final
+ const struct NFS3::CREATE3args* /*args*/,
+ const struct NFS3::CREATE3res* /*res*/) override final
{
std::cout << "TestAnalyzer::create3()" << std::endl;
}
void mkdir3(const RPCProcedure* /*proc*/,
- const struct NFS3::MKDIR3args* /*args*/,
- const struct NFS3::MKDIR3res* /*res*/) override final
+ const struct NFS3::MKDIR3args* /*args*/,
+ const struct NFS3::MKDIR3res* /*res*/) override final
{
std::cout << "TestAnalyzer::mkdir3()" << std::endl;
}
void symlink3(const RPCProcedure* /*proc*/,
- const struct NFS3::SYMLINK3args* /*args*/,
- const struct NFS3::SYMLINK3res* /*res*/) override final
+ const struct NFS3::SYMLINK3args* /*args*/,
+ const struct NFS3::SYMLINK3res* /*res*/) override final
{
std::cout << "TestAnalyzer::symlink3()" << std::endl;
}
void mknod3(const RPCProcedure* /*proc*/,
- const struct NFS3::MKNOD3args* /*args*/,
- const struct NFS3::MKNOD3res* /*res*/) override final
+ const struct NFS3::MKNOD3args* /*args*/,
+ const struct NFS3::MKNOD3res* /*res*/) override final
{
std::cout << "TestAnalyzer::mknod3()" << std::endl;
}
void remove3(const RPCProcedure* /*proc*/,
- const struct NFS3::REMOVE3args* /*args*/,
- const struct NFS3::REMOVE3res* /*res*/) override final
+ const struct NFS3::REMOVE3args* /*args*/,
+ const struct NFS3::REMOVE3res* /*res*/) override final
{
std::cout << "TestAnalyzer::remove3()" << std::endl;
}
void rmdir3(const RPCProcedure* /*proc*/,
- const struct NFS3::RMDIR3args* /*args*/,
- const struct NFS3::RMDIR3res* /*res*/) override final
+ const struct NFS3::RMDIR3args* /*args*/,
+ const struct NFS3::RMDIR3res* /*res*/) override final
{
std::cout << "TestAnalyzer::rmdir3()" << std::endl;
}
void rename3(const RPCProcedure* /*proc*/,
- const struct NFS3::RENAME3args* /*args*/,
- const struct NFS3::RENAME3res* /*res*/) override final
+ const struct NFS3::RENAME3args* /*args*/,
+ const struct NFS3::RENAME3res* /*res*/) override final
{
std::cout << "TestAnalyzer::rename3()" << std::endl;
}
void link3(const RPCProcedure* /*proc*/,
- const struct NFS3::LINK3args* /*args*/,
- const struct NFS3::LINK3res* /*res*/) override final
+ const struct NFS3::LINK3args* /*args*/,
+ const struct NFS3::LINK3res* /*res*/) override final
{
std::cout << "TestAnalyzer::link3()" << std::endl;
}
void readdir3(const RPCProcedure* /*proc*/,
- const struct NFS3::READDIR3args* /*args*/,
- const struct NFS3::READDIR3res* /*res*/) override final
+ const struct NFS3::READDIR3args* /*args*/,
+ const struct NFS3::READDIR3res* /*res*/) override final
{
std::cout << "TestAnalyzer::readdir3()" << std::endl;
}
void readdirplus3(const RPCProcedure* /*proc*/,
- const struct NFS3::READDIRPLUS3args* /*args*/,
- const struct NFS3::READDIRPLUS3res* /*res*/) override final
+ const struct NFS3::READDIRPLUS3args* /*args*/,
+ const struct NFS3::READDIRPLUS3res* /*res*/) override final
{
std::cout << "TestAnalyzer::readdirplus3()" << std::endl;
}
void fsstat3(const RPCProcedure* /*proc*/,
- const struct NFS3::FSSTAT3args* /*args*/,
- const struct NFS3::FSSTAT3res* /*res*/) override final
+ const struct NFS3::FSSTAT3args* /*args*/,
+ const struct NFS3::FSSTAT3res* /*res*/) override final
{
std::cout << "TestAnalyzer::fsstat3()" << std::endl;
}
void fsinfo3(const RPCProcedure* /*proc*/,
- const struct NFS3::FSINFO3args* /*args*/,
- const struct NFS3::FSINFO3res* /*res*/) override final
+ const struct NFS3::FSINFO3args* /*args*/,
+ const struct NFS3::FSINFO3res* /*res*/) override final
{
std::cout << "TestAnalyzer::fsinfo3()" << std::endl;
}
void pathconf3(const RPCProcedure* /*proc*/,
- const struct NFS3::PATHCONF3args* /*args*/,
- const struct NFS3::PATHCONF3res* /*res*/) override final
+ const struct NFS3::PATHCONF3args* /*args*/,
+ const struct NFS3::PATHCONF3res* /*res*/) override final
{
std::cout << "TestAnalyzer::pathconf3()" << std::endl;
}
void commit3(const RPCProcedure* /*proc*/,
- const struct NFS3::COMMIT3args* /*args*/,
- const struct NFS3::COMMIT3res* /*res*/) override final
+ const struct NFS3::COMMIT3args* /*args*/,
+ const struct NFS3::COMMIT3res* /*res*/) override final
{
std::cout << "TestAnalyzer::commit3()" << std::endl;
}
@@ -202,8 +203,8 @@ public:
std::cout << "TestAnalyzer::null4()" << std::endl;
}
void compound4(const RPCProcedure* /*proc*/,
- const struct NFS4::COMPOUND4args* /*args*/,
- const struct NFS4::COMPOUND4res* /*res*/) override final
+ const struct NFS4::COMPOUND4args* /*args*/,
+ const struct NFS4::COMPOUND4res* /*res*/) override final
{
std::cout << "TestAnalyzer::compound4()" << std::endl;
}
@@ -217,8 +218,8 @@ public:
std::cout << "TestAnalyzer" << std::endl;
}
void close40(const RPCProcedure* /* proc */,
- const struct NFS4::CLOSE4args* /* args */,
- const struct NFS4::CLOSE4res* /* res */) override final
+ const struct NFS4::CLOSE4args* /* args */,
+ const struct NFS4::CLOSE4res* /* res */) override final
{
std::cout << "TestAnalyzer" << std::endl;
}
@@ -440,8 +441,8 @@ public:
// NFSv4.1 procedures
void compound41(const RPCProcedure* /*proc*/,
- const struct NFS41::COMPOUND4args* /*args*/,
- const struct NFS41::COMPOUND4res* /*res*/) override final
+ const struct NFS41::COMPOUND4args* /*args*/,
+ const struct NFS41::COMPOUND4res* /*res*/) override final
{
std::cout << "TestAnalyzer::compound4()" << std::endl;
}
@@ -455,8 +456,8 @@ public:
std::cout << "TestAnalyzer" << std::endl;
}
void close41(const RPCProcedure* /* proc */,
- const struct NFS41::CLOSE4args* /* args */,
- const struct NFS41::CLOSE4res* /* res */) override final
+ const struct NFS41::CLOSE4args* /* args */,
+ const struct NFS41::CLOSE4res* /* res */) override final
{
std::cout << "TestAnalyzer" << std::endl;
}
@@ -670,7 +671,7 @@ public:
std::cout << "TestAnalyzer" << std::endl;
}
void bind_conn_to_session41(const RPCProcedure* /* proc */,
- const struct NFS41::BIND_CONN_TO_SESSION4args* /* args */,
+ const struct NFS41::BIND_CONN_TO_SESSION4args* /* args */,
const struct NFS41::BIND_CONN_TO_SESSION4res* /* res */) override final
{
std::cout << "TestAnalyzer" << std::endl;
@@ -736,8 +737,8 @@ public:
std::cout << "TestAnalyzer" << std::endl;
}
void secinfo_no_name41(const RPCProcedure* /* proc */,
- const NFS41::SECINFO_NO_NAME4args* /* args */,
- const NFS41::SECINFO_NO_NAME4res* /* res */) override final
+ const NFS41::SECINFO_NO_NAME4args* /* args */,
+ const NFS41::SECINFO_NO_NAME4res* /* res */) override final
{
std::cout << "TestAnalyzer" << std::endl;
}
@@ -783,16 +784,16 @@ public:
std::cout << "TestAnalyzer" << std::endl;
}
- virtual void flush_statistics()
+ virtual void flush_statistics() override
{
std::cout << "TestAnalyzer::flush_statistics()" << std::endl;
}
+
private:
std::string options;
};
-extern "C"
-{
+extern "C" {
const char* usage()
{
@@ -815,7 +816,7 @@ const AnalyzerRequirements* requirements()
return &requirements;
}
-NST_PLUGIN_ENTRY_POINTS (&usage, &create, &destroy, nullptr)
+NST_PLUGIN_ENTRY_POINTS(&usage, &create, &destroy, nullptr)
-}//extern "C"
+} //extern "C"
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/nc_windows/header_window.cpp b/analyzers/src/watch/nc_windows/header_window.cpp
index 368d6cd..8e04818 100644
--- a/analyzers/src/watch/nc_windows/header_window.cpp
+++ b/analyzers/src/watch/nc_windows/header_window.cpp
@@ -30,16 +30,16 @@
//------------------------------------------------------------------------------
namespace HEADER
{
-const int MEMO_LINE = 1;
-const int HOST_LINE = 2;
-const int DATE_LINE = 3;
+const int MEMO_LINE = 1;
+const int HOST_LINE = 2;
+const int DATE_LINE = 3;
const int ELAPSED_LINE = 4;
-const int HOST_SIZE = 128;
+const int HOST_SIZE = 128;
}
void HeaderWindow::destroy()
{
- if (_window == nullptr)
+ if(_window == nullptr)
{
return;
}
@@ -50,9 +50,9 @@ void HeaderWindow::destroy()
}
HeaderWindow::HeaderWindow(MainWindow& w)
-: _start_time {time(NULL)}
+ : _start_time{time(NULL)}
{
- if (w._window == nullptr)
+ if(w._window == nullptr)
{
throw std::runtime_error("Initialization of Header window failed.");
}
@@ -65,34 +65,34 @@ HeaderWindow::~HeaderWindow()
void HeaderWindow::update()
{
- if (_window == nullptr)
+ if(_window == nullptr)
{
return;
}
time_t actual_time = time(nullptr);
- tm* t = localtime(&actual_time);
- time_t shift_time = actual_time - _start_time;
+ tm* t = localtime(&actual_time);
+ time_t shift_time = actual_time - _start_time;
/* tm starts with 0 month and 1900 year*/
mvwprintw(_window, HEADER::DATE_LINE, FIRST_CHAR_POS, "Date: \t %d.%d.%d \t Time: %d:%d:%d ", t->tm_mday, t->tm_mon + 1, t->tm_year + 1900, t->tm_hour, t->tm_min, t->tm_sec);
mvwprintw(_window, HEADER::ELAPSED_LINE, FIRST_CHAR_POS, "Elapsed time: \t %d days; %d:%d:%d times",
shift_time / SECINDAY, shift_time % SECINDAY / SECINHOUR, shift_time % SECINHOUR / SECINMIN, shift_time % SECINMIN);
- wrefresh (_window);
+ wrefresh(_window);
}
void HeaderWindow::resize(MainWindow& m)
{
- if (_window != nullptr)
+ if(_window != nullptr)
{
destroy();
}
- if (m._window != nullptr)
+ if(m._window != nullptr)
{
_window = subwin(m._window, std::min(static_cast<int>(m._window->_maxy), GUI_HEADER_HEIGHT), std::min(static_cast<int>(m._window->_maxx), GUI_LENGTH), 0, 0);
}
- if (_window != nullptr)
+ if(_window != nullptr)
{
werase(_window);
- wborder(_window, ACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE, ACS_ULCORNER, ACS_URCORNER , ACS_LLCORNER, ACS_LRCORNER);
+ wborder(_window, ACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE, ACS_ULCORNER, ACS_URCORNER, ACS_LLCORNER, ACS_LRCORNER);
char HOST_NAME[HEADER::HOST_SIZE];
gethostname(HOST_NAME, HEADER::HOST_SIZE);
mvwprintw(_window, HEADER::MEMO_LINE, FIRST_CHAR_POS, "%s", "Nfstrace watch plugin. To scroll press up or down keys. Ctrl + c to exit.");
diff --git a/analyzers/src/watch/nc_windows/header_window.h b/analyzers/src/watch/nc_windows/header_window.h
index 5ced588..5a72b62 100644
--- a/analyzers/src/watch/nc_windows/header_window.h
+++ b/analyzers/src/watch/nc_windows/header_window.h
@@ -29,8 +29,8 @@
class HeaderWindow
{
WINDOW* _window;
- time_t _start_time;
- void destroy();
+ time_t _start_time;
+ void destroy();
public:
HeaderWindow() = delete;
@@ -46,5 +46,5 @@ public:
void resize(MainWindow&);
};
//------------------------------------------------------------------------------
-#endif//HEADER_WINDOWS_H
+#endif //HEADER_WINDOWS_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/nc_windows/main_window.cpp b/analyzers/src/watch/nc_windows/main_window.cpp
index 3c992c3..1e0bba6 100644
--- a/analyzers/src/watch/nc_windows/main_window.cpp
+++ b/analyzers/src/watch/nc_windows/main_window.cpp
@@ -27,25 +27,23 @@
//------------------------------------------------------------------------------
void MainWindow::init()
{
- if (_window != nullptr)
+ if(_window != nullptr)
{
destroy();
}
_window = initscr();
- if (_window == nullptr)
+ if(_window == nullptr)
{
throw std::runtime_error("Initialization of Main window failed.");
}
noecho();
cbreak();
- intrflush(stdscr, false); // flush main window
- curs_set(0); // disable blinking cursore
-
- keypad(_window, true); // init keyboard
- timeout(200); // set keyboard timeout
-
- start_color(); // set background color
- if (_window != nullptr)
+ intrflush(stdscr, false); // flush main window
+ curs_set(0); // disable blinking cursore
+ keypad(_window, true); // init keyboard
+ timeout(200); // set keyboard timeout
+ start_color(); // set background color
+ if(_window != nullptr)
{
werase(_window);
}
@@ -63,14 +61,14 @@ void MainWindow::destroy()
void MainWindow::cleanStdin(int key)
{
- while ((key != EOF) && (key != '\n') && (key != ' '))
+ while((key != EOF) && (key != '\n') && (key != ' '))
{
key = getch();
}
}
MainWindow::MainWindow()
-: _window {nullptr}
+ : _window{nullptr}
{
init();
}
@@ -84,7 +82,7 @@ int MainWindow::inputKeys()
{
int key = wgetch(_window);
- if (key != KEY_UP && key != KEY_DOWN && key != KEY_LEFT && key != KEY_RIGHT)
+ if(key != KEY_UP && key != KEY_DOWN && key != KEY_LEFT && key != KEY_RIGHT)
{
key = 0;
}
@@ -94,7 +92,7 @@ int MainWindow::inputKeys()
void MainWindow::resize()
{
- if (_window != nullptr)
+ if(_window != nullptr)
{
destroy();
}
@@ -103,9 +101,9 @@ void MainWindow::resize()
void MainWindow::update() const
{
- if (_window != nullptr)
+ if(_window != nullptr)
{
refresh();
}
}
-//------------------------------------------------------------------------------ \ No newline at end of file
+//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/nc_windows/main_window.h b/analyzers/src/watch/nc_windows/main_window.h
index 4c1afc5..6fed7b3 100644
--- a/analyzers/src/watch/nc_windows/main_window.h
+++ b/analyzers/src/watch/nc_windows/main_window.h
@@ -32,10 +32,10 @@ class MainWindow
void init();
void destroy();
+
static void cleanStdin(int);
public:
-
MainWindow();
~MainWindow();
@@ -52,5 +52,5 @@ public:
void update() const;
};
//------------------------------------------------------------------------------
-#endif//MAIN_WINDOW_H
+#endif //MAIN_WINDOW_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/nc_windows/nc_window_const.h b/analyzers/src/watch/nc_windows/nc_window_const.h
index 124436d..bacbb0b 100644
--- a/analyzers/src/watch/nc_windows/nc_window_const.h
+++ b/analyzers/src/watch/nc_windows/nc_window_const.h
@@ -24,7 +24,6 @@
//------------------------------------------------------------------------------
namespace
{
-
const unsigned int SECINMIN = 60;
const unsigned int SECINHOUR = 60 * 60;
const unsigned int SECINDAY = 60 * 60 * 24;
@@ -41,8 +40,7 @@ const int COUNTERS_POS = 22;
const int FIRST_CHAR_POS = 1;
const int EMPTY_LINE = 1;
-
}
//------------------------------------------------------------------------------
-#endif//NC_WINDOW_CONST_H
+#endif //NC_WINDOW_CONST_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/nc_windows/statistics_window.cpp b/analyzers/src/watch/nc_windows/statistics_window.cpp
index d4496c2..e9ec65b 100644
--- a/analyzers/src/watch/nc_windows/statistics_window.cpp
+++ b/analyzers/src/watch/nc_windows/statistics_window.cpp
@@ -29,15 +29,15 @@
//------------------------------------------------------------------------------
namespace STATISTICS
{
-const int PROTOCOLS_LINE = 1;
+const int PROTOCOLS_LINE = 1;
const int FIRST_OPERATION_LINE = 3;
-const int DEFAULT_LINES = 10;
-const int DEFAULT_GROUP = 1;
+const int DEFAULT_LINES = 10;
+const int DEFAULT_GROUP = 1;
}
void StatisticsWindow::destroy()
{
- if (_window == nullptr)
+ if(_window == nullptr)
{
return;
}
@@ -49,24 +49,24 @@ void StatisticsWindow::destroy()
bool StatisticsWindow::canWrite(unsigned int i)
{
- return (i >= _scrollOffset.at(_activeProtocol) + STATISTICS::FIRST_OPERATION_LINE && i - _scrollOffset.at(_activeProtocol) + BORDER_SIZE < static_cast<unsigned int>(_window->_maxy));
+ return (i >= _scrollOffset.at(_activeProtocol) + STATISTICS::FIRST_OPERATION_LINE && i - _scrollOffset.at(_activeProtocol) + BORDER_SIZE < static_cast<unsigned int>(_window->_maxy));
}
StatisticsWindow::StatisticsWindow(MainWindow& w, StatisticsContainers& c)
-: _window {nullptr}
-, _activeProtocol {nullptr}
+ : _window{nullptr}
+ , _activeProtocol{nullptr}
{
- if (w._window == nullptr)
+ if(w._window == nullptr)
{
throw std::runtime_error("Initialization of Header window failed.");
}
- for (auto i : c)
+ for(auto i : c)
{
_allProtocols.push_back((i.first)->getProtocolName());
_scrollOffset.insert(std::make_pair<AbstractProtocol*, std::size_t>(reinterpret_cast<AbstractProtocol*>(i.first), 0));
};
_activeProtocol = (c.begin())->first;
- _statistic = c.at(_activeProtocol);
+ _statistic = c.at(_activeProtocol);
resize(w);
}
@@ -76,12 +76,12 @@ StatisticsWindow::~StatisticsWindow()
void StatisticsWindow::scrollContent(int i)
{
- if (i > 0 && _scrollOffset.at(_activeProtocol) <= MAXSHIFT - SHIFTCU)
+ if(i > 0 && _scrollOffset.at(_activeProtocol) <= MAXSHIFT - SHIFTCU)
{
_scrollOffset.at(_activeProtocol) += SHIFTCU;
updateProtocol(_activeProtocol);
}
- else if (i < 0 && _scrollOffset.at(_activeProtocol) >= SHIFTCU)
+ else if(i < 0 && _scrollOffset.at(_activeProtocol) >= SHIFTCU)
{
_scrollOffset.at(_activeProtocol) -= SHIFTCU;
updateProtocol(_activeProtocol);
@@ -92,17 +92,16 @@ void StatisticsWindow::updateProtocol(AbstractProtocol* p)
{
if(p != nullptr)
_activeProtocol = p;
- if (_window == nullptr)
+ if(_window == nullptr)
{
return;
}
werase(_window);
- wborder(_window, ACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE, ACS_ULCORNER, ACS_URCORNER , ACS_LLCORNER, ACS_LRCORNER);
+ wborder(_window, ACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE, ACS_ULCORNER, ACS_URCORNER, ACS_LLCORNER, ACS_LRCORNER);
std::string tmp(" ");
- for_each (_allProtocols.begin(), _allProtocols.end(), [&](std::string& s)
- {
- if (!s.compare(_activeProtocol->getProtocolName()))
+ for_each(_allProtocols.begin(), _allProtocols.end(), [&](std::string& s) {
+ if(!s.compare(_activeProtocol->getProtocolName()))
{
tmp += std::string(" < ") + s + std::string(" > ");
}
@@ -112,19 +111,19 @@ void StatisticsWindow::updateProtocol(AbstractProtocol* p)
}
});
- mvwprintw(_window, STATISTICS::PROTOCOLS_LINE , FIRST_CHAR_POS, "%s", tmp.c_str());
+ mvwprintw(_window, STATISTICS::PROTOCOLS_LINE, FIRST_CHAR_POS, "%s", tmp.c_str());
unsigned int line = STATISTICS::FIRST_OPERATION_LINE;
for(unsigned int i = STATISTICS::DEFAULT_GROUP; i <= _activeProtocol->getGroups(); i++)
{
- if ( canWrite(line))
+ if(canWrite(line))
{
mvwprintw(_window, line - (_scrollOffset.at(p)), FIRST_CHAR_POS, "%s", "Total:");
}
line++;
- for (unsigned int j = _activeProtocol->getGroupBegin(i); j < _activeProtocol->getGroupBegin(i + 1); j++)
+ for(unsigned int j = _activeProtocol->getGroupBegin(i); j < _activeProtocol->getGroupBegin(i + 1); j++)
{
- if ( canWrite(line))
+ if(canWrite(line))
{
mvwprintw(_window, line - (_scrollOffset.at(p)), FIRST_CHAR_POS, "%s", p->printProcedure(j));
}
@@ -132,13 +131,12 @@ void StatisticsWindow::updateProtocol(AbstractProtocol* p)
}
line++;
}
-
}
void StatisticsWindow::update(const ProtocolStatistic& d)
{
_statistic = d;
- if (_statistic.empty() || _window == nullptr)
+ if(_statistic.empty() || _window == nullptr)
{
return;
}
@@ -152,14 +150,14 @@ void StatisticsWindow::update(const ProtocolStatistic& d)
{
m += _statistic[tmp];
}
- if ( canWrite(line))
+ if(canWrite(line))
{
mvwprintw(_window, line - (_scrollOffset.at(_activeProtocol)), FIRST_CHAR_POS + 25, "%d", m);
}
line++;
- for (unsigned int j = _activeProtocol->getGroupBegin(i); j < _activeProtocol->getGroupBegin(i + 1); j++)
+ for(unsigned int j = _activeProtocol->getGroupBegin(i); j < _activeProtocol->getGroupBegin(i + 1); j++)
{
- if ( canWrite(line))
+ if(canWrite(line))
{
mvwprintw(_window, line - _scrollOffset.at(_activeProtocol), COUNTERS_POS, "%lu ", _statistic[j]);
mvwprintw(_window, line - _scrollOffset.at(_activeProtocol), PERSENT_POS, "%-3.2f%% ",
@@ -174,16 +172,16 @@ void StatisticsWindow::update(const ProtocolStatistic& d)
void StatisticsWindow::resize(MainWindow& m)
{
- if (_window != nullptr)
+ if(_window != nullptr)
{
destroy();
}
int tmp_size = STATISTICS::DEFAULT_LINES;
- if (_activeProtocol != nullptr)
+ if(_activeProtocol != nullptr)
{
tmp_size = _activeProtocol->getAmount() + 2 * BORDER_SIZE + 2 * EMPTY_LINE + STATISTICS::PROTOCOLS_LINE + _activeProtocol->getGroups() * EMPTY_LINE * _activeProtocol->getGroups();
}
- if (m._window != nullptr && m._window->_maxy > GUI_HEADER_HEIGHT)
+ if(m._window != nullptr && m._window->_maxy > GUI_HEADER_HEIGHT)
{
_window = subwin(m._window, std::min(static_cast<int>(m._window->_maxy - GUI_HEADER_HEIGHT), tmp_size),
std::min(static_cast<int>(m._window->_maxx), GUI_LENGTH), GUI_HEADER_HEIGHT - BORDER_SIZE, 0);
diff --git a/analyzers/src/watch/nc_windows/statistics_window.h b/analyzers/src/watch/nc_windows/statistics_window.h
index e95bd85..15002f1 100644
--- a/analyzers/src/watch/nc_windows/statistics_window.h
+++ b/analyzers/src/watch/nc_windows/statistics_window.h
@@ -22,28 +22,18 @@
#ifndef STATISTICS_WINDOW_H
#define STATISTICS_WINDOW_H
//------------------------------------------------------------------------------
-#include <unordered_map>
#include <vector>
+#include <unordered_map>
#include "../protocols/abstract_protocol.h"
#include "main_window.h"
//------------------------------------------------------------------------------
class StatisticsWindow
{
- using ProtocolStatistic = std::vector<std::size_t>;
+ using ProtocolStatistic = std::vector<std::size_t>;
using StatisticsContainers = std::unordered_map<AbstractProtocol*, ProtocolStatistic>;
-private:
- WINDOW* _window;
- AbstractProtocol* _activeProtocol;
- std::vector<std::string> _allProtocols;
- std::unordered_map<AbstractProtocol*, unsigned int> _scrollOffset;
- ProtocolStatistic _statistic;
- void destroy();
- bool canWrite(unsigned int);
-
public:
- StatisticsWindow() = delete;
StatisticsWindow(MainWindow&, StatisticsContainers&);
~StatisticsWindow();
@@ -66,7 +56,17 @@ public:
/*! Only set active protocol, do not update new protocol's commands.
*/
void setProtocol(AbstractProtocol*);
+
+private:
+ void destroy();
+ bool canWrite(unsigned int);
+
+ WINDOW* _window;
+ AbstractProtocol* _activeProtocol;
+ std::vector<std::string> _allProtocols;
+ std::unordered_map<AbstractProtocol*, unsigned int> _scrollOffset;
+ ProtocolStatistic _statistic;
};
//------------------------------------------------------------------------------
-#endif//STATISTICS_WINDOWS_H
+#endif //STATISTICS_WINDOWS_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/protocols/abstract_protocol.cpp b/analyzers/src/watch/protocols/abstract_protocol.cpp
index 48a4cd8..c52945a 100644
--- a/analyzers/src/watch/protocols/abstract_protocol.cpp
+++ b/analyzers/src/watch/protocols/abstract_protocol.cpp
@@ -24,12 +24,12 @@
//------------------------------------------------------------------------------
namespace
{
- const int EMPTY_GROUP = 1;
+const int EMPTY_GROUP = 1;
}
AbstractProtocol::AbstractProtocol(const char* n, std::size_t i)
-: name {n}
-, amount {i}
+ : name{n}
+ , amount{i}
{
}
@@ -59,7 +59,7 @@ std::size_t AbstractProtocol::getGroups()
std::size_t AbstractProtocol::getGroupBegin(std::size_t i)
{
- if( i == EMPTY_GROUP)
+ if(i == EMPTY_GROUP)
return 0;
else
return amount;
diff --git a/analyzers/src/watch/protocols/abstract_protocol.h b/analyzers/src/watch/protocols/abstract_protocol.h
index 4e0649b..a194864 100644
--- a/analyzers/src/watch/protocols/abstract_protocol.h
+++ b/analyzers/src/watch/protocols/abstract_protocol.h
@@ -62,5 +62,5 @@ private:
std::size_t amount;
};
//------------------------------------------------------------------------------
-#endif//ABSTRACT_PROTOCOL_H
+#endif //ABSTRACT_PROTOCOL_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/protocols/cifsv1_protocol.cpp b/analyzers/src/watch/protocols/cifsv1_protocol.cpp
index ac456ee..fb130e1 100644
--- a/analyzers/src/watch/protocols/cifsv1_protocol.cpp
+++ b/analyzers/src/watch/protocols/cifsv1_protocol.cpp
@@ -20,11 +20,12 @@
*/
//------------------------------------------------------------------------------
#include <api/plugin_api.h> // include plugin development definitions
+
#include "cifsv1_protocol.h"
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
CIFSv1Protocol::CIFSv1Protocol()
-: AbstractProtocol {"CIFS v1", static_cast<std::size_t>(SMBv1::SMBv1Commands::CMD_COUNT)}
+ : AbstractProtocol{"CIFS v1", static_cast<std::size_t>(SMBv1::SMBv1Commands::CMD_COUNT)}
{
}
@@ -34,7 +35,10 @@ CIFSv1Protocol::~CIFSv1Protocol()
const char* CIFSv1Protocol::printProcedure(std::size_t i)
{
- if ( i >= static_cast<std::size_t>(SMBv1::SMBv1Commands::CMD_COUNT)) { return nullptr; }
+ if(i >= static_cast<std::size_t>(SMBv1::SMBv1Commands::CMD_COUNT))
+ {
+ return nullptr;
+ }
return print_cifs1_procedures(static_cast<SMBv1::SMBv1Commands>(i));
}
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/protocols/cifsv1_protocol.h b/analyzers/src/watch/protocols/cifsv1_protocol.h
index 6176318..6fd6248 100644
--- a/analyzers/src/watch/protocols/cifsv1_protocol.h
+++ b/analyzers/src/watch/protocols/cifsv1_protocol.h
@@ -32,5 +32,5 @@ public:
virtual const char* printProcedure(std::size_t);
};
//------------------------------------------------------------------------------
-#endif//CIFSV1_PROTOCOL_H
+#endif //CIFSV1_PROTOCOL_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/protocols/cifsv2_protocol.cpp b/analyzers/src/watch/protocols/cifsv2_protocol.cpp
index 39a3f6a..dbe24dc 100644
--- a/analyzers/src/watch/protocols/cifsv2_protocol.cpp
+++ b/analyzers/src/watch/protocols/cifsv2_protocol.cpp
@@ -20,10 +20,11 @@
*/
//------------------------------------------------------------------------------
#include <api/plugin_api.h> // include plugin development definitions
+
#include "cifsv2_protocol.h"
//------------------------------------------------------------------------------
CIFSv2Protocol::CIFSv2Protocol()
-: AbstractProtocol {"CIFS v2", static_cast<std::size_t>(SMBv2::SMBv2Commands::CMD_COUNT)}
+ : AbstractProtocol{"CIFS v2", static_cast<std::size_t>(SMBv2::SMBv2Commands::CMD_COUNT)}
{
}
@@ -33,7 +34,10 @@ CIFSv2Protocol::~CIFSv2Protocol()
const char* CIFSv2Protocol::printProcedure(std::size_t i)
{
- if ( i >= static_cast<std::size_t>(SMBv2::SMBv2Commands::CMD_COUNT)) { return nullptr; }
+ if(i >= static_cast<std::size_t>(SMBv2::SMBv2Commands::CMD_COUNT))
+ {
+ return nullptr;
+ }
return print_cifs2_procedures(static_cast<SMBv2::SMBv2Commands>(i));
}
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/protocols/cifsv2_protocol.h b/analyzers/src/watch/protocols/cifsv2_protocol.h
index b95a740..a90aa21 100644
--- a/analyzers/src/watch/protocols/cifsv2_protocol.h
+++ b/analyzers/src/watch/protocols/cifsv2_protocol.h
@@ -32,5 +32,5 @@ public:
virtual const char* printProcedure(std::size_t);
};
//------------------------------------------------------------------------------
-#endif//CIFSV2_PROTOCOL_H
+#endif //CIFSV2_PROTOCOL_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/protocols/nfsv3_protocol.cpp b/analyzers/src/watch/protocols/nfsv3_protocol.cpp
index 39de02b..a5c4324 100644
--- a/analyzers/src/watch/protocols/nfsv3_protocol.cpp
+++ b/analyzers/src/watch/protocols/nfsv3_protocol.cpp
@@ -20,10 +20,11 @@
*/
//------------------------------------------------------------------------------
#include <api/plugin_api.h> // include plugin development definitions
+
#include "nfsv3_protocol.h"
//------------------------------------------------------------------------------
NFSv3Protocol::NFSv3Protocol()
-: AbstractProtocol {"NFS v3", ProcEnumNFS3::count}
+ : AbstractProtocol{"NFS v3", ProcEnumNFS3::count}
{
}
@@ -33,7 +34,10 @@ NFSv3Protocol::~NFSv3Protocol()
const char* NFSv3Protocol::printProcedure(std::size_t i)
{
- if ( i > ProcEnumNFS3::count) { return nullptr; }
- return print_nfs3_procedures(static_cast<ProcEnumNFS3::NFSProcedure>(i));
+ if(i > ProcEnumNFS3::count)
+ {
+ return nullptr;
+ }
+ return print_nfs3_procedures(static_cast<ProcEnumNFS3::NFSProcedure>(i));
}
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/protocols/nfsv3_protocol.h b/analyzers/src/watch/protocols/nfsv3_protocol.h
index d4e5119..e94f4a5 100644
--- a/analyzers/src/watch/protocols/nfsv3_protocol.h
+++ b/analyzers/src/watch/protocols/nfsv3_protocol.h
@@ -32,5 +32,5 @@ public:
virtual const char* printProcedure(std::size_t);
};
//------------------------------------------------------------------------------
-#endif//NFSV3_PROTOCOL_H
+#endif //NFSV3_PROTOCOL_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/protocols/nfsv41_protocol.cpp b/analyzers/src/watch/protocols/nfsv41_protocol.cpp
index fbc7251..f48b03e 100644
--- a/analyzers/src/watch/protocols/nfsv41_protocol.cpp
+++ b/analyzers/src/watch/protocols/nfsv41_protocol.cpp
@@ -20,17 +20,18 @@
*/
//------------------------------------------------------------------------------
#include <api/plugin_api.h> // include plugin development definitions
+
#include "nfsv41_protocol.h"
//------------------------------------------------------------------------------
namespace
{
const int NFSV41_NUMBEROFGROUPS = 2;
-const int PROCEDURES_GROUP = 1;
-const int OPERATIONS_GROUP = 2;
+const int PROCEDURES_GROUP = 1;
+const int OPERATIONS_GROUP = 2;
}
NFSv41Protocol::NFSv41Protocol()
-: AbstractProtocol {"NFS v41", ProcEnumNFS41::count}
+ : AbstractProtocol{"NFS v41", ProcEnumNFS41::count}
{
}
@@ -40,8 +41,11 @@ NFSv41Protocol::~NFSv41Protocol()
const char* NFSv41Protocol::printProcedure(std::size_t i)
{
- if ( i > ProcEnumNFS41::count) { return nullptr; }
- return print_nfs41_procedures(static_cast<ProcEnumNFS41::NFSProcedure>(i));
+ if(i > ProcEnumNFS41::count)
+ {
+ return nullptr;
+ }
+ return print_nfs41_procedures(static_cast<ProcEnumNFS41::NFSProcedure>(i));
}
std::size_t NFSv41Protocol::getGroups()
diff --git a/analyzers/src/watch/protocols/nfsv41_protocol.h b/analyzers/src/watch/protocols/nfsv41_protocol.h
index 8b74ab4..218247e 100644
--- a/analyzers/src/watch/protocols/nfsv41_protocol.h
+++ b/analyzers/src/watch/protocols/nfsv41_protocol.h
@@ -34,5 +34,5 @@ public:
virtual std::size_t getGroupBegin(std::size_t);
};
//------------------------------------------------------------------------------
-#endif//NFSV41_PROTOCOL_H
+#endif //NFSV41_PROTOCOL_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/protocols/nfsv4_protocol.cpp b/analyzers/src/watch/protocols/nfsv4_protocol.cpp
index d22bcfc..dfe7ce8 100644
--- a/analyzers/src/watch/protocols/nfsv4_protocol.cpp
+++ b/analyzers/src/watch/protocols/nfsv4_protocol.cpp
@@ -20,17 +20,18 @@
*/
//------------------------------------------------------------------------------
#include <api/plugin_api.h> // include plugin development definitions
+
#include "nfsv4_protocol.h"
//------------------------------------------------------------------------------
namespace
{
const int NFSV4_NUMBER_OF_GROUPS = 2;
-const int PROCEDURES_GROUP = 1;
-const int OPERATIONS_GROUP = 2;
+const int PROCEDURES_GROUP = 1;
+const int OPERATIONS_GROUP = 2;
}
NFSv4Protocol::NFSv4Protocol()
-: AbstractProtocol {"NFS v4", ProcEnumNFS4::count}
+ : AbstractProtocol{"NFS v4", ProcEnumNFS4::count}
{
}
@@ -40,8 +41,11 @@ NFSv4Protocol::~NFSv4Protocol()
const char* NFSv4Protocol::printProcedure(std::size_t i)
{
- if ( i > ProcEnumNFS4::count) { return nullptr; }
- return print_nfs4_procedures(static_cast<ProcEnumNFS4::NFSProcedure>(i));
+ if(i > ProcEnumNFS4::count)
+ {
+ return nullptr;
+ }
+ return print_nfs4_procedures(static_cast<ProcEnumNFS4::NFSProcedure>(i));
}
std::size_t NFSv4Protocol::getGroups()
diff --git a/analyzers/src/watch/protocols/nfsv4_protocol.h b/analyzers/src/watch/protocols/nfsv4_protocol.h
index bc39391..cbd6093 100644
--- a/analyzers/src/watch/protocols/nfsv4_protocol.h
+++ b/analyzers/src/watch/protocols/nfsv4_protocol.h
@@ -34,5 +34,5 @@ public:
virtual std::size_t getGroupBegin(std::size_t);
};
//------------------------------------------------------------------------------
-#endif//PROTOCOLS_H
+#endif //PROTOCOLS_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/user_gui.cpp b/analyzers/src/watch/user_gui.cpp
index 6e7d6de..9f8e9da 100644
--- a/analyzers/src/watch/user_gui.cpp
+++ b/analyzers/src/watch/user_gui.cpp
@@ -46,7 +46,7 @@ void UserGUI::run()
// prepare for select
fd_set rfds;
- MainWindow mainWindow;
+ MainWindow mainWindow;
HeaderWindow headerWindow(mainWindow);
StatisticsWindow statisticsWindow(mainWindow, _statisticsContainers);
@@ -63,9 +63,9 @@ void UserGUI::run()
statisticsWindow.updateProtocol(_activeProtocol);
- while (_running.test_and_set())
+ while(_running.test_and_set())
{
- if (_shouldResize)
+ if(_shouldResize)
{
mainWindow.resize();
headerWindow.resize(mainWindow);
@@ -74,67 +74,65 @@ void UserGUI::run()
_shouldResize = false;
}
- if (_running.test_and_set())
+ if(_running.test_and_set())
{
- std::unique_lock<std::mutex>lck(_statisticsDeltaMutex);
+ std::unique_lock<std::mutex> lck(_statisticsDeltaMutex);
tmp = _statisticsContainers.at(_activeProtocol);
}
headerWindow.update();
statisticsWindow.update(tmp);
mainWindow.update();
- if( select(STDIN_FILENO + 1, &rfds, nullptr, nullptr, &tv) == -1)
+ if(select(STDIN_FILENO + 1, &rfds, nullptr, nullptr, &tv) == -1)
{
break;
}
else
{
key = mainWindow.inputKeys();
- if (key == KEY_LEFT || key == KEY_RIGHT)
+ if(key == KEY_LEFT || key == KEY_RIGHT)
{
- auto it = find_if (_allProtocols.begin(), _allProtocols.end(), [&](std::string s)
- {
+ auto it = find_if(_allProtocols.begin(), _allProtocols.end(), [&](std::string s) {
return !(s.compare(_activeProtocol->getProtocolName()));
});
- if (it != _allProtocols.end())
+ if(it != _allProtocols.end())
{
- if (key == KEY_LEFT)
+ if(key == KEY_LEFT)
{
- if (it + 1 == _allProtocols.end())
+ if(it + 1 == _allProtocols.end())
it = _allProtocols.begin();
else
++it;
}
- else if (key == KEY_RIGHT)
+ else if(key == KEY_RIGHT)
{
- if (it == _allProtocols.begin())
+ if(it == _allProtocols.begin())
it = _allProtocols.end() - 1;
else
--it;
}
- auto a = find_if ( _statisticsContainers.begin(), _statisticsContainers.end(),[&](std::pair<AbstractProtocol*, std::vector<std::size_t> > p)
- {
+ auto a = find_if(_statisticsContainers.begin(), _statisticsContainers.end(), [&](std::pair<AbstractProtocol*, std::vector<std::size_t>> p) {
return !(p.first->getProtocolName().compare(*it));
});
- if (a != _statisticsContainers.end())
+ if(a != _statisticsContainers.end())
{
_activeProtocol = a->first;
statisticsWindow.setProtocol(_activeProtocol);
statisticsWindow.resize(mainWindow);
{
- std::unique_lock<std::mutex>lck(_statisticsDeltaMutex);
+ std::unique_lock<std::mutex> lck(_statisticsDeltaMutex);
tmp = a->second;
}
statisticsWindow.update(tmp);
}
}
}
- else if (key == KEY_UP)
+ else if(key == KEY_UP)
{
statisticsWindow.scrollContent(SCROLL_UP);
statisticsWindow.update(tmp);
}
- else if (key == KEY_DOWN)
+ else if(key == KEY_DOWN)
{
statisticsWindow.scrollContent(SCROLL_DOWN);
statisticsWindow.update(tmp);
@@ -143,7 +141,7 @@ void UserGUI::run()
tv = getTimeval();
}
}
- catch (std::runtime_error& e)
+ catch(std::runtime_error& e)
{
std::cerr << "Watch plugin error: " << e.what();
}
@@ -152,36 +150,36 @@ void UserGUI::run()
timeval UserGUI::getTimeval() const
{
struct timeval tv;
- tv.tv_sec = _refresh_delta / MSEC;
+ tv.tv_sec = _refresh_delta / MSEC;
tv.tv_usec = _refresh_delta % MSEC;
return tv;
}
-UserGUI::UserGUI(const char* opts, std::vector<AbstractProtocol* >& data)
-: _refresh_delta {900000}
-, _shouldResize {false}
-, _running {ATOMIC_FLAG_INIT}
-, _activeProtocol(nullptr)
+UserGUI::UserGUI(const char* opts, std::vector<AbstractProtocol*>& data)
+ : _refresh_delta{900000}
+ , _shouldResize{false}
+ , _running{ATOMIC_FLAG_INIT}
+ , _activeProtocol(nullptr)
{
try
{
- if (opts != nullptr && *opts != '\0' )
+ if(opts != nullptr && *opts != '\0')
{
_refresh_delta = std::stoul(opts);
}
- for (auto it = data.begin(); it != data.end(); ++it)
+ for(auto it = data.begin(); it != data.end(); ++it)
{
_allProtocols.push_back((*it)->getProtocolName());
- _statisticsContainers.insert(std::make_pair<AbstractProtocol*, std::vector<std::size_t> >((AbstractProtocol*&&)(*it), std::vector<std::size_t>((*it)->getAmount(), 0)));
+ _statisticsContainers.insert(std::make_pair<AbstractProtocol*, std::vector<std::size_t>>((AbstractProtocol * &&)(*it), std::vector<std::size_t>((*it)->getAmount(), 0)));
}
- if (_activeProtocol == nullptr && ! data.empty())
+ if(_activeProtocol == nullptr && !data.empty())
{
_activeProtocol = data.back();
}
}
- catch (std::exception& e)
+ catch(std::exception& e)
{
- throw std::runtime_error {std::string{"Error in plugin options processing. OPTS: "} + opts + std::string(" Error: ") + e.what()};
+ throw std::runtime_error{std::string{"Error in plugin options processing. OPTS: "} + opts + std::string(" Error: ") + e.what()};
}
_running.test_and_set();
_guiThread = std::thread(&UserGUI::run, this);
@@ -197,8 +195,8 @@ void UserGUI::update(AbstractProtocol* p, std::vector<std::size_t>& d)
{
std::vector<std::size_t>::iterator it;
std::vector<std::size_t>::iterator st;
- std::unique_lock<std::mutex>lck(_statisticsDeltaMutex);
- for (it = (_statisticsContainers.at(p)).begin(), st = d.begin(); it != (_statisticsContainers.at(p)).end() && st != d.end(); ++it, ++st)
+ std::unique_lock<std::mutex> lck(_statisticsDeltaMutex);
+ for(it = (_statisticsContainers.at(p)).begin(), st = d.begin(); it != (_statisticsContainers.at(p)).end() && st != d.end(); ++it, ++st)
{
(*it) += (*st);
}
diff --git a/analyzers/src/watch/user_gui.h b/analyzers/src/watch/user_gui.h
index b40dd52..20e881c 100644
--- a/analyzers/src/watch/user_gui.h
+++ b/analyzers/src/watch/user_gui.h
@@ -29,32 +29,17 @@
#include <vector>
#include <ncurses.h>
+
#include "protocols/abstract_protocol.h"
//------------------------------------------------------------------------------
class UserGUI
{
public:
- using ProtocolStatistic = std::vector<std::size_t>;
+ using ProtocolStatistic = std::vector<std::size_t>;
using StatisticsContainers = std::unordered_map<AbstractProtocol*, ProtocolStatistic>;
-private:
- unsigned long _refresh_delta; // in microseconds
-
- std::atomic<bool> _shouldResize;
- std::mutex _statisticsDeltaMutex;
- std::atomic_flag _running;
-
- StatisticsContainers _statisticsContainers;
-
- AbstractProtocol* _activeProtocol;
- std::thread _guiThread;
- std::vector<std::string> _allProtocols;
- void run();
- timeval getTimeval() const;
-public:
-
UserGUI() = delete;
- UserGUI(const char*, std::vector<AbstractProtocol* >&);
+ UserGUI(const char*, std::vector<AbstractProtocol*>&);
~UserGUI();
/*! Update Protocol's data.
@@ -64,7 +49,20 @@ public:
/*! Enable screen full update. Use for resize main window.
*/
void enableUpdate();
+
+private:
+ void run();
+ timeval getTimeval() const;
+
+ unsigned long _refresh_delta; // in microseconds
+ std::atomic<bool> _shouldResize;
+ std::mutex _statisticsDeltaMutex;
+ std::atomic_flag _running;
+ StatisticsContainers _statisticsContainers;
+ AbstractProtocol* _activeProtocol;
+ std::thread _guiThread;
+ std::vector<std::string> _allProtocols;
};
//------------------------------------------------------------------------------
-#endif//USERGUI_H
+#endif //USERGUI_H
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/watch_analyzer.cpp b/analyzers/src/watch/watch_analyzer.cpp
index 26dd4f9..5bb4b35 100644
--- a/analyzers/src/watch/watch_analyzer.cpp
+++ b/analyzers/src/watch/watch_analyzer.cpp
@@ -24,21 +24,21 @@
#include <string>
#include <unordered_map>
-#include <unistd.h>
#include <signal.h>
#include <sys/time.h>
#include <sys/types.h>
+#include <unistd.h>
#include "watch_analyzer.h"
//------------------------------------------------------------------------------
WatchAnalyzer::WatchAnalyzer(const char* opts)
-: _cifsv2 {}
-, _cifsv1 {}
-, _nfsv41 {}
-, _nfsv4 {}
-, _nfsv3 {}
-, protocols {&_cifsv2, &_cifsv1, &_nfsv41, &_nfsv4, &_nfsv3}
-, gui {opts, protocols}
+ : _cifsv2{}
+ , _cifsv1{}
+ , _nfsv41{}
+ , _nfsv4{}
+ , _nfsv3{}
+ , protocols{&_cifsv2, &_cifsv1, &_nfsv41, &_nfsv4, &_nfsv3}
+ , gui{opts, protocols}
{
}
@@ -46,6 +46,7 @@ WatchAnalyzer::~WatchAnalyzer()
{
}
+// clang-format off
void WatchAnalyzer::null(const RPCProcedure* proc,
const struct NFS3::NULL3args*,
const struct NFS3::NULL3res*) { nfs_account(proc); }
@@ -878,6 +879,7 @@ void WatchAnalyzer::breakOplockSMBv2(const SMBv2::BreakOpLockCommand* /*cmd*/, c
{
cifs_account(_cifsv2, static_cast<int>(SMBv2::SMBv2Commands::OPLOCK_BREAK));
}
+// clang-format on
void WatchAnalyzer::flush_statistics()
{
@@ -885,15 +887,15 @@ void WatchAnalyzer::flush_statistics()
void WatchAnalyzer::on_unix_signal(int signo)
{
- if (signo == SIGWINCH)
+ if(signo == SIGWINCH)
{
gui.enableUpdate();
}
}
-void WatchAnalyzer::cifs_account(AbstractProtocol &protocol, int cmd_code)
+void WatchAnalyzer::cifs_account(AbstractProtocol& protocol, int cmd_code)
{
- std::vector<std::size_t> cifs_proc_count (static_cast<std::size_t>(protocol.getAmount()), 0);
+ std::vector<std::size_t> cifs_proc_count(static_cast<std::size_t>(protocol.getAmount()), 0);
++cifs_proc_count[cmd_code];
gui.update(&protocol, cifs_proc_count);
}
@@ -903,25 +905,25 @@ void WatchAnalyzer::nfs_account(const RPCProcedure* proc, const unsigned int nfs
const u_int nfs_proc = proc->call.ru.RM_cmb.cb_proc;
const u_int nfs_vers = proc->call.ru.RM_cmb.cb_vers;
- if (nfs_vers == NFS_V4)
+ if(nfs_vers == NFS_V4)
{
- if (nfs_minor_vers == NFS_V40)
+ if(nfs_minor_vers == NFS_V40)
{
- std::vector<std::size_t> nfs4_proc_count (ProcEnumNFS4::count, 0);
+ std::vector<std::size_t> nfs4_proc_count(ProcEnumNFS4::count, 0);
++nfs4_proc_count[nfs_proc];
gui.update(&_nfsv4, nfs4_proc_count);
}
- if (nfs_minor_vers == NFS_V41 || nfs_proc == ProcEnumNFS4::NFS_NULL)
+ if(nfs_minor_vers == NFS_V41 || nfs_proc == ProcEnumNFS4::NFS_NULL)
{
- std::vector<std::size_t> nfs41_proc_count (ProcEnumNFS41::count, 0);
+ std::vector<std::size_t> nfs41_proc_count(ProcEnumNFS41::count, 0);
++nfs41_proc_count[nfs_proc];
gui.update(&_nfsv41, nfs41_proc_count);
}
}
- else if (nfs_vers == NFS_V3)
+ else if(nfs_vers == NFS_V3)
{
- std::vector<std::size_t> nfs3_proc_count (ProcEnumNFS3::count, 0);
+ std::vector<std::size_t> nfs3_proc_count(ProcEnumNFS3::count, 0);
++nfs3_proc_count[nfs_proc];
gui.update(&_nfsv3, nfs3_proc_count);
}
@@ -929,51 +931,50 @@ void WatchAnalyzer::nfs_account(const RPCProcedure* proc, const unsigned int nfs
void WatchAnalyzer::account40_op(const RPCProcedure* /*proc*/, const ProcEnumNFS4::NFSProcedure operation)
{
- std::vector<std::size_t> nfs4_proc_count (ProcEnumNFS4::count, 0);
+ std::vector<std::size_t> nfs4_proc_count(ProcEnumNFS4::count, 0);
++nfs4_proc_count[operation];
gui.update(&_nfsv4, nfs4_proc_count);
}
void WatchAnalyzer::account41_op(const RPCProcedure* /*proc*/, const ProcEnumNFS41::NFSProcedure operation)
{
- std::vector<std::size_t> nfs41_proc_count (ProcEnumNFS41::count, 0);
+ std::vector<std::size_t> nfs41_proc_count(ProcEnumNFS41::count, 0);
++nfs41_proc_count[operation];
gui.update(&_nfsv41, nfs41_proc_count);
}
//------------------------------------------------------------------------------
-extern "C"
+extern "C" {
+
+const char* usage()
{
+ return "User can set chrono output timeout in msec.\n"
+ "You have to run nfstrace with verbosity level set to 0 (nfstrace -v 0 ...)";
+}
- const char* usage()
+IAnalyzer* create(const char* opts)
+{
+ try
{
- return "User can set chrono output timeout in msec.\n"
- "You have to run nfstrace with verbosity level set to 0 (nfstrace -v 0 ...)";
+ return new WatchAnalyzer(opts);
}
-
- IAnalyzer* create(const char* opts)
+ catch(std::exception& e)
{
- try
- {
- return new WatchAnalyzer(opts);
- }
- catch (std::exception& e)
- {
- std::cerr << "Can't initalize plugin: " << e.what() << std::endl;
- return nullptr;
- }
+ std::cerr << "Can't initalize plugin: " << e.what() << std::endl;
+ return nullptr;
}
+}
- void destroy(IAnalyzer* instance)
- {
- delete instance;
- }
+void destroy(IAnalyzer* instance)
+{
+ delete instance;
+}
- const AnalyzerRequirements* requirements()
- {
- static const AnalyzerRequirements requirements{true};
- return &requirements;
- }
+const AnalyzerRequirements* requirements()
+{
+ static const AnalyzerRequirements requirements{true};
+ return &requirements;
+}
- NST_PLUGIN_ENTRY_POINTS (&usage, &create, &destroy, &requirements)
+NST_PLUGIN_ENTRY_POINTS(&usage, &create, &destroy, &requirements)
}
//------------------------------------------------------------------------------
diff --git a/analyzers/src/watch/watch_analyzer.h b/analyzers/src/watch/watch_analyzer.h
index 9635f7c..cb8a4a4 100644
--- a/analyzers/src/watch/watch_analyzer.h
+++ b/analyzers/src/watch/watch_analyzer.h
@@ -26,11 +26,12 @@
#include <condition_variable>
#include <api/plugin_api.h> // include plugin development definitions
-#include "protocols/nfsv3_protocol.h"
-#include "protocols/nfsv4_protocol.h"
-#include "protocols/nfsv41_protocol.h"
+
#include "protocols/cifsv1_protocol.h"
#include "protocols/cifsv2_protocol.h"
+#include "protocols/nfsv3_protocol.h"
+#include "protocols/nfsv41_protocol.h"
+#include "protocols/nfsv4_protocol.h"
#include "user_gui.h"
//------------------------------------------------------------------------------
class WatchAnalyzer : public IAnalyzer
@@ -110,8 +111,8 @@ public:
const struct NFS3::COMMIT3res*) override final;
// NFS v4
virtual void null4(const RPCProcedure*,
- const struct NFS4::NULL4args*,
- const struct NFS4::NULL4res*) override final;
+ const struct NFS4::NULL4args*,
+ const struct NFS4::NULL4res*) override final;
virtual void compound4(const RPCProcedure*,
const struct NFS4::COMPOUND4args*,
const struct NFS4::COMPOUND4res*) override final;
@@ -492,9 +493,8 @@ public:
virtual void breakOplockSMBv2(const SMBv2::BreakOpLockCommand*, const SMBv2::OplockAcknowledgment*, const SMBv2::OplockResponse*) override final;
private:
-
void count_proc(const RPCProcedure* proc);
- void cifs_account(AbstractProtocol &protocol, int cmd_code);
+ void cifs_account(AbstractProtocol& protocol, int cmd_code);
void nfs_account(const RPCProcedure*,
const unsigned int nfs_minor_vers = NFS_V41);
void account40_op(const RPCProcedure*, const ProcEnumNFS4::NFSProcedure);
@@ -506,9 +506,9 @@ private:
NFSv4Protocol _nfsv4;
NFSv3Protocol _nfsv3;
- std::vector<AbstractProtocol* > protocols;
- UserGUI gui;
+ std::vector<AbstractProtocol*> protocols;
+ UserGUI gui;
};
//------------------------------------------------------------------------------
-#endif//WATCH_ANALYZER_H
+#endif //WATCH_ANALYZER_H
//------------------------------------------------------------------------------