HeartbeatPlugin ignores heartbeat intervals with a seconds component under 30 (uses TimeSpan.Seconds instead of TotalSeconds)
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
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
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
- https://github.com/exceptionless/Exceptionless.Net/blob/5792f00d175f94a35fe0559c8e9999234a8163be/src/Exceptionless/Plugins/Default/100_HeartbeatPlugin.cs#L16-L18
- https://github.com/exceptionless/Exceptionless.Net/blob/5792f00d175f94a35fe0559c8e9999234a8163be/src/Exceptionless/Extensions/ExceptionlessConfigurationExtensions.cs#L111-L121 (
UseSessions(heartbeatInterval: ...)passes the value through)
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
config.UseSessions(heartbeatInterval: TimeSpan.FromMinutes(5));- Set a user identity and submit an event to start a session.
- 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
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di exceptionless/Exceptionless.Net
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
exceptionless/Exceptionless.Net#391 ·
I maintainer di solito rispondono entro 6 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
exceptionless/Exceptionless.Net#390 ·
I maintainer di solito rispondono entro 6 giorni
-
AWS Lambda detection never matches because the environment variable name has a trailing spaceApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
exceptionless/Exceptionless.Net#386 ·
I maintainer di solito rispondono entro 6 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
exceptionless/Exceptionless.Net#389 ·
I maintainer di solito rispondono entro 6 giorni
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
exceptionless/Exceptionless.Net#388 ·
I maintainer di solito rispondono entro 6 giorni
Tutte le issue di exceptionless/Exceptionless.Net
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
possible bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
Include host.wslc.internal in the HTTPS development certificateForse già presa @afscrome l’ha presa oggi. Apertaarea-commandlinetools
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
dotnet/aspnetcore#70122 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
:1st_place_medal: good first issue :cowboy_hat_face: refactor :roller_coaster: enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ApplETS/Backend-Hello#78 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 2 giorni