blob: 1e0f8dd708d860cff1681defbdb0cb27b37bea07 [file] [log] [blame]
-define(FOLSOM_TABLE, folsom).
-define(COUNTER_TABLE, folsom_counters).
-define(GAUGE_TABLE, folsom_gauges).
-define(HISTOGRAM_TABLE, folsom_histograms).
-define(METER_TABLE, folsom_meters).
-define(METER_READER_TABLE, folsom_meter_readers).
-define(HISTORY_TABLE, folsom_histories).
-define(DURATION_TABLE, folsom_durations).
-define(SPIRAL_TABLE, folsom_spirals).
-define(DEFAULT_LIMIT, 5).
-define(DEFAULT_SIZE, 1028). % mimic codahale's metrics
-define(DEFAULT_SLIDING_WINDOW, 60). % sixty second sliding window
-define(DEFAULT_ALPHA, 0.015). % mimic codahale's metrics
-define(DEFAULT_INTERVAL, 5000).
-define(DEFAULT_SAMPLE_TYPE, uniform).
-record(spiral, {
tid = folsom_metrics_histogram_ets:new(folsom_spiral,
[set,
{write_concurrency, true},
public]),
server
}).
-record(slide, {
window = ?DEFAULT_SLIDING_WINDOW,
reservoir = folsom_metrics_histogram_ets:new(folsom_slide,
[duplicate_bag, {write_concurrency, true}, public]),
server
}).
-record(slide_uniform, {
window = ?DEFAULT_SLIDING_WINDOW,
size = ?DEFAULT_SIZE,
reservoir = folsom_metrics_histogram_ets:new(folsom_slide_uniform,[set, {write_concurrency, true}, public]),
seed = rand:seed_s(exsplus, os:timestamp()),
server
}).
-record(uniform, {
size = ?DEFAULT_SIZE,
n = 1,
reservoir = folsom_metrics_histogram_ets:new(folsom_uniform,[set, {write_concurrency, true}, public]),
seed = rand:seed_s(exsplus, os:timestamp())
}).
-record(exdec, {
start = 0,
next = 0,
alpha = ?DEFAULT_ALPHA,
size = ?DEFAULT_SIZE,
seed = rand:seed_s(exsplus, os:timestamp()),
n = 1,
reservoir = folsom_metrics_histogram_ets:new(folsom_exdec,[ordered_set, {write_concurrency, true}, public])
}).
-record(none, {
size = ?DEFAULT_SIZE,
n = 1,
reservoir = folsom_metrics_histogram_ets:new(folsom_none,[ordered_set, {write_concurrency, true}, public])
}).
-record(slide_sorted, {
size = ?DEFAULT_SIZE,
n = 0,
reservoir = folsom_metrics_histogram_ets:new(folsom_slide_sorted,[ordered_set, {write_concurrency, true}, public])
}).
-record(histogram, {
type = uniform,
sample = #uniform{}
}).
-record(history, {
tid
}).
-define(SYSTEM_INFO, [
allocated_areas,
allocator,
alloc_util_allocators,
build_type,
c_compiler_used,
check_io,
compat_rel,
cpu_topology,
creation,
debug_compiled,
dist,
dist_ctrl,
driver_version,
elib_malloc,
dist_buf_busy_limit,
%fullsweep_after, % included in garbage_collection
garbage_collection,
%global_heaps_size, % deprecated
heap_sizes,
heap_type,
info,
kernel_poll,
loaded,
logical_processors,
logical_processors_available,
logical_processors_online,
machine,
%min_heap_size, % included in garbage_collection
%min_bin_vheap_size, % included in garbage_collection
modified_timing_level,
multi_scheduling,
multi_scheduling_blockers,
otp_release,
process_count,
process_limit,
scheduler_bind_type,
scheduler_bindings,
scheduler_id,
schedulers,
schedulers_online,
smp_support,
system_version,
system_architecture,
threads,
thread_pool_size,
trace_control_word,
update_cpu_info,
version,
wordsize
]).
-define(STATISTICS, [
context_switches,
%exact_reductions, % use reductions instead
garbage_collection,
io,
reductions,
run_queue,
runtime,
wall_clock
]).
-define(PROCESS_INFO, [
backtrace,
binary,
catchlevel,
current_function,
%dictionary,
error_handler,
garbage_collection,
group_leader,
heap_size,
initial_call,
links,
last_calls,
memory,
%message_binary,
message_queue_len,
messages,
min_heap_size,
min_bin_vheap_size,
monitored_by,
monitors,
priority,
reductions,
registered_name,
sequential_trace_token,
stack_size,
status,
suspending,
total_heap_size,
trace,
trap_exit
]).
-define(SOCKET_OPTS, [
active,
broadcast,
delay_send,
dontroute,
exit_on_close,
header,
keepalive,
nodelay,
packet,
packet_size,
read_packets,
recbuf,
reuseaddr,
send_timeout,
send_timeout_close,
sndbuf,
priority,
tos
]).