MCPcopy Index your code
hub / github.com/crossoverJie/ptg

github.com/crossoverJie/ptg @1.0.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0.5 ↗ · + Follow
386 symbols 775 edges 26 files 31 documented · 8%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ptg

Performance testing tool (Go), It is also a GUI gRPC client.

Test the gRPC service like postman.

More screenshot

Features

  • [x] CLI performance test support.
  • [x] GUI support.
  • [x] Metadata support.
  • [x] Data persistence.
  • [x] Search history.
  • [X] Stream call.
  • [ ] Benchmark GUI.

Install

CLI app

go get github.com/crossoverJie/ptg

```shell script wget https://github.com/crossoverJie/ptg/releases/download/${version}/ptg-${os}-${version}.tar.gz


## GUI app

To download the installer, go to the [Releases Page](https://github.com/crossoverJie/ptg/releases).

## Build from source

```shell
git clone git@github.com:crossoverJie/ptg.git
cd ptg
make release
make pkg-win
make pkg-macos

Usage

```shell script NAME: ptg - Performance testing tool (Go)

USAGE: ptg [global options] command [command options] [arguments...]

COMMANDS: help, h Shows a list of commands or help for one command

GLOBAL OPTIONS: --thread value, -t value -t 10 (default: 1 thread) --Request value, --proto value -proto http/grpc (default: http) --protocol value, --pf value -pf /file/order.proto --fully-qualified value, --fqn value -fqn package.Service.Method --duration value, -d value -d 10s (default: Duration of test in seconds, Default 10s) --request value, -c value -c 100 (default: 100) --HTTP value, -M value -m GET (default: GET) --bodyPath value, --body value -body bodyPath.json --header value, -H value HTTP header to add to request, e.g. "-H Content-Type: application/json" --target value, --tg value http://gobyexample.com/grpc:127.0.0.1:5000 --help, -h show help (default: false)

## http
```shell script
ptg -t 20 -d 10 -proto http -tg "http://gobyexample.com"

Benchmark test for 10 seconds, using 20 goroutines.

output: ```shell script Requesting: http://gobyexample.com <---------------> 1 p/s 100.00%

43 requests in 10 seconds, 13.88MB read. Avg Req Time: 358.512071ms Fastest Request: 93.518704ms Slowest Request: 840.680771ms Number of Errors: 0


> POST example

```shell script
ptg -t 2 -proto http -c 2 -M POST -H "Content-Type: application/json"  -body test.json -tg "http://xx/create"

gRPC(unary call)

```shell script ptg -t 10 -c 100 -proto grpc -pf /xx/xx.proto -fqn hello.Hi.Say -body test.json -tg "127.0.0.1:5000"


output:
```shell script
thread: 10, duration: 0, count 100
Requesting: 127.0.0.1:5000  <---------------> 102 p/s 100.00%
100 requests in 11 seconds, 230.6kB read, and cost 1 second.
Avg Req Time:           116.602652ms
Fastest Request:        111.563179ms
Slowest Request:        128.587886ms
Number of Errors:       0

Acknowledgements

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 241
Function 76
Struct 51
Interface 17
FuncType 1

Languages

Go100%

Modules by API surface

reflect/gen/test_grpc.pb.go82 symbols
reflect/gen/test.pb.go52 symbols
reflect/gen/user/user.pb.go31 symbols
gui/io/log.pb.go31 symbols
meta/meta.go27 symbols
gui/call/stream_call.go21 symbols
reflect/gen/user/user_grpc.pb.go20 symbols
reflect/reflect_test.go18 symbols
gui/main.go15 symbols
reflect/reflect.go13 symbols
gui/reflect.go9 symbols
gui/history.go9 symbols

For agents

$ claude mcp add ptg \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page