[erlang-questions] Trouble getting bigwig to run

31 views
Skip to first unread message

Ryan Brown

unread,
Aug 18, 2014, 10:31:38 PM8/18/14
to Erlang Questions
I am testing-out bigwig for a possible monitoring solution for my application. When I attempt to hook it up to my application I get the following cowboy error. I am having trouble deciphering it. Any help would be greatly appreciated.

=INFO REPORT==== 18-Aug-2014::20:23:37 ===
Bigwig listening on http://127.0.0.1:40829/

=CRASH REPORT==== 18-Aug-2014::20:23:37 ===
  crasher:
    initial call: bigwig_http:init/1
    pid: <0.4861.0>
    registered_name: []
    exception exit: {undef,
                     [{cowboy,start_listener,
                       [http,16,cowboy_tcp_transport,
                        [{port,40829}],
                        cowboy_http_protocol,
                        [{dispatch,
                          [{'_',
                            [{[],bigwig_http_static,
                              [<<"html">>,<<"index.html">>]},
                             {[<<"static">>,'...'],bigwig_http_static,[]},
                             {[<<"vm">>],bigwig_http_vm,[]},
                             {[<<"rb">>,<<"stream">>],
                              bigwig_http_rb_stream,[]},
                             {[<<"rb">>,'...'],bigwig_http_rb,[]},
                             {[<<"pid">>,'...'],bigwig_http_pid,[]},
                             {[<<"module">>,'...'],bigwig_http_module,[]},
                             {[<<"top">>,'...'],bigwig_http_etop2,[]},
                             {[<<"appmon">>,'...'],bigwig_http_appmon,[]},
                             {[<<"stats-stream">>],
                              bigwig_http_stats_stream,[]},
                             {'_',bigwig_http_catchall,[]}]}]}]],
                       []},
                      {bigwig_http,init,1,
                       [{file,"src/bigwig_http.erl"},{line,54}]},
                      {gen_server,init_it,6,
                       [{file,"gen_server.erl"},{line,304}]},
                      {proc_lib,init_p_do_apply,3,
                       [{file,"proc_lib.erl"},{line,227}]}]}
      in function  gen_server:init_it/6 (gen_server.erl, line 328)
    ancestors: [bigwig_sup,<0.4853.0>]
    messages: []
    links: [<0.4854.0>]
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 610
    stack_size: 24
    reductions: 911
  neighbours:

=SUPERVISOR REPORT==== 18-Aug-2014::20:23:37 ===
     Supervisor: {local,bigwig_sup}
     Context:    start_error
     Reason:     {undef,
                     [{cowboy,start_listener,
                          [http,16,cowboy_tcp_transport,
                           [{port,40829}],
                           cowboy_http_protocol,
                           [{dispatch,
                                [{'_',
                                     [{[],bigwig_http_static,
                                       [<<"html">>,<<"index.html">>]},
                                      {[<<"static">>,'...'],
                                       bigwig_http_static,[]},
                                      {[<<"vm">>],bigwig_http_vm,[]},
                                      {[<<"rb">>,<<"stream">>],
                                       bigwig_http_rb_stream,[]},
                                      {[<<"rb">>,'...'],bigwig_http_rb,[]},
                                      {[<<"pid">>,'...'],bigwig_http_pid,[]},
                                      {[<<"module">>,'...'],
                                       bigwig_http_module,[]},
                                      {[<<"top">>,'...'],bigwig_http_etop2,[]},
                                      {[<<"appmon">>,'...'],
                                       bigwig_http_appmon,[]},
                                      {[<<"stats-stream">>],
                                       bigwig_http_stats_stream,[]},
                                      {'_',bigwig_http_catchall,[]}]}]}]],
                          []},
                      {bigwig_http,init,1,
                          [{file,"src/bigwig_http.erl"},{line,54}]},
                      {gen_server,init_it,6,
                          [{file,"gen_server.erl"},{line,304}]},
                      {proc_lib,init_p_do_apply,3,
                          [{file,"proc_lib.erl"},{line,227}]}]}
     Offender:   [{pid,undefined},
                  {name,bigwig_http},
                  {mfargs,{bigwig_http,start_link,[]}},
                  {restart_type,permanent},
                  {shutdown,5000},
                  {child_type,worker}]


=INFO REPORT==== 18-Aug-2014::20:23:37 ===
    application: bigwig
    exited: {shutdown,{bigwig_app,start,[normal,[]]}}
    type: temporary
{error,{shutdown,{bigwig_app,start,[normal,[]]}}}

--
-rb

Ryan Brown

unread,
Aug 19, 2014, 1:44:56 AM8/19/14
to Erlang Questions
Figured it out. Not that hard with clear eyes really. Bigwig still refers to an older version of cowboy. I could revery back to that compatible version. But, what I would really like is to upgrade my fork to be compatible with the latest. 

So, what I am looking for is documentation or changelogs to help me with this upgrade. like the cowboy:start_listener/6 -> cowboy:start_http migration.

I'll keep fumbling my way through but any insight from those whom have been through it would be greatly appreciated.

Thanks.
--
-rb

Loïc Hoguin

unread,
Aug 19, 2014, 5:27:52 AM8/19/14
to Ryan Brown, Erlang Questions
Bigwig was written against a very old version of Cowboy. It shouldn't be impossible to port but a lot changed since. Cowboy has a changelog file in the repository.

That said, I had started working on a replacement called Shaman (extend/shaman) that handles multiple nodes and uses D3 for rendering/updates, but I stopped working on it for now because I do not have a production system to use it with (so the values I output may not be interesting). I am going to resume as soon as I find something to develop against. That said, contributions are always welcome. It shouldn't take much more work to add the missing features bigwig had either.

--
Loïc Hoguin
http://ninenines.eu

Kristoffer Brown

unread,
Aug 20, 2014, 11:39:11 AM8/20/14
to Loïc Hoguin, Ryan Brown, Erlang Questions
Loïc,

Thank you. Shaman looks like an excellent start. It appears to depend on R16 which we have not updated to yet. But, I may be able to get in running with a few changes. I will let you know. Thank you!

Best

-rb




_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions




_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions


Loïc Hoguin

unread,
Aug 20, 2014, 12:08:44 PM8/20/14
to Kristoffer Brown, Ryan Brown, Erlang Questions
Note that only the Shaman node requires that. The idea is that Shaman receives data from other nodes which may run their own Erlang version. A bit like how Observer works.

Ryan Brown

unread,
Aug 20, 2014, 9:19:36 PM8/20/14
to Loïc Hoguin, Erlang Questions
Forgive my ignorance. I thought I needed to run shaman on any node I wanted to monitor? Do I need to hook alien into my node?

Best.
--
-rb
--
-rb
Reply all
Reply to author
Forward
0 new messages