prometheus / prometheus/client_python

TestGauge::test_time_block_decorator_with_label failure

Offen
#942 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
4.4k
Forks
876
Ø Merge
8 T. 4 Std.
Gemergte PRs (30 T.)
1

Beschreibung

Hi, I am running the test suite on some obscure architectures and observed a failure on alpha, with one test:

========================================================================= FAILURES =========================================================================
______________________________________________________ TestGauge.test_time_block_decorator_with_label ______________________________________________________

self = <tests.test_core.TestGauge testMethod=test_time_block_decorator_with_label>

    def test_time_block_decorator_with_label(self):
        value = self.registry.get_sample_value
        self.assertEqual(None, value('g2', {'label1': 'foo'}))
        with self.gauge_with_label.time() as metric:
            metric.labels('foo')
>       self.assertLess(0, value('g2', {'label1': 'foo'}))
E       AssertionError: 0 not less than 0.0

metric     = <prometheus_client.context_managers.Timer object at 0x20007441790>
self       = <tests.test_core.TestGauge testMethod=test_time_block_decorator_with_label>
value      = <bound method CollectorRegistry.get_sample_value of <prometheus_client.registry.CollectorRegistry object at 0x20007441310>>

tests/test_core.py:255: AssertionError

This is fully reproducible, and I tested on both python3.10 and python3.11 with same results.

Complete log: 41y0768.log

Any help on why this test could be failing? I know this is an unusual platform, so I can provide shell access to the machine in question if somebody would mind taking a look. I can also interactively debug, or test patches as needed.

Thank you!

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 tests/test_core.py:255 und dem TestGauge.test_time_block_decorator_with_label-Test. Reproduziere den Fehler auf der gemeldeten alpha-Plattform mit Python 3.10 oder 3.11 und untersuche anschließend die vollständige 41y0768.log sowie das Timing-Verhalten von gauge. Erledigt ist die Aufgabe, wenn die plattformspezifische Ursache identifiziert ist und der Test besteht, ohne das gemeldete Verhalten zu verschlechtern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
testing-qa
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

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