xk6-client-tracing
xk6-client-tracing copied to clipboard
possibility to create a param with SpanKindServer
https://github.com/grafana/xk6-client-tracing/blob/599b8ecde3d251de411c2c40c07ed631a95764b7/pkg/tracegen/parameterized.go#L109
Here only is possible to create ParameterizedGenerator with SpanKindClient.. any update to create spans kind server?
I'm sure that could be adjusted, but can you say more about the use case? Does this impact your load test in a way?
Yes it's because our traces in prod environment, usually have a root span kind Server and multiple nested spans of kind client. It's only to try reproduce the real traces as same as possible. But the actual behavior is good for default settings and in certains load testing could be interesting to create a param o config to enable a combination of span kind server and clients.
Another suggestions is related with number of spans in each trace. It's to find the exact limit of backend (Grafana Tempo). We have discovered high memory consumption when 1 trace have hundreds of spans, and we have received 200 or 300 traces/sec with this high level of spans per trace, Tempo use about 128 GB of Ram (monolitic installation in k8s). So specify the spans per trace, or spans per second could be a good feature in this k6 plugin to determinate that hard limit.
Thanks!
I think the default param.js
should be modified to reduce the number of attributes. Tweak as necessary for your environment. This is likely where most of the memory is going. I've been able to achieve 1k spans per second on about 12G of memory with some tuning an small 3 ingested environment. We probably need some changes here to improve the configuration, but not sure that someone will pick this up soon. If you'd like to send PRs, we'd be happy to review.