Esempio n. 1
0
        public StitchHealthResponse GetStitchHealthReport(StitchHealthRequest arg)
        {
            var heartbeatId      = _sequence.GetCurrentHeartbeatId();
            var lastSyncReceived = _tracker.GetLastHeartbeatSync(arg.StitchId);
            var report           = _calculator.CalculateHealth(heartbeatId, lastSyncReceived);

            return(StitchHealthResponse.Create(arg, report.LastHeartbeatSync, heartbeatId, report.HealthType));
        }
Esempio n. 2
0
 public static StitchHealthResponse Create(StitchHealthRequest request, long lastHeartbeatId, long currentHeartbeatId, StitchHealthType type)
 {
     return(new StitchHealthResponse
     {
         Status = type,
         StitchId = request.StitchId,
         LastHeartbeatReceived = lastHeartbeatId,
         HeartbeatsMissed = currentHeartbeatId - lastHeartbeatId
     });
 }
Esempio n. 3
0
        public StitchHealthResponse GetStitchHealthReport(StitchHealthRequest arg)
        {
            var heartbeatId = GetCurrentHeartbeatId();
            var stitch      = _data.Get <StitchInstance>(arg.StitchId);

            if (stitch == null)
            {
                return(StitchHealthResponse.Create(arg, 0, 0, StitchHealthType.Missing));
            }

            var health = StitchHealthResponse.CalculateHealth(heartbeatId, stitch.LastHeartbeatReceived);

            return(StitchHealthResponse.Create(arg, stitch.LastHeartbeatReceived, heartbeatId, health));
        }