matrix-org / matrix-org/mjolnir

We need some kind of *opt-in* Telemetry

Open
#176 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
445
Forks
75
Avg merge
2d 44m
Merged PRs (30d)
3

Description

# Context

We're currently trying to determine:

- whether Mjölnir should attempt to backoff-and-retry in case of connection timeout;
- if so, how long it should retry.

The risk of picking wrong values is that Mjölnir could end up contributing to overloading a server that is already too loaded.

I believe that we need some kind of data on how often these timeouts happen and, if we implement backoff-and-retry, how many connections this adds. The only way to get this kind of information is to have some form of Telemetry.

# General idea

- Add a configuration option to turn on Telemetry and specify a Telemetry server. If unset (e.g. by default), Telemetry is off.
- Add some kind of linter to ensure that Telemetry remains unset by default?
- Use a Telemetry protocol/server such as e.g. Sentry to store performance data.
- Whenever we add a Telemetry probe, reviewers are in charge of checking that they do not contain sensitive data (performance numbers should be safe).

Contributor guide

Open the contributing guide

Research direction

The issue identifies no files, tests, or entry points; begin by locating the configuration and connection-timeout handling in the TypeScript repository. Done means telemetry is explicitly opt-in and remains off when unset, while collected performance data excludes sensitive information.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
observability-sre
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.