The samples of various servers, especially those with clock skew, can return unexpected query results.
The query API aggregates data samples across servers and dimension values. The samples for different servers, or even different dimension values, are imported into the PingDataMetrics server at different times. All metric data is imported in time-order for each server. The ordering cannot be set across servers, and samples for a specific time can arrive in stages. Therefore, a metric query that aggregates across servers or dimensions might get partial data when the query time range ends. This problem can be compounded when the monitored servers clocks are not synchronized (samples have the monitored server timestamp). The query looks at a single time range. The more clock skew between the monitored servers, the higher the probability of the results not being accurate for the range.
With the query API, the data can be pivoted (split) by server and dimension. The API enables formatting the results as an HTML table. The following sequence of API URLs return the last three minutes of data in 10-second increments:
http://<metrics-server-host:port>/api/v1/metrics/throughput/datatable? maxIntervals=30&startTime=-3m&tqx=out:html&tz=US/Central http://<metrics-server-host:port>/api/v1/metrics/throughput/datatable? maxIntervals=30&startTime=-3m&tqx=out:html&tz=US/Central&pivot=instance http://<metrics-server-host:port>/api/v1/metrics/throughput/datatable? maxIntervals=30&startTime=- 3m&tqx=out:html&tz=US/Central&pivot=instance&pivot=op-type
- The first URL aggregates all servers and LDAP operations into a single number split across time.
- The second URL splits out the data by server and time.
- The third URL splits out the data by server, LDAP operation, and time.
As dimension pivots (splits) are added, the results display more aggregations of partial data.