Search in sources :

Example 11 with HttpRequest

use of java.net.http.HttpRequest in project jena by apache.

the class TestMetrics method can_retrieve_metrics.

@Test
public void can_retrieve_metrics() {
    String r = urlRoot() + "$/metrics";
    HttpRequest request = HttpRequest.newBuilder().uri(HttpLib.toRequestURI(r)).build();
    HttpResponse<InputStream> response = HttpLib.executeJDK(HttpEnv.getDftHttpClient(), request, BodyHandlers.ofInputStream());
    String body = handleResponseRtnString(response);
    String ct = response.headers().firstValue(HttpNames.hContentType).orElse(null);
    assertTrue(ct.contains(WebContent.contentTypeTextPlain));
    assertTrue(ct.contains(WebContent.charsetUTF8));
    assertTrue(body.contains("fuseki_requests_good"));
}
Also used : HttpRequest(java.net.http.HttpRequest) InputStream(java.io.InputStream) HttpLib.handleResponseRtnString(org.apache.jena.http.HttpLib.handleResponseRtnString) Test(org.junit.Test)

Example 12 with HttpRequest

use of java.net.http.HttpRequest in project pravega by pravega.

the class ControllerPrometheusTest method testPrometheusMetrics.

@Test
public void testPrometheusMetrics() throws Exception {
    MetricsProvider.initialize(MetricsConfig.builder().with(MetricsConfig.ENABLE_STATISTICS, true).with(MetricsConfig.ENABLE_PROMETHEUS, true).with(MetricsConfig.METRICS_PREFIX, "promtestcontroller").build());
    @Cleanup StatsProvider statsProvider = MetricsProvider.getMetricsProvider();
    statsProvider.start();
    @Cleanup ControllerServiceStarter starter = new ControllerServiceStarter(createControllerServiceConfig(), storeClient, null);
    starter.startAsync();
    starter.awaitRunning();
    Counter c = statsProvider.createStatsLogger("promtest").createCounter("promtestcounter");
    c.add(1);
    HttpClient client = HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(5)).build();
    HttpRequest request = HttpRequest.newBuilder().uri(URI.create("http://localhost:" + this.restPort + "/prometheus")).build();
    HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
    assertTrue(response.body().lines().anyMatch(x -> Pattern.matches("promtestcounter.*1\\.0", x)));
    starter.stopAsync();
    starter.awaitTerminated();
}
Also used : HttpRequest(java.net.http.HttpRequest) StoreClientConfig(io.pravega.controller.store.client.StoreClientConfig) RunWith(org.junit.runner.RunWith) Cleanup(lombok.Cleanup) GRPCServerConfigImpl(io.pravega.controller.server.rpc.grpc.impl.GRPCServerConfigImpl) StoreClient(io.pravega.controller.store.client.StoreClient) TimeoutServiceConfig(io.pravega.controller.timeout.TimeoutServiceConfig) HttpRequest(java.net.http.HttpRequest) RESTServerConfigImpl(io.pravega.shared.rest.impl.RESTServerConfigImpl) ControllerServiceConfigImpl(io.pravega.controller.server.impl.ControllerServiceConfigImpl) StoreClientConfigImpl(io.pravega.controller.store.client.impl.StoreClientConfigImpl) HostMonitorConfig(io.pravega.controller.store.host.HostMonitorConfig) Duration(java.time.Duration) Timeout(org.junit.rules.Timeout) HttpClient(java.net.http.HttpClient) URI(java.net.URI) HostMonitorConfigImpl(io.pravega.controller.store.host.impl.HostMonitorConfigImpl) HttpResponse(java.net.http.HttpResponse) StoreClientFactory(io.pravega.controller.store.client.StoreClientFactory) SerializedClassRunner(io.pravega.test.common.SerializedClassRunner) Assert.assertTrue(org.junit.Assert.assertTrue) StatsProvider(io.pravega.shared.metrics.StatsProvider) Test(org.junit.Test) TimeUnit(java.util.concurrent.TimeUnit) MetricsProvider(io.pravega.shared.metrics.MetricsProvider) Slf4j(lombok.extern.slf4j.Slf4j) Rule(org.junit.Rule) Config(io.pravega.controller.util.Config) Counter(io.pravega.shared.metrics.Counter) MetricsConfig(io.pravega.shared.metrics.MetricsConfig) Optional(java.util.Optional) TestUtils(io.pravega.test.common.TestUtils) Pattern(java.util.regex.Pattern) Counter(io.pravega.shared.metrics.Counter) StatsProvider(io.pravega.shared.metrics.StatsProvider) HttpClient(java.net.http.HttpClient) Cleanup(lombok.Cleanup) Test(org.junit.Test)

