# Module statistics

- Description
- Data Types
- Function Index
- Function Details

Statistics Module for mgmt server.

Copyright © 2007-2014 Zuse Institute Berlin

Version: $Id$

Authors: Thorsten Schuett (`schuett@zib.de`).

## Description

Statistics Module for mgmt server

## Data Types

### load()

    load() = load | load2 | load3

### load_type()

    load_type() =
        node_details:load() |
        node_details:load2() |
        node_details:load3()

### ring()

    ring() = [ring_element()]

### ring_element()

    ring_element() =
        {ok, Details :: node_details:node_details()} |
        {failed, comm:mypid()}

### time_list()

    time_list(Value) =
        [[Time1_Value2 :: non_neg_integer() | Value]]

## Function Index

getGaugeMonitorStats/4 | Gets monitor stats from 'gauge' values in an easy format for the web interface.
getTimingMonitorStats/3 | Gets monitor stats from 'timing' and 'timing_with_hist' values in an easy format for the web interface.
get_average_load/2 |
get_average_rt_size/1 |
get_load_std_deviation/2 |
get_max_memory_usage/1 |
get_memory_usage/1 |
get_ring_details/0 | Returns a sorted list of all known nodes.
get_ring_details_neighbors/1 | Returns a sorted list of all known nodes in the neighborhoods of the dht_node processes in this VM, recurses to their neighboring nodes if requested.
get_rt_size_std_deviation/1 |
get_total_load/2 |

## Function Details

### get_total_load/2

    get_total_load(Which :: load(), Ring :: ring()) -> load_type()

### get_average_load/2

    get_average_load(Which :: load(), Ring :: ring()) -> float()

### get_memory_usage/1

    get_memory_usage(Ring :: ring()) -> float()

### get_max_memory_usage/1

    get_max_memory_usage(Ring :: ring()) -> node_details:memory()

### get_load_std_deviation/2

    get_load_std_deviation(Which :: load(), Ring :: ring()) -> float()

### get_ring_details/0

    get_ring_details() -> ring()

Returns a sorted list of all known nodes. See compare_node_details/2 for a definition of the order. Note: throws 'mgmt_server_timeout' if the mgmt server does not respond within 2s.

### get_ring_details_neighbors/1

    get_ring_details_neighbors(RecursionLvl :: non_neg_integer()) ->
                                  ring()

Returns a sorted list of all known nodes in the neighborhoods of the dht_node processes in this VM, recurses to their neighboring nodes if requested. See compare_node_details/2 for a definition of the order.

### get_average_rt_size/1

    get_average_rt_size(Ring :: ring()) -> float()

### get_rt_size_std_deviation/1

    get_rt_size_std_deviation(Ring :: ring()) -> float()

### getTimingMonitorStats/3

    getTimingMonitorStats(Monitor :: pid(),
                          Keys ::
                              [{Process :: atom(),
                                Key :: monitor:key()}],
                          Type :: list) ->
                             [{Process :: atom(),
                               Key :: monitor:key(),
                               {CountD :: time_list(non_neg_integer()),
                                CountPerSD :: time_list(float()),
                                AvgD :: time_list(float()),
                                MinD :: time_list(float()),
                                MaxD :: time_list(float()),
                                StddevD :: time_list(float()),
                                HistD ::
                                    time_list(time_list(pos_integer()))}}]

Gets monitor stats from 'timing' and 'timing_with_hist' values in an easy format for the web interface.

### getGaugeMonitorStats/4

    getGaugeMonitorStats(Monitor :: pid(),
                         Keys ::
                             [{Process :: atom(),
                               Key :: monitor:key()}],
                         Type :: list,
                         Div :: number()) ->
                            [{Process :: atom(),
                              Key :: monitor:key(),
                              ValueD :: time_list(non_neg_integer())}]

Gets monitor stats from 'gauge' values in an easy format for the web interface. Scales the original values by dividing them by Div.

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