Cache the local server statistics object
By storing the server statistics object in side the session, the lookup involved in getting a worker-local value is avoided. Since the lookup is done multiple times for a single query, it is beneficial to store it in the session. As the worker-local value is never deleted, it is safe to store a reference to it in the session. It is also never updated concurrently so no atomic operations are necessary.
This commit is contained in:
@ -107,9 +107,9 @@ const Stats& RWSplit::stats() const
|
||||
return m_stats;
|
||||
}
|
||||
|
||||
ServerStats& RWSplit::server_stats(SERVER* server)
|
||||
SrvStatMap& RWSplit::local_server_stats()
|
||||
{
|
||||
return (*m_server_stats)[server];
|
||||
return *m_server_stats;
|
||||
}
|
||||
|
||||
maxscale::SrvStatMap RWSplit::all_server_stats() const
|
||||
|
Reference in New Issue
Block a user