Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

HeartbeatPlugin ignores heartbeat intervals with a seconds component under 30 (uses TimeSpan.Seconds instead of TotalSeconds)

Aperta Adatta ai principianti
#387 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 6 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
1/5
Tempo stimato
1-3 ore
Idoneità per principianti
88/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
csharp
Ambito
backend

Direzione di ricerca

Leggi src/Exceptionless/Plugins/Default/100_HeartbeatPlugin.cs, in particolare la convalida dell’intervallo alle righe 16–18; l’issue segnala il controllo errato di TimeSpan.Seconds e suggerisce di confrontare i secondi totali o un TimeSpan. Controlla il passaggio di UseSessions in src/Exceptionless/Extensions/ExceptionlessConfigurationExtensions.cs e aggiungi o individua un test per intervalli inferiori e superiori a 30 secondi. Il lavoro è completato quando gli intervalli di 30 secondi o più vengono mantenuti, mentre quelli più brevi usano il valore predefinito di un minuto.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

In Exceptionless 6.2.0 (core Exceptionless package), HeartbeatPlugin validates the configured interval with interval.Value.Seconds >= 30. TimeSpan.Seconds is only the 0-59 seconds component, so most whole-minute intervals are rejected and silently replaced with the 1 minute default.

Where

What happens

Requested interval .Seconds Interval used
TimeSpan.FromSeconds(45) 45 45 seconds
TimeSpan.FromSeconds(90) 30 90 seconds
TimeSpan.FromSeconds(75) 15 1 minute
TimeSpan.FromMinutes(2) 0 1 minute
TimeSpan.FromMinutes(5) 0 1 minute

Any interval that is a whole number of minutes falls back to 1 minute, so config.UseSessions(heartbeatInterval: TimeSpan.FromMinutes(5)) sends heartbeats every minute instead of every 5 minutes.

Expected

Intervals of 30 seconds or more are honored; only intervals under 30 seconds fall back to the default.

With the 6.2.0 package, new HeartbeatPlugin(TimeSpan.FromMinutes(5)) stores an interval of 00:01:00, while new HeartbeatPlugin(TimeSpan.FromSeconds(90)) stores 00:01:30.

Steps to reproduce

  1. config.UseSessions(heartbeatInterval: TimeSpan.FromMinutes(5));
  2. Set a user identity and submit an event to start a session.
  3. Session heartbeat events are sent every minute, not every 5 minutes.

Suggested fix

Use interval.Value.TotalSeconds >= 30 (or interval.Value >= TimeSpan.FromSeconds(30)).

Lingua principale
C#
Stelle
573
Fork
143
Merge medio
5g 9h
PR unite (30g)
1

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di exceptionless/Exceptionless.Net

Tutte le issue di exceptionless/Exceptionless.Net

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.