/// <summary>
        /// Serializes measurements to InfluxDB.
        /// </summary>
        protected override void ProcessMeasurements(IMeasurement[] measurements)
        {
            if (measurements.Length == 0)
                return;

            if (m_useParallelPosting)
            {
                List<IMeasurement[]> measurementGroups = new List<IMeasurement[]>();
                IMeasurement[] measurementGroup = measurements.Take(m_valuesPerPost).ToArray();
                int skipCount = measurementGroup.Length;

                while (measurementGroup.Length > 0)
                {
                    measurementGroups.Add(measurementGroup);
                    measurementGroup = measurements.Skip(skipCount).Take(m_valuesPerPost).ToArray();
                    skipCount += measurementGroup.Length;
                }

                Parallel.ForEach(measurementGroups, PostMeasurementsToArchive);
                m_totalParallelGroups += measurementGroups.Count;
            }
            else
            {
                PostMeasurementsToArchive(measurements);
            }
        }