https://github.com/bbsakura/xk6-gtp
Client extension for interacting with a use GTP proto of your k6 test.
https://github.com/bbsakura/xk6-gtp
gtpv2 k6 k6-extension mobile xk6 xk6-extension
Last synced: 2 months ago
JSON representation
Client extension for interacting with a use GTP proto of your k6 test.
- Host: GitHub
- URL: https://github.com/bbsakura/xk6-gtp
- Owner: bbsakura
- License: mit
- Created: 2022-10-23T13:36:04.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-12-20T10:48:19.000Z (3 months ago)
- Last Synced: 2025-12-21T10:37:50.965Z (3 months ago)
- Topics: gtpv2, k6, k6-extension, mobile, xk6, xk6-extension
- Language: Go
- Homepage:
- Size: 273 KB
- Stars: 10
- Watchers: 4
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# xk6-gtp
A client extension for interacting with the GTP protocol in your k6 tests.
## Preparation
Required packages and tools:
- [mise](https://github.com/jdx/mise)
Install the tools required for development:
```shell=
make install-dev-pkg
```
## Build
```shell=
make install-go-tools
make build
```
## Running Tests
```shell
./out/bin/xk6 run example/echo-stress.js
./out/bin/pgw
```
## Supported Scenarios
### GTPv2-C
- [x] Node monitoring (Echo Request/Echo Response)
- [x] Create Session (Create Session Request/Create Session Response)
- [x] sgw->pgw scenario
- [x] Delete Session (Delete Session Request/Delete Session Response)
- [x] sgw->pgw scenario
- [x] Modify Bearer (Modify Bearer Request/Modify Bearer Response)
- [x] sgw->pgw scenario
- [ ] Delete Bearer (Delete Bearer Request/Delete Bearer Response)
## Special Thanks
This PoC takes full advantage of [go-gtp](https://github.com/wmnsk/go-gtp). Thanks to @wmnsk and all the developers.
## Developer Settings
```shell
# Format, lint, commit message validation, etc.
pre-commit install
# Mob programming
co-author hook > .git/hooks/prepare-commit-msg
chmod +x .git/hooks/prepare-commit-msg
# Create Docker image
make docker-build
make docker-release
```