Skip to content

Commit b864634

Browse files
authored
Merge pull request #26 from yuuki/rename-to-tcpulse
refactor: rename project from connperf to tcpulse
2 parents 6adf31c + 7c9f4db commit b864634

File tree

8 files changed

+95
-95
lines changed

8 files changed

+95
-95
lines changed

CHANGELOG.md

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,60 @@
11
# Changelog
22

3-
## [v0.7.1](https://github.com/yuuki/connperf/compare/v0.7.0...v0.7.1) - 2025-06-06
4-
- serve: support to pass addrs in a file as an argument by @yuuki in https://github.com/yuuki/connperf/pull/18
5-
- bump version go by @yuuki in https://github.com/yuuki/connperf/pull/19
3+
## [v0.7.1](https://github.com/yuuki/tcpulse/compare/v0.7.0...v0.7.1) - 2025-06-06
4+
- serve: support to pass addrs in a file as an argument by @yuuki in https://github.com/yuuki/tcpulse/pull/18
5+
- bump version go by @yuuki in https://github.com/yuuki/tcpulse/pull/19
66

7-
## [v0.7.1](https://github.com/yuuki/connperf/compare/v0.7.0...v0.7.1) - 2025-06-06
8-
- serve: support to pass addrs in a file as an argument by @yuuki in https://github.com/yuuki/connperf/pull/18
9-
- bump version go by @yuuki in https://github.com/yuuki/connperf/pull/19
7+
## [v0.7.1](https://github.com/yuuki/tcpulse/compare/v0.7.0...v0.7.1) - 2025-06-06
8+
- serve: support to pass addrs in a file as an argument by @yuuki in https://github.com/yuuki/tcpulse/pull/18
9+
- bump version go by @yuuki in https://github.com/yuuki/tcpulse/pull/19
1010

11-
## [v0.7.1](https://github.com/yuuki/connperf/compare/v0.7.0...v0.7.1) - 2025-06-06
12-
- serve: support to pass addrs in a file as an argument by @yuuki in https://github.com/yuuki/connperf/pull/18
13-
- bump version go by @yuuki in https://github.com/yuuki/connperf/pull/19
11+
## [v0.7.1](https://github.com/yuuki/tcpulse/compare/v0.7.0...v0.7.1) - 2025-06-06
12+
- serve: support to pass addrs in a file as an argument by @yuuki in https://github.com/yuuki/tcpulse/pull/18
13+
- bump version go by @yuuki in https://github.com/yuuki/tcpulse/pull/19
1414

15-
## [v0.7.1](https://github.com/yuuki/connperf/compare/v0.7.0...v0.7.1) - 2025-06-06
16-
- serve: support to pass addrs in a file as an argument by @yuuki in https://github.com/yuuki/connperf/pull/18
17-
- bump version go by @yuuki in https://github.com/yuuki/connperf/pull/19
15+
## [v0.7.1](https://github.com/yuuki/tcpulse/compare/v0.7.0...v0.7.1) - 2025-06-06
16+
- serve: support to pass addrs in a file as an argument by @yuuki in https://github.com/yuuki/tcpulse/pull/18
17+
- bump version go by @yuuki in https://github.com/yuuki/tcpulse/pull/19
1818

19-
## [v0.7.0](https://github.com/yuuki/connperf/compare/v0.6.0...v0.7.0) - 2021-05-31
20-
- serve: set SO_REUSEPORTS by @yuuki in https://github.com/yuuki/connperf/pull/15
21-
- serve: add --protocol flag by @yuuki in https://github.com/yuuki/connperf/pull/16
22-
- connect: support to pass addrs in a file as an argument by @yuuki in https://github.com/yuuki/connperf/pull/17
19+
## [v0.7.0](https://github.com/yuuki/tcpulse/compare/v0.6.0...v0.7.0) - 2021-05-31
20+
- serve: set SO_REUSEPORTS by @yuuki in https://github.com/yuuki/tcpulse/pull/15
21+
- serve: add --protocol flag by @yuuki in https://github.com/yuuki/tcpulse/pull/16
22+
- connect: support to pass addrs in a file as an argument by @yuuki in https://github.com/yuuki/tcpulse/pull/17
2323

24-
## [v0.6.0](https://github.com/yuuki/connperf/compare/v0.5.3...v0.6.0) - 2021-05-25
25-
- serve: support multiple listening ports by @yuuki in https://github.com/yuuki/connperf/pull/14
24+
## [v0.6.0](https://github.com/yuuki/tcpulse/compare/v0.5.3...v0.6.0) - 2021-05-25
25+
- serve: support multiple listening ports by @yuuki in https://github.com/yuuki/tcpulse/pull/14
2626

