GRPC C++  1.26.0
Data Structures | Macros | Typedefs | Functions | Variables
stats.h File Reference
#include <grpc/support/port_platform.h>
#include <grpc/support/atm.h>
#include "src/core/lib/debug/stats_data.h"
#include "src/core/lib/iomgr/exec_ctx.h"

Go to the source code of this file.

Data Structures

struct  grpc_stats_data
 

Macros

#define GRPC_THREAD_STATS_DATA()    (&grpc_stats_per_cpu_storage[grpc_core::ExecCtx::Get()->starting_cpu()])
 
#define GRPC_STATS_INC_COUNTER(ctr)    (gpr_atm_no_barrier_fetch_add(&GRPC_THREAD_STATS_DATA()->counters[(ctr)], 1))
 
#define GRPC_STATS_INC_HISTOGRAM(histogram, index)
 

Typedefs

typedef struct grpc_stats_data grpc_stats_data
 

Functions

void grpc_stats_init (void)
 
void grpc_stats_shutdown (void)
 
void grpc_stats_collect (grpc_stats_data *output)
 
void grpc_stats_diff (const grpc_stats_data *b, const grpc_stats_data *a, grpc_stats_data *c)
 
char * grpc_stats_data_as_json (const grpc_stats_data *data)
 
int grpc_stats_histo_find_bucket_slow (int value, const int *table, int table_size)
 
double grpc_stats_histo_percentile (const grpc_stats_data *data, grpc_stats_histograms histogram, double percentile)
 
size_t grpc_stats_histo_count (const grpc_stats_data *data, grpc_stats_histograms histogram)
 

Variables

grpc_stats_datagrpc_stats_per_cpu_storage
 

Macro Definition Documentation

◆ GRPC_STATS_INC_COUNTER

#define GRPC_STATS_INC_COUNTER (   ctr)     (gpr_atm_no_barrier_fetch_add(&GRPC_THREAD_STATS_DATA()->counters[(ctr)], 1))

◆ GRPC_STATS_INC_HISTOGRAM

#define GRPC_STATS_INC_HISTOGRAM (   histogram,
  index 
)
Value:
&GRPC_THREAD_STATS_DATA()->histograms[histogram##_FIRST_SLOT + (index)], \
1))
#define gpr_atm_no_barrier_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:57
#define GRPC_THREAD_STATS_DATA()
Definition: stats.h:35

◆ GRPC_THREAD_STATS_DATA

#define GRPC_THREAD_STATS_DATA ( )     (&grpc_stats_per_cpu_storage[grpc_core::ExecCtx::Get()->starting_cpu()])

Typedef Documentation

◆ grpc_stats_data

Function Documentation

◆ grpc_stats_collect()

void grpc_stats_collect ( grpc_stats_data output)

◆ grpc_stats_data_as_json()

char* grpc_stats_data_as_json ( const grpc_stats_data data)

◆ grpc_stats_diff()

void grpc_stats_diff ( const grpc_stats_data b,
const grpc_stats_data a,
grpc_stats_data c 
)

◆ grpc_stats_histo_count()

size_t grpc_stats_histo_count ( const grpc_stats_data data,
grpc_stats_histograms  histogram 
)

◆ grpc_stats_histo_find_bucket_slow()

int grpc_stats_histo_find_bucket_slow ( int  value,
const int *  table,
int  table_size 
)

◆ grpc_stats_histo_percentile()

double grpc_stats_histo_percentile ( const grpc_stats_data data,
grpc_stats_histograms  histogram,
double  percentile 
)

◆ grpc_stats_init()

void grpc_stats_init ( void  )

◆ grpc_stats_shutdown()

void grpc_stats_shutdown ( void  )

Variable Documentation

◆ grpc_stats_per_cpu_storage

grpc_stats_data* grpc_stats_per_cpu_storage
extern