SeriesData

A SeriesData object is used to capture a data point for historical tracking.

Properties

  • String name: (Required) Name of the data item.

  • java.util.Date timestamp: (Required) Time stamp for the data item.

  • Number value: (Required) Value of the data item.

  • integer expiryDays: Number of days this item should be kept in the active database for reporting.

Methods

  • Boolean isValid(): Returns True if all required fields are populated. If False is returned, the scripting log contains a description of the failure.

  • String toString(): Returns a string representation of this object.

Description

A SeriesData object is used to capture a data point for historical tracking. These objects must be associated MetricsElement to be sent to Operations Center. The Operations Center server does not process updates to the same name and time stamp value on the same element. If the value should be kept for a longer of shorter period than the default retention period set in the Experience Manager Adapter properties use expiryDays to override.

The following example demonstrates how one might derive series data from a report. The implementation shown here mirrors the default series data created when default series data mapping is enabled using the metrics.createMetricsElement() method.

Example

function createSeriesEntries(report)
{
   var seriesData = new Array();
      
   var avg=metrics.createSeriesData();
   avg.name = 'Overall:Avg';
   avg.timestamp = report.stopTime;
   avg.value = report.overall.average;
   seriesData.push(avg);
      
   seriesData.push(metrics.createSeriesData('Overall:Max',
                    report.stopTime,report.overall.high));
   seriesData.push(metrics.createSeriesData('Overall:Min',
                    report.stopTime,report.overall.low));
   seriesData.push(metrics.createSeriesData('Overall:Count',
                    report.stopTime,report.overall.count));
      
   var iterator = report.rangeStats.entrySet().iterator();
   while(iterator.hasNext())
   {
       var mapEntry = iterator.next();
       var rangeName = mapEntry.getKey();
       var rangeStats = mapEntry.getValue();
       seriesData.push(metrics.createSeriesData(rangeName +':Avg',
                          report.stopTime,rangeStats.average));
       seriesData.push(metrics.createSeriesData(rangeName +':Max',
                          report.stopTime,rangeStats.high));
       seriesData.push(metrics.createSeriesData(rangeName +':Min',
                          report.stopTime,rangeStats.low));
       seriesData.push(metrics.createSeriesData(rangeName +':Count',
                           report.stopTime,rangeStats.count));
   }
   return seriesData;
}