Skip to content

Commit

Permalink
split tsung command into tsung and tsung-recorder (TSUN-113)
Browse files Browse the repository at this point in the history
SVN Revision: 995
  • Loading branch information
nniclausse committed Mar 5, 2009
1 parent 6610af8 commit 4c0948f
Show file tree
Hide file tree
Showing 11 changed files with 483 additions and 186 deletions.
16 changes: 9 additions & 7 deletions Makefile.in
Expand Up @@ -143,25 +143,26 @@ RECORDER_TGT_APPFILES_P = priv/$(RECORDER_APPLICATION)*
CONTROLLER_TGT_APPFILES_P = priv/$(CONTROLLER_APPLICATION)* CONTROLLER_TGT_APPFILES_P = priv/$(CONTROLLER_APPLICATION)*


SCRIPT = $(BINDIR)/tsung SCRIPT = $(BINDIR)/tsung
REC_SCRIPT = $(BINDIR)/tsung-recorder
PWD = $(shell pwd) PWD = $(shell pwd)
BUILD_OPTIONS = '[{systools, \ BUILD_OPTIONS = '[{systools, \
[{variables,[ \ [{variables,[ \
{"TSUNGPATH", "$(PWD)/temp/"}] \ {"TSUNGPATH", "$(PWD)/temp/"}] \
}]}, \ }]}, \
{sh_script, none}, \ {sh_script, none}, \
{make_app, true }, {make_rel, true}].' {make_app, true }, {make_rel, true}].'


BUILD_OPTIONS_DOT = $(subst $(PWD)/temp/,./,$(BUILD_OPTIONS)) BUILD_OPTIONS_DOT = $(subst $(PWD)/temp/,./,$(BUILD_OPTIONS))


BUILD_OPTIONS_FILE = ./BUILD_OPTIONS BUILD_OPTIONS_FILE = ./BUILD_OPTIONS


DIST_COMMON=Makefile.in $(CONFFILE_SRC) $(PERL_SCRIPTS_SRC) $(PYTHON_SCRIPTS_SRC) tsung.sh.in tsung.spec.in $(CONTROLLER_SRC_APPFILES_IN) DIST_COMMON=Makefile.in $(CONFFILE_SRC) $(PERL_SCRIPTS_SRC) $(PYTHON_SCRIPTS_SRC) tsung.sh.in tsung-recorder.sh.in tsung.spec.in $(CONTROLLER_SRC_APPFILES_IN)


DOC_OPTS={def,{version,\"$(VERSION)\"}} DOC_OPTS={def,{version,\"$(VERSION)\"}}


.PHONY: doc .PHONY: doc


tsung: Makefile config.status $(PERL_SCRIPTS) $(PYTHON_SCRIPTS) tsung.sh tsung.spec $(TARGET) $(RECORDER_TARGET) $(CONTROLLER_TARGET) $(LIB_TARGET) $(CONTROLLER_SRC_APPFILES) $(SRC_APPFILES) $(RECORDER_SRC_APPFILES) tsung: Makefile config.status $(PERL_SCRIPTS) $(PYTHON_SCRIPTS) tsung.sh tsung-recorder.sh tsung.spec $(TARGET) $(RECORDER_TARGET) $(CONTROLLER_TARGET) $(LIB_TARGET) $(CONTROLLER_SRC_APPFILES) $(SRC_APPFILES) $(RECORDER_SRC_APPFILES)


buildtest: $(TEST_TARGET) buildtest: $(TEST_TARGET)


Expand Down Expand Up @@ -205,8 +206,8 @@ deb:
clean: clean:
-cd priv && rm -f $(shell ls priv | grep -v builder\.erl| grep -v CVS) && cd .. -cd priv && rm -f $(shell ls priv | grep -v builder\.erl| grep -v CVS) && cd ..
-rm -f $(TARGET) $(TMP) $(BUILD_OPTIONS_FILE) builder.beam -rm -f $(TARGET) $(TMP) $(BUILD_OPTIONS_FILE) builder.beam
-rm -f $(TGT_APPFILES) tsung.sh $(PERL_SCRIPTS) $(PYTHON_SCRIPTS) $(CONFFILE) -rm -f $(TGT_APPFILES) $(PERL_SCRIPTS) $(PYTHON_SCRIPTS) $(CONFFILE)
-rm -f ebin/*.beam tsung.sh tsung.spec tsung.xml -rm -f ebin/*.beam tsung.sh tsung.spec tsung.xml tsung.sh tsung-recorder.sh


install: doc boot install_recorder install_controller $(CONFFILE) install: doc boot install_recorder install_controller $(CONFFILE)
-rm -f $(TMP) -rm -f $(TMP)
Expand Down Expand Up @@ -241,6 +242,7 @@ install: doc boot install_recorder install_controller $(CONFFILE)


# create startup script # create startup script
install -m 0755 tsung.sh $(SCRIPT) install -m 0755 tsung.sh $(SCRIPT)
install -m 0755 tsung-recorder.sh $(REC_SCRIPT)
install -m 0755 $(PERL_SCRIPTS) $(TOOLS_BINDIR) install -m 0755 $(PERL_SCRIPTS) $(TOOLS_BINDIR)
# tsung-plotter # tsung-plotter
install -m 0755 $(PYTHON_SCRIPTS) $(TOOLS_BINDIR) install -m 0755 $(PYTHON_SCRIPTS) $(TOOLS_BINDIR)
Expand Down Expand Up @@ -390,7 +392,7 @@ release: Makefile tsung.spec doc
$(DEBIAN) $(PERL_SCRIPTS_SRC) CONTRIBUTORS CHANGES \ $(DEBIAN) $(PERL_SCRIPTS_SRC) CONTRIBUTORS CHANGES \
$(PYTHON_SCRIPTS_SRC) $(TSUNG_PLOTTER_CONF) $(TSUNG_PLOTTER_LIB)\ $(PYTHON_SCRIPTS_SRC) $(TSUNG_PLOTTER_CONF) $(TSUNG_PLOTTER_LIB)\
configure configure.in config.guess *.m4 config.sub Makefile.in \ configure configure.in config.guess *.m4 config.sub Makefile.in \
install-sh tsung.spec.in tsung.spec install-sh tsung.spec.in tsung.spec tsung-recorder.sh.in
tar -C $(distdir) -zxf tmp.tgz tar -C $(distdir) -zxf tmp.tgz
mkdir $(distdir)/ebin mkdir $(distdir)/ebin
tar zvcf $(distdir).tar.gz $(distdir) tar zvcf $(distdir).tar.gz $(distdir)
Expand Down
3 changes: 2 additions & 1 deletion configure
Expand Up @@ -3073,7 +3073,7 @@ echo "$as_me: Storing library files in $EXPANDED_LIBDIR" >&6;}
{ echo "$as_me:$LINENO: Storing data files in $EXPANDED_SHAREDIR" >&5 { echo "$as_me:$LINENO: Storing data files in $EXPANDED_SHAREDIR" >&5
echo "$as_me: Storing data files in $EXPANDED_SHAREDIR" >&6;} echo "$as_me: Storing data files in $EXPANDED_SHAREDIR" >&6;}
ac_config_files="$ac_config_files Makefile tsung.spec tsung.sh examples/*.xml src/tsung_stats.pl src/tsung-plotter/tsplot.py src/log2tsung.pl src/tsung_controller/tsung_controller.app.src src/tsung_recorder/tsung_recorder.app.src src/tsung/tsung.app.src" ac_config_files="$ac_config_files Makefile tsung.spec tsung.sh tsung-recorder.sh examples/*.xml src/tsung_stats.pl src/tsung-plotter/tsplot.py src/log2tsung.pl src/tsung_controller/tsung_controller.app.src src/tsung_recorder/tsung_recorder.app.src src/tsung/tsung.app.src"
cat >confcache <<\_ACEOF cat >confcache <<\_ACEOF
Expand Down Expand Up @@ -3647,6 +3647,7 @@ do
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"tsung.spec") CONFIG_FILES="$CONFIG_FILES tsung.spec" ;; "tsung.spec") CONFIG_FILES="$CONFIG_FILES tsung.spec" ;;
"tsung.sh") CONFIG_FILES="$CONFIG_FILES tsung.sh" ;; "tsung.sh") CONFIG_FILES="$CONFIG_FILES tsung.sh" ;;
"tsung-recorder.sh") CONFIG_FILES="$CONFIG_FILES tsung-recorder.sh" ;;
"examples/*.xml") CONFIG_FILES="$CONFIG_FILES examples/*.xml" ;; "examples/*.xml") CONFIG_FILES="$CONFIG_FILES examples/*.xml" ;;
"src/tsung_stats.pl") CONFIG_FILES="$CONFIG_FILES src/tsung_stats.pl" ;; "src/tsung_stats.pl") CONFIG_FILES="$CONFIG_FILES src/tsung_stats.pl" ;;
"src/tsung-plotter/tsplot.py") CONFIG_FILES="$CONFIG_FILES src/tsung-plotter/tsplot.py" ;; "src/tsung-plotter/tsplot.py") CONFIG_FILES="$CONFIG_FILES src/tsung-plotter/tsplot.py" ;;
Expand Down
1 change: 1 addition & 0 deletions configure.in
Expand Up @@ -106,6 +106,7 @@ AC_CONFIG_FILES([\
Makefile \ Makefile \
tsung.spec \ tsung.spec \
tsung.sh \ tsung.sh \
tsung-recorder.sh \
examples/*.xml \ examples/*.xml \
src/tsung_stats.pl \ src/tsung_stats.pl \
src/tsung-plotter/tsplot.py \ src/tsung-plotter/tsplot.py \
Expand Down
2 changes: 1 addition & 1 deletion debian/control
Expand Up @@ -8,7 +8,7 @@ Standards-Version: 3.6.0
Package: tsung Package: tsung
Architecture: all Architecture: all
Depends: erlang (>= 9.2-1), libxmerl-erlang (>= 0.19-1) | erlang (>= 10.b.5-1) Depends: erlang (>= 9.2-1), libxmerl-erlang (>= 0.19-1) | erlang (>= 10.b.5-1)
Recommends: gnuplot, perl, ssh, libtemplate-perl Recommends: gnuplot, perl, ssh, libtemplate-perl, python-matplotlib
Description: A distributed multi-protocol load testing tool. Description: A distributed multi-protocol load testing tool.
Tsung is a distributed load testing tool. Tsung is a distributed load testing tool.
It is protocol-independent and can currently be used to stress and It is protocol-independent and can currently be used to stress and
Expand Down
75 changes: 75 additions & 0 deletions doc/tsung-recorder.1
@@ -0,0 +1,75 @@
.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng <steve@ggi-project.org>.
.TH "TSUNG-RECORDER" "1" "05 mars 2009" "" ""

.SH NAME
tsung-recorder \- Proxy recorder for the tsung load testing tool.
.SH SYNOPSIS

\fBtsung-recorder\fR [ \fB-l log file\fR ] [ \fB-r command\fR ] [ \fB-p plugin\fR ] [ \fB-L listen port\fR ] [ \fB-I IP\fR ] [ \fB-P port\fR ] [ \fB-u \fR ] [ \fBstart|stop|restart|record_tag\fR ]

.SH "DESCRIPTION"
.PP
\fBtsung\fR is a distributed load testing
tool. It is protocol-independent and can currently be used to
stress and benchmark HTTP, WebDAV, LDAP, PostgreSQL, MySQL and
Jabber/XMPP servers. \fBtsung-recorder\fR can be
used to record sessions (only for HTTP, WebDAV and Postgresql) that can be edited and replayed later by tsung
.PP
tsung-recorder is a proxy that records a session in the
tsung native XML format; it can be used by your favorite client (browser in the case of the http plugin).
.TP
\fBstart\fR
start the proxy recorder (listening port is 8090). By default the HTTP recorder is started. With the -p option, you can select another plugin. The resulting files will be created as \fI~/.tsung/tsung_recorderYYYMMDD-HH:MM.xml\fR; if it doesn't work, take a look at \fI~/.tsung/log/tsung.log-tsunami_recorder@hostname\fR
.TP
\fBstop\fR
stop the proxy recorder
.TP
\fBrecord_tag value\fR
add a string (comment or tag) while recording a
session. This is useful for example to add transaction tag
while recording a session.
.SH "MANUAL"
.PP
A manual should be available at
\fI/usr/share/doc/tsung/user_manual.html\fR\&. It
is also available online at
http://tsung.erlang-projects.org/user_manual.html
.SH "OPTIONS"
.TP
\fB-l\fR
Specifies the log file to use. The default log file name is \fI~/tsung/log/tsung.log\fR
.TP
\fB-p\fR
Specifies the plugin used for the recorder. Default is http, available: http, pgsql,webdav
.TP
\fB-L\fR
Listening port for the recorder. Default is 8090
.TP
\fB-I\fR
For the pgsql recorder (or parent proxy): server IP. default is 127.0.0.1
.TP
\fB-P\fR
For the pgsql recorder (or parent proxy): server port. Default is 5432
.TP
\fB-u\fR
For the http recorder: use a parent proxy
.SH "BUGS"
.PP
Please reports bugs to the mailing list
<tsung-users@process-one.net>, see
https://lists.process-one.net/mailman/listinfo/tsung-users for
archives.
.SH "SEE ALSO"
.PP
\fIerlang\fR(3)
and \fItsung\fR(3)
.SH "AUTHORS"
.PP
\fBTsung\fR is written by Nicolas Niclausse
<nicolas@niclux.org>\&. Contributors list
is available in
\fI/usr/share/doc/tsung/CONTRIBUTORS\fR
156 changes: 156 additions & 0 deletions doc/tsung-recorder.1.sgml
@@ -0,0 +1,156 @@
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
<refentry>
<refentryinfo>
<address>
<email>nicolas.niclausse@niclux.org</email>
</address>
<author>
<firstname>Nicolas</firstname>
<surname>Niclausse</surname>
</author>
<date>March 2009</date>
<copyright>
<year>2009</year>
<holder>Nicolas Niclausse</holder>
</copyright>
</refentryinfo>

<refmeta>
<refentrytitle>tsung-recorder</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>

<refnamediv>
<refname>tsung-recorder</refname>
<refpurpose>
Proxy recorder for the tsung load testing tool.
</refpurpose>
</refnamediv>

<refsynopsisdiv>
<cmdsynopsis>
<command>tsung-recorder</command>
<arg><option>-l</option> log file</arg>
<arg><option>-r</option> command</arg>
<arg><option>-p</option> plugin</arg>
<arg><option>-L</option> listen port</arg>
<arg><option>-I</option> IP</arg>
<arg><option>-P</option> port</arg>
<arg><option>-u</option> </arg>
<arg>start|stop|restart|record_tag</arg>
</cmdsynopsis>
</refsynopsisdiv>

<refsect1>
<title>description</title>
<para>
<command>tsung</command> is a distributed load testing
tool. It is protocol-independent and can currently be used to
stress and benchmark HTTP, WebDAV, LDAP, PostgreSQL, MySQL and
Jabber/XMPP servers. <command>tsung-recorder</command> can be
used to record sessions (only for HTTP, WebDAV and Postgresql) that can be edited and replayed later by tsung</para>

<para> tsung-recorder is a proxy that records a session in the
tsung native XML format; it can be used by your favorite client (browser in the case of the http plugin). </para>

<variablelist>
<varlistentry>
<term><option>start</option></term>
<listitem>
<para>start the proxy recorder (listening port is 8090). By default the HTTP recorder is started. With the -p option, you can select another plugin. The resulting files will be created as <filename>~/.tsung/tsung_recorderYYYMMDD-HH:MM.xml</filename>; if it doesn't work, take a look at <filename>~/.tsung/log/tsung.log-tsunami_recorder@hostname</filename> </para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>stop</option></term>
<listitem>
<para>stop the proxy recorder</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>record_tag</option> value</term>
<listitem>
<para>add a string (comment or tag) while recording a
session. This is useful for example to add transaction tag
while recording a session. </para>
</listitem>
</varlistentry>
</variablelist>

</refsect1>
<refsect1>
<title>manual</title> <para>A manual should be available at
<filename>/usr/share/doc/tsung/user_manual.html</filename>. It
is also available online at
<address>http://tsung.erlang-projects.org/user_manual.html</address>
</para>
</refsect1>

<refsect1>
<title>options</title>
<variablelist>
<varlistentry>
<term><option>-l</option></term>
<listitem>
<para>Specifies the log file to use. The default log file name is <filename>~/tsung/log/tsung.log</filename></para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-p</option></term>
<listitem>
<para> Specifies the plugin used for the recorder. Default is http, available: http, pgsql,webdav</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-L</option></term>
<listitem>
<para> Listening port for the recorder. Default is 8090</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-I</option></term>
<listitem>
<para> For the pgsql recorder (or parent proxy): server IP. default is 127.0.0.1 </para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-P</option></term>
<listitem>
<para> For the pgsql recorder (or parent proxy): server port. Default is 5432</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-u</option></term>
<listitem>
<para> For the http recorder: use a parent proxy</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

<refsect1>
<title>Bugs</title> <para> Please reports bugs to the mailing list
<email>tsung-users@process-one.net</email>, see
<address>https://lists.process-one.net/mailman/listinfo/tsung-users</address> for
archives.
</para>
</refsect1>

<refsect1>
<title>see also</title>
<para>
<filename>erlang</filename><manvolnum>3</manvolnum>
and <filename>tsung</filename><manvolnum>3</manvolnum>
</para>
</refsect1>

<refsect1>
<title>Authors</title>
<para>
<command>Tsung</command> is written by <author>Nicolas Niclausse</author>
<email>nicolas@niclux.org</email>. Contributors list
is available in
<filename>/usr/share/doc/tsung/CONTRIBUTORS</filename>
</para>
</refsect1>

</refentry>

0 comments on commit 4c0948f

Please sign in to comment.