syslog-ng source
stats-registry.h File Reference
#include "stats/stats.h"
#include "stats/stats-cluster.h"
Include dependency graph for stats-registry.h:

Go to the source code of this file.

Typedefs

typedef void(* StatsForeachClusterFunc) (StatsCluster *sc, gpointer user_data)
 
typedef gboolean(* StatsForeachClusterRemoveFunc) (StatsCluster *sc, gpointer user_data)
 

Functions

void stats_lock (void)
 
void stats_unlock (void)
 
gboolean stats_check_level (gint level)
 
StatsClusterstats_register_counter (gint level, const StatsClusterKey *sc_key, gint type, StatsCounterItem **counter)
 
StatsClusterstats_register_external_counter (gint level, const StatsClusterKey *sc_key, gint type, atomic_gssize *external_counter)
 
StatsClusterstats_register_alias_counter (gint level, const StatsClusterKey *sc_key, gint type, StatsCounterItem *aliased_counter)
 
StatsClusterstats_register_counter_and_index (gint level, const StatsClusterKey *sc_key, gint type, StatsCounterItem **counter)
 
StatsClusterstats_register_dynamic_counter (gint stats_level, const StatsClusterKey *sc_key, gint type, StatsCounterItem **counter)
 
void stats_register_and_increment_dynamic_counter (gint stats_level, const StatsClusterKey *sc_key, time_t timestamp)
 
void stats_register_associated_counter (StatsCluster *handle, gint type, StatsCounterItem **counter)
 
void stats_unregister_counter (const StatsClusterKey *sc_key, gint type, StatsCounterItem **counter)
 
void stats_unregister_external_counter (const StatsClusterKey *sc_key, gint type, atomic_gssize *external_counter)
 
void stats_unregister_alias_counter (const StatsClusterKey *sc_key, gint type, StatsCounterItem *aliased_counter)
 
void stats_unregister_dynamic_counter (StatsCluster *handle, gint type, StatsCounterItem **counter)
 
gboolean stats_contains_counter (const StatsClusterKey *sc_key, gint type)
 
StatsCounterItemstats_get_counter (const StatsClusterKey *sc_key, gint type)
 
StatsClusterstats_get_cluster (const StatsClusterKey *sc_key)
 
gboolean stats_remove_cluster (const StatsClusterKey *sc_key)
 
void stats_foreach_counter (StatsForeachCounterFunc func, gpointer user_data, gboolean *cancelled)
 
void stats_foreach_legacy_counter (StatsForeachCounterFunc func, gpointer user_data, gboolean *cancelled)
 
void stats_foreach_cluster (StatsForeachClusterFunc func, gpointer user_data, gboolean *cancelled)
 
void stats_foreach_cluster_remove (StatsForeachClusterRemoveFunc func, gpointer user_data)
 
void stats_registry_init (void)
 
void stats_registry_deinit (void)
 
gboolean stats_check_dynamic_clusters_limit (guint number_of_clusters)
 
gint stats_number_of_dynamic_clusters_limit (void)
 
CfgYesNoAuto stats_syslog_stats (void)
 

Typedef Documentation

◆ StatsForeachClusterFunc

typedef void(* StatsForeachClusterFunc) (StatsCluster *sc, gpointer user_data)

◆ StatsForeachClusterRemoveFunc

typedef gboolean(* StatsForeachClusterRemoveFunc) (StatsCluster *sc, gpointer user_data)

Function Documentation

◆ stats_check_dynamic_clusters_limit()

gboolean stats_check_dynamic_clusters_limit ( guint  number_of_clusters)

◆ stats_check_level()

gboolean stats_check_level ( gint  level)

◆ stats_contains_counter()

gboolean stats_contains_counter ( const StatsClusterKey *  sc_key,
gint  type 
)

◆ stats_foreach_cluster()

void stats_foreach_cluster ( StatsForeachClusterFunc  func,
gpointer  user_data,
gboolean *  cancelled 
)

◆ stats_foreach_cluster_remove()

void stats_foreach_cluster_remove ( StatsForeachClusterRemoveFunc  func,
gpointer  user_data 
)

