View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000108 | 10000-005: Information Model | public | 2007-02-19 17:25 | 2009-01-13 18:13 | |
Reporter | randyarmstrong | Assigned To | Wolfgang Mahnke | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Summary | 0000108: Review Diagnostics Information for Implementation Concerns | ||||
Description | The diagnostics information needs to be reviewed to ensure there are no implementation concerns. | ||||
Tags | No tags attached. | ||||
Commit Version | |||||
Fix Due Date | |||||
|
Randy will complete implementation before the spec is released. |
|
After reviewing the diagnostics I am having problems understanding the use case for the various arrays. It seems to me that clients should rely on audit events to determine when sessions/subscriptions come and go and subscribe to the individual objects for the values that they are interested in. I realize that the arrays theoretically allow clients to get coherent snapshots but I don't think a coherent snapshot for this kind of information is useful since servers will likely delay updating their internal structures in a timely fashions for performance reasons. I think it is worth changing this because: 1) The array duplicating large structures make it much more difficult to implement a scalable server. I have attached a Visio diagram that replaces the array variables with folder objects and adds a notifier hierarchy. In the proposed model the actually diagnostic data is not replicated in many variables which makes it much easier to implement efficiently. I have more comments on the individual structures: 3) SessionDiagnosticsDataType - don't see the point of: CurrentPublishTimerExpirations (available on subscription) Perhaps better names: NotificationMessageCount 4) ServiceCounterDataType The unauthorized counter is not really useful because it can only capture a subset of authorization failures. 5) SubscriptionDiagnosticsDataType Missing: PublishTimerExpiredCount 6) SamplingRateDiagnostics I don't see the point of collecting this information. For the sample server many items are exception based which means there is no sampling going on. For the wrapped DA3 servers the groups support multiple sampling rates so the UA server does not know how the items are grouped for sampling. This object would make more if this information was folded into the ServerDiagnosticSummary object: CurrentMonitoredItemCount This information could be replicated in the Subscription diagnostics. |
2008-12-05 09:13
|
|
|
Agreed of Dec 16th, 2008 UA TelCon We need the arrays because: 1) It makes it easy for clients to receive all diagnostics information as it is available without constantly adding/removing monitored items. That said we need to put some caveats on the behaviors of the array values such as: 1) There is no relationship between the order of references returns during a browse and the order in the array. On the individual diagnostics structures: 1) Should be changed to SamplingInterval since that is the term in used in the MonitoredItem services. Session Diagnostics: 1) The unauthorized error count on each request is not that meaningful. Replace with a single UnauthorizedRequestCount for all services. keepAliveCount, Subscription Diagnostics: 1) Need maxLifetimeCount (same as the subscription parameter) UnacknowledgedMessageCount - the number of unacknowledged messages saved in the queue. |
|
Static diagnostic nodes that always appear in the address space will return BAD_NOTREADABLE when they are read or subscribed to and diagnostics are turned off. Dynamic diagnostic nodes (like the session nodes) will not appear in the address space when diagnostics are turned off. |
|
Another discussion about diagnostics on sample rates. We decided that these stats only make sense if a server implements a small number of fixed scan rates and therefore should made optional. If the sample rate diagnostics are provided then the node ids are expected to be persistent between server runs. |
|
Fixed in version 1.01.21 |
|
Reviewed and accepted changes in telecon today. |
Date Modified | Username | Field | Change |
---|---|---|---|
2007-02-19 17:25 | randyarmstrong | New Issue | |
2007-02-19 17:25 | randyarmstrong | Status | new => assigned |
2007-02-19 17:25 | randyarmstrong | Assigned To | => randyarmstrong |
2008-05-27 16:43 |
|
Note Added: 0000715 | |
2008-12-05 09:13 | randyarmstrong | Note Added: 0000978 | |
2008-12-05 09:13 | randyarmstrong | Status | assigned => acknowledged |
2008-12-05 09:13 | randyarmstrong | File Added: DiagnosticsProposal 2008-12-04.vsd | |
2008-12-16 17:30 | randyarmstrong | Note Added: 0001003 | |
2008-12-16 17:30 | randyarmstrong | Assigned To | randyarmstrong => Wolfgang Mahnke |
2008-12-16 17:30 | randyarmstrong | Status | acknowledged => assigned |
2009-01-07 17:47 |
|
Note Added: 0001031 | |
2009-01-07 18:54 |
|
Note Added: 0001033 | |
2009-01-09 14:03 | Wolfgang Mahnke | Status | assigned => resolved |
2009-01-09 14:03 | Wolfgang Mahnke | Resolution | open => fixed |
2009-01-09 14:03 | Wolfgang Mahnke | Note Added: 0001037 | |
2009-01-13 18:13 |
|
Status | resolved => closed |
2009-01-13 18:13 |
|
Note Added: 0001043 |