Tachyon Oracle
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 35.9k
- Métriques de merge des PR
- Métriques de PR en attente
Description
Feature or enhancement
Proposal:
The big question is: how we can ensure that Tachyon is trustworthy?
In particular: the profiler reports some frames, effectively: some distribution of gathered samples. How do we know if they actually match reality? How well do they match reality?
Do we even report the distribution of samples that's similar to how the actual app behaves? Do we report impossible frames?
These are not theoretical questions, as demonstrated by #151426, #151613 or #151022.
Especially in the non-blocking mode we don't have fully atomic reads. If we use too many remote calls, traverse the frames, coro or task-waiters in an inefficient way, or invalidate the cache incorrectly - there's a room for introducing the noise (bias? drift? whatever the name).
Unfortunately, the CI is not the right tool for the job, given that we should avoid flaky tests at all costs and the statistical nature of Tachyon means that we cannot aim for 100% perfection. Even in the blocking mode, we simply cannot guarantee that we block the target ideally.
With the pipeline of changes happening the Tachyon, I think we should introduce some "harness" for this purpose.
This was discussed offline with @pablogsal
Has this already been discussed elsewhere?
No response given
Links to previous discussion of this feature:
No response
Linked PRs
- gh-153806
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par examiner le contexte de Tachyon dans les issues #151426, #151613 et #151022, puis inspectez le travail associé gh-153806. La proposition ne nomme ni fichiers, ni tests, ni point d’entrée ; le travail serait considéré comme terminé lorsqu’un harness évaluant si les distributions d’échantillons et les frames signalés correspondent au comportement observé de l’application, y compris le bruit du non-blocking-mode, sera défini.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- devtools, observability, performance
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 15/100