%% -*- erlang -*-

[%% ================================================================================
 %% application config
 %%
 %%   eNB              S1GW
 %% +-----+     +----------------+
 %% | ... | --> | s1gw_bind_addr |             MME
 %% +-----+     +----------------+     +-----------------+
 %%             |  mme_loc_addr  | --> |  mme_rem_addr   |
 %%             +----------------+     +-----------------+
 %% ================================================================================
 {osmo_s1gw,
  [{s1gw_bind_addr, "127.0.1.1"}, %% S1GW bind address for incoming eNB connections
   {mme_loc_addr, "127.0.2.1"}, %% local address for outgoing connections to the MME
   {mme_rem_addr, "127.0.2.10"}, %% remote address for outgoing connections to the MME
   {pfcp_loc_addr, "127.0.3.1"}, %% local address for incoming PFCP PDUs from the UPF
   {pfcp_rem_addr, "127.0.3.10"} %% remote address for outgoing PFCP PDUs to the UPF
  ]},
 %% ================================================================================
 %% kernel config
 %% ================================================================================
 {kernel,
  [{logger_level, debug},
   {logger,
    [{handler, default, logger_std_h,
      #{formatter =>
        {logger_color_formatter, #{legacy_header => false,
                                   single_line => false,
                                   template => [time, " ", color, "[", level, "]",
                                                {pid, [" ", pid, ""], ""},
                                                {prefix, [" ", prefix, " ::"], ""},
                                                " ", msg,
                                                {mfa, [" (", mfa, ":", line, ")"], ""},
                                                reset, "\n"]}}}}]}
  ]
 },
 {exometer_core,
  [{predefined,
    [%{[erlang, memory], {function, erlang, memory, [], value, []}, []},
     %{[erlang, system_info], {function, erlang, system_info, ['$dp'], value, [process_count]}, []},
     %{[erlang, statistics], {function, erlang, statistics, ['$dp'], value, [run_queue]}, []},
     %{[erlang, io], {function, erlang, statistics, [io], match, {{'_', input}, {'_', output}}}, []}
    ]
   },
   {report,
    [{reporters,
      [%%{exometer_report_tty, []},
       {exometer_report_statsd,
        [{hostname, "127.0.4.10"},
         {port, 8125},
         {prefix, "s1gw"},
         {type_map, []}
        ]
       }
      ]
     },
     {subscribers,
      [%%{select, {[{ {['_' | '_'],'_','_'}, [], ['$_']}],
       %% exometer_report_tty, value, 1000, true}}
       {select, {[{ {['_' | '_'],counter,'_'}, [], ['$_']}],
                 exometer_report_statsd,
                 value,
                 1000,
                 true,
                 [{report_type, counter}]
                }
       },
       {select, {[{ {['_' | '_'],gauge,'_'}, [], ['$_']}],
                 exometer_report_statsd,
                 value,
                 1000,
                 true,
                 [{report_type, gauge}]
                }
       }
      ]
     }
    ]
   }
  ]
 }
].

%% vim:set ts=2 sw=2 et: