OPCFoundation / UA-.NETStandard

OPC Unified Architecture .NET Standard
Other
1.97k stars 950 forks source link

Use HiresClock ticks instead of DateTime for IntervalRunner publish time calculation #2753

Closed mrsuciu closed 1 month ago

mrsuciu commented 2 months ago

Use HiresClock instead of DateTime for IntervalRunner publish time calculation

Proposed changes

PubSub IntervalRunner used System clock dependent DateTime values for calculating the publish time, which may produce wrong time values and all consequences that derive from this. This PR replaces DateTime values in the time calculation with HiresClock (Stopwatch) monotonic values.

Related Issues

Types of changes

What types of changes does your code introduce? Put an x in the boxes that apply. You can also fill these out after creating the PR.

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

Further comments

If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

codecov[bot] commented 2 months ago

Codecov Report

Attention: Patch coverage is 0% with 17 lines in your changes missing coverage. Please review.

Project coverage is 54.62%. Comparing base (6dcee7e) to head (dcdfdf3). Report is 12 commits behind head on master.

Files with missing lines Patch % Lines
Libraries/Opc.Ua.PubSub/IntervalRunner.cs 0.00% 17 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #2753 +/- ## ========================================== - Coverage 55.12% 54.62% -0.51% ========================================== Files 349 349 Lines 65548 65702 +154 Branches 13398 13445 +47 ========================================== - Hits 36135 35888 -247 - Misses 25584 25921 +337 - Partials 3829 3893 +64 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.