root/opal/mca/btl/usnic/btl_usnic_stats.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2013-2017 Cisco Systems, Inc.  All rights reserved.
   3  * $COPYRIGHT$
   4  *
   5  * Additional copyrights may follow
   6  *
   7  * $HEADER$
   8  */
   9 
  10 /**
  11  * @file
  12  *
  13  * Statistics for the usnic BTL component.
  14  */
  15 
  16 #ifndef OPAL_BTL_USNIC_STATS_H
  17 #define OPAL_BTL_USNIC_STATS_H
  18 
  19 #include <sys/time.h>
  20 
  21 #include "opal/mca/event/event.h"
  22 
  23 
  24 /**
  25  * Struct containing all the statistics that are trackedx
  26  */
  27 typedef struct opal_btl_usnic_module_stats_t {
  28     bool final_stats;
  29     uint64_t report_num;
  30 
  31     uint64_t num_total_sends;
  32     uint64_t num_resends;
  33     uint64_t num_timeout_retrans;
  34     uint64_t num_fast_retrans;
  35     uint64_t num_chunk_sends;
  36     uint64_t num_frag_sends;
  37     uint64_t num_ack_sends;
  38 
  39     uint64_t num_total_recvs;
  40     uint64_t num_unk_recvs;
  41     uint64_t num_dup_recvs;
  42     uint64_t num_oow_low_recvs;
  43     uint64_t num_oow_high_recvs;
  44     uint64_t num_frag_recvs;
  45     uint64_t num_chunk_recvs;
  46     uint64_t num_badfrag_recvs;
  47     uint64_t num_ack_recvs;
  48     uint64_t num_old_dup_acks;
  49     uint64_t num_dup_acks;
  50     uint64_t num_recv_reposts;
  51     uint64_t num_crc_errors;
  52 
  53     uint64_t max_sent_window_size;
  54     uint64_t max_rcvd_window_size;
  55 
  56     uint64_t pml_module_sends;
  57     uint64_t pml_send_callbacks;
  58 
  59     uint64_t num_seg_total_completions;
  60     uint64_t num_seg_ack_completions;
  61     uint64_t num_seg_frag_completions;
  62     uint64_t num_seg_chunk_completions;
  63     uint64_t num_seg_recv_completions;
  64 
  65     opal_event_t timer_event;
  66     struct timeval timeout;
  67 } opal_btl_usnic_module_stats_t;
  68 
  69 
  70 /**
  71  * Initialize the stats on a module.  Must use "struct
  72  * opal_btl_usnic_module_t*" here to avoid an #include cycle.
  73  */
  74 int opal_btl_usnic_stats_init(struct opal_btl_usnic_module_t *module);
  75 
  76 /**
  77  * Finalize the stats on a module.  Must use "struct
  78  * opal_btl_usnic_module_t*" here to avoid an #include cycle.
  79  */
  80 int opal_btl_usnic_stats_finalize(struct opal_btl_usnic_module_t *module);
  81 
  82 /**
  83  * Initialize the MPI_T performance variables (for all modules)
  84  */
  85 int opal_btl_usnic_setup_mpit_pvars(void);
  86 
  87 #endif

/* [<][>][^][v][top][bottom][index][help] */