Beispiel #1
0
        void updateNode(Topic topic, MsivPv liveMarket, LiveMarketNode node)
        {
            var averager = ticksReceived.get(liveMarket);

            if (!topic.has("ticksReceived"))
            {
                return;
            }
            node.ticksReceived = topic.get <int>("ticksReceived");
            node.runningOn     = topic.get <string>("hostname");
            averager.add(node.ticksReceived);
            node.tickRate = (float)averager.movingAverage();
            node.size     = isEqualSizes_ ? 1 : Math.Max(1F, node.tickRate);
            node.tickLag  = ticks.get(liveMarket).tickLag;
            node.color    = node.tickLag - 5000;
            node.isDown   = now().Subtract(date(topic.get <string>("timestamp"))).TotalSeconds < 10;
            var downText = node.isDown ? "" : "DOWN ";

            node.lastTickProcessed = ticks.get(liveMarket).lastTickProcessed();
            node.text =
                downText + liveMarket.market() + "\n" +
                node.tickRate.ToString("n0") + "/min, " + node.tickLag + "ms\n" +
                node.ticksReceived.ToString("n0") + "\n" +
                node.lastTickProcessed.ToString("HH:mm:ss") + "\n" +
                node.runningOn;
        }
Beispiel #2
0
 void recordMarketDataTickReceived(MsivPv liveMarket, DateTime time)
 {
     ticks.get(liveMarket).marketDataTicked(time);
 }