Example 13 with HttpRequest

use of java.net.http.HttpRequest in project pravega by pravega.

the class PrometheusTest method testPrometheusMetrics.

@Test
public void testPrometheusMetrics() throws Exception {
    @Cleanup StatsProvider statsProvider = MetricsProvider.getMetricsProvider();
    statsProvider.start();
    Counter c = statsProvider.createStatsLogger("promtest").createCounter("promtestcounter");
    c.add(1);
    HttpClient client = HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(5)).build();
    HttpRequest request = HttpRequest.newBuilder().uri(URI.create("http://localhost:" + this.restPort + "/prometheus")).build();
    HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
    assertTrue(response.body().lines().anyMatch(x -> Pattern.matches("promtestcounter.*1\\.0", x)));
}
Also used : HttpRequest(java.net.http.HttpRequest) SerializedClassRunner(io.pravega.test.common.SerializedClassRunner) RunWith(org.junit.runner.RunWith) ServiceConfig(io.pravega.segmentstore.server.store.ServiceConfig) Cleanup(lombok.Cleanup) Assert.assertTrue(org.junit.Assert.assertTrue) StatsProvider(io.pravega.shared.metrics.StatsProvider) Test(org.junit.Test) ServiceBuilderConfig(io.pravega.segmentstore.server.store.ServiceBuilderConfig) HttpRequest(java.net.http.HttpRequest) MetricsProvider(io.pravega.shared.metrics.MetricsProvider) Counter(io.pravega.shared.metrics.Counter) TestingServerStarter(io.pravega.test.common.TestingServerStarter) After(org.junit.After) Duration(java.time.Duration) TestingServer(org.apache.curator.test.TestingServer) MetricsConfig(io.pravega.shared.metrics.MetricsConfig) HttpClient(java.net.http.HttpClient) TestUtils(io.pravega.test.common.TestUtils) URI(java.net.URI) Pattern(java.util.regex.Pattern) Before(org.junit.Before) HttpResponse(java.net.http.HttpResponse) Counter(io.pravega.shared.metrics.Counter) StatsProvider(io.pravega.shared.metrics.StatsProvider) HttpClient(java.net.http.HttpClient) Cleanup(lombok.Cleanup) Test(org.junit.Test)

Example 14 with HttpRequest

use of java.net.http.HttpRequest in project pravega by pravega.

the class PrometheusResourceTest method testScrape.

@Test
public void testScrape() throws Exception {
    MetricsConfig appConfig = MetricsConfig.builder().with(MetricsConfig.ENABLE_STATISTICS, true).with(MetricsConfig.ENABLE_PROMETHEUS, true).build();
    @Cleanup CompositeMeterRegistry localRegistry = new CompositeMeterRegistry();
    @Cleanup StatsProvider statsProvider = new StatsProviderImpl(appConfig, localRegistry);
    statsProvider.start();
    for (MeterRegistry registry : localRegistry.getRegistries()) {
        assertTrue(registry instanceof PrometheusMeterRegistry);
    }
    assertTrue(statsProvider.prometheusResource().isPresent());
    ResourceConfig rc = ResourceConfig.forApplication(new PrometheusApplication(statsProvider));
    URI baseUri = UriBuilder.fromUri("http://localhost/").port(TestUtils.getAvailableListenPort()).build();
    @Cleanup("shutdown") HttpServer server = GrizzlyHttpServerFactory.createHttpServer(baseUri, rc);
    Counter c = statsProvider.createStatsLogger("promtest").createCounter("promtestcounter");
    c.add(1);
    HttpClient client = HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(5)).build();
    HttpRequest request = HttpRequest.newBuilder().uri(URI.create(baseUri + "prometheus")).build();
    HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
    assertTrue(response.body().lines().anyMatch(x -> Pattern.matches("promtestcounter.*1\\.0", x)));
    server.shutdown();
}
Also used : CompositeMeterRegistry(io.micrometer.core.instrument.composite.CompositeMeterRegistry) PrometheusMeterRegistry(io.micrometer.prometheus.PrometheusMeterRegistry) HttpRequest(java.net.http.HttpRequest) ImmutableSet(com.google.common.collect.ImmutableSet) CompositeMeterRegistry(io.micrometer.core.instrument.composite.CompositeMeterRegistry) SerializedClassRunner(io.pravega.test.common.SerializedClassRunner) RunWith(org.junit.runner.RunWith) Cleanup(lombok.Cleanup) Set(java.util.Set) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) Application(javax.ws.rs.core.Application) HttpRequest(java.net.http.HttpRequest) Slf4j(lombok.extern.slf4j.Slf4j) MeterRegistry(io.micrometer.core.instrument.MeterRegistry) Assert.assertFalse(org.junit.Assert.assertFalse) PrometheusMeterRegistry(io.micrometer.prometheus.PrometheusMeterRegistry) Duration(java.time.Duration) ResourceConfig(org.glassfish.jersey.server.ResourceConfig) GrizzlyHttpServerFactory(org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory) HttpServer(org.glassfish.grizzly.http.server.HttpServer) UriBuilder(javax.ws.rs.core.UriBuilder) HttpClient(java.net.http.HttpClient) TestUtils(io.pravega.test.common.TestUtils) URI(java.net.URI) Pattern(java.util.regex.Pattern) HttpResponse(java.net.http.HttpResponse) Cleanup(lombok.Cleanup) URI(java.net.URI) CompositeMeterRegistry(io.micrometer.core.instrument.composite.CompositeMeterRegistry) MeterRegistry(io.micrometer.core.instrument.MeterRegistry) PrometheusMeterRegistry(io.micrometer.prometheus.PrometheusMeterRegistry) HttpClient(java.net.http.HttpClient) HttpServer(org.glassfish.grizzly.http.server.HttpServer) ResourceConfig(org.glassfish.jersey.server.ResourceConfig) Test(org.junit.Test)

Example 15 with HttpRequest

use of java.net.http.HttpRequest in project alf.io by alfio-event.

the class FileDownloadManager method downloadFile.

public DownloadedFile downloadFile(String url) {
    HttpRequest httpRequest = HttpRequest.newBuilder(URI.create(url)).GET().build();
    HttpResponse<byte[]> response = null;
    try {
        response = httpClient.send(httpRequest, HttpResponse.BodyHandlers.ofByteArray());
    } catch (IOException exception) {
        logWarning(exception);
        return null;
    } catch (InterruptedException exception) {
        Thread.currentThread().interrupt();
        logWarning(exception);
        return null;
    }
    if (callSuccessful(response)) {
        String[] parts = Pattern.compile("/").split(url);
        String name = parts[parts.length - 1];
        if (Objects.nonNull(response.body()) && response.body().length <= FileUploadManager.MAXIMUM_ALLOWED_SIZE) {
            return new DownloadedFile(response.body(), name, response.headers().firstValue("Content-Type").orElse("application/octet-stream"));
        } else {
            return null;
        }
    } else {
        log.warn("downloading file not successful:" + response);
        return null;
    }
}
Also used : HttpRequest(java.net.http.HttpRequest) IOException(java.io.IOException)

Aggregations

HttpRequest (java.net.http.HttpRequest)38 InputStream (java.io.InputStream)15 HttpClient (java.net.http.HttpClient)10 TypedInputStream (org.apache.jena.atlas.web.TypedInputStream)10 URI (java.net.URI)9 IOException (java.io.IOException)7 HttpResponse (java.net.http.HttpResponse)7 Duration (java.time.Duration)6 Test (org.junit.Test)5 HttpException (org.apache.jena.atlas.web.HttpException)4 SerializedClassRunner (io.pravega.test.common.SerializedClassRunner)3 TestUtils (io.pravega.test.common.TestUtils)3 URISyntaxException (java.net.URISyntaxException)3 Pattern (java.util.regex.Pattern)3 Cleanup (lombok.Cleanup)3 Assert.assertTrue (org.junit.Assert.assertTrue)3 RunWith (org.junit.runner.RunWith)3 JsonParser (com.google.gson.JsonParser)2 Counter (io.pravega.shared.metrics.Counter)2 MetricsConfig (io.pravega.shared.metrics.MetricsConfig)2