Skip to content

Commit 6656afe

Browse files
committed
Update README
1 parent 050c8a1 commit 6656afe

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

README.md

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
1-
# avaje-metric-core
1+
# avaje-metrics
22

33
Please read the main documentation at: http://avaje-metrics.github.io
44

5+
- Provides Timer, Counter, Gauge based metrics
6+
- Built in standard metrics for JVM and CGroup/K8s
7+
- Much lighter weight relative to the other metrics libraries we compare ourselves to
8+
- Intentionally does NOT use Histograms and instead uses lighter weight Timer providing count, total, max, mean
9+
- Intentionally does NOT provide Exponentially weighted moving averages (as they are too laggy)
10+
511
## Maven dependency
612

713
```xml
814
<dependency>
9-
<groupId>org.avaje.metric</groupId>
10-
<artifactId>avaje-metric-core</artifactId>
11-
<version>4.4.1</version>
15+
<groupId>io.avaje</groupId>
16+
<artifactId>avaje-metrics</artifactId>
17+
<version>9.1</version>
1218
</dependency>
1319
```
1420

@@ -21,8 +27,8 @@ Micro benchmarks are notoriously difficult but that said the overhead using vers
2127

2228
Request timing would not add much more to execution time per say but relatively speaking can produce a lot of output (that is reported in a background thread) and creates objects so adds some extra GC cost. In production you would expect to limit the number of metrics you collect on and limit the number of request timings you collect.
2329

24-
## Example Metrics output (typically reported every 60 seconds)
25-
Below is a sample of the metric log output. The metrics are periodically collected
30+
## Example Metrics output (typically reported every 60 seconds)
31+
Below is a sample of the metric log output. The metrics are periodically collected
2632
and output to a file or sent to a repository.
2733

2834
```console
@@ -49,11 +55,11 @@ and output to a file or sent to a repository.
4955
14:01:00, tm, org.example.myapp.web.api.MetricResource.collecting, count=1, avg=382, max=382, sum=382, dur=10, err.count=0
5056
```
5157

52-
## Example Per Request output
58+
## Example Per Request output
5359

5460
> Per Request timing is a little bit more expensive to collect and can produce a lot of output. As such it is expected that you only turn it on when needed. For example, for the next 5 invocations of CustomerResource.asBean() collect per request timings.
5561
56-
Per request timing can be set for specific timing metrics - for example, collect per request timing on the next 5 invocations of the CustomerResource.asBean() method.
62+
Per request timing can be set for specific timing metrics - for example, collect per request timing on the next 5 invocations of the CustomerResource.asBean() method.
5763

5864
Per request timing output shows the nested calls and where the time went for that single request. The p column shows the percentage of total execution - for example 81% of execution time was taken in Muse.iDoTheRealWorkAroundHere. Typically in looking at this output you ignore/remove/collapse anything that has percentage of 0.
5965

@@ -74,6 +80,6 @@ The columns are: d=depth, p=percentage, ms=milliseconds, us=microseconds, m=metr
7480
d:5 p:81 ms:500 us:500108 m:org.example.myapp.service.Muse.iDoTheRealWorkAroundHere
7581
d:5 p:0 ms:0 us:11 m:org.example.myapp.service.Muse.notParticularlyResistant
7682
```
77-
CustomerResource.asBean took 612 milliseconds to execute. If you look at Muse.iDoTheRealWorkAroundHere it took 81% of the total execution time (500 milliseconds, 500204 microseconds).
83+
CustomerResource.asBean took 612 milliseconds to execute. If you look at Muse.iDoTheRealWorkAroundHere it took 81% of the total execution time (500 milliseconds, 500204 microseconds).
7884

7985

0 commit comments

Comments
 (0)