public ClientMetrics() { _Metrics = new List<ClientMetric>(); BytesSent = new ClientMetric(); BytesSent.Name = MetricNames.BytesSent; BytesSent.Incremental = true; _Metrics.Add(BytesSent); BytesReceived = new ClientMetric(); BytesReceived.Name = MetricNames.BytesReceived; BytesReceived.Incremental = true; _Metrics.Add(BytesReceived); TransactionCount = new ClientMetric(); TransactionCount.Name = MetricNames.TransactionCount; TransactionCount.Incremental = true; _Metrics.Add(TransactionCount); }
public ClientMetrics() { _Metrics = new List <ClientMetric>(); BytesSent = new ClientMetric(); BytesSent.Name = MetricNames.BytesSent; BytesSent.Incremental = true; _Metrics.Add(BytesSent); BytesReceived = new ClientMetric(); BytesReceived.Name = MetricNames.BytesReceived; BytesReceived.Incremental = true; _Metrics.Add(BytesReceived); TransactionCount = new ClientMetric(); TransactionCount.Name = MetricNames.TransactionCount; TransactionCount.Incremental = true; _Metrics.Add(TransactionCount); }
private ClientMetric LoadClientMetric(Guid clientID, BsonDocument item) { ClientMetric result = new ClientMetric(); result.ClientID = clientID; result.Incremental = BsonHelper.GetBoolean(item, "Incremental"); LoadMetricBase(result, item); return result; }
public void SaveMetric(ClientMetric metric, TObjectState state) { Dictionary<string, BsonValue> clientMetricValues = new Dictionary<string, BsonValue>(); clientMetricValues.Add("Incremental", metric.Incremental); SaveMetric(metric, state, metric.ClientID.ToByteArray(), CLIENT_METRICS_COLLECTION, clientMetricValues); }
private void OnUpdateMetrics(string server, ServiceEventMessage message) { Guid clientID = StringUtils.GuidDecode((string)message.Parameters["ClientID"]); int organisationID = (int)((long)message.Parameters["OrganisationID"]); List <ClientMetric> metrics = (List<ClientMetric>)message.Parameters["Metrics"]; foreach (ClientMetric parameter in metrics) { string metricName = parameter.Name; long oldValue = 0; long newValue = parameter.Value; ClientMetric clientMetric = DataAccessFactory.Metrics.GetMetric(clientID, metricName); if (clientMetric == null) { clientMetric = new ClientMetric(); clientMetric.Name = metricName; clientMetric.Value = newValue; clientMetric.ClientID = clientID; clientMetric.Incremental = parameter.Incremental; DataAccessFactory.Metrics.SaveMetric(clientMetric, TObjectState.Add); } else { oldValue = clientMetric.Value; if (clientMetric.Incremental) { clientMetric.Value += newValue; newValue = clientMetric.Value; } else { clientMetric.Value = newValue; } DataAccessFactory.Metrics.SaveMetric(clientMetric, TObjectState.Update); } long change = newValue - oldValue; OrganisationMetric organisationMetric = DataAccessFactory.Metrics.GetMetric(organisationID, metricName); if (organisationMetric == null) { organisationMetric = new OrganisationMetric(); organisationMetric.Name = metricName; organisationMetric.Value = change; organisationMetric.OrganisationID = organisationID; DataAccessFactory.Metrics.SaveMetric(organisationMetric, TObjectState.Add); } else { organisationMetric.Value += change; DataAccessFactory.Metrics.SaveMetric(organisationMetric, TObjectState.Update); } } }