private SlabDto GetSlab(string line)
        {
            SlabDto slab = null;


            return(slab);
        }
Exemplo n.º 2
0
        public Collection <ItemDto> GetItems(SlabDto slab)
        {
            Collection <ItemDto> items = null;

            items = new Collection <ItemDto>();

            return(items);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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;
                }
            }
        }
Exemplo n.º 6
0
        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);
                }
            }
        }
Exemplo n.º 7
0
 public Collection <ItemDto> GetItems(ConnectionDto connection, SlabDto slab)
 {
     return(this.GetItems(connection, slab, CacheService.MustRetrieveValuesByDefault));
 }