-
Notifications
You must be signed in to change notification settings - Fork 798
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add
BatchingOptions.RetryTimeLimit
(#2120)
- Loading branch information
1 parent
3da0979
commit fe40d19
Showing
7 changed files
with
169 additions
and
78 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
// Copyright © Serilog Contributors | ||
// | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
|
||
#if !NET8_0_OR_GREATER | ||
|
||
using System.Diagnostics; | ||
|
||
namespace System; | ||
|
||
/// <summary> | ||
/// A super-simple, cut-down subset of `System.TimeProvider` which we use internally to avoid a package dependency | ||
/// on platforms without it. | ||
/// </summary> | ||
abstract class TimeProvider | ||
{ | ||
public static TimeProvider System { get; } = new SystemTimeProvider(); | ||
|
||
public DateTimeOffset GetLocalNow() => DateTimeOffset.Now; | ||
|
||
public virtual DateTimeOffset GetUtcNow() => DateTimeOffset.UtcNow; | ||
|
||
public virtual long TimestampFrequency => Stopwatch.Frequency; | ||
|
||
public virtual long GetTimestamp() => Stopwatch.GetTimestamp(); | ||
|
||
public TimeSpan GetElapsedTime(long startingTimestamp, long endingTimestamp) | ||
{ | ||
// Assumes Stopwatch.Frequency is never zero, safe for our internal usage. | ||
return new TimeSpan((long)((endingTimestamp - startingTimestamp) * ((double)TimeSpan.TicksPerSecond / TimestampFrequency))); | ||
} | ||
|
||
public TimeSpan GetElapsedTime(long startingTimestamp) => GetElapsedTime(startingTimestamp, GetTimestamp()); | ||
|
||
sealed class SystemTimeProvider : TimeProvider; | ||
} | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
namespace Serilog.Tests.Support; | ||
|
||
class TestTimeProvider: TimeProvider | ||
{ | ||
DateTimeOffset _utcNow = DateTimeOffset.UtcNow; | ||
|
||
public override long GetTimestamp() | ||
{ | ||
return _utcNow.Ticks; | ||
} | ||
|
||
public override DateTimeOffset GetUtcNow() | ||
{ | ||
return _utcNow; | ||
} | ||
|
||
public void Advance(TimeSpan distance) | ||
{ | ||
_utcNow = _utcNow.Add(distance); | ||
} | ||
|
||
public override long TimestampFrequency => TimeSpan.TicksPerSecond; | ||
} |