I was recently working on a connection issue with Eventstore and persistent subscriptions, when I came across a helpful url that gives more detail about the persistent subscription.
With chrome open to the persistent subscription dashboard, then open the chrome dev tools, you will see a bunch of calls to a “/subscriptions” endpoint.
This endpoint loads all of the information seen on the screen for each persistent subscription you have defined.
[
{
"links": [
{
"href": "http://localhost:2113/subscriptions/%24ce-Foo/FooSubscription/info",
"rel": "detail"
}
],
"eventStreamId": "$ce-Foo",
"groupName": "FooSubscription",
"parkedMessageUri": "http://localhost:2113/streams/%24persistentsubscription-%24ce-Foo::FooSubscription-parked",
"getMessagesUri": "http://localhost:2113/subscriptions/%24ce-Foo/FooSubscription/1",
"status": "Live",
"averageItemsPerSecond": 0.0,
"totalItemsProcessed": 6928,
"lastProcessedEventNumber": 1061119,
"lastKnownEventNumber": 1061128,
"connectionCount": 3,
"totalInFlightMessages": 0
}
]
As you can see the response object has some basic information, however the “links” collection provides another url, “/info” for the specific persistent subscription.
{
"links": [{
"href": "http://localhost:2113/subscriptions/%24ce-Foo/FooSubscription/info",
"rel": "detail"
},
{
"href": "http://localhost:2113/subscriptions/%24ce-Foo/FooSubscription/replayParked",
"rel": "replayParked"
}],
"config": {
"resolveLinktos": true,
"startFrom": -1,
"messageTimeoutMilliseconds": 30000,
"extraStatistics": false,
"maxRetryCount": 10,
"liveBufferSize": 500,
"bufferSize": 500,
"readBatchSize": 20,
"preferRoundRobin": true,
"checkPointAfterMilliseconds": 2000,
"minCheckPointCount": 10,
"maxCheckPointCount": 1000,
"maxSubscriberCount": 0,
"namedConsumerStrategy": "RoundRobin"
},
"eventStreamId": "$ce-Employee",
"groupName": "EmployeeSvc",
"status": "Live",
"averageItemsPerSecond": 0.0,
"parkedMessageUri": "http://localhost:2113/streams/%24persistentsubscription-%24ce-Foo::FooSubscription-parked",
"getMessagesUri": "http://localhost:2113/subscriptions/%24ce-Foo/FooSubscription/1",
"totalItemsProcessed": 6928,
"countSinceLastMeasurement": 0,
"lastProcessedEventNumber": 1061119,
"lastKnownEventNumber": 1061128,
"readBufferCount": 0,
"liveBufferCount": 500,
"retryBufferCount": 0,
"totalInFlightMessages": 0,
"connections": [{
"from": "10.1.1.101:50753",
"username": "admin",
"averageItemsPerSecond": 0.0,
"totalItemsProcessed": 35,
"countSinceLastMeasurement": 0,
"extraStatistics": [],
"availableSlots": 10,
"inFlightMessages": 0
},
{
"from": "10.1.1.102:5169",
"username": "admin",
"averageItemsPerSecond": 0.0,
"totalItemsProcessed": 35,
"countSinceLastMeasurement": 0,
"extraStatistics": [],
"availableSlots": 10,
"inFlightMessages": 0
},
{
"from": "10.1.1.103:55791",
"username": "admin",
"averageItemsPerSecond": 0.0,
"totalItemsProcessed": 36,
"countSinceLastMeasurement": 0,
"extraStatistics": [],
"availableSlots": 10,
"inFlightMessages": 0
}]
}
Opening the “/info” link provides you with the full persistent subscription configuration, current metrics and what was helpful to me was a collection of the current connections.


