Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add status transition counter properties #18

Merged
merged 4 commits into from
Feb 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions docs/Overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,26 @@ The `statusReportingDelay` property allows clients to customize the reporting de
|:--:|
| _**Status reporting delay example**_ |

### Receiver status transition counters

All receiver specific domain statuses have an associated status transition counter property. These increment each time the associated status transitions to a less healthy state. Transitions to/from neutral states like `Inactive` or `NotUsed` are ignored.

The intention is that these properties store historical negative trend transitions for each status.

The list of all status transition counter properties is:

* linkStatusTransitionCounter
* connectionStatusTransitionCounter
* externalSynchronizationStatusTransitionCounter
* streamStatusTransitionCounter

Devices MUST be able to reset ALL status transition counter properties in the following two ways:

* When a receiver activation occurs
* When a client invokes the `ResetStatusTransitionCounters` method

The `autoResetStatusTransitionCounters` property allows clients to configure if ALL status transition counter properties automatically reset with each Receiver activation (by default devices MUST have this enabled). If this is enabled, receivers MUST reset ALL status transition counter properties to 0 after each activation. Devices MUST allow setting the `autoResetStatusTransitionCounters` property to a value of `true` and MAY allow setting the property to `false`. This supports use cases where users do not want to reset automatically after each activation.

### Receiver overall status

The purpose of the overallStatus is to abstract and combine the specific domain statuses of a monitor into a single status which can be more easily observed and displayed by a simple client.
Expand All @@ -96,8 +116,10 @@ Devices MUST follow the rules listed below when mapping specific domain statuses
* Properties
* linkStatus
* linkStatusMessage
* linkStatusTransitionCounter
* connectionStatus
* connectionStatusMessage
* connectionStatusTransitionCounter
* autoResetPacketCounters
* Methods
* GetLostPackets
Expand Down Expand Up @@ -171,6 +193,7 @@ When devices do not have the capability to detect lost or late packets they MUST
* Properties
* externalSynchronizationStatus
* externalSynchronizationStatusMessage
* externalSynchronizationStatusTransitionCounter
* synchronizationSourceId
* synchronizationSourceChanges
* Methods
Expand Down Expand Up @@ -235,6 +258,7 @@ When devices do not use external synchronization they MUST:
* Properties
* streamStatus
* streamStatusMessage
* streamStatusTransitionCounter

| ![Receiver stream validation](images/receiver-model-stream-validation.png) |
|:--:|
Expand Down
Binary file modified docs/images/overall-status.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/receiver-model-connectivity.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/receiver-model-minimal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/receiver-model-stream-validation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/receiver-model-synchronization.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.