tsung icon indicating copy to clipboard operation
tsung copied to clipboard

Roadmap/Idea for Tsung 2.0

Open tisba opened this issue 7 years ago • 5 comments

I'm thinking about some larger changes to Tsung and since I'd like to see a 1.8.0 release soon, I was also thinking a few steps further.

I think it is time for a (potentially bigger) breaking changes - hence 2.0 and not 1.9.

What I currently have on my mind are the following topics, which mainly focus on making things easier to develop on tsung and remove bumps that I think are hindering is a bit from progressing:

  • drop support for Erlang < 21: This might be a bit drastic, but I think this will remove a lot of macros, helpers etc that we currently have to keep around for older Erlang environments.
  • Ship ERTS with Tsung releases: We should take a look what we need to do in order to ship Tsung as a "normal" Erlang application. A main problem currently is, that Tsung does not bring it's own ERTS. That requires users to have a compatible version of Erlang installed on the system e.g.
  • drop mochiweb to parse XML/JSON and work with XPath and JSONPath. There are other, better maintained and more powerful options available. They are currently vendored and haven't seen updates in years. Especially for working with XML/XPath I think we should give xmerl_xpath a try e.g.
  • take a look at package managers like hex to work with tsung dependencies (mainly to be able to keep them updated).

This is just an initial brain dump! Please chime in if you have other ideas or opinions about a Tsung 2.0 release.

tisba avatar Jul 19 '18 06:07 tisba

  • dropping erlang < 21 seems a bit too much for me . Keeping compatibility with 20 seems more reasonable (the latest 18.04 LTS from ubuntu provides erlang 20 for ex.)
  • i was planning to use rebar3 instead of the old autotools stuff yes; that should ease the switch to more recents libs for parsing json/xpath

nniclausse avatar Jul 25 '18 21:07 nniclausse

erm, yeah, I meant to say Erlang 20 :) I just wanted to say, that I think we should at least state that older versions are no longer supported, so that we can actually start dropping stuff.

On the other hand, if we use rebar to build a release, the Erlang runtime is included in the release. So for users it would actually be okay not to have Erlang 21 on their systems. It would only be required for development.

tisba avatar Jul 26 '18 05:07 tisba

The random module is replaced by the rand module, if dropping the random module, I can make some code to it.

getong avatar Jul 28 '18 18:07 getong

@getong that would be nice! I think most spots are rather simple, but the special logic we have in place to make the seeding work properly. There was an issue a while back, that the seeds were in sync in a distributed case, which caused quite a bit of problems.

tisba avatar Jul 31 '18 14:07 tisba

@tisba: 1.8.0 has been released:

  • https://github.com/processone/tsung/releases/tag/v1.8.0

Neustradamus avatar Mar 04 '23 14:03 Neustradamus