# Module lb_stats

- Description
- Data Types
- Function Index
- Function Details

Active load balancing stats module which implements collecting and accessing stats for the lb_active module.

Copyright © 2014-2015 Zuse Institute Berlin Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Version: $Id$

Authors: Maximilian Michels (`michels@zib.de`).

## Description

Active load balancing stats module which implements collecting and accessing stats for the lb_active module.

## Data Types

### load()

    load() = number()

## Function Index

check_config/0 | config check by lb_active module.
default_value/1 | Sets a default value if the value is unknown.
get_ignore_db_requests/0 | Flag for the dht_node process to check if the current message is a slide message.
get_load_metric/0 |
get_request_histogram_split_key/3 | returns a split key from the request histogram at a given time (if available).
get_request_metric/0 |
init/0 |
init_db_histogram/1 | Called by dht node process to initialize the db monitors.
set_ignore_db_requests/1 | Sets an indicator for lb_stats to stop monitoring requests during slides.
trigger/0 |
trigger_routine/0 |
update_db_histogram/2 | Updates the local rrd for reads or writes and checks for reporting.
update_db_monitor/2 | Updates the local rrd for reads or writes and checks for reporting.

## Function Details

### init/0

    init() -> ok

### trigger_routine/0

    trigger_routine() -> ok

### update_db_monitor/2

    update_db_monitor(Type :: db_reads | db_writes,
                      Key :: rt_chord:key()) ->
                         ok

Updates the local rrd for reads or writes and checks for reporting

### init_db_histogram/1

    init_db_histogram(PredId :: rt_chord:key()) -> rrd:rrd()

Called by dht node process to initialize the db monitors

### update_db_histogram/2

    update_db_histogram(Key :: rt_chord:key(),
                        OldHistogram :: rrd:rrd()) ->
                           rrd:rrd()

Updates the local rrd for reads or writes and checks for reporting

### get_load_metric/0

    get_load_metric() -> unknown | load()

### get_request_metric/0

    get_request_metric() -> integer()

### get_request_histogram_split_key/3

    get_request_histogram_split_key(TargetLoad :: pos_integer(),
                                    Direction :: forward | backward,
                                    Items :: non_neg_integer()) ->
                                       {rt_chord:key(),
                                        TakenLoad :: non_neg_integer()} |
                                       failed

returns a split key from the request histogram at a given time (if available)

### default_value/1

    default_value(Val :: unknown | number()) -> number()

Sets a default value if the value is unknown

### set_ignore_db_requests/1

    set_ignore_db_requests(Bool :: boolean()) -> ok

Sets an indicator for lb_stats to stop monitoring requests during slides

### get_ignore_db_requests/0

    get_ignore_db_requests() -> boolean()

Flag for the dht_node process to check if the current message is a slide message

### trigger/0

    trigger() -> ok

### check_config/0

    check_config() -> boolean()

config check by lb_active module

Generated by EDoc, Feb 29 2016, 16:12:18.