Seastar
High performance C++ framework for concurrent servers
Classes | Namespaces | Typedefs | Functions
metrics_api.hh File Reference

Detailed Description

header file for metric API layer (like prometheus or collectd)

#include <seastar/core/metrics.hh>
#include <seastar/util/modules.hh>
#include <seastar/core/sharded.hh>
#include <unordered_map>
#include <boost/functional/hash.hpp>
#include <deque>

Go to the source code of this file.

Classes

struct  std::hash< seastar::metrics::impl::labels_type >
 
struct  seastar::metrics::metric_relabeling_result
 result of metric relabeling More...
 
class  seastar::metrics::impl::metric_id
 
struct  std::hash< seastar::metrics::impl::metric_id >
 
struct  seastar::metrics::impl::metric_family_info
 holds metadata information of a metric family More...
 
struct  seastar::metrics::impl::metric_info
 holds metric metadata More...
 
class  seastar::metrics::impl::metric_groups_impl
 
class  seastar::metrics::impl::registered_metric
 
class  seastar::metrics::impl::metric_family
 
struct  seastar::metrics::impl::metric_family_metadata
 holds a metric family metadata More...
 
struct  seastar::metrics::impl::values_copy
 
struct  seastar::metrics::impl::config
 
class  seastar::metrics::impl::impl
 
struct  seastar::metrics::options
 Metrics configuration options. More...
 

Namespaces

 seastar
 Seastar API namespace.
 
 seastar::metrics
 metrics creation and registration
 

Typedefs

using seastar::metrics::impl::labels_type = std::map< sstring, sstring >
 
using seastar::metrics::impl::metrics_registration = std::vector< metric_id >
 
using seastar::metrics::impl::register_ref = shared_ptr< registered_metric >
 
using seastar::metrics::impl::metric_instances = std::map< labels_type, register_ref >
 
using seastar::metrics::impl::value_map = std::map< sstring, metric_family >
 
using seastar::metrics::impl::metric_metadata_fifo = std::deque< metric_info >
 
using seastar::metrics::impl::value_vector = std::vector< metric_value >
 
using seastar::metrics::impl::metric_metadata = std::vector< metric_family_metadata >
 
using seastar::metrics::impl::metric_values = std::deque< value_vector >
 
using seastar::metrics::impl::values_reference = shared_ptr< values_copy >
 

Functions

const value_map & seastar::metrics::impl::get_value_map ()
 
foreign_ptr< values_reference > seastar::metrics::impl::get_values ()
 
shared_ptr< impl > seastar::metrics::impl::get_local_impl ()
 
void seastar::metrics::impl::unregister_metric (const metric_id &id)
 
std::unique_ptr< metric_groups_def > seastar::metrics::impl::create_metric_groups ()
 initialize metric group More...
 
future seastar::metrics::configure (const options &opts)
 set the metrics configuration
 
future< metric_relabeling_result > seastar::metrics::set_relabel_configs (const std::vector< relabel_config > &relabel_configs)
 Perform relabeling and operation on metrics dynamically. More...
 
const std::vector< relabel_config > & seastar::metrics::get_relabel_configs ()
 

Class Documentation

◆ seastar::metrics::metric_relabeling_result

struct seastar::metrics::metric_relabeling_result
Class Members
size_t metrics_relabeled_due_to_collision

Function Documentation

◆ create_metric_groups()

std::unique_ptr<metric_groups_def> seastar::metrics::impl::create_metric_groups ( )

initialize metric group

Create a metric_group_def. No need to use it directly.