Configuration
Introduction
The configuration of the MyARM agent library is done mainly through configuration files which contain so-called named value pairs or just called properties. Each property is specified in one or more lines of the file in the following form:
name = value
where at least the name and the sign character have to be in the first line. Line concatenation have to be introduced by a backslash character at the end of a line. The name can be structured hierarchically by separating name parts with dots:
agent.sink.name = db_mysql
This example assigns the value of db_mysql to the
property name agent.sink.name
which
consists of the three parts agent
, sink
and name
. One use of these hierarchical names is to
unify the configuration of one component within the system by it's
first name part. In the above example the first name part is
agent
which means its a property of the agent library
component of the MyARM system. The second name part
sink
specifies the sub-component and the third part
name
specifies the property of the sub-component. This
configuration line configures the datasink name db_mysql to
be used for the datasink of the MyARM agent.
A value can also refer to an environment variable which
has to be enclosed by braces and prefixed by a dollar sign:
${VAR}
. This gives you powerful possibilities in
writing configuration files. For example you can write user
independent configuration files.
agent.log.file = ${TMPDIR}/agent.log
To make configuration tasks easier, MyARM has the ability
to include
other configuration files. Just add a
line
include filename
in a configuration file and the file with the name filename within the configuration directory is included. The template configuration files makes use of the include mechanism.
Configuration files
There are three possibilities to specify a configuration file for a MyARM tool or an ARM instrumented application using MyARM. The first possibility overrides configuration settings in the following ones, etc.
- specifying a configuration file through command line
options:
-cf
conf_file or--conf-file
conf_file. This is only available for MyARM tools. The ARM standard defines no mechansim for accessing command line options. Therefore, it is not possible to configure an ARM instrumented application using this technique. - specifying a configuration source through the $MYARM_CONFIG_URL environment variable. See section "Environment".
- providing the
.myarmrc
file in the $HOME directory of the current user.
User configuration file
MyARM provides a mechanism for user-specific configuration
of MyARM. If the file user.conf
exists in the current
configuration directory of MyARM, it is loaded after all other
configuration files. Each configuration property in this file will
overwrite a previously loaded configuration property. Therefore,
the user can place any configuration property in the file which
should be different from the MyARM standard
configuration.
Provided configuration files
By default MyARM provides ready-to-run configuration files
for the all components. Thus all you need to do is to select your
favourite configuration file from the templates
directory and to change the values to your needs by overriding
these values within the user.conf
file.
Template configuration files
These template configuration files are the anchor to the
MyARM configuration system and should be used with the
setup.sh
script or used with the MYARM_CONFIG_URL
environment variable. They are located in the
$MYARM_ROOT/conf/templates
directory.
Under Unix-like systems a symbolic link from
$MYARM_ROOT/conf/<conffile>
to
the $MYARM_ROOT/conf/templates/<conffile>
configuration file is created automatically with the
setup.sh
script.
- file_mysql.conf
- Main configuration file for using the myarmdaemon process to collect data from the filestorage directory of instrumented applications and to store the ARM data within a MySQL database.
- file_sqlite3.conf
- Main configuration file for using the myarmdaemon process to collect ARM data from the filestorage directory of instrumented applications and to store the ARM data within a SQLite3 database.
- mysql.conf
- Main configuration file for using MyARM with a MySQL database without a myarmdaemon. Note this configuration will use the database directly from your instrumented application.
- sqlite3.conf
- Main configuration file for using MyARM with a SQLite3 database without a myarmdaemon. Note this configuration will use the database directly from your instrumented application.
- tcp.conf
- Main configuration file used by instrumented applications to forward collected ARM data to the myarmdaemon using the tcp datasink.
- tcp_archive.conf
- Main configuration file used by an instrumented application which uses a tcp datasink and the appropriate myarmdaemon stores the data into an archive datasink.
- tcp_daemon_archive.conf
- Main configuration file used by the myarmdaemon process to collect ARM data from instrumented applications by using the tcp datasink to store collected ARM data into MyARM binary files.
- tcp_mysql.conf
- Main configuration file for using the myarmdaemon process to collect ARM data from instrumented applications and to store the ARM data within a MySQL database.
- tcp_sqlite3.conf
- Main configuration file for using the myarmdaemon process to collect ARM data from instrumented applications by using the tcp datasink and to store the ARM data within a SQLite3 database.
Main configuration file
The main configuration file includes all supported configuration
properties with their default values. Thus this is the place to
look for a configuration property and to copy it to the
user.conf
file and changing its value. That's all.
Configuring components
Currently, the following components can be configured using properties where the base prefix is specified in parentheses:
- Basic (
basic
). See appendix "Configuring basic properties". - Logging (
log
). See appendix "Configuring log facility". - Agent (
agent
). See appendix "Configuring agent". - Resource watchdog (
resource.watchdog
. See appendix "Configuring resource watchdog facility". - Sink and database (
free
). See appendix "Configuring datasink component".free
in this context means you can choose a name as you prefer (e.g.db_mysql
for a MySQL database configuration). - myarmdaemon (
daemon
). See section "myarmdaemon". - Tools (
tools
). See appendix "Configuring command line tools".- myarmquery (
tools.query
). See section "myarmquery".
- myarmquery (
Configuring basic attributes
Some properties are subject to all MyARM components and therefore can be configured in the basic section of the MyARM configuration. The following basic properties are available:
basic.usage
- The basic usage property is used to specify the general usage
of the MyARM agent. Depending on the following usage value, the
appropriate configuration properties set meaningful values (see
configuration properties below):
- min
- Minimum agent usage can be used for few (1-100) measurements per second. Uses the minimum value of the properties listed below.
- normal
- Normal agent usage can be used for about 100 up to 1000 measurements per second. Uses the default value of the properties listed below.
- high
- High agent usage can be used for about 1000 to 5000 measurements per second. Uses half of the maximum value of the properties listed below.
- max
- Maximum agent usage can be used for about 5000 to 100000
measurements per second. Uses the the maximum value of the
properties listed below.
Note that the agent can handle such high numbers of measurements per second, but the underlying datasink needs to handle also such a high measurement volume. So this configuration is able to handle very high measurement peaks!
- user
- The user is responsible for setting all configuration properties listed below.
Configuration properties directly set by the
basic.usage
property (if not usinguser
): basic.time.use_utc
- this boolean property is used to switch display of times
between UTC (
true
) and local time (false
).Default is false.
basic.time.format
(New since "4.0.x.0")- specifies the format pattern to use for displaying time values.
See "Configuring
time formats" section for details.
Default is HH:MM:SS.ZZZ.
basic.time.date.format
- specifies the format pattern to use for displaying date values.
See "Configuring
date formats" section for details.
Default is DD.MM.YY.
Archive configuration properties
basic.archive.enable
- Boolean which indicates if MyARM uses the archive concept to
store measured ARM data (true) or not (false).
Default is false.
This property is normally set by a template configuration file. For example the
tcp_archive.conf
template file contains the following lines:# set sink for transporting ARM data to the myarmdaemon agent.sink.name = sink_tcp # only ARM instrumented applications are allowed in this config # thus disable daemon daemon.disabled = true # no database in the config thus disable tools tools.disabled = true # global property to allow any part of MyARM to check if archive # is enabled or not basic.archive.enable = true # MyARM - include main (all) configuration sections # include main.conf
basic.archive.directory
- Final root archive directory for the storage of MyARM
data files. This directory is used by the myarmarchive tool and the
myarmdaemon archive component to read
data from.
Default is ${MYARM_VARLIB_DIR}/archive/final/.
basic.archive.transaction.filepattern
- File pattern (including directories) for selecting the
appropriate file for transaction measurements.
Default is transactions/$m/$s/%Y%m%d_%H%M%S_tran.
The following format options are supported:
- $m
- is replaced by a string defining two directories with
timestamps in seconds since epoch (1.1.1970). The first directory
represents the seconds for each day at midnight (beginning of the
day) and the second directory represents the beginning of each
minute within the day of the first directory. For example the
timestamp 4th december 2017, 16:12:00 will create the folling two
directories:
1512345600/1512403920
. - $s
- is replaced by the appropriate system address
- $a
- is replaced by the appropriate application name
- %Y
- is replaced by the year of the start timestamp of the transaction
- %m
- is replaced by the month of the start timestamp of the transaction
- %d
- is replaced by the day of the start timestamp of the transaction
- %H
- is replaced by the hour of the start timestamp of the transaction
- %M
- is replaced by the minute of the start timestamp of the transaction
- %S
- is replaced by the second of the start timestamp of the transaction
- ${ENV}
- is replaced by the contents of the ENV environment variable
basic.archive.definition.filepattern
- File pattern (including directories) for selecting the
appropriate file for ARM definition data.
Default is definitions/$s_defs.
The following format options are supported:
- $s
- is replaced by the appropriate system address
- $a
- is replaced by the appropriate application name
- ${ENV}
- is replaced by the contents of the ENV environment variable
basic.archive.threshold.enable
- Boolean which indicates if MyARM should monitor
transactions which exceed configured thresholds (true) or not
(false).
Default is false.
If this option is turned on, thresholds for certain transaction definitions can be activated within the myarmdaemon by using the appropriate myarmdaemon command.
basic.archive.threshold.filepattern
- File pattern (including directories) for selecting the
appropriate file for threshold data.
Default is thresholds/thresholds_%Y%m%d%H/%M.
The following format options are supported:
- %Y
- is replaced by the year of the start timestamp of the transaction
- %m
- is replaced by the month of the start timestamp of the transaction
- %d
- is replaced by the day of the start timestamp of the transaction
- %H
- is replaced by the hour of the start timestamp of the transaction
- %M
- is replaced by the minute of the start timestamp of the transaction
- %S
- is replaced by the second of the start timestamp of the transaction
- ${ENV}
- is replaced by the contents of the ENV environment variable
basic.archive.database.url
- Specifies the database connection parameters using the
URL syntax (including host, user and optional password). See
Database URL notation
for details.
Default is mysql://myarm@localhost:3306/?connections=4.
basic.archive.database.export.basename
- Specifies the base name of database instances used by the
myarmdaemon archive component to export
matching transactions from the archive into the configured database
(
basic.archive.database.url
). Each export will use basename as the prefix plus a given name to create a new database instance.Default is MyARMIncidients_.
basic.archive.database.threshold.name
- Specifies the database instance name to be used for
storing threshold data within the database. This property is only
used if
basic.archive.threshold.enable
is set to true.Default is MyARMThresholds.
basic.archive.late_data
- Defines the period in the past to define data as late.
Any data which arrives later in the archive will not be forwarded
to the Apache Spark connector.
Default is 15m (15 minutes), minimum is 1m (1 minute), maximum is 1h (1 hour).
basic.archive.cleanup.enable
- If set to true old archive data will be deleted
periodically.
Default is true.
basic.archive.cleanup.interval
- Specifies the period to periodically delete old archive
files.
Default is 1h (1 hour), minimum is 1m (1 minute), maximum is 24h (24 hours).
basic.archive.cleanup.keep_data
- Specifies the period to keep archive data within the
archive. Files older than current time minus this period will be
deleted.
Default is 28d (28 days), minimum is 1d (1 day), maximum is 365d (365 days).
basic.archive.user.context.script
- Specifies a shell script which is used by the
myarmbrowser to provide
context specific archive queries.
Default is "browser" (empty string).
The script needs to support at least the
--list-attributes
option to return a list of available options. Each supported option is specified by by a comma separated tuple ofCommand-option
,Name
, aRegular-Expression
matching a valid input of the attribute and aDescription
. Each entry can be quouted with double-quotes to include a comma as well. Here is an example:# command-option, name, reg-exp, description --user=,User,^.+ .+$,"Enter username (forename, surname or fore- and surname)" --email=,Email address,^.+@.+\..+$,Enter a valid email address
ARM data buffer configuration properties
basic.armdata.buffer.size
- various MyARM components are collecting ARM data into a memory buffer before further processing. The buffer size for this purpose can be configured using this property. By default this buffer is 16384 bytes of size which is also the minimum value for this property. The maximum size if 512KB.
basic.armdata.buffer.pool.size
- number of ARM data buffers to pre-allocate during
initialization of MyARM.
Default is 32, Minimum is 8, Maximum is defined by the
basic.armdata.buffer.pool.max
basic.armdata.buffer.pool.max
- maximum number of ARM data buffers MyARM will allocate.
If this limit is reached, any data which should be written to an
ARM data buffer is dropped and appropriate dropped counters are
increased.
Default is 512, Minimum is 256, Maximum is 1024.
File storage configuration properties
The following configuration properties belongs to the file storage reader part:
basic.filestorage.reader.directory
- defines the directory to scan for new ARM data
files.
Default directory is ${MYARM_VARLIB_DIR}/myarmfiles.
basic.filestorage.reader.directory.scan.period
- defines the number of seconds to scan the directory for
new files.
Default is 5s (5 seconds), minimum is 1s (1 second), maximum is 5m (5 minutes).
basic.filestorage.reader.directory.scan.keep_corrupt
- boolean which defines if corrupted ARM data files should
be kept or not. If kept the file is renamed by adding the suffix
.corrupt
.Default is true.
The following configuration properties belongs to the file storage writer part:
basic.filestorage.writer.workfile
- specifies the complete filename (including directory
names) for the work file. An unique suffix will be appended for
each running process. The ARM data is written to this file and when
its closed it is moved to the configured file storage reader
directory (
basic.filestorage.reader.directory
).Default is ${MYARM_VARLIB_DIR}/myarmfile.data.
basic.filestorage.writer.rolling.seconds
- specifies the number of seconds after which a new work
file will be used. The old work file will be moved to the
configured directory.
Default is 60s seconds.
basic.filestorage.writer.rolling.size
- specifies the maximal size in bytes of the work file. If
the work file gets bigger a new work file is opened and the old
work file is moved to the configured directory.
Default is 128KiB (128 kilobytes).
basic.filestorage.writer.diskusage.max_used
- specifies the maximal size in bytes of all ARM data files
in the file storage reader directory (
basic.filestorage.reader.directory
). If this limit is reached any new ARM data files will be dropped and an error will be reported.Default is 100MiB (100 megabytes).
basic.filestorage.writer.diskusage.min_free
- specifies the minimal free size in bytes of the file
system the file storage reader directory (
basic.filestorage.reader.directory
) resides. If this limit is reached any new ARM data files will be dropped and an error will be reported.Default is 200MiB (200 megabytes).
Runtime configuration properties
basic.runtime.config
(New since "4.0.x.0")- defines the local absolute filename to be used for storing and
reading the runtime configuration.
Default is ${MYARM_VARLIB_DIR}/runtime.cfg.
basic.runtime.config.period
(New since "4.0.x.0")- defines the number of seconds to check for a new runtime
configuration stored in the
basic.runtime.config
file.Default is 5m (5 minutes), minimum is 1m (1 minute), maximum is 1h (1 hour).
basic.runtime.config.client.host
(New since "4.0.x.0")- defines the host from which new runtime configuration
connections are accepted. This is the host or IP address where the
myarmadmin web application server part runs on.
Default is localhost.
basic.runtime.config.port
(New since "4.0.x.0")- defines the port to listen for new runtime configuration
connections.
Default is 5577.
Configuring the ARM agent
The behaviour of MyARM can be changed by the following agent properties. Note: not all properties are used for the different language binding agents. See the binding information for each property.
agent.correlator.add_user
- can be set to
yes
orno
and, if enabled the ARM agent adds a passed user identity to the generated correlator. This user identity within the correlator is afterwards used by sub-transactions and starts the sub-transactions on behalf of this user. Note: This will override the user identity passed with the standard ARM 4.0 API.Bindings: arm40c, arm40java, arm40c#.
agent.disabled
- with this boolean property the complete MyARM agent can be
disabled.
Default is false.
Bindings: arm40c, arm40java, arm40c#.
agent.flush.period
- defines the number of seconds after which all cached ARM data
are written to the configured backend.
The default is 10s (10 seconds), minimum is 1s (1 second), maximum is 5m (5 minutes).
Bindings: arm40c, arm40java, arm40c#.
agent.api.log.error
- if this boolean property is set to
true
, any invalid parameters passed through the ARM API are logged.Default is false.
Bindings: arm40c, arm40java, arm40c#.
agent.api.log.warning
- if this boolean property is set to
true
, any warnings regarding ARM 4.0 standard compliance are logged.Default is false.
Bindings: arm40c, arm40java, arm40c#.
agent.sink.name
- defines the name of the datasink to use. See "MySQL configuration
example".
Bindings: arm40c, arm40java, arm40c#.
agent.transaction.pool.size
- number of pre-allocated transaction instances for the
transaction pool. Increase this value if high frequency transaction
measurement is expected. When the instrumented application stops or
the resource
watchdog concept is enabled, a short message is written to the
log file which reports the number of used transaction instances.
With this information, it is possible to adjust the initial
transaction pool size so that no memory allocation is needed during
runtime.
Default is 128. Minimum is 32, Maximum is defined by the
agent.transaction.pool.max
property.Bindings: arm40c, arm40java, arm40c#.
agent.transaction.pool.max
- maximum number of transaction instances which are allocated by
MyARM. If this limit is reached and the instrumented application
starts a new transaction measurement, an error is returned and the
transaction dropped counter is increased by one.
Default is 1024. Minimum is 512, Maximum is 8192.
Bindings: arm40c, arm40java, arm40c#.
agent.transaction.waiting
- waiting time in milliseconds to try to process an transaction
before dropping it. In environments with high measurement
frequencies increasing this waiting time will result in less
dropped transactions.
Default is 1 millisecond. Minimum is 0 (disabling waiting), Maximum is 1000.
Bindings: arm40c, arm40java, arm40c#.
agent.metric.pool.size
- number of pre-allocated metric instances for the metric pool.
Increase this value if high frequency transaction measurement with
metrics are expected. When the instrumented application stops or
the resource
watchdog concept is enabled, a short message is written to the
log file which reports the number of used metric instances. With
this information, it is possible to adjust the initial metric pool
size so that no memory allocation is needed during runtime.
Default is 64. Minimum is 16, Maximum is defined by the
agent.metric.pool.max
property.Bindings: arm40c, arm40java.
agent.metric.pool.max
- maximum number of metric instances which are allocated by
MyARM. If this limit is reached and the instrumented application
tries to allocate new metrics a warning is returned and the metric
dropped counter is increased by the number of metrics that could
not be allocated.
Default is 512. Minimum is 256, Maximum is 4096.
Bindings: arm40c, arm40java.
agent.log
- configures the logging facility of the agent. See appendix
"Configuring log
facility" for details.
Bindings: arm40c, arm40java, arm40c#.
agent.log.datasink.level
- configures the logging level of log messages which also should
be written to the datasink and not only to the configured logging
destination. With this feature, logs can be centralized within the
configured database.
Default is error.
Bindings: arm40c, arm40java, arm40c#.
agent.filestorage
- configures the agent to use (true) or not to use (false) the
file storage concept for temporarily storing ARM data if the
configured datasink is not available.
Default is true.
Bindings: arm40c, arm40java.
Configuring agent binding API
agent.binding.api.return_ok
- boolean which defines whether all API calls should return ok
(zero) even if an error was detected.
Default is false.
Configuring the log facility
ARM postulates that in any circumstance the instrumented application has to continue working regardless of errors within the ARM agent or with the current instrumentation. Therefore any error or inconsistency within the ARM agent has to be hidden from the application. But in many situations the instrumentor should know if an error occurred within the ARM agent. Therefore, MyARM supports error and information reporting which can be configured using the following configuration parameters:
<component>.log.type
- Specifies the type of the reporting facility. One of the
following types can be used:
- none
- No reporting at all
- file
- Reports to the file specified via
log.file
- syslog
- Reports to the system log service (Unix)
- stderr, stdout
- Reports to standard error/output (file) channel (Unix)
<component>.log.level
- Specifies the level of detail for logging. Currently the
following levels are supported:
- none
- no logging at all
- error
- only log errors
- warning
- log warnings and errors
- status
- also log status information
- info
- some more information
- config
- log the read configuration of the different MyARM components
- max
- maximum logging information
<component>.log.datasink.level
- Specifies the log level for which log messages should also be reported to the datasink (e.g. will be stored in the centralized database). Default is error.
<component>.log.file
- Specifies the file to write any reporting information to.
<component>.log.file.mode
- Specifies the mode to open the file specified via
log.file
. Mode can be either "w
" to open the log file and possibly truncate the existing file or "a
" to append to the existing file. <component>.log.file.size
- If
log.file.generation
is enabled, this property specifies the maximum size of the log file in bytes. If this limit is reached, a new log file will be opened.Default is 1048576 (1MB).
<component>.log.file.generation
- Specify the maximum number of log files which will be generated
by the MyARM log component. In conjunction with the
log.file.size
property, MyARM will not use more bytes of hard disk space than the arithmetic product of these two properties. If this property is zero, the log file generation rotation is disabled and only one log file will be used. The latest log file has a suffix of.0
and the oldest log file generation has a suffix of.<generation>-1
.Default is 5.
<component>.log.format
- Specifies a template string used to format the log message. The
following format specifiers can be used:
- %A
- is replaced with the name of the MyARM application (e.g. myarmdaemon). For the agent log the last registered application definition name is used.
- %P
- is replaced with the current process id.
- %H
- is replaced with the current host name.
- %T
- is replaced with the internal thread id.
- %C
- is replaced with the component name.
- %N
- is replaced with the log message number.
- %I
- is replaced with the log message ID.
- %M
- is replaced with the log message. If this specifier is omitted, the log message is appended at the end of the line.
<component>.log.show.level
- Indicates that the log level should be logged
(
true
) or not (false
). <component>.log.show.time
- Indicates that the time of the log should be logged
(
true
) or not (false
). <component>.log.flush
- Specifies, if true, that after each log message a flush should be performed so that it is immediately written to its destination without any buffering. Error log messages will be flushed always.
<component>.log.syslog.facility
- Specifies the facility to use for syslog service. It supports 'local0' to 'local7' and 'user'. Default is 'user'.
Configuring the resource watchdog
The following configuration properties controls logging of resources:
<component>.resource.watchdog.period
- defines the period to log the resource usage. If the period is
zero, the resource usage is only reported on program termination.
Default is 5m (5 minutes), minimum is 0s (0 seconds), maximum is 1h (1 hour).
<component>.resource.watchdog.log.entities
- boolean which indicates to log (
true
) recorded, processed, stored and read entities or not (false
).Default is false.
<component>.resource.watchdog.log.tranpool
- boolean which indicates to log (
true
) transaction pool allocation or not (false
).Default is true.
<component>.resource.watchdog.log.metricpool
- boolean which indicates to log (
true
) metric pool allocation or not (false
).Default is false.
<component>.resource.watchdog.log.armdatapool
- boolean which indicates to log (
true
) ARM data buffer pool allocation or not (false
).Default is true.
<component>.resource.watchdog.log.dropped
- boolean which indicates to log (
true
) dropped entities or not (false
).Default is true.
<component>.resource.watchdog.log.transaction.calls
- boolean which indicates to log (
true
) number of calls to the appropriate ARM 4.0 C transaction function calls. Especially for arm_start_transaction() and arm_stop_transaction().Default is true.
The <component>
can be either:
- 'textttdaemon' for configuring the myarmdaemon.
- 'textttagent' for configuring the watchdog for any instrumented application.
Configuring the datasink component
This section describes how to configure a datasink which should be used to store all ARM data. MyARM supports a wide range of different datasinks, therefore the configuration of a datasink depends on its type. The common datasink properties are described below. For specific datasink configuration such as for a MySQL or MariaDB database see the appropriate sections in datasinks.
<name>.type
- specifies the type of the datasink (e.g. mysql or sqlite3).
The name
placeholder can be replaced by any other
word. For example if you use a MySQL database you can use the word
db_mysql
to clearly specify which datasink you
configure. To actually use this datasink configuration just specify
the name as the value for the <component>.sink.name
property of the appropriate component. For example, to use the
MySQL datasink directly from the instrumented application use the
following lines in your configuration file:
agent.sink.name = db_mysql db_mysql.type = mysql db_mysql.host = myhost db_mysql.user = myarm db_mysql.database.definition = MyARM_Def db_mysql.database.application= MyARM_App db_mysql.database.transaction= MyARM_Tran
Configuring command line tools
The following configuration properties are used to change the behaviour of all command line tools.
tools.source.name
- configures the name of the datasource to be used. This
property is normally set by a template configuration file. For
example the
tcp_sqlite3.conf
template file contains the following lines:# set sink for transporting ARM data to the myarmdaemon agent.sink.name = sink_tcp # set myarmdaemon database daemon.sink.name = db_sqlite3 daemon.source.name = db_sqlite3 daemon.collection.mode = tcp # set database name for command line tools tools.source.name = db_sqlite3 tools.sink.name = db_sqlite3 include main.conf
tools.sink.name
- configures the name of the datasink to be used by all tools (e.g. myarmimport). This property is normally set by a template configuration file. See template example above.
tools.rtformat
- configures the response time format used by all tools.
See "Configuring
response time formats" for details.
Default is ms.
Configuring date formats
Date values can be represented in various ways. MyARM supports the following date formatting patterns. Examples are given for the eleventh December 2009.
- DD.MM.YYYY
- day.month.year; for example
11.12.2009
- YYYY-MM-DD
- year-month-day; for example
2009-12-11
- MM/DD/YYYY
- month/day/year; for example
12/11/2009
- DD.MM.YY
- day.month.year with two digit year; for example
11.12.09
- YY-MM-DD
- year-month-day with two digit year; for example
09-12-11
- MM/DD/YY
- month/day/year with two digit year; for example
12/11/09
Configuring time formats
Time values can be represented in various ways. MyARM supports the following time formatting patterns:
- HH:MM:SS
hour:minute:second
; for example16:29:37
for nearly half past four in the afternoon.- HH:MM:SS.ZZZ
hour:minute:second.millisecond
; for example16:29:37.546
for nearly past four in the afternoon including millisecond precision.- HH:MM:SS AP
hour:minute:second
; in 12-hour clock notation for example04:29:37 PM
for nearly half past four in the afternoon.- HH:MM:SS.ZZZ AP
hour:minute:second.millisecond
; in 12-hour clock notation for example04:29:37.546 PM
for nearly half past four in the afternoon including millisecond precision.
Configuring response time formats
Response times can be in a wide range of time intervals according to their corresponding transactions. For long running transactions it is not useful to display the response time in micro- or even nanoseconds. But if you want to measure low level transactions it may be necessary to use such short time units. For this purpose, you can configure how MyARM tools display and parse response times:
rtfmt can be one of the following strings (letters in parentheses can be omitted):
- ns
- response times in nanoseconds
- µs or mic(s)
- response times in microseconds
- ms
- response times in milliseconds, nanoseconds remainder is omitted
- s(ec)
- response times in seconds, nanoseconds remainder is omitted
- m(in)
- response times in minutes, microseconds remainder is omitted
- h(our)
- response times in hours, microseconds remainder is omitted
- d(ay)
- response times in days, milliseconds remainder is omitted