Skip to content

Commit 4ae14c5

Browse files
committed
Merge remote-tracking branch 'remotes/origin/develop'
2 parents 4e82457 + 6784d4b commit 4ae14c5

5 files changed

Lines changed: 56 additions & 2 deletions

File tree

doc/xltdoc/how-to/graphite.textile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ p. If enabled, XLT reports the following metrics to Graphite:
3838
* runtime statistics (in total and per name), errors (in total and per name) and counts (in total) for
3939
** transactions,
4040
** actions,
41-
** requests, and
41+
** requests,
42+
** page load timings, and
4243
** custom timers,
4344
* arrival rates (in total and per transaction name),
4445
* bytes/sent received (in total and per request name),

doc/xltdoc/release-notes/5.1.x.textile

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,36 @@ position: 983
55
sorted: true
66
---
77

8+
h2. XLT 5.1.2
9+
10+
See "here":https://github.com/Xceptance/XLT/milestone/5?closed=1 for the complete list of improvements and fixes.
11+
12+
h3. Load Testing
13+
14+
h4. Support new region asia-southeast2 in gce_admin
15+
16+
Google opened a new data center in Jakarta, Indonesia (asia-southeast2). @gce_admin@, our tool to manage machine instances in the Google cloud, now fully supports this new region as well.
17+
18+
h4. Page load timings missing in Graphite
19+
20+
In older versions of XLT, page load timings were reported as custom timers to Graphite. Since promoting page load timing data from custom timers to a dedicated data type in XLT 4.12.0, this data was no longer sent to Graphite by mistake.
21+
22+
This is fixed now, but note that this data is no longer stored to the "custom" subtrees, but to the "pageLoadTimings" subtrees instead. The bucket name structure for both specific page load timing records and summary records is similar to that of actions and custom timers. See below for an example how page load timing data is reported to Graphite:
23+
24+
bc(plain).
25+
xlt.Posters.ac001.pageLoadTimings.Homepage__FirstContentfulPaint_.errors 0 1592575693
26+
xlt.Posters.ac001.pageLoadTimings.Homepage__FirstContentfulPaint_.runtime.max 543 1592575693
27+
xlt.Posters.ac001.pageLoadTimings.Homepage__FirstContentfulPaint_.runtime.mean 543.00 1592575693
28+
xlt.Posters.ac001.pageLoadTimings.Homepage__FirstContentfulPaint_.runtime.min 543 1592575693
29+
...
30+
xlt.Posters.ac001.summary.pageLoadTimings.count 18 1592575693
31+
xlt.Posters.ac001.summary.pageLoadTimings.errors 0 1592575693
32+
xlt.Posters.ac001.summary.pageLoadTimings.runtime.max 543 1592575693
33+
xlt.Posters.ac001.summary.pageLoadTimings.runtime.mean 270.17 1592575693
34+
xlt.Posters.ac001.summary.pageLoadTimings.runtime.min 20 1592575693
35+
36+
37+
838
h2. XLT 5.1.1
939

1040
See "here":https://github.com/Xceptance/XLT/milestone/4?closed=1 for the complete list of improvements and fixes.

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.xceptance</groupId>
88
<artifactId>xlt</artifactId>
9-
<version>5.1.1</version>
9+
<version>5.1.2</version>
1010
<packaging>jar</packaging>
1111

1212
<name>XLT</name>

src/main/java/com/xceptance/xlt/engine/metrics/Metrics.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import com.xceptance.xlt.api.engine.CustomData;
2929
import com.xceptance.xlt.api.engine.Data;
3030
import com.xceptance.xlt.api.engine.EventData;
31+
import com.xceptance.xlt.api.engine.PageLoadTimingData;
3132
import com.xceptance.xlt.api.engine.RequestData;
3233
import com.xceptance.xlt.api.engine.Session;
3334
import com.xceptance.xlt.api.engine.TransactionData;
@@ -166,6 +167,10 @@ else if (data instanceof TransactionData)
166167
{
167168
updateTransactionMetrics((TransactionData) data);
168169
}
170+
else if (data instanceof PageLoadTimingData)
171+
{
172+
updatePageLoadTimingMetrics((PageLoadTimingData) data);
173+
}
169174
else if (data instanceof CustomData)
170175
{
171176
updateCustomTimerMetrics((CustomData) data);
@@ -239,6 +244,23 @@ private void updateRequestMetrics(final RequestData requestData)
239244
updateRateMetric(summaryMetricPrefix + "bytesReceived_1s", requestData.getBytesReceived(), ONE_SEC, reportingInterval);
240245
}
241246

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+
242264
private void updateCustomTimerMetrics(final CustomData customData)
243265
{
244266
// metrics per custom timer name

src/main/java/com/xceptance/xlt/gce/GceAdminUtils.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ class GceAdminUtils
6565
FRIENDLY_REGION_NAMES.put("asia-northeast3", "Asia Pacific - Seoul ");
6666
FRIENDLY_REGION_NAMES.put("asia-south1", "Asia Pacific - Mumbai ");
6767
FRIENDLY_REGION_NAMES.put("asia-southeast1", "Asia Pacific - Singapore ");
68+
FRIENDLY_REGION_NAMES.put("asia-southeast2", "Asia Pacific - Jakarta ");
6869
FRIENDLY_REGION_NAMES.put("australia-southeast1", "Asia Pacific - Sydney ");
6970
FRIENDLY_REGION_NAMES.put("europe-north1", "Europe - Finland ");
7071
FRIENDLY_REGION_NAMES.put("europe-west1", "Europe - Belgium ");

0 commit comments

Comments
 (0)