Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

add report_stats_endpoint config option #6012

Merged
merged 4 commits into from
Sep 12, 2019
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/6012.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add report_stats_endpoint option to configure where stats are reported to, if enabled. Contributed by @Sorunome
2 changes: 2 additions & 0 deletions docs/sample_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -978,6 +978,8 @@ metrics_flags:
# Whether or not to report anonymized homeserver usage statistics.
# report_stats: true|false

# The endpoint to report the anonymized homeserver usage statistics to.
#report_stats_endpoint: https://matrix.org/report-usage-stats/push

## API Configuration ##

Expand Down
4 changes: 2 additions & 2 deletions synapse/app/homeserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -561,10 +561,10 @@ def phone_stats_home():

stats["database_engine"] = hs.get_datastore().database_engine_name
stats["database_server_version"] = hs.get_datastore().get_server_version()
logger.info("Reporting stats to matrix.org: %s" % (stats,))
logger.info("Reporting stats to %s: %s" % (hs.config.report_stats_endpoint, stats))
try:
yield hs.get_simple_http_client().put_json(
"https://matrix.org/report-usage-stats/push", stats
hs.config.report_stats_endpoint, stats
)
except Exception as e:
logger.warn("Error reporting stats: %s", e)
Expand Down
5 changes: 5 additions & 0 deletions synapse/config/metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ class MetricsConfig(Config):
def read_config(self, config, **kwargs):
self.enable_metrics = config.get("enable_metrics", False)
self.report_stats = config.get("report_stats", None)
self.report_stats_endpoint = config.get("report_stats_endpoint", "https://matrix.org/report-usage-stats/push")
self.metrics_port = config.get("metrics_port")
self.metrics_bind_host = config.get("metrics_bind_host", "127.0.0.1")

Expand Down Expand Up @@ -97,4 +98,8 @@ def generate_config_section(self, report_stats=None, **kwargs):
else:
res += "report_stats: %s\n" % ("true" if report_stats else "false")

res += """\
# The endpoint to report the anonymized homeserver usage statistics to.
#report_stats_endpoint: https://example.com/report-usage-stats/push
Sorunome marked this conversation as resolved.
Show resolved Hide resolved
"""
return res