27-
## [v0.5.3](https://github.com/yuuki/connperf/compare/v0.5.2...v0.5.3) - 2021-05-24
28-
- connect: add --merge-results-each-host flag by @yuuki in https://github.com/yuuki/connperf/pull/13
27+
## [v0.5.3](https://github.com/yuuki/tcpulse/compare/v0.5.2...v0.5.3) - 2021-05-24
28+
- connect: add --merge-results-each-host flag by @yuuki in https://github.com/yuuki/tcpulse/pull/13
2929

30-
## [v0.5.2](https://github.com/yuuki/connperf/compare/v0.5.1...v0.5.2) - 2021-05-24
31-
- avoid connect overflow by @yuuki in https://github.com/yuuki/connperf/pull/11
32-
- connect: fix nil pointer dereference of the 'conn' object by @yuuki in https://github.com/yuuki/connperf/pull/12
30+
## [v0.5.2](https://github.com/yuuki/tcpulse/compare/v0.5.1...v0.5.2) - 2021-05-24
31+
- avoid connect overflow by @yuuki in https://github.com/yuuki/tcpulse/pull/11
32+
- connect: fix nil pointer dereference of the 'conn' object by @yuuki in https://github.com/yuuki/tcpulse/pull/12
3333

34-
## [v0.5.1](https://github.com/yuuki/connperf/compare/v0.5.0...v0.5.1) - 2021-04-19
34+
## [v0.5.1](https://github.com/yuuki/tcpulse/compare/v0.5.0...v0.5.1) - 2021-04-19
3535

36-
## [v0.5.0](https://github.com/yuuki/connperf/compare/v0.4.1...v0.5.0) - 2021-04-19
37-
- use GITHUB_TOKEN instead of PAT in GitHub Action by @yuuki in https://github.com/yuuki/connperf/pull/7
38-
- Use docker actions by @yuuki in https://github.com/yuuki/connperf/pull/8
39-
- connect: add --message-bytes option by @yuuki in https://github.com/yuuki/connperf/pull/9
40-
- Tuning TCP option for ephemeral flavor by @yuuki in https://github.com/yuuki/connperf/pull/10
36+
## [v0.5.0](https://github.com/yuuki/tcpulse/compare/v0.4.1...v0.5.0) - 2021-04-19
37+
- use GITHUB_TOKEN instead of PAT in GitHub Action by @yuuki in https://github.com/yuuki/tcpulse/pull/7
38+
- Use docker actions by @yuuki in https://github.com/yuuki/tcpulse/pull/8
39+
- connect: add --message-bytes option by @yuuki in https://github.com/yuuki/tcpulse/pull/9
40+
- Tuning TCP option for ephemeral flavor by @yuuki in https://github.com/yuuki/tcpulse/pull/10
4141

42-
## [v0.4.1](https://github.com/yuuki/connperf/compare/v0.4.0...v0.4.1) - 2021-03-24
42+
## [v0.4.1](https://github.com/yuuki/tcpulse/compare/v0.4.0...v0.4.1) - 2021-03-24
4343

44-
## [v0.4.0](https://github.com/yuuki/connperf/compare/v0.3.2...v0.4.0) - 2021-03-23
45-
- enable persistent rate by @yuuki in https://github.com/yuuki/connperf/pull/6
44+
## [v0.4.0](https://github.com/yuuki/tcpulse/compare/v0.3.2...v0.4.0) - 2021-03-23
45+
- enable persistent rate by @yuuki in https://github.com/yuuki/tcpulse/pull/6
4646

47-
## [v0.3.2](https://github.com/yuuki/connperf/compare/v0.3.1...v0.3.2) - 2021-03-03
48-
- connect: enable to return network error by @yuuki in https://github.com/yuuki/connperf/pull/5
47+
## [v0.3.2](https://github.com/yuuki/tcpulse/compare/v0.3.1...v0.3.2) - 2021-03-03
48+
- connect: enable to return network error by @yuuki in https://github.com/yuuki/tcpulse/pull/5
4949

50-
## [v0.3.1](https://github.com/yuuki/connperf/compare/v0.3.0...v0.3.1) - 2021-03-03
51-
- use the new ErrClosed error introduced by go 1.16 by @yuuki in https://github.com/yuuki/connperf/pull/4
50+
## [v0.3.1](https://github.com/yuuki/tcpulse/compare/v0.3.0...v0.3.1) - 2021-03-03
51+
- use the new ErrClosed error introduced by go 1.16 by @yuuki in https://github.com/yuuki/tcpulse/pull/4
5252

