예제 #1
0
    void Report(KeyValuePair<string, MetricValue[]> metrics,
      DateTime timestamp) {
      MetricName name = metrics.Key;
      var protos = new StoreMetricsMessage.Builder();
      foreach (MetricValue metric in metrics.Value) {
        MetricProto proto = new MetricProto.Builder()
          .SetName(metric.Name)
          .SetValue(metric.Value)
          .SetTimestamp(TimeUnitHelper.ToUnixTime(timestamp.ToUniversalTime()))
          .SetUnit(metric.Unit)
          .Build();
        protos.AddMetrics(proto);
      }

      var packet = RubyMessages.CreateMessagePacket(new byte[0],
        (int) MessageType.kStoreMetricsMessage, protos.Build().ToByteArray());
      socket_.Send(packet.ToByteArray(), SendRecvOpt.NOBLOCK);
    }
예제 #2
0
        void Report(KeyValuePair <string, MetricValue[]> metrics,
                    DateTime timestamp)
        {
            MetricName name   = metrics.Key;
            var        protos = new StoreMetricsMessage.Builder();

            foreach (MetricValue metric in metrics.Value)
            {
                MetricProto proto = new MetricProto.Builder()
                                    .SetName(metric.Name)
                                    .SetValue(metric.Value)
                                    .SetTimestamp(TimeUnitHelper.ToUnixTime(timestamp.ToUniversalTime()))
                                    .SetUnit(metric.Unit)
                                    .Build();
                protos.AddMetrics(proto);
            }

            var packet = RubyMessages.CreateMessagePacket(new byte[0],
                                                          (int)MessageType.kStoreMetricsMessage, protos.Build().ToByteArray());

            socket_.Send(packet.ToByteArray(), SendRecvOpt.NOBLOCK);
        }