Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

TypeError in floatToGoString in utils.py

Offen
#907 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
observability

Rechercherichtung

Beginne in utils.py bei floatToGoString und reproduziere den Fehler mit einem None-Wert. Prüfe die vorhandenen Tests für dieses Utility und füge dann eine Regressionstestabdeckung hinzu, die zeigt, dass None als null behandelt wird, während normale numerische Eingaben weiterhin funktionieren. Die Aufgabe ist erledigt, wenn die gemeldete Metrik ohne TypeError serialisiert werden kann.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

When one PureStorage array controller is failed it reports None value for metric purefa_network_interface_performance. The function floatToGoString fails because it cannot handle None value.

I added two lines in my local copy of "utils.py" to make this function work, so it replaces None value with 0 (zero).

Instead of:

def floatToGoString(d):
   d = float(d)

I use:

def floatToGoString(d):
    if d is None:
        d = 0
    d = float(d)

Below is the error message:

File "/home/pure_exporter/venv/lib/python3.7/site-packages/prometheus_client/utils.py", line 9, in floatToGoString
d = float(d)
TypeError: ("float() argument must be a string or a number, not 'NoneType'", Metric(purefa_network_interface_performance, FlashArray network interface performance, gauge, , [Sample(name='purefa_network_interface_performance', labels={'interface': 'ct0.eth5', 'dimension': 'rx_bytes'}, value=None, timestamp=None, exemplar=None),

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus prometheus/client_python

Alle Issues in prometheus/client_python

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

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