Use 64-bit integers for statistics in rwsplit
Wraparound is not likely anymore.
This commit is contained in:
parent
a1d1413b24
commit
726610b67d
@ -13,6 +13,7 @@
|
||||
|
||||
#include "readwritesplit.h"
|
||||
|
||||
#include <inttypes.h>
|
||||
#include <stdio.h>
|
||||
#include <strings.h>
|
||||
#include <string.h>
|
||||
@ -620,17 +621,17 @@ static void diagnostics(MXS_ROUTER *instance, DCB *dcb)
|
||||
all_pct = ((double)router->stats.n_all / (double)router->stats.n_queries) * 100.0;
|
||||
}
|
||||
|
||||
dcb_printf(dcb, "\tNumber of router sessions: %d\n",
|
||||
dcb_printf(dcb, "\tNumber of router sessions: %" PRIu64 "\n",
|
||||
router->stats.n_sessions);
|
||||
dcb_printf(dcb, "\tCurrent no. of router sessions: %d\n",
|
||||
router->service->stats.n_current);
|
||||
dcb_printf(dcb, "\tNumber of queries forwarded: %d\n",
|
||||
dcb_printf(dcb, "\tNumber of queries forwarded: %" PRIu64 "\n",
|
||||
router->stats.n_queries);
|
||||
dcb_printf(dcb, "\tNumber of queries forwarded to master: %d (%.2f%%)\n",
|
||||
dcb_printf(dcb, "\tNumber of queries forwarded to master: %" PRIu64 " (%.2f%%)\n",
|
||||
router->stats.n_master, master_pct);
|
||||
dcb_printf(dcb, "\tNumber of queries forwarded to slave: %d (%.2f%%)\n",
|
||||
dcb_printf(dcb, "\tNumber of queries forwarded to slave: %" PRIu64 " (%.2f%%)\n",
|
||||
router->stats.n_slave, slave_pct);
|
||||
dcb_printf(dcb, "\tNumber of queries forwarded to all: %d (%.2f%%)\n",
|
||||
dcb_printf(dcb, "\tNumber of queries forwarded to all: %" PRIu64 " (%.2f%%)\n",
|
||||
router->stats.n_all, all_pct);
|
||||
|
||||
if ((weightby = serviceGetWeightingParameter(router->service)) != NULL)
|
||||
@ -782,7 +783,7 @@ static void clientReply(MXS_ROUTER *instance,
|
||||
gwbuf_clone(bref->bref_pending_cmd))) == 1)
|
||||
{
|
||||
ROUTER_INSTANCE* inst = (ROUTER_INSTANCE *)instance;
|
||||
atomic_add(&inst->stats.n_queries, 1);
|
||||
atomic_add_uint64(&inst->stats.n_queries, 1);
|
||||
/**
|
||||
* Add one query response waiter to backend reference
|
||||
*/
|
||||
|
@ -335,11 +335,11 @@ struct router_client_session
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
int n_sessions; /*< Number sessions created */
|
||||
int n_queries; /*< Number of queries forwarded */
|
||||
int n_master; /*< Number of stmts sent to master */
|
||||
int n_slave; /*< Number of stmts sent to slave */
|
||||
int n_all; /*< Number of stmts sent to all */
|
||||
uint64_t n_sessions; /*< Number sessions created */
|
||||
uint64_t n_queries; /*< Number of queries forwarded */
|
||||
uint64_t n_master; /*< Number of stmts sent to master */
|
||||
uint64_t n_slave; /*< Number of stmts sent to slave */
|
||||
uint64_t n_all; /*< Number of stmts sent to all */
|
||||
} ROUTER_STATS;
|
||||
|
||||
/**
|
||||
|
@ -282,7 +282,7 @@ handle_target_is_all(route_target_t route_target,
|
||||
|
||||
if (result)
|
||||
{
|
||||
atomic_add(&inst->stats.n_all, 1);
|
||||
atomic_add_uint64(&inst->stats.n_all, 1);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -1069,7 +1069,7 @@ bool handle_slave_is_target(ROUTER_INSTANCE *inst, ROUTER_CLIENT_SES *rses,
|
||||
*/
|
||||
if (rwsplit_get_dcb(target_dcb, rses, BE_SLAVE, NULL, rlag_max))
|
||||
{
|
||||
atomic_add(&inst->stats.n_slave, 1);
|
||||
atomic_add_uint64(&inst->stats.n_slave, 1);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@ -1157,14 +1157,14 @@ bool handle_master_is_target(ROUTER_INSTANCE *inst, ROUTER_CLIENT_SES *rses,
|
||||
|
||||
if (succp && master_dcb == curr_master_dcb)
|
||||
{
|
||||
atomic_add(&inst->stats.n_master, 1);
|
||||
atomic_add_uint64(&inst->stats.n_master, 1);
|
||||
*target_dcb = master_dcb;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (succp && master_dcb == curr_master_dcb)
|
||||
{
|
||||
atomic_add(&inst->stats.n_master, 1);
|
||||
atomic_add_uint64(&inst->stats.n_master, 1);
|
||||
*target_dcb = master_dcb;
|
||||
}
|
||||
else
|
||||
@ -1253,7 +1253,7 @@ handle_got_target(ROUTER_INSTANCE *inst, ROUTER_CLIENT_SES *rses,
|
||||
|
||||
backend_ref_t *bref;
|
||||
|
||||
atomic_add(&inst->stats.n_queries, 1);
|
||||
atomic_add_uint64(&inst->stats.n_queries, 1);
|
||||
/**
|
||||
* Add one query response waiter to backend reference
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user