public string Map(string categoryName, string counterName, string source, string instance, string extData) { CounterCategoryInfo catInfo = GetOrCreateCategoryInfo(categoryName); CounterNameInfo nameInfo = catInfo.GetOrCreateNameInfo(counterName); CounterSourceInfo sourceInfo = nameInfo.GetOrCreateSourceInfo(source); CounterInstanceInfo instanceInfo = nameInfo.GetOrCreateInstanceInfo(instance); CounterExtDataInfo extDataInfo = nameInfo.GetOrCreateExtDataInfo(extData); return(string.Join("/", sourceInfo.Id, instanceInfo.Id, extDataInfo.Id)); }
public CounterNameInfo GetMappedCounterNameInfo(int counterNameId) { CounterNameInfo nameInfo = _cache.FindById(counterNameId); if (nameInfo == null) { UpdateCache(); nameInfo = _cache.FindById(counterNameId); } return(nameInfo); }
public CounterNameInfo GetOrCreateNameInfo(string name) { CounterNameInfo nameInfo = _cache.FindByName(name); if (nameInfo == null) { this.UpdateCache(); nameInfo = _cache.FindByName(name) ?? this.CreateNew(name); } return(nameInfo); }
public void SaveCounterName(int parentCategoryId, CounterNameInfo nameInfo) { MongoCollection <BsonDocument> items = Database.GetCollection("countersInfo"); IMongoQuery q = Query.EQ("id", parentCategoryId); UpdateBuilder u = new UpdateBuilder(); u.AddToSet("counters", new BsonDocument { { "name", nameInfo.Name }, { "id", nameInfo.Id } }); u.Set("c" + nameInfo.Id, new BsonDocument { { "sources", new BsonArray() }, { "instances", new BsonArray() }, { "extDatas", new BsonArray() } }); items.Update(q, u, UpdateFlags.Upsert, SafeMode.True); }
private static DateTime GetLastProcessedDateForCounter(CounterCategoryInfo counterCategoryInfo, CounterNameInfo counterNameInfo) { if (_lastDates.ContainsKey(counterCategoryInfo.Name + "." + counterNameInfo.Name)) { return(_lastDates[counterCategoryInfo.Name + "." + counterNameInfo.Name]); } else { return(DateTime.MinValue); } }