◆ stats_foreach_counter()

void stats_foreach_counter ( StatsForeachCounterFunc  func,
gpointer  user_data,
gboolean *  cancelled 
)

◆ stats_foreach_legacy_counter()

void stats_foreach_legacy_counter ( StatsForeachCounterFunc  func,
gpointer  user_data,
gboolean *  cancelled 
)

◆ stats_get_cluster()

StatsCluster* stats_get_cluster ( const StatsClusterKey *  sc_key)

◆ stats_get_counter()

StatsCounterItem* stats_get_counter ( const StatsClusterKey *  sc_key,
gint  type 
)

◆ stats_lock()

void stats_lock ( void  )

◆ stats_number_of_dynamic_clusters_limit()

gint stats_number_of_dynamic_clusters_limit ( void  )

◆ stats_register_alias_counter()

StatsCluster* stats_register_alias_counter ( gint  level,
const StatsClusterKey *  sc_key,
gint  type,
StatsCounterItem aliased_counter 
)

◆ stats_register_and_increment_dynamic_counter()

void stats_register_and_increment_dynamic_counter ( gint  stats_level,
const StatsClusterKey *  sc_key,
time_t  timestamp 
)

◆ stats_register_associated_counter()

void stats_register_associated_counter ( StatsCluster sc,
gint  type,
StatsCounterItem **  counter 
)

stats_register_associated_counter: @sc: the dynamic counter that was registered with stats_register_dynamic_counter @type: the type that we want to use in the same StatsCluster instance @counter: the returned pointer to the counter itself

This function registers another counter type in the same StatsCounter instance in order to avoid an unnecessary lookup.

◆ stats_register_counter()

StatsCluster* stats_register_counter ( gint  stats_level,
const StatsClusterKey *  sc_key,
gint  type,
StatsCounterItem **  counter 
)

stats_register_counter: @stats_level: the required statistics level to make this counter available @component: a reference to the syslog-ng component that this counter belongs to (SCS_*) @id: the unique identifier of the configuration item that this counter belongs to @instance: if a given configuration item manages multiple similar counters this makes those unique (like destination filename in case macros are used) @type: the counter type (processed, dropped, etc) @counter: returned pointer to the counter

This function registers a general purpose counter. Whenever multiple objects touch the same counter all of these should register the counter with the same name. Internally the stats subsystem counts the number of users of the same counter in this case, thus the counter will only be freed when all of these uses are unregistered.

◆ stats_register_counter_and_index()

StatsCluster* stats_register_counter_and_index ( gint  level,
const StatsClusterKey *  sc_key,
gint  type,
StatsCounterItem **  counter 
)

◆ stats_register_dynamic_counter()

StatsCluster* stats_register_dynamic_counter ( gint  stats_level,
const StatsClusterKey *  sc_key,
gint  type,
StatsCounterItem **  counter 
)

◆ stats_register_external_counter()

StatsCluster* stats_register_external_counter ( gint  level,
const StatsClusterKey *  sc_key,
gint  type,
atomic_gssize external_counter 
)

◆ stats_registry_deinit()

void stats_registry_deinit ( void  )

◆ stats_registry_init()

void stats_registry_init ( void  )

◆ stats_remove_cluster()

gboolean stats_remove_cluster ( const StatsClusterKey *  sc_key)

◆ stats_syslog_stats()

CfgYesNoAuto stats_syslog_stats ( void  )

◆ stats_unlock()

void stats_unlock ( void  )

◆ stats_unregister_alias_counter()

void stats_unregister_alias_counter ( const StatsClusterKey *  sc_key,
gint  type,
StatsCounterItem aliased_counter 
)

◆ stats_unregister_counter()

void stats_unregister_counter ( const StatsClusterKey *  sc_key,
gint  type,
StatsCounterItem **  counter 
)

◆ stats_unregister_dynamic_counter()

void stats_unregister_dynamic_counter ( StatsCluster handle,
gint  type,
StatsCounterItem **  counter 
)

◆ stats_unregister_external_counter()

void stats_unregister_external_counter ( const StatsClusterKey *  sc_key,
gint  type,
atomic_gssize external_counter 
)