Skip to content

exometer predefined only works when predefined list is empty. #70

@linearregression

Description

@linearregression

Try to define configs outside of sys.config. The defaults seems to pass but predefined does not except empty. Following is the sys.config; and error trace. A dump of the ets provided at the end.
lager_test is an empty erlang application. exometer_core and lager also added to application source.

In erlang shell:
Steps:

  • ok = exometer_admin:register_application(lager_test)
    application:ensure_all_started(lager_test) (see error log at bottom). <<<<< ERROR

Config files:
sys.config:

        %% Add here extra lager_test flags
        %% Add here extra Nevro flags
        {exometer_defaults, {script, "./config/exometer_defaults.config"}},   <<<<<<<<<<<<<<<<
        {exometer_predefined, {script, "./config/exometer_predefined.config"}},  <<<<<<<<<<<<
        {exometer, [
        ]}
        %{script, "./config/exometer.config"}
    ]},

exometer_defaults.config:


[
    {['_'], function , [{module, exometer_function}]},
    {['_'], counter  , [{module, exometer}]},
    {['_'], histogram, [{module, exometer_histogram}]},
    {['_'], spiral   , [{module, exometer_spiral}]},
    {['_'], duration , [{module, exometer_folsom}]},
    {['_'], meter    , [{module, exometer_folsom}]},
    {['_'], gauge    , [{module, exometer_folsom}]}
].

exometer_predefined.config <<<<<<<<<< only works when exometer_predefined is empty list.


[
   {[a,1], counter, []}
%   ,{[a,2], counter, []}
%   ,{[b,1], counter, []}
 %  ,{[c,1], counter, []}
].

Error:


=INFO REPORT==== 10-Mar-2016::11:51:30 ===
    application: syntax_tools
    exited: stopped
    type: temporary
{error,
    {lager_test,
        {bad_return,
            {{lager_test_app,start,[normal,[]]},
             {'EXIT',
                 {exists,        <<<<<<<<<<<<<<<<<<<<<<<<<<< EXISTS!!!!!!
                     [{exometer_admin,new_entry,3,
                          [{file,
                               "/opt/opensource/lager_test/_build/default/lib/exometer_core/src/exometer_admin.erl"},
                           {line,175}]},
                      {lists,foreach,2,[{file,"lists.erl"},{line,1337}]},
                      {lager_test_app,start,2,
                          [{file,
                               "/opt/opensource/lager_test/_build/dev/lib/lager_test/src/lager_test_app.erl"},
                           {line,27}]},
                      {application_master,start_it_old,4,
                          [{file,"application_master.erl"},{line,273}]}]}}}}}}

A dump of ets:
([email protected])12> ets:i().
id name type size mem owner

1 code set 374 25013 code_server
4098 code_names set 64 8421 code_server
8206 cookies set 0 299 auth
12305 shell_records ordered_set 0 89 <0.33.0>
ac_tab ac_tab set 48 3871 application_controller
file_io_servers file_io_servers set 0 299 file_server_2
global_locks global_locks set 0 299 global_name_server
global_names global_names set 0 299 global_name_server
global_names_ext global_names_ext set 0 299 global_name_server
global_pid_ids global_pid_ids bag 0 299 global_name_server
global_pid_names global_pid_names bag 0 299 global_name_server
inet_cache inet_cache bag 0 299 inet_db
inet_db inet_db set 29 624 inet_db
inet_hosts_byaddr inet_hosts_byaddr bag 0 299 inet_db
inet_hosts_byname inet_hosts_byname bag 0 299 inet_db
inet_hosts_file_byaddr inet_hosts_file_byaddr bag 0 299 inet_db
inet_hosts_file_byname inet_hosts_file_byname bag 0 299 inet_db
sys_dist sys_dist set 0 299 net_kernel
ok

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions