This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class JschExec { | |
private static String runCommand(Session session, String command, String... input) throws JSchException, IOException { | |
ChannelExec channel = (ChannelExec) session.openChannel("exec"); | |
try { | |
channel.setCommand(command); | |
logger.debug("running command: {}", command); | |
final InputStream in = channel.getInputStream(); | |
final InputStream errStream = channel.getErrStream(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.lang.reflect.InvocationHandler; | |
import java.lang.reflect.Proxy; | |
import io.github.resilience4j.retry.Retry; | |
public final class WebserviceFactory{ | |
static <T> T decorateWithRetryer(final T service, Retry retry) { | |
InvocationHandler invocationHandler = (proxy, method, args) -> retry.executeCheckedSupplier(() -> method.invoke(service, args)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Timed | |
@Metered | |
@ExceptionMetered | |
interface GitHub { | |
@RequestLine("GET /repos/{owner}/{repo}/contributors") | |
List<Contributor> contributors(@Param("owner") String owner, @Param("repo") String repo); | |
} | |
static class Contributor { | |
String login; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Path("/example") | |
@Produces(MediaType.TEXT_PLAIN) | |
public class ExampleResource { | |
@GET | |
@Timed | |
@Metered | |
@ExceptionMetered | |
public String show() { | |
return "yay"; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Gauges ---------------------------------------------------------------------- | |
org.apache.http.conn.HttpClientConnectionManager.available-connections | |
value = 1 | |
org.apache.http.conn.HttpClientConnectionManager.leased-connections | |
value = 0 | |
org.apache.http.conn.HttpClientConnectionManager.max-connections | |
value = 20 | |
org.apache.http.conn.HttpClientConnectionManager.pending-connections | |
value = 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Gauges ---------------------------------------------------------------------- | |
okhttp3.OkHttpClient.connection-pool-idle-count | |
value = 1 | |
okhttp3.OkHttpClient.connection-pool-total-count | |
value = 1 | |
-- Counters -------------------------------------------------------------------- | |
okhttp3.OkHttpClient.network-requests-running | |
count = 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
MetricRegistry metricRegistry = new MetricRegistry(); | |
final ConsoleReporter reporter = ConsoleReporter.forRegistry(metricRegistry).convertRatesTo(TimeUnit.SECONDS) | |
.convertDurationsTo(TimeUnit.MILLISECONDS).build(); | |
GitHub github = Feign.builder().invocationHandlerFactory( | |
// instrument feign | |
new FeignOutboundMetricsDecorator(new InvocationHandlerFactory.Default(), metricRegistry)).client( | |
// setting an instrumented httpclient | |
new ApacheHttpClient(InstrumentedHttpClients |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
MetricRegistry metricRegistry = new MetricRegistry(); | |
final ConsoleReporter reporter = ConsoleReporter.forRegistry(metricRegistry).convertRatesTo(TimeUnit.SECONDS) | |
.convertDurationsTo(TimeUnit.MILLISECONDS).build(); | |
GitHub github = Feign.builder().invocationHandlerFactory( | |
// instrumenting feign | |
new FeignOutboundMetricsDecorator(new InvocationHandlerFactory.Default(), metricRegistry)) | |
// instrumenting ok http | |
.client(new OkHttpClient(InstrumentedOkHttpClients.create(metricRegistry))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
scrape_configs: | |
- job_name: 'jaxrs' | |
metrics_path: /prometheusMetrics/ | |
# Override the global default and scrape targets from this job every 5 seconds. | |
scrape_interval: 5s | |
static_configs: | |
- targets: ['www.example.com:80'] | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<dependency> | |
<groupId>io.astefanutti.metrics.cdi</groupId> | |
<artifactId>metrics-cdi</artifactId> | |
<version>1.3.6</version> | |
</dependency> | |
<dependency> | |
<groupId>io.prometheus</groupId> | |
<artifactId>simpleclient</artifactId> | |
<version>0.0.23</version> | |
</dependency> |
NewerOlder