You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+16-5Lines changed: 16 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,7 @@ Thank you for your interest in contributing to uGroup! This document explains ho
19
19
20
20
-**Tests required**: All new functionality must include automated tests. Bug fixes should include a test that reproduces the issue.
21
21
-**Build must pass**: Run `./gradlew build` before submitting. This runs unit tests, integration tests, static analysis, and coverage checks.
22
+
-**Formatting**: Run `./gradlew spotlessApply` before submitting. CI runs `spotlessCheck` as part of `build` and will fail on unformatted code.
22
23
-**Code coverage**: The project enforces a minimum coverage threshold via JaCoCo. New code should maintain or improve coverage.
23
24
-**No broken windows**: Fix any static analysis warnings introduced by your changes.
24
25
@@ -33,6 +34,15 @@ Thank you for your interest in contributing to uGroup! This document explains ho
33
34
34
35
# Run integration tests (requires Docker)
35
36
./gradlew integrationTest
37
+
38
+
# Apply Google Java Format
39
+
./gradlew spotlessApply
40
+
```
41
+
42
+
The repo includes a `.git-blame-ignore-revs` file that hides the one-shot Spotless reformat commit from `git blame`. GitHub honors it automatically; for local `git blame`, run once:
Copy file name to clipboardExpand all lines: README.md
+54-2Lines changed: 54 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,10 +18,10 @@ uGroup monitors Kafka consumer groups by reading the `__consumer_offsets` topic
18
18
19
19
```bash
20
20
cd docker
21
-
docker-compose up -d
21
+
dockercompose up -d
22
22
```
23
23
24
-
This starts Kafka, Zookeeper, and uGroup. Access the API at `http://localhost:8080`.
24
+
This starts Kafka, Zookeeper, and uGroup. Point uGroup at any consumer group running against the same broker and lag will appear at `http://localhost:8080`.
25
25
26
26
### Using Gradle
27
27
@@ -33,6 +33,58 @@ This starts Kafka, Zookeeper, and uGroup. Access the API at `http://localhost:80
uGroup exposes metrics at `/actuator/prometheus`. Example PromQL for the worst-lagging group in each cluster:
54
+
55
+
```promql
56
+
max by (cluster, group) (ugroup_consumer_lag)
57
+
```
58
+
59
+
See the [Metrics wiki page](https://github.com/uber/uGroup/wiki/Metrics) for the full metric and label reference.
60
+
61
+
## Common scenarios
62
+
63
+
uGroup decides which groups to monitor via `UGROUP_WATCHLIST_MODE`. Pick the mode that fits your use case and see the linked wiki page for the YAML/regex details.
64
+
65
+
**Monitor every consumer group in the cluster** — zero config, useful for ops dashboards:
66
+
67
+
```bash
68
+
UGROUP_WATCHLIST_MODE=all ./gradlew bootRun
69
+
```
70
+
71
+
**Monitor a curated list** — declare the exact groups + topics you care about in a YAML file (see [`watchlist-sample.yaml`](src/main/resources/watchlist-sample.yaml) and the [Watchlist wiki page](https://github.com/uber/uGroup/wiki/Watchlist-Configuration)):
**Monitor by regex with a blocklist** — useful when group names follow a naming convention but a few should be excluded (see the [Blocklist wiki page](https://github.com/uber/uGroup/wiki/Blocklist-Configuration)):
0 commit comments