Skip to content

Commit 62f5810

Browse files
committed
review comments
1 parent 25e60b5 commit 62f5810

File tree

5 files changed

+34
-7
lines changed

5 files changed

+34
-7
lines changed

README.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ Also allows replaying data in a topic.
77

88
# Usage
99

10-
To run the latest version, use `uvx saluki <args>`.
10+
To run the latest version, install [uv](https://docs.astral.sh/uv/getting-started/installation/) and use `uvx saluki <args>`.
11+
12+
alternatively you can `pip install saluki` and run it from a `venv`.
1113

1214
See `saluki --help` for all options.
1315

@@ -28,6 +30,25 @@ You can also filter out messages to specific schema(s) with the `-f` flag, like
2830
## `sniff` - List all topics and their high, low watermarks and number of messages
2931
`saluki sniff mybroker:9092`
3032

33+
Output looks as follows:
34+
35+
```
36+
$ saluki sniff mybroker:9092
37+
38+
INFO:saluki:Cluster ID: redpanda.0faa4595-7298-407e-9db7-7e2758d1af1f
39+
INFO:saluki:Brokers:
40+
INFO:saluki: 192.168.0.111:9092/1
41+
INFO:saluki: 192.168.0.112:9092/2
42+
INFO:saluki: 192.168.0.113:9092/0
43+
INFO:saluki:Topics:
44+
INFO:saluki: MERLIN_events:
45+
INFO:saluki: 0 - low:262322729, high:302663378, num_messages:40340649
46+
INFO:saluki: MERLIN_runInfo:
47+
INFO:saluki: 0 - low:335, high:2516, num_messages:2181
48+
INFO:saluki: MERLIN_monitorHistograms:
49+
INFO:saluki: 0 - low:7515, high:7551, num_messages:36
50+
```
51+
3152
## `play` - Replay data from one topic to another
3253

3354
### Between offsets

src/saluki/consume.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
import uuid
23

34
from confluent_kafka import Consumer, TopicPartition
45

@@ -31,7 +32,7 @@ def consume(
3132
c = Consumer(
3233
{
3334
"bootstrap.servers": broker,
34-
"group.id": "saluki-consume",
35+
"group.id": f"saluki-consume-{uuid.uuid4()}",
3536
"session.timeout.ms": 6000,
3637
"auto.offset.reset": "latest",
3738
"enable.auto.offset.store": False,

src/saluki/listen.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
import uuid
23

34
from confluent_kafka import Consumer, TopicPartition
45

@@ -24,7 +25,7 @@ def listen(
2425
c = Consumer(
2526
{
2627
"bootstrap.servers": broker,
27-
"group.id": "saluki-listen",
28+
"group.id": f"saluki-listen-{uuid.uuid4()}",
2829
"auto.offset.reset": "latest",
2930
"enable.auto.commit": False,
3031
}

src/saluki/play.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
import uuid
23

34
from confluent_kafka import Consumer, Producer, TopicPartition
45

@@ -28,7 +29,7 @@ def play(
2829
consumer = Consumer(
2930
{
3031
"bootstrap.servers": src_broker,
31-
"group.id": "saluki-play",
32+
"group.id": f"saluki-play-{uuid.uuid4()}",
3233
}
3334
)
3435
producer = Producer(
@@ -57,7 +58,8 @@ def play(
5758

5859
try:
5960
msgs = consumer.consume(num_messages)
60-
[producer.produce(dest_topic, message.value(), message.key()) for message in msgs]
61+
for message in msgs:
62+
producer.produce(dest_topic, message.value(), message.key())
6163
producer.flush()
6264
except Exception:
6365
logger.exception("Got exception while replaying:")

src/saluki/sniff.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
import uuid
23

34
from confluent_kafka import Consumer, TopicPartition
45
from confluent_kafka.admin import AdminClient
@@ -12,11 +13,12 @@ def sniff(broker: str) -> None:
1213
:param broker: The broker address including port number.
1314
"""
1415
a = AdminClient({"bootstrap.servers": broker})
15-
c = Consumer({"bootstrap.servers": broker, "group.id": "saluki-sniff"})
16+
c = Consumer({"bootstrap.servers": broker, "group.id": f"saluki-sniff-{uuid.uuid4()}"})
1617
t = a.list_topics(timeout=5)
1718
logger.info(f"Cluster ID: {t.cluster_id}")
1819
logger.info("Brokers:")
19-
[logger.info(f"\t{value}") for value in t.brokers.values()]
20+
for value in t.brokers.values():
21+
logger.info(f"\t{value}")
2022

2123
logger.info("Topics:")
2224

0 commit comments

Comments
 (0)