Skip to content

Commit 8b87c8f

Browse files
committed
jetty sessions
1 parent bac90ea commit 8b87c8f

File tree

2 files changed

+75
-0
lines changed

2 files changed

+75
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.contrib.jmxscraper.target_systems;
7+
8+
import static io.opentelemetry.contrib.jmxscraper.target_systems.MetricAssertions.assertSumWithAttributes;
9+
10+
import io.opentelemetry.contrib.jmxscraper.JmxScraperContainer;
11+
import java.time.Duration;
12+
import org.testcontainers.containers.GenericContainer;
13+
import org.testcontainers.containers.wait.strategy.Wait;
14+
import org.testcontainers.images.builder.ImageFromDockerfile;
15+
16+
public class JettyIntegrationTest extends TargetSystemIntegrationTest {
17+
18+
@Override
19+
protected GenericContainer<?> createTargetContainer(int jmxPort) {
20+
GenericContainer<?> container =
21+
new GenericContainer<>(
22+
new ImageFromDockerfile()
23+
.withDockerfileFromBuilder(
24+
builder ->
25+
builder
26+
.from("jetty:11")
27+
.run(
28+
"java",
29+
"-jar",
30+
"/usr/local/jetty/start.jar",
31+
"--add-to-startd=jmx,stats,http")
32+
.run("mkdir -p /var/lib/jetty/webapps/ROOT/")
33+
.run("touch /var/lib/jetty/webapps/ROOT/index.html")
34+
.build()));
35+
36+
container
37+
.withEnv("JAVA_OPTIONS", genericJmxJvmArguments(jmxPort))
38+
.withEnv("LOCAL_JMX", "no")
39+
.withStartupTimeout(Duration.ofMinutes(2))
40+
.waitingFor(Wait.forLogMessage(".*Started Server.*", 1));
41+
42+
return container;
43+
}
44+
45+
@Override
46+
protected JmxScraperContainer customizeScraperContainer(JmxScraperContainer scraper) {
47+
return scraper.withTargetSystem("jetty");
48+
}
49+
50+
@Override
51+
protected void verifyMetrics() {
52+
waitAndAssertMetrics(
53+
metric ->
54+
assertSumWithAttributes(
55+
metric,
56+
"jetty.session.count",
57+
"The number of sessions established in total.",
58+
"{sessions}",
59+
attrs -> attrs.containsKey("resource")));
60+
}
61+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
3+
rules:
4+
5+
- bean: org.eclipse.jetty.server.session:context=*,type=sessionhandler,id=*
6+
prefix: jetty.session.
7+
metricAttribute:
8+
resource: param(context)
9+
mapping:
10+
sessionsCreated:
11+
metric: count
12+
type: counter
13+
unit: "{sessions}"
14+
desc: The number of sessions established in total.

0 commit comments

Comments
 (0)