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

Commit

Permalink
add report_stats_endpoint config option (#6012)
Browse files Browse the repository at this point in the history
  • Loading branch information
anoadragon453 committed Feb 25, 2020
2 parents 7fcffa3 + dd2e5b0 commit 057be54
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 2 deletions.
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.
5 changes: 5 additions & 0 deletions docs/sample_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1142,6 +1142,11 @@ 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.
# Defaults to https://matrix.org/report-usage-stats/push
#
#report_stats_endpoint: https://example.com/report-usage-stats/push


## API Configuration ##

Expand Down
6 changes: 4 additions & 2 deletions synapse/app/homeserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -561,10 +561,12 @@ 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_proxied_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
9 changes: 9 additions & 0 deletions synapse/config/metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ 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 @@ -95,4 +98,10 @@ 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.
# Defaults to https://matrix.org/report-usage-stats/push
#
#report_stats_endpoint: https://example.com/report-usage-stats/push
"""
return res

0 comments on commit 057be54

Please sign in to comment.