76 lines
3.1 KiB
C
76 lines
3.1 KiB
C
|
/****************************************************************
|
||
|
* *
|
||
|
* Copyright 2008, 2009 Fidelity Information Services, Inc *
|
||
|
* *
|
||
|
* This source code contains the intellectual property *
|
||
|
* of its copyright holder(s), and is made available *
|
||
|
* under a license. If you do not know the terms of *
|
||
|
* the license, please stop and do not read further. *
|
||
|
* *
|
||
|
****************************************************************/
|
||
|
|
||
|
#include "mdef.h"
|
||
|
|
||
|
#include "gtm_string.h"
|
||
|
|
||
|
#include "gdsroot.h"
|
||
|
#include "gtm_facility.h"
|
||
|
#include "fileinfo.h"
|
||
|
#include "gdsbt.h"
|
||
|
#include "gdsfhead.h"
|
||
|
#include "gvstats_rec.h"
|
||
|
|
||
|
void gvstats_rec_csd2cnl(sgmnt_addrs *csa)
|
||
|
{
|
||
|
memcpy(&csa->nl->gvstats_rec, &csa->hdr->gvstats_rec, SIZEOF(gvstats_rec_t));
|
||
|
}
|
||
|
|
||
|
void gvstats_rec_cnl2csd(sgmnt_addrs *csa)
|
||
|
{
|
||
|
memcpy(&csa->hdr->gvstats_rec, &csa->nl->gvstats_rec, SIZEOF(gvstats_rec_t));
|
||
|
}
|
||
|
|
||
|
void gvstats_rec_upgrade(sgmnt_addrs *csa)
|
||
|
{
|
||
|
node_local_ptr_t cnl;
|
||
|
sgmnt_data_ptr_t csd;
|
||
|
int index;
|
||
|
|
||
|
csd = csa->hdr;
|
||
|
cnl = csa->nl;
|
||
|
/* csd still contains gvstats info in old place. Copy over to new location */
|
||
|
cnl->gvstats_rec.n_nontp_retries_0 = csd->filler_n_retries[0];
|
||
|
cnl->gvstats_rec.n_nontp_retries_1 = csd->filler_n_retries[1];
|
||
|
cnl->gvstats_rec.n_nontp_retries_2 = csd->filler_n_retries[2];
|
||
|
cnl->gvstats_rec.n_nontp_retries_3 = csd->filler_n_retries[3];
|
||
|
cnl->gvstats_rec.n_set = csd->filler_n_puts;
|
||
|
cnl->gvstats_rec.n_kill = csd->filler_n_kills;
|
||
|
cnl->gvstats_rec.n_query = csd->filler_n_queries;
|
||
|
cnl->gvstats_rec.n_get = csd->filler_n_gets;
|
||
|
cnl->gvstats_rec.n_order = csd->filler_n_order;
|
||
|
cnl->gvstats_rec.n_zprev = csd->filler_n_zprevs;
|
||
|
cnl->gvstats_rec.n_data = csd->filler_n_data;
|
||
|
/* No longer maintained : csd->filler_n_puts_duplicate */
|
||
|
cnl->gvstats_rec.n_tp_readwrite = csd->filler_n_tp_updates;
|
||
|
/* No longer maintained : csd->filler_n_tp_updates_duplicate */
|
||
|
cnl->gvstats_rec.n_tp_tot_retries_0 = csd->filler_n_tp_retries[0];
|
||
|
cnl->gvstats_rec.n_tp_tot_retries_1 = csd->filler_n_tp_retries[1];
|
||
|
cnl->gvstats_rec.n_tp_tot_retries_2 = csd->filler_n_tp_retries[2];
|
||
|
cnl->gvstats_rec.n_tp_tot_retries_3 = csd->filler_n_tp_retries[3];
|
||
|
cnl->gvstats_rec.n_tp_tot_retries_4 = csd->filler_n_tp_retries[4];
|
||
|
for (index = 5; index < 12; index++)
|
||
|
cnl->gvstats_rec.n_tp_tot_retries_4 += csd->filler_n_tp_retries[index];
|
||
|
cnl->gvstats_rec.n_tp_cnflct_retries_0 = csd->filler_n_tp_retries_conflicts[0];
|
||
|
cnl->gvstats_rec.n_tp_cnflct_retries_1 = csd->filler_n_tp_retries_conflicts[1];
|
||
|
cnl->gvstats_rec.n_tp_cnflct_retries_2 = csd->filler_n_tp_retries_conflicts[2];
|
||
|
cnl->gvstats_rec.n_tp_cnflct_retries_3 = csd->filler_n_tp_retries_conflicts[3];
|
||
|
cnl->gvstats_rec.n_tp_cnflct_retries_4 = csd->filler_n_tp_retries_conflicts[4];
|
||
|
for (index = 5; index < 12; index++)
|
||
|
cnl->gvstats_rec.n_tp_cnflct_retries_4 += csd->filler_n_tp_retries_conflicts[index];
|
||
|
/* Nullify statistics that were formerly in use but no longer so */
|
||
|
csd->unused_dsk_reads.curr_count = 0;
|
||
|
csd->unused_dsk_reads.cumul_count = 0;
|
||
|
csd->unused_dsk_writes.curr_count = 0;
|
||
|
csd->unused_dsk_writes.cumul_count = 0;
|
||
|
}
|