Skip to content

Commit 336766f

Browse files
authored
Added heartbeat diagnostics (#1814)
* Added heartbeat diagnostics * add local time diagnostics
1 parent 60533dd commit 336766f

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

src/Proto.Cluster/Cluster.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,19 @@ public class Cluster : IActorSystemExtension<Cluster>
3838

3939
public async Task<DiagnosticsEntry[]> GetDiagnostics()
4040
{
41+
var now = new DiagnosticsEntry("Cluster", $"Local Time", DateTimeOffset.UtcNow);
4142
var blocked = new DiagnosticsEntry("Cluster", "Blocked", System.Remote().BlockList.BlockedMembers.ToArray());
4243

4344
var t = await Gossip.GetState<ClusterTopology>(GossipKeys.Topology);
4445

4546
var topology = new DiagnosticsEntry("Cluster", "Topology", t);
47+
48+
var h = await Gossip.GetStateEntry(GossipKeys.Heartbeat);
49+
var heartbeats = h.Select(heartbeat => new DiagnosticsMemberHeartbeat(heartbeat.Key, heartbeat.Value.Value.Unpack<MemberHeartbeat>(), heartbeat.Value.LocalTimestamp)).ToArray();
50+
51+
var heartbeat = new DiagnosticsEntry("Cluster", "Heartbeat", heartbeats);
4652

47-
return new[] { blocked, topology };
53+
return new[] { now, blocked, topology, heartbeat };
4854
}
4955

5056
public Cluster(ActorSystem system, ClusterConfig config)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
using System;
2+
3+
namespace Proto.Cluster;
4+
5+
internal record DiagnosticsMemberHeartbeat(string MemberId, MemberHeartbeat Value, DateTimeOffset Timestamp);

0 commit comments

Comments
 (0)