public void SendSocial(string action, string network, string target)
        {
            try
            {
                var nvc = HitInfoFactory.CreateSocialHit(BasePostDataValues, action, network, target);

                sendImmediately(nvc);
            }
            catch
            {
            }
        }
        public void SendScreenView(string screenName)
        {
            try
            {
                var nvc = HitInfoFactory.CreateScreenHit(BasePostDataValues, screenName);

                sendImmediately(nvc);
            }
            catch
            {
            }
        }
        public void SendException(string description, bool fatal)
        {
            try
            {
                var nvc = HitInfoFactory.CreateExceptionHit(BasePostDataValues, description, fatal);

                sendImmediately(nvc);
            }
            catch
            {
            }
        }
        public void SendTiming(string category, string action, string label, long milliseconds)
        {
            try
            {
                var nvc = HitInfoFactory.CreateTimingHit(BasePostDataValues, category, action, label, milliseconds);

                sendImmediately(nvc);
            }
            catch
            {
            }
        }
        public void SendEvent(string category, string action, string label, int?value)
        {
            try
            {
                var nvc = HitInfoFactory.CreateEventHit(BasePostDataValues, category, action, label, value);

                sendImmediately(nvc);
            }
            catch
            {
            }
        }
            public ITrackerBatch AddException(string description, bool fatal)
            {
                var hit = HitInfoFactory.CreateExceptionHit(_tracker.BasePostDataValues, description, fatal);

                checkFlush();

                lock (_syncRoot)
                {
                    _cache.Add(hit);
                }

                return(this);
            }
            public ITrackerBatch AddTiming(string category, string action, string label, long milliseconds)
            {
                var hit = HitInfoFactory.CreateTimingHit(_tracker.BasePostDataValues, category, action, label, milliseconds);

                checkFlush();

                lock (_syncRoot)
                {
                    _cache.Add(hit);
                }

                return(this);
            }
            public ITrackerBatch AddEvent(string category, string action, string label, int?value)
            {
                var hit = HitInfoFactory.CreateEventHit(_tracker.BasePostDataValues, category, action, label, value);

                checkFlush();

                lock (_syncRoot)
                {
                    _cache.Add(hit);
                }

                return(this);
            }
            public ITrackerBatch AddScreenView(string screenName)
            {
                var hit = HitInfoFactory.CreateScreenHit(_tracker.BasePostDataValues, screenName);

                checkFlush();

                lock (_syncRoot)
                {
                    _cache.Add(hit);
                }

                return(this);
            }