protected BasePerformanceCounter(string name, PerformanceCounterType type, PerformanceCounterCategory category)
        {
            Type             = type;
            Category         = category;
            Counter          = new System.Diagnostics.PerformanceCounter(category.ToString(), type.ToString(), name, false);
            Counter.RawValue = 0;

            if (IsBaseCounterRequired(type))
            {
                BaseCounter          = new System.Diagnostics.PerformanceCounter(category.ToString(), string.Format("{0}Base", type), string.Format("{0}Base", name), false);
                BaseCounter.RawValue = 0;
            }
        }