# Module cloudi_core_i_status

- Description
- Data Types
- Function Index
- Function Details

### CloudI Status Data

.

Copyright © 2018-2020 Michael Truog

Version: 2.0.2 Dec 3 2021 17:15:32 ------------------------------------------------------------------------

Authors: Michael Truog (`mjtruog at protonmail dot com`).

## Description

### CloudI Status Data

## Data Types

### duration()

`duration() = {T0::cloudi_timestamp:native_monotonic(), T1::cloudi_timestamp:native_monotonic()}`

### durations()

`durations(Key) = #{Key := durations_state()}`

### durations_state()

`durations_state() = {DurationCount::non_neg_integer(), DurationList::[duration()]}`

### nanoseconds()

`nanoseconds() = non_neg_integer()`

## Function Index

durations_copy/2 |
durations_erase/2 |
durations_new/0 |
durations_size/1 |
durations_state/2 |
durations_store/3 |
durations_store_difference/4 |
durations_sum/2 |
nanoseconds_to_availability_day/1 |
nanoseconds_to_availability_day/3 |
nanoseconds_to_availability_month/1 |
nanoseconds_to_availability_month/3 |
nanoseconds_to_availability_week/1 |
nanoseconds_to_availability_week/3 |
nanoseconds_to_availability_year/1 |
nanoseconds_to_availability_year/3 |
nanoseconds_to_string_gt/2 |
nanoseconds_to_string_lt/2 |

## Function Details

### durations_copy/2

`durations_copy(KeyList::list(), DurationsLookup::durations(any())) -> durations(any())`

### durations_erase/2

`durations_erase(Key::any(), DurationsLookup::durations(any())) -> durations(any())`

### durations_new/0

`durations_new() -> durations(any())`

### durations_size/1

`durations_size(DurationsLookup::durations(any())) -> non_neg_integer()`

### durations_state/2

`durations_state(Key::any(), DurationsLookup::durations(any())) -> durations_state()`

### durations_store/3

`durations_store(KeyList::nonempty_list(), Duration::duration(), DurationsLookup::durations(any())) -> durations(any())`

### durations_store_difference/4

`durations_store_difference(KeyList::nonempty_list(), Duration::duration(), DurationsAddLookup::durations(any()), DurationsSubtractLookup::durations(any())) -> durations(any())`

### durations_sum/2

`durations_sum(X1::durations_state(), T::cloudi_timestamp:native_monotonic()) -> {boolean(), nanoseconds()}`

### nanoseconds_to_availability_day/1

`nanoseconds_to_availability_day(NanoSecondsUptime::nanoseconds()) -> cloudi_service_api:availability()`

### nanoseconds_to_availability_day/3

`nanoseconds_to_availability_day(NanoSecondsUptime::nanoseconds(), Approximate::boolean(), NanoSecondsDowntime::nanoseconds()) -> cloudi_service_api:availability_approx()`

### nanoseconds_to_availability_month/1

`nanoseconds_to_availability_month(NanoSecondsUptime::nanoseconds()) -> cloudi_service_api:availability()`

### nanoseconds_to_availability_month/3

`nanoseconds_to_availability_month(NanoSecondsUptime::nanoseconds(), Approximate::boolean(), NanoSecondsDowntime::nanoseconds()) -> cloudi_service_api:availability_approx()`

### nanoseconds_to_availability_week/1

`nanoseconds_to_availability_week(NanoSecondsUptime::nanoseconds()) -> cloudi_service_api:availability()`

### nanoseconds_to_availability_week/3

`nanoseconds_to_availability_week(NanoSecondsUptime::nanoseconds(), Approximate::boolean(), NanoSecondsDowntime::nanoseconds()) -> cloudi_service_api:availability_approx()`

### nanoseconds_to_availability_year/1

`nanoseconds_to_availability_year(NanoSecondsUptime::nanoseconds()) -> cloudi_service_api:availability()`

### nanoseconds_to_availability_year/3

`nanoseconds_to_availability_year(NanoSecondsUptime::nanoseconds(), Approximate::boolean(), NanoSecondsDowntime::nanoseconds()) -> cloudi_service_api:availability_approx()`

### nanoseconds_to_string_gt/2

`nanoseconds_to_string_gt(NanoSeconds::nanoseconds(), Approximate::boolean()) -> cloudi_service_api:nanoseconds_string_approx_gt()`

### nanoseconds_to_string_lt/2

`nanoseconds_to_string_lt(NanoSeconds::nanoseconds(), Approximate::boolean()) -> cloudi_service_api:nanoseconds_string_approx_lt()`

Generated by EDoc