private SlabDto GetSlab(string line) { SlabDto slab = null; return(slab); }
public Collection <ItemDto> GetItems(SlabDto slab) { Collection <ItemDto> items = null; items = new Collection <ItemDto>(); return(items); }
public Collection <ItemDto> GetItems(ConnectionDto connection, SlabDto slab, bool mustRetrieveValues) { Collection <ItemDto> items = null; Cache cache = new Cache(connection); cache.Connect(); items = cache.GetItems(slab); cache.Disconnect(); return(items); }
public SlabsDto GetSlabs() { SlabsDto slabsContainer = null; this.EnsureConnected(); string response = string.Empty; response = this.ExecuteCommand(Cache.Commands.SlabsStatistics); SlabsStatisticsParserCommand statsCommand = new SlabsStatisticsParserCommand(response); statsCommand.Parse(); SlabsDto slabsStatsContainer = statsCommand.SlabContainer; response = this.ExecuteCommand(Cache.Commands.ItemsStatistics); SlabContentParserCommand contentCommand = new SlabContentParserCommand(response); contentCommand.Parse(); SlabsDto slabsContentContainer = contentCommand.SlabContainer; slabsContainer = new SlabsDto(); slabsContainer.ActiveSlabCount = slabsStatsContainer.ActiveSlabCount; slabsContainer.TotalMemoryAllocated = slabsStatsContainer.TotalMemoryAllocated; foreach (SlabDto statSlab in slabsStatsContainer.Slabs) { foreach (SlabDto contentSlab in slabsContentContainer.Slabs) { if (statSlab.ID == contentSlab.ID) { SlabDto slab = new SlabDto(); slab.ID = statSlab.ID; slab.Statistics = statSlab.Statistics; slab.Contents = contentSlab.Contents; slabsContainer.Slabs.Add(slab); break; } } } return(slabsContainer); }
protected override void ParseText() { this.SlabContainer.Slabs.Clear(); string payload = this.GetPayload(); string[] lines = payload.Split( this.LineDelimiter, StringSplitOptions.RemoveEmptyEntries); Dictionary <string, string> lineIndex = new Dictionary <string, string>(); foreach (string line in lines) { string dataLine = line.Replace("STAT items:", string.Empty); string[] dataLineArray = dataLine.Split( this.ElementDelimiter, StringSplitOptions.RemoveEmptyEntries); if (dataLineArray.Length == 2) { string key = dataLineArray[0]; string value = dataLineArray[1]; lineIndex[key] = value; } } for (int slabNumber = 1; slabNumber <= int.MaxValue; slabNumber++) { string key = string.Empty; key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "number"); if (lineIndex.ContainsKey(key)) { SlabDto slab = new SlabDto(); slab.ID = slabNumber; slab.Contents.ID = slabNumber; slab.Contents.ItemCount = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "age"); slab.Contents.OldestItemAge = long.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "evicted"); slab.Contents.EvictedItemCount = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "evicted_time"); slab.Contents.LastItemEvictedAt = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "evicted_nonzero"); slab.Contents.LastNonZeroItemEvictedAt = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "outofmemory"); if (lineIndex.ContainsKey(key)) { slab.Contents.OutOfMemoryTriggeringItemCount = int.Parse(lineIndex[key]); slab.Contents.IsOutOfMemoryTriggerItemCountAvailable = true; } else { slab.Contents.IsOutOfMemoryTriggerItemCountAvailable = false; } key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "tailrepairs"); slab.Contents.TailRepairItemCount = int.Parse(lineIndex[key]); this.SlabContainer.Slabs.Add(slab); } else { break; } } }
protected override void ParseText() { this.SlabContainer.Slabs.Clear(); string payload = this.GetPayload(); string[] lines = payload.Split( this.LineDelimiter, StringSplitOptions.RemoveEmptyEntries); Dictionary <string, string> lineIndex = new Dictionary <string, string>(); foreach (string line in lines) { string dataLine = line.Replace("STAT ", string.Empty); string[] dataLineArray = dataLine.Split( this.ElementDelimiter, StringSplitOptions.RemoveEmptyEntries); if (dataLineArray.Length == 2) { string key = dataLineArray[0]; string value = dataLineArray[1]; lineIndex[key] = value; } } this.SlabContainer.ActiveSlabCount = int.Parse(lineIndex["active_slabs"]); this.SlabContainer.TotalMemoryAllocated = int.Parse(lineIndex["total_malloced"]); if (this.SlabContainer.ActiveSlabCount > 0) { for (int slabNumber = 1; slabNumber <= this.SlabContainer.ActiveSlabCount; slabNumber++) { SlabDto slab = new SlabDto(); slab.ID = slabNumber; slab.Statistics.ID = slabNumber; string key = string.Empty; key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "chunk_size"); slab.Statistics.ChunkSize = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "chunks_per_page"); slab.Statistics.ChunksPerPage = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "total_pages"); slab.Statistics.TotalPages = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "total_chunks"); slab.Statistics.TotalChunks = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "used_chunks"); slab.Statistics.UsedChunks = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "free_chunks"); slab.Statistics.FreeChunks = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "free_chunks_end"); slab.Statistics.FreeChunksEnd = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "mem_requested"); slab.Statistics.MemoryRequested = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "get_hits"); slab.Statistics.GetOperationHits = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "cmd_set"); slab.Statistics.SetOperationHits = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "delete_hits"); slab.Statistics.DeleteOperationHits = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "incr_hits"); slab.Statistics.IncrementOperationHits = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "decr_hits"); slab.Statistics.DecrementOperationHits = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "cas_hits"); slab.Statistics.CasOperationHits = int.Parse(lineIndex[key]); key = string.Format(CultureInfo.InvariantCulture, "{0}:{1}", slabNumber, "cas_badval"); slab.Statistics.CasBadValues = int.Parse(lineIndex[key]); this.SlabContainer.Slabs.Add(slab); } } }
public Collection <ItemDto> GetItems(ConnectionDto connection, SlabDto slab) { return(this.GetItems(connection, slab, CacheService.MustRetrieveValuesByDefault)); }