53-
## [v0.3.0](https://github.com/yuuki/connperf/compare/v0.2.0...v0.3.0) - 2021-02-22
54-
- Bump version Go 1.16 by @yuuki in https://github.com/yuuki/connperf/pull/3
53+
## [v0.3.0](https://github.com/yuuki/tcpulse/compare/v0.2.0...v0.3.0) - 2021-02-22
54+
- Bump version Go 1.16 by @yuuki in https://github.com/yuuki/tcpulse/pull/3
5555

56-
## [v0.2.0](https://github.com/yuuki/connperf/compare/v0.1.0...v0.2.0) - 2021-02-13
57-
- connect: Support multiple addrs by @yuuki in https://github.com/yuuki/connperf/pull/1
58-
- Add --show-only-results by @yuuki in https://github.com/yuuki/connperf/pull/2
56+
## [v0.2.0](https://github.com/yuuki/tcpulse/compare/v0.1.0...v0.2.0) - 2021-02-13
57+
- connect: Support multiple addrs by @yuuki in https://github.com/yuuki/tcpulse/pull/1
58+
- Add --show-only-results by @yuuki in https://github.com/yuuki/tcpulse/pull/2
5959

60-
## [v0.1.0](https://github.com/yuuki/connperf/commits/v0.1.0) - 2021-02-13
60+
## [v0.1.0](https://github.com/yuuki/tcpulse/commits/v0.1.0) - 2021-02-13

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
44

55
## Project Overview
66

7-
connperf is a TCP/UDP connection performance load generator written in Go. It provides two primary modes:
7+
tcpulse is a TCP/UDP connection performance load generator written in Go. It provides two primary modes:
88
- **serve**: Acts as a server accepting TCP/UDP connections and echoing back data
99
- **connect**: Acts as a client generating load against target servers
1010

Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
FROM golang:1.24.4 as builder
22

33
FROM builder as build
4-
WORKDIR /connperf
5-
COPY . /connperf
4+
WORKDIR /tcpulse
5+
COPY . /tcpulse
66
RUN make build CGO_ENABLED=0
77

88
FROM alpine as runtime
9-
COPY --from=build /connperf/connperf ./
10-
ENTRYPOINT ["./connperf"]
9+
COPY --from=build /tcpulse/tcpulse ./
10+
ENTRYPOINT ["./tcpulse"]

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
.PHONY: build test docker/build
22

3-
OUT_BIN := connperf
3+
OUT_BIN := tcpulse
44
GO := $(shell which go)
55
CMD_DOCKER ?= docker
6-
OUT_DOCKER ?= connperf
6+
OUT_DOCKER ?= tcpulse
77

88
all: vet build
99

README.md

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
# connperf
1+
# tcpulse
22

3-
[![Test](https://github.com/yuuki/connperf/actions/workflows/test.yml/badge.svg)](https://github.com/yuuki/connperf/actions/workflows/test.yml)
4-
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/yuuki/connperf)
3+
[![Test](https://github.com/yuuki/tcpulse/actions/workflows/test.yml/badge.svg)](https://github.com/yuuki/tcpulse/actions/workflows/test.yml)
4+
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/yuuki/tcpulse)
55

6-
connperf is a high-performance TCP/UDP connection load generator and performance measurement tool written in Go.
6+
tcpulse is a high-performance TCP/UDP connection load generator and performance measurement tool written in Go.
77

8-
## What is connperf?
8+
## What is tcpulse?
99

10-
connperf is a specialized tool designed to measure and analyze the performance characteristics of network connections. It operates in two primary modes:
10+
tcpulse is a specialized tool designed to measure and analyze the performance characteristics of network connections. It operates in two primary modes:
1111

1212
- **Server mode (`serve`)**: Acts as an echo server that accepts TCP/UDP connections and echoes back received data
1313
- **Client mode (`connect`)**: Generates configurable load against target servers and measures connection performance metrics
1414

15-
## Why use connperf?
15+
## Why use tcpulse?
1616

1717
Network performance testing is crucial for:
1818

@@ -25,7 +25,7 @@ Network performance testing is crucial for:
2525

2626
## How it works
2727

28-
connperf provides two distinct connection patterns to simulate real-world usage:
28+
tcpulse provides two distinct connection patterns to simulate real-world usage:
2929

3030
### Persistent Connections
3131
Maintains long-lived connections and sends multiple requests per connection. This simulates applications like web services with connection pooling or persistent database connections.
@@ -46,23 +46,23 @@ Creates new connections for each request, immediately closing them afterward. Th
4646

4747
### Pre-built Binaries
4848

49-
Download the latest pre-built binaries from the [GitHub Releases](https://github.com/yuuki/connperf/releases) page:
49+
Download the latest pre-built binaries from the [GitHub Releases](https://github.com/yuuki/tcpulse/releases) page:
5050

5151
```bash
5252
# Linux (x86_64)
53-
curl -LO https://github.com/yuuki/connperf/releases/latest/download/connperf_linux_amd64.tar.gz
54-
tar -xzf connperf_linux_amd64.tar.gz
55-
sudo mv connperf /usr/local/bin/
53+
curl -LO https://github.com/yuuki/tcpulse/releases/latest/download/tcpulse_linux_amd64.tar.gz
54+
tar -xzf tcpulse_linux_amd64.tar.gz
55+
sudo mv tcpulse /usr/local/bin/
5656

5757
# macOS (x86_64)
58-
curl -LO https://github.com/yuuki/connperf/releases/latest/download/connperf_darwin_amd64.tar.gz
59-
tar -xzf connperf_darwin_amd64.tar.gz
60-
sudo mv connperf /usr/local/bin/
58+
curl -LO https://github.com/yuuki/tcpulse/releases/latest/download/tcpulse_darwin_amd64.tar.gz
59+
tar -xzf tcpulse_darwin_amd64.tar.gz
60+
sudo mv tcpulse /usr/local/bin/
6161

6262
# macOS (Apple Silicon)
63-
curl -LO https://github.com/yuuki/connperf/releases/latest/download/connperf_darwin_arm64.tar.gz
64-
tar -xzf connperf_darwin_arm64.tar.gz
65-
sudo mv connperf /usr/local/bin/
63+
curl -LO https://github.com/yuuki/tcpulse/releases/latest/download/tcpulse_darwin_arm64.tar.gz
64+
tar -xzf tcpulse_darwin_arm64.tar.gz
65+
sudo mv tcpulse /usr/local/bin/
6666
```
6767

6868
### Build from Source
@@ -73,14 +73,14 @@ Requirements:
7373

7474
```bash
7575
# Clone the repository
76-
git clone https://github.com/yuuki/connperf.git
77-
cd connperf
76+
git clone https://github.com/yuuki/tcpulse.git
77+
cd tcpulse
7878

7979
# Build using Make
8080
make build
8181

8282
# Or build directly with Go
83-
go build -o connperf .
83+
go build -o tcpulse .
8484

8585
# Install to $GOPATH/bin
8686
go install .
@@ -89,45 +89,45 @@ go install .
8989
### Verify Installation
9090

9191
```bash
92-
connperf --help
92+
tcpulse --help
9393
```
9494

9595
## Usage
9696

9797
```shell-session
98-
$ connperf --help
99-
connperf is a measturement tool for TCP connections in Go
98+
$ tcpulse --help
99+
tcpulse is a measturement tool for TCP connections in Go
100100
101101
Usage:
102-
connperf [command]
102+
tcpulse [command]
103103
104104
Available Commands:
105105
connect connect connects to a port where 'serve' listens
106106
help Help about any command
107107
serve serve accepts connections
108108
109109
Flags:
110-
-h, --help help for connperf
110+
-h, --help help for tcpulse
111111
112-
Use "connperf [command] --help" for more information about a command.
112+
Use "tcpulse [command] --help" for more information about a command.
113113
114-
# connperf serve
115-
$ connperf serve --help
114+
# tcpulse serve
115+
$ tcpulse serve --help
116116
serve accepts connections
117117
118118
Usage:
119-
connperf serve [flags]
119+
tcpulse serve [flags]
120120
121121
Flags:
122122
-h, --help help for serve
123123
-l, --listenAddr string listening address (default "0.0.0.0:9100")
124124
125-
# connperf connect
126-
$ ./connperf connect --help
125+
# tcpulse connect
126+
$ ./tcpulse connect --help
127127
connect connects to a port where 'serve' listens
128128
129129
Usage:
130-
connperf connect [flags]
130+
tcpulse connect [flags]
131131
132132
Flags:
133133
-c, --connections int32 Number of connections to keep (only for 'persistent')l (default 10)
@@ -148,29 +148,29 @@ Flags:
148148
Run as a server.
149149

150150
```shell-session
151-
$ connperf serve -l 127.0.0.1:9100
151+
$ tcpulse serve -l 127.0.0.1:9100
152152
```
153153

154154
Run as a client to put a load on the server.
155155

156156
```shell-session
157-
$ connperf connect --flavor ephemeral --rate 1000 --duration 15s 127.0.0.1:9100
157+
$ tcpulse connect --flavor ephemeral --rate 1000 --duration 15s 127.0.0.1:9100
158158
```
159159

160160
```shell-session
161-
$ connperf connect --flavor persistent --connections 1000 --duration 15s 127.0.0.1:9100
161+
$ tcpulse connect --flavor persistent --connections 1000 --duration 15s 127.0.0.1:9100
162162
```
163163

164164
Run as a UDP client.
165165

166166
```shell-session
167-
$ connperf connect --proto udp --rate 1000 --duration 15s 127.0.0.1:9100
167+
$ tcpulse connect --proto udp --rate 1000 --duration 15s 127.0.0.1:9100
168168
```
169169

170170
Output results in JSON Lines format for integration with monitoring tools.
171171

172172
```shell-session
173-
$ connperf connect --jsonlines --rate 1000 --duration 10s 127.0.0.1:9100
173+
$ tcpulse connect --jsonlines --rate 1000 --duration 10s 127.0.0.1:9100
174174
{"peer":"127.0.0.1:9100","count":9998,"latency_max_us":2156,"latency_min_us":145,"latency_mean_us":234,"latency_90p_us":289,"latency_95p_us":321,"latency_99p_us":456,"rate_per_sec":999.8,"timestamp":"2025-01-07T10:30:00Z"}
175175
```
176176

@@ -179,7 +179,7 @@ $ connperf connect --jsonlines --rate 1000 --duration 10s 127.0.0.1:9100
179179
#### Standard Output Format
180180

181181
```shell-session
182-
$ connperf connect --proto tcp --flavor ephemeral --rate 1000 --duration 15s 10.0.150.2:9200 10.0.150.2:9300
182+
$ tcpulse connect --proto tcp --flavor ephemeral --rate 1000 --duration 15s 10.0.150.2:9200 10.0.150.2:9300
183183
PEER CNT LAT_MAX(µs) LAT_MIN(µs) LAT_MEAN(µs) LAT_90p(µs) LAT_95p(µs) LAT_99p(µs) RATE(/s)
184184
10.0.150.2:9200 4996 4108 212 367 446 492 773 999.00
185185
10.0.150.2:9300 4999 10294 219 389 435 470 1595 999.40
@@ -195,7 +195,7 @@ PEER CNT LAT_MAX(µs) LAT_MIN(µs) LAT_MEAN(µs)
195195
#### JSON Lines Output Format
196196

197197
```shell-session
198-
$ connperf connect --jsonlines --proto tcp --flavor ephemeral --rate 1000 --duration 15s 10.0.150.2:9200 10.0.150.2:9300
198+
$ tcpulse connect --jsonlines --proto tcp --flavor ephemeral --rate 1000 --duration 15s 10.0.150.2:9200 10.0.150.2:9300
199199
{"peer":"10.0.150.2:9200","count":14799,"latency_max_us":13736,"latency_min_us":223,"latency_mean_us":530,"latency_90p_us":501,"latency_95p_us":953,"latency_99p_us":5989,"rate_per_sec":996.0,"timestamp":"2025-01-07T10:30:00Z"}
200200
{"peer":"10.0.150.2:9300","count":14809,"latency_max_us":18023,"latency_min_us":212,"latency_mean_us":542,"latency_90p_us":492,"latency_95p_us":1110,"latency_99p_us":5849,"rate_per_sec":996.47,"timestamp":"2025-01-07T10:30:00Z"}
201201
```

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
module github.com/yuuki/connperf
1+
module github.com/yuuki/tcpulse
22

3-
go 1.24.4
3+
go 1.24
44

55
require (
66
github.com/rcrowley/go-metrics v0.0.0-20250401214520-65e299d6c5c9

main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ import (
2424

2525
// rootCmd represents the base command when called without any subcommands
2626
var rootCmd = &cobra.Command{
27-
Use: "connperf",
28-
Short: "connperf is a measurement tool for TCP connections in Go",
27+
Use: "tcpulse",
28+
Short: "tcpulse is a measurement tool for TCP connections in Go",
2929
}
3030

3131
func main() {

version.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ var revision = "HEAD"
1313
// versionCmd represents the version command
1414
var versionCmd = &cobra.Command{
1515
Use: "version",
16-
Short: "Show the version of connperf",
16+
Short: "Show the version of tcpulse",
1717
Run: func(cmd *cobra.Command, args []string) {
18-
fmt.Printf("connperf %s (revision: %s)\n", version, revision)
18+
fmt.Printf("tcpulse %s (revision: %s)\n", version, revision)
1919
},
2020
}
2121

0 commit comments

Comments
 (0)