Skip to content

Commit

Permalink
Java metrics 学习
Browse files Browse the repository at this point in the history
  • Loading branch information
qinfuxiang committed Dec 2, 2021
1 parent ea9f6c7 commit 2ccf5f7
Show file tree
Hide file tree
Showing 16 changed files with 130 additions and 16 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fast.cloud.nacos.metrics;
package fast.cloud.nacos.metrics.metric;

import com.codahale.metrics.CachedGauge;
import com.codahale.metrics.ConsoleReporter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fast.cloud.nacos.metrics;
package fast.cloud.nacos.metrics.metric;

import com.codahale.metrics.ConsoleReporter;
import com.codahale.metrics.Counter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fast.cloud.nacos.metrics;
package fast.cloud.nacos.metrics.metric;

import com.codahale.metrics.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fast.cloud.nacos.metrics;
package fast.cloud.nacos.metrics.metric;

import com.codahale.metrics.ConsoleReporter;
import com.codahale.metrics.Histogram;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fast.cloud.nacos.metrics;
package fast.cloud.nacos.metrics.metric;

import com.codahale.metrics.ConsoleReporter;
import com.codahale.metrics.JmxAttributeGauge;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fast.cloud.nacos.metrics;
package fast.cloud.nacos.metrics.metric;

import com.codahale.metrics.ConsoleReporter;
import com.codahale.metrics.Meter;
Expand Down Expand Up @@ -38,7 +38,4 @@ private static void upload(byte[] bytes) {
requestMeter.mark();
sizeMeter.mark(bytes.length);
}



}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fast.cloud.nacos.metrics;
package fast.cloud.nacos.metrics.metric;

import com.codahale.metrics.ConsoleReporter;
import com.codahale.metrics.Meter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fast.cloud.nacos.metrics;
package fast.cloud.nacos.metrics.metric;

import com.codahale.metrics.ConsoleReporter;
import com.codahale.metrics.Gauge;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fast.cloud.nacos.metrics;
package fast.cloud.nacos.metrics.metric;

import com.codahale.metrics.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fast.cloud.nacos.metrics;
package fast.cloud.nacos.metrics.metric;

import com.codahale.metrics.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package fast.cloud.nacos.metrics.metric;

import com.codahale.metrics.ConsoleReporter;
import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.Timer;

import java.util.Random;
import java.util.concurrent.TimeUnit;

public class TimerTest {

public static Random random = new Random();

public static void main(String[] args) throws InterruptedException {
MetricRegistry registry = new MetricRegistry();
ConsoleReporter reporter = ConsoleReporter.forRegistry(registry).build();
reporter.start(1, TimeUnit.SECONDS);

Timer timer = registry.timer(MetricRegistry.name(TimerTest.class,"get-latency"));

Timer.Context ctx;

while(true){
ctx = timer.time();
Thread.sleep(random.nextInt(1000));
ctx.stop();
}

}

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fast.cloud.nacos.metrics;
package fast.cloud.nacos.metrics.metric;

import com.codahale.metrics.ConsoleReporter;
import com.codahale.metrics.Histogram;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package fast.cloud.nacos.metrics.reporter;

import com.codahale.metrics.ConsoleReporter;
import com.codahale.metrics.Histogram;
import com.codahale.metrics.MetricRegistry;

import java.util.concurrent.TimeUnit;

import static java.util.concurrent.ThreadLocalRandom.current;

public class ConsoleReporterExample {
private static final MetricRegistry registry = new MetricRegistry();

private static final ConsoleReporter reporter = ConsoleReporter.forRegistry(registry)
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.SECONDS).build();

private static final Histogram histogram = registry.histogram("search-result");

public static void main(String[] args) {
reporter.start(10,TimeUnit.SECONDS);

while (true) {
doSearch();
randomSleep();
}
}

private static void doSearch() {
histogram.update(current().nextInt(10));
}


private static void randomSleep() {
try {
TimeUnit.SECONDS.sleep(current().nextInt(500));
} catch (InterruptedException e) {
e.printStackTrace();
}
}

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fast.cloud.nacos.metrics;
package fast.cloud.nacos.metrics.reporter;

import com.codahale.metrics.CsvReporter;
import com.codahale.metrics.Histogram;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fast.cloud.nacos.metrics;
package fast.cloud.nacos.metrics.reporter;

import com.codahale.metrics.Histogram;
import com.codahale.metrics.JmxReporter;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package fast.cloud.nacos.metrics.reporter;

import com.codahale.metrics.Histogram;
import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.Slf4jReporter;
import org.slf4j.LoggerFactory;

import java.util.concurrent.TimeUnit;

import static java.util.concurrent.ThreadLocalRandom.current;

public class SLF4jReporterExample {
private static final MetricRegistry registry = new MetricRegistry();

private static final Slf4jReporter reporter = Slf4jReporter.forRegistry(registry)
.outputTo(LoggerFactory.getLogger(SLF4jReporterExample.class))
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.SECONDS).build();

private static final Histogram histogram = registry.histogram("search-result");

public static void main(String[] args) {
reporter.start(10,TimeUnit.SECONDS);

while (true) {
doSearch();
randomSleep();
}
}

private static void doSearch() {
histogram.update(current().nextInt(10));
}


private static void randomSleep() {
try {
TimeUnit.SECONDS.sleep(current().nextInt(500));
} catch (InterruptedException e) {
e.printStackTrace();
}
}

}

0 comments on commit 2ccf5f7

Please sign in to comment.