Skip to content
/ trunks Public
forked from shuLhan/gorankusu

[mirror] The Go module for programmatically run and load testing HTTP services

License

Notifications You must be signed in to change notification settings

liharsw/trunks

 
 

Repository files navigation

Trunks

Trunks is a Go library that provide HTTP service with web user interface to test HTTP and/or WebSocket endpoints and for load testing HTTP endpoints.

For testing HTTP endpoints it use the lib/http package as the client, a wrapper for standard Go HTTP package. For testing WebSocket endpoints it use the lib/websocket package as the client. For the load testing we use vegeta as the backend.

Go documentation

Usage

See the example package on how to programmatically use and create service using this module, or,

Screenshots

The following screenshot display the main interface to Run or Attack the registered HTTP service,

Main interface

The following screenshot display the result of attack in two forms, vegeta metrics and vegeta histogram,

Attack result

Web user interface (WUI)

By default, the Trunks user interface can be viewed by opening in browser at http://127.0.0.1:8217. One can change address through Environment's ListenAddress.

File name format

Each attack result is saved in Environment's ResultsDir with the following file name format,

<Target.ID> "." <HttpTarget.ID> "." <DateTime> "." <Rate> "x" <Duration> "." <ResultsSuffix>

The "DateTime" is in the following layout,

YearMonthDate "_" HourMinuteSeconds

The "ResultsSuffix" is the one that defined in Environment.

Development

Repository:: Link to the source code.

Mailing list:: Link to discussion and where to send patches.

Issues:: Link to report for bug or feature.

Credits

The Trunks icon and image is provided by https://www.spriters-resource.com/.

License

Copyright (C) 2021 M. Shulhan ms@kilabit.info

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

About

[mirror] The Go module for programmatically run and load testing HTTP services

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 55.1%
  • TypeScript 41.6%
  • HTML 3.1%
  • Makefile 0.2%