python / python/cpython

Tachyon Oracle

Ouverte
#153,804 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

stdlib topic-profiling type-feature
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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. 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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.