# OpcSubscriptionDiagnostics Members

> Reference: Provides diagnostic information about the operations performed and activities recognized on a OpcSubscription.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcSubscriptionDiagnostics</a></dd>
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx.server">Opc.UaFx.Server</a></dd>
<dt>Assembly</dt>
<dd>Opc.UaFx.Advanced.dll</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced v2.59.0</dd>
</dl>

## Properties

### CurrentKeepAliveCount

Gets the current keep-alive counter of the subscription, i.e. the number of publishing intervals since the subscription has last sent a message.

<div class="api-signature" data-lang="csharp">

```csharp
public int CurrentKeepAliveCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property CurrentKeepAliveCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The current value of the keep-alive counter.

### CurrentLifetimeCount

Gets the current lifetime counter of the subscription, i.e. the number of consecutive publishing intervals in which the subscription has waited for a publish request of the client.

<div class="api-signature" data-lang="csharp">

```csharp
public int CurrentLifetimeCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property CurrentLifetimeCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The current value of the lifetime counter. The subscription expires when it reaches [MaxLifetimeCount](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcsubscriptiondiagnostics/members#maxlifetimecount).

### DataChangeNotificationsCount

Gets the number of data change notifications the subscription has sent.

<div class="api-signature" data-lang="csharp">

```csharp
public int DataChangeNotificationsCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property DataChangeNotificationsCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of data change notifications.

### DisableCount

Gets the number of times publishing has been disabled for the subscription.

<div class="api-signature" data-lang="csharp">

```csharp
public int DisableCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property DisableCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of times publishing has been disabled.

### DisabledMonitoredItemCount

Gets the number of monitored items of the subscription whose monitoring mode is disabled.

<div class="api-signature" data-lang="csharp">

```csharp
public int DisabledMonitoredItemCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property DisabledMonitoredItemCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of disabled monitored items.

### DiscardedMessageCount

Gets the number of messages of the subscription which the server has discarded.

<div class="api-signature" data-lang="csharp">

```csharp
public int DiscardedMessageCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property DiscardedMessageCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of discarded messages. The server does not maintain this counter, therefore the value is currently always 0.

### EnableCount

Gets the number of times publishing has been enabled for the subscription.

<div class="api-signature" data-lang="csharp">

```csharp
public int EnableCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property EnableCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of times publishing has been enabled.

### EventNotificationsCount

Gets the number of event notifications the subscription has sent.

<div class="api-signature" data-lang="csharp">

```csharp
public int EventNotificationsCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property EventNotificationsCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of event notifications.

### EventQueueOverFlowCount

Gets the number of times the event queue of a monitored item of the subscription has overflowed.

<div class="api-signature" data-lang="csharp">

```csharp
public int EventQueueOverFlowCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property EventQueueOverFlowCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of event queue overflows. The server does not maintain this counter, therefore the value is currently always 0.

### LatePublishRequestCount

Gets the number of publishing intervals which have elapsed while the subscription was waiting for a publish request of the client.

<div class="api-signature" data-lang="csharp">

```csharp
public int LatePublishRequestCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property LatePublishRequestCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of such publishing intervals.

### MaxKeepAliveCount

Gets the maximum keep-alive count of the subscription.

<div class="api-signature" data-lang="csharp">

```csharp
public int MaxKeepAliveCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property MaxKeepAliveCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of publishing intervals without notifications after which the subscription sends a keep-alive message.

### MaxLifetimeCount

Gets the maximum lifetime count of the subscription.

<div class="api-signature" data-lang="csharp">

```csharp
public int MaxLifetimeCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property MaxLifetimeCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of publishing intervals without a publish request of the client after which the subscription expires.

### MaxNotificationsPerPublish

Gets the maximum number of notifications the subscription sends in one message.

<div class="api-signature" data-lang="csharp">

```csharp
public int MaxNotificationsPerPublish { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property MaxNotificationsPerPublish As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The maximum number of notifications per message.

### ModifyCount

Gets the number of times the subscription has been modified.

<div class="api-signature" data-lang="csharp">

```csharp
public int ModifyCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property ModifyCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of modifications.

### MonitoredItemCount

Gets the number of monitored items of the subscription.

<div class="api-signature" data-lang="csharp">

```csharp
public int MonitoredItemCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property MonitoredItemCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of monitored items.

### MonitoringQueueOverflowCount

Gets the number of times the queue of a monitored item of the subscription has overflowed.

<div class="api-signature" data-lang="csharp">

```csharp
public int MonitoringQueueOverflowCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property MonitoringQueueOverflowCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of queue overflows.

### NextSequenceNumber

Gets the sequence number of the next message of the subscription.

<div class="api-signature" data-lang="csharp">

```csharp
public int NextSequenceNumber { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property NextSequenceNumber As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The next sequence number.

### NotificationsCount

Gets the number of notifications the subscription has sent.

<div class="api-signature" data-lang="csharp">

```csharp
public int NotificationsCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property NotificationsCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of notifications.

### PublishRequestCount

Gets the number of publish requests the subscription has processed.

<div class="api-signature" data-lang="csharp">

```csharp
public int PublishRequestCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property PublishRequestCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of publish requests.

### RepublishMessageCount

Gets the number of messages the subscription has sent again on a republish request.

<div class="api-signature" data-lang="csharp">

```csharp
public int RepublishMessageCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property RepublishMessageCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of messages sent again.

### RepublishMessageRequestCount

<div class="api-signature" data-lang="csharp">

```csharp
public int RepublishMessageRequestCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property RepublishMessageRequestCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

### RepublishRequestCount

Gets the number of republish requests the subscription has received.

<div class="api-signature" data-lang="csharp">

```csharp
public int RepublishRequestCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property RepublishRequestCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of republish requests.

### TransferredToAlternativeClientsCount

Gets the number of times the subscription has been transferred to a session of another client.

<div class="api-signature" data-lang="csharp">

```csharp
public int TransferredToAlternativeClientsCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property TransferredToAlternativeClientsCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of such transfers. The server does not maintain this counter, therefore the value is currently always 0.

### TransferredToSameClientCount

Gets the number of times the subscription has been transferred to another session of the same client.

<div class="api-signature" data-lang="csharp">

```csharp
public int TransferredToSameClientCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property TransferredToSameClientCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of such transfers. The server does not maintain this counter, therefore the value is currently always 0.

### TransferRequestCount

Gets the number of requests to transfer the subscription to another session.

<div class="api-signature" data-lang="csharp">

```csharp
public int TransferRequestCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property TransferRequestCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of transfer requests. The server does not maintain this counter, therefore the value is currently always 0.

### UnacknowledgedMessageCount

Gets the number of messages of the subscription which the client has not yet acknowledged.

<div class="api-signature" data-lang="csharp">

```csharp
public int UnacknowledgedMessageCount { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property UnacknowledgedMessageCount As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The number of unacknowledged messages.
