python / python/cpython

Tachyon Oracle

Offen
#153,804 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

stdlib topic-profiling type-feature
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Durchsicht des Tachyon-Kontexts in den Issues #151426, #151613 und #151022 und untersuche anschließend die verknüpfte Arbeit gh-153806. Der Vorschlag nennt keine Dateien, Tests oder einen Einstiegspunkt; als erledigt würde gelten, einen Harness zu definieren, der bewertet, ob die gemeldeten Sample-Verteilungen und Frames dem beobachteten Anwendungsverhalten entsprechen, einschließlich des Rauschens im non-blocking-mode.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
devtools, observability, performance
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
15/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.