This project has been built for helping companies to create Segment connectors using subscriptions API (webhook). It allows to send a high volume of identity/group/alias/track/page/screen calls.
Segment subscriptions are documented here: https://segment.com/docs/partners/subscriptions/build-webhook/.
For load testing, just increase the concurrency and requests arguments.
- API schema v2
- 42k different
identities(1 userId + 5 anonymousIds) - 50 property names
- 200 event names
- 100 screen names
- 100% random URLs
- 50% calls don't have userId
- 20% calls don't have anonymousId
- replay always false
sentAt<receivedAt<timestamp
During execution, properties sent into identify, group, track, page and screen calls will always have the same data type (number, string, datetime, boolean, object, array).
- 20%
identify - 5%
group - 5%
alias - 15%
track - 30%
page - 25%
screen
Events will be triggered in a random order, and will be emitted from random users.
This tool only support basic token authentication.
go get github.com/ScreebApp/segment-subscription-event-producer
go run github.com/ScreebApp/segment-subscription-event-producer \
--requests 10000 \
--concurrency 100 \
--endpoint-url http://localhost:3000/webhook \
--token xxxxxxgo run *.go -n 100 -c 2 -e http://localhost:3000/webhook -t xxx- Add
contextpayload (see "common fields" section in doc) - Collect and print response status code, at the end of execution
- Collect and display response time, at the end of execution
- Disable some events type from CLI
- Display progress bar
