|
28 | 28 | import com.xceptance.xlt.api.engine.CustomData; |
29 | 29 | import com.xceptance.xlt.api.engine.Data; |
30 | 30 | import com.xceptance.xlt.api.engine.EventData; |
| 31 | +import com.xceptance.xlt.api.engine.PageLoadTimingData; |
31 | 32 | import com.xceptance.xlt.api.engine.RequestData; |
32 | 33 | import com.xceptance.xlt.api.engine.Session; |
33 | 34 | import com.xceptance.xlt.api.engine.TransactionData; |
@@ -166,6 +167,10 @@ else if (data instanceof TransactionData) |
166 | 167 | { |
167 | 168 | updateTransactionMetrics((TransactionData) data); |
168 | 169 | } |
| 170 | + else if (data instanceof PageLoadTimingData) |
| 171 | + { |
| 172 | + updatePageLoadTimingMetrics((PageLoadTimingData) data); |
| 173 | + } |
169 | 174 | else if (data instanceof CustomData) |
170 | 175 | { |
171 | 176 | updateCustomTimerMetrics((CustomData) data); |
@@ -239,6 +244,23 @@ private void updateRequestMetrics(final RequestData requestData) |
239 | 244 | updateRateMetric(summaryMetricPrefix + "bytesReceived_1s", requestData.getBytesReceived(), ONE_SEC, reportingInterval); |
240 | 245 | } |
241 | 246 |
|
| 247 | + private void updatePageLoadTimingMetrics(final PageLoadTimingData pageLoadTimingData) |
| 248 | + { |
| 249 | + // metrics per page load timing name |
| 250 | + final String sanitizedName = sanitizeMetricNamePart(pageLoadTimingData.getName()); |
| 251 | + final String metricPrefix = sanitizedAgentId + ".pageLoadTimings." + sanitizedName + "."; |
| 252 | + |
| 253 | + updateValueMetric(metricPrefix + "runtime", (int) pageLoadTimingData.getRunTime()); |
| 254 | + updateCounterMetric(metricPrefix + "errors", pageLoadTimingData.hasFailed() ? 1 : 0); |
| 255 | + |
| 256 | + // summary metrics |
| 257 | + final String summaryMetricPrefix = sanitizedAgentId + ".summary.pageLoadTimings."; |
| 258 | + |
| 259 | + updateValueMetric(summaryMetricPrefix + "runtime", (int) pageLoadTimingData.getRunTime()); |
| 260 | + updateCounterMetric(summaryMetricPrefix + "count", 1); |
| 261 | + updateCounterMetric(summaryMetricPrefix + "errors", pageLoadTimingData.hasFailed() ? 1 : 0); |
| 262 | + } |
| 263 | + |
242 | 264 | private void updateCustomTimerMetrics(final CustomData customData) |
243 | 265 | { |
244 | 266 | // metrics per custom timer name |
|
0 commit comments