High performance C++ framework for concurrent servers
Public Types | Public Member Functions | Public Attributes | List of all members
seastar::metrics::options Struct Reference

Detailed Description

Metrics configuration options.

#include <seastar/core/metrics_api.hh>

Inheritance diagram for seastar::metrics::options:

Public Types

using value_list_type = boost::intrusive::list< basic_value, boost::intrusive::base_hook< list_base_hook >, boost::intrusive::constant_time_size< false > >
using option_group_list_type = boost::intrusive::list< option_group, boost::intrusive::base_hook< list_base_hook >, boost::intrusive::constant_time_size< false > >

Public Member Functions

 options (program_options::option_group *parent_group)
 operator bool () const
 Does the option group has any values contained in it?
bool used () const
const std::string & name () const
const value_list_type & values () const
value_list_type & values ()
void describe (options_descriptor &descriptor) const
void mutate (options_mutator &mutator)

Public Attributes

program_options::value< std::string > metrics_hostname
 The hostname used by the metrics. More...

Member Function Documentation

◆ describe()

void seastar::program_options::option_group::describe ( options_descriptor descriptor) const

Describe the content of this option group to the visitor.

The content is visited in a depth-first manner:

  • First the option groups itself is visited with options_descriptor::visit_group_start(). If this returns false the entire content of the group, including all its subgroups and values are skipped and options_descriptor::visit_group_end() is called immediately. Otherwise visiting the content of the group proceeds.
  • All the values contained therein are visited. For each value the following happens:
    • First options_descriptor::visit_value_metadata() is called with generic metadata that all values have. If this return false the value is skipped, otherwise visiting the value proceeds.
    • Then the appropriate overload of options_descriptor::visit_value() is called, with a pointer to the default value of the respective value. The pointer is null if there is no default value.
    • For selection_value, options_descriptor::visit_selection_value() will be called instead of options_descriptor::visit_value(). After the value is visited, the option_group instance belonging to each candidate (if set) will be visited.
  • All the nested option_group instances in the current group are visited.
  • Finally options_descriptor::visit_group_end() is called.

◆ mutate()

void seastar::program_options::option_group::mutate ( options_mutator mutator)

Mutate the content of this option group by the visitor.

The visiting algorithm is identical to that of describe(), with the following differences:

  • options_mutator::visit_value() is allowed to mutate the value through the passed-in reference. It should return true if it did so and false otherwise.
  • When visiting a selection value, only the nested group belonging to the selected value is visited afterwards.

Member Data Documentation

◆ metrics_hostname

program_options::value<std::string> seastar::metrics::options::metrics_hostname

The hostname used by the metrics.

If not set, the local hostname will be used.

The documentation for this struct was generated from the following file: