fixeria has submitted this change. ( https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/42424?usp=email )
(
3 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: config/sys.config: increase StatsD reporter interval to 10s ......................................................................
config/sys.config: increase StatsD reporter interval to 10s
When running ttcn3-s1gw-test locally, I noticed OsmoS1GW consuming 30-40% of a CPU core while idle (not serving any eNBs). Profiling with etop pointed to `exometer_report_statsd` as the culprit: with ~1720 metrics registered, it was sending ~1720 datagrams per second.
A 1-second reporting interval causes noticeable CPU overhead as the number of active metrics grows. With per-eNB and per-MME counters, the metric set scales with the number of connected eNBs/MMEs.
Increase the default StatsD reporting interval from 1s to 10s to reduce that overhead. Update the documentation accordingly.
Change-Id: Icd5e1a43d1df4a4909fe742aec67cc51a01bb857 --- M config/sys.config M doc/manuals/chapters/configuration.adoc 2 files changed, 6 insertions(+), 6 deletions(-)
Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved
diff --git a/config/sys.config b/config/sys.config index 3c8f0f3..d428765 100644 --- a/config/sys.config +++ b/config/sys.config @@ -88,11 +88,11 @@ }, {subscribers, [%%{select, {[{ {['_' | '_'],'_','_'}, [], ['$_']}], - %% exometer_report_tty, value, 1000, true}} + %% exometer_report_tty, value, 10_000, true}} {select, {[{ {['_' | '_'],counter,'_'}, [], ['$_']}], exometer_report_statsd, value, - 1000, + 10_000, true, [{report_type, counter}] } @@ -100,7 +100,7 @@ {select, {[{ {['_' | '_'],gauge,'_'}, [], ['$_']}], exometer_report_statsd, value, - 1000, + 10_000, true, [{report_type, gauge}] } diff --git a/doc/manuals/chapters/configuration.adoc b/doc/manuals/chapters/configuration.adoc index 337f8b3..0d4315f 100644 --- a/doc/manuals/chapters/configuration.adoc +++ b/doc/manuals/chapters/configuration.adoc @@ -279,10 +279,10 @@ ]}, {subscribers, [ {select, {[{ {['_'|'_'], counter, '_'}, [], ['$_']}], - exometer_report_statsd, value, 1000, true, + exometer_report_statsd, value, 10_000, true, [{report_type, counter}]}}, {select, {[{ {['_'|'_'], gauge, '_'}, [], ['$_']}], - exometer_report_statsd, value, 1000, true, + exometer_report_statsd, value, 10_000, true, [{report_type, gauge}]}} ]} ]} @@ -301,7 +301,7 @@
The `subscribers` list uses exometer's `select` mechanism to automatically subscribe all counters and gauges to the StatsD reporter -with a reporting interval of 1000 ms. To disable StatsD reporting, +with a reporting interval of 10 000 ms. To disable StatsD reporting, comment out or remove the `exometer_report_statsd` reporter entry.
// vim:set ts=4 sw=4 et: