# `megaco_codec_mstone1` [🔗](https://github.com/garazdawi/otp/blob/lukas/shell_docs/fix-bugs/lib/megaco/examples/meas/megaco_codec_mstone1.erl#L29) This module implements a simple megaco codec-based performance tool. This module implements the _mstone1_ tool, a simple megaco codec-based performance tool. The results, the mstone value(s), are written to stdout. _Note_ that this module is _not_ included in the runtime part of the application. # `start` # `start` This function is intended to be called from the _mstone1_ script, which uses the '-s' arguments to run the function (argument order; message package, run time (in minutes in the example) and factor): ```text erl -s megaco_codec_mstone1 start time_test 1 1 ``` # `start` ```erlang -spec start(RunTime, Factor) -> ok when RunTime :: pos_integer(), Factor :: default | pos_integer(); (MessagePackage, Factor) -> ok when MessagePackage :: atom(), Factor :: pos_integer(). ``` This function starts the _mstone1_ performance test with all codec configs. `Factor` (defaults to `1`) processes are started for every supported codec config. Each process encodes and decodes their messages. The number of messages processed in total (for all processes) is the mstone value. # `start_flex` # `start_flex` This function is intended to be called from the _mstone1_ script, which uses the '-s' arguments to run the function (argument order; message package, run time (in minutes in the example) and factor): ```text erl -s megaco_codec_mstone1 start_flex time_test 1 1 ``` # `start_flex` ```erlang -spec start_flex(MessagePackage, Factor) -> ok when MessagePackage :: atom(), Factor :: pos_integer(). ``` This function starts the _mstone1_ performance test with only the flex codec configs (i.e. `pretty` and `compact` with `flex`). The same number of processes are started as when running the standard test (using the `start/0,1` function). Each process encodes and decodes their messages. The number of messages processed in total (for all processes) is the mstone value. # `start_no_drv` # `start_no_drv` This function is intended to be called from the _mstone1_ script, which uses the '-s' arguments to run the function (argument order; message package, run time (in minutes in the example) and factor): ```text erl -s megaco_codec_mstone1 start_no_drv time_test 1 1 ``` # `start_no_drv` ```erlang -spec start_no_drv(MessagePackage, Factor) -> ok when MessagePackage :: atom(), Factor :: pos_integer(). ``` This function starts the _mstone1_ performance test with codec configs not using any drivers (i.e. `pretty` and `compact` without `flex`, `ber` and `per` without `driver` and `erlang` without `compressed`). The same number of processes are started as when running the standard test (using the `start/0,1` function). Each process encodes and decodes their messages. The number of messages processed in total (for all processes) is the mstone value. # `start_only_drv` # `start_only_drv` start_no_drv([MessagePackage, RunTime, Factor]) This function is intended to be called from the _mstone1_ script, which uses the '-s' arguments to run the function (argument order; message package, run time (in minutes in the example) and factor): ```text erl -s megaco_codec_mstone1 start_no_drv time_test 1 1 ``` # `start_only_drv` ```erlang -spec start_only_drv(MessagePackage, Factor) -> ok when MessagePackage :: atom(), Factor :: pos_integer(). ``` This function starts the _mstone1_ performance test with only the driver using codec configs (i.e. `pretty` and `compact` with `flex`, and `ber` and `per` with `driver` and `erlang` with `compressed`). The same number of processes are started as when running the standard test (using the `start/0,1` function). Each process encodes and decodes their messages. The number of messages processed in total (for all processes) is the mstone value. --- *Consult [api-reference.md](api-reference.md) for complete listing*