8 releases (4 breaking)

0.5.1 Nov 9, 2022
0.5.0 Nov 8, 2022
0.4.0 Nov 6, 2022
0.3.0 Nov 4, 2022
0.1.1 Dec 7, 2021

#749 in Network programming

Download history 67/week @ 2024-02-22 122/week @ 2024-02-29

189 downloads per month

MIT/Apache

23KB
419 lines

replayman

Log agent to replay time-stamped log stream.

Getting started

Installation

cargo install replayman

Prepare for your data

TSV with a header line is supported.

curl -O https://raw.githubusercontent.com/SpringQL/dataset/main/pseudo-in-vehicle/AirConditioner-30sec.tsv

Usage

stdout

$ replayman \
  --timed-by Time \
  --initial-timestamp '2020-10-21T10:37:56.000+09:00' \
  AirConditioner-30sec.tsv

TCP socket

nc -l 19870
$ replayman \
  --timed-by Time \
  --initial-timestamp '2020-10-21T10:37:56.000+09:00' \
  --dest-tcp '127.0.0.1:19870' \
  AirConditioner-30sec.tsv

MQTT

Using mosquitto here for example.

mosquitto_sub -h 127.0.0.1 -t replayman/test
$ replayman \
  --timed-by Time \
  --initial-timestamp '2020-10-21T10:37:56.000+09:00' \
  --dest-mqtt '127.0.0.1:1883' \
  --dest-mqtt-topic 'replayman/test' \
  AirConditioner-30sec.tsv

Kafka

# create `replayman-test` topic
kafka-topics --create --bootstrap-server localhost:9092 --topic replayman-test --replication-factor 1 --partitions 1
# subscribe to `replayman-test` topic
kafka-console-consumer --bootstrap-server localhost:9092 --topic replayman-test --from-beginning
$ replayman \
  --timed-by Time \
  --initial-timestamp '2020-10-21T10:37:56.000+09:00' \
  --dest-kafka-bootstrap '127.0.0.1:9092' \
  --dest-kafka-topic 'replayman-test' \
  AirConditioner-30sec.tsv

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in replayman by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Copyright (c) 2021-2022 TOYOTA MOTOR CORPORATION.

Dependencies

~19–32MB
~437K SLoC