ARM 4.0 Defines
[ARM 4.0]



#define ARM_FALSE   0
 ARM false boolean.
#define ARM_TRUE   1
 ARM true boolean.
#define ARM_STATUS_GOOD   0
 transaction completed successfully
#define ARM_STATUS_ABORTED   1
 transaction was aborted before it completed.
#define ARM_STATUS_FAILED   2
 transaction completed in error
#define ARM_STATUS_UNKNOWN   3
 transaction completed but the status was unknown.
#define ARM_ERROR_CODE_RESERVED_MIN   -20999
 reserved error code minimum start
#define ARM_ERROR_CODE_RESERVED_MAX   -20000
 reserved error code maximum end
#define ARM_SUBBUFFER_USER   3
 User sub-buffer format see arm_subbuffer_user_t.
#define ARM_SUBBUFFER_ARRIVAL_TIME   4
 Arrival time sub-buffer format see arm_subbuffer_arrival_time_t.
#define ARM_SUBBUFFER_METRIC_VALUES   5
 Metric values sub-buffer format see arm_subbuffer_metric_values_t.
#define ARM_SUBBUFFER_SYSTEM_ADDRESS   6
 System address sub-buffer format see arm_subbuffer_system_address_t.
#define ARM_SUBBUFFER_DIAG_DETAIL   7
 Diagnostic detail sub-buffer format see arm_subbuffer_diag_detail_t.
#define ARM_SUBBUFFER_APP_IDENTITY   102
 Application identity sub-buffer format see arm_subbuffer_app_identity_t.
#define ARM_SUBBUFFER_APP_CONTEXT   103
 Application context sub-buffer format see arm_subbuffer_app_context_t.
#define ARM_SUBBUFFER_TRAN_IDENTITY   104
 Transaction identity sub-buffer format see arm_subbuffer_tran_identity_t.
#define ARM_SUBBUFFER_TRAN_CONTEXT   105
 Transaction context sub-buffer format see arm_subbuffer_tran_context_t.
#define ARM_SUBBUFFER_METRIC_BINDINGS   106
 Metric bindings sub-buffer format see arm_subbuffer_metric_bindings_t.
#define ARM_SUBBUFFER_CHARSET   107
 Character set encoding sub-buffer format see arm_subbuffer_charset_t.
#define ARM_METRIC_FORMAT_RESERVED   0
 Reserved metric format.
#define ARM_METRIC_FORMAT_COUNTER32   1
 arm_int32_t counter
#define ARM_METRIC_FORMAT_COUNTER64   2
 arm_int64_t counter
#define ARM_METRIC_FORMAT_CNTRDIVR32   3
 arm_int32_t counter + arm_int32_t divisor
#define ARM_METRIC_FORMAT_GAUGE32   4
 arm_int32_t gauge
#define ARM_METRIC_FORMAT_GAUGE64   5
 arm_int64_t gauge
#define ARM_METRIC_FORMAT_GAUGEDIVR32   6
 arm_int32_t gauge + arm_int32_t divisor
#define ARM_METRIC_FORMAT_NUMERICID32   7
 arm_int32_t numeric ID
#define ARM_METRIC_FORMAT_NUMERICID64   8
 arm_int64_t numeric ID
#define ARM_METRIC_FORMAT_STRING32   10
 string (null-terminated) of a maximum length of 32 characters (33 including the null termination character)
#define ARM_METRIC_USE_GENERAL   0
 a metric without a specified usage.
#define ARM_METRIC_USE_TRAN_SIZE   1
 a metric that indicates the "size" of a transaction.
#define ARM_METRIC_USE_TRAN_STATUS   2
 a metric that further explains the transaction status such as a sense code that explains why a transaction failed.
#define ARM_METRIC_MIN_ARRAY_INDEX   0
 minimum array index for metric values and bindings.
#define ARM_METRIC_MAX_ARRAY_INDEX   6
 maximum array index for metric values and bindings.
#define ARM_METRIC_MAX_COUNT   7
 maximum array count for metric values and bindings.
#define ARM_METRIC_STRING32_MAX_CHARS   31
 maximum characters for a string metric
#define ARM_METRIC_STRING32_MAX_LENGTH   (ARM_METRIC_STRING32_MAX_CHARS*3+1)
 maximum bytes for a string metric
#define ARM_NAME_MAX_CHARS   127
 maximum characters for names
#define ARM_NAME_MAX_LENGTH   (ARM_NAME_MAX_CHARS*3+1)
 maximum number of bytes for names
#define ARM_DIAG_DETAIL_MAX_CHARS   4095
 maximum characters for diagnostic detail string
#define ARM_DIAG_DETAIL_MAX_LENGTH   (ARM_DIAG_DETAIL_MAX_CHARS*3+1)
 maximum number of bytes for diagnostic detail string
#define ARM_MSG_BUFFER_CHARS   255
 maximum characters for message buffers
#define ARM_MSG_BUFFER_LENGTH   (ARM_MSG_BUFFER_CHARS*3+1)
 maximum number of bytes for message buffers
#define ARM_PROPERTY_MIN_ARRAY_INDEX   0
 minimum array index for property names and values
#define ARM_PROPERTY_MAX_ARRAY_INDEX   19
 maximum array index for property names and values
#define ARM_PROPERTY_MAX_COUNT   20
 maximum array count for property names and values
#define ARM_PROPERTY_NAME_MAX_CHARS   (ARM_NAME_MAX_CHARS)
 maximum characters for property names
#define ARM_PROPERTY_NAME_MAX_LENGTH   (ARM_PROPERTY_NAME_MAX_CHARS*3+1)
 maximum number of bytes for property names
#define ARM_PROPERTY_VALUE_MAX_CHARS   255
 maximum characters for property values
#define ARM_PROPERTY_VALUE_MAX_LENGTH   (ARM_PROPERTY_VALUE_MAX_CHARS*3+1)
 maximum number of bytes for property values
#define ARM_PROPERTY_URI_MAX_CHARS   4095
 maximum characters for a uri property
#define ARM_PROPERTY_URI_MAX_LENGTH   (ARM_PROPERTY_URI_MAX_CHARS*3+1)
 maximum number of bytes for a uri property
#define ARM_SYSADDR_FORMAT_RESERVED   0
 reserved by the standard
#define ARM_SYSADDR_FORMAT_IPV4   1
 IP address.
#define ARM_SYSADDR_FORMAT_IPV4PORT   2
 IP address and port number.
#define ARM_SYSADDR_FORMAT_IPV6   3
 IP v6 address.
#define ARM_SYSADDR_FORMAT_IPV6PORT   4
 IP v6 address and port number.
#define ARM_SYSADDR_FORMAT_SNA   5
 SNA address.
#define ARM_SYSADDR_FORMAT_X25   6
 X25 address.
#define ARM_SYSADDR_FORMAT_HOSTNAME   7
 hostname string
#define ARM_SYSADDR_FORMAT_UUID   8
 UUID address alias.
#define ARM_CHARSET_ASCII   3
 ASCII-7 (US-ASCII) mandatory on all systems.
#define ARM_CHARSET_UTF8   106
 UTF-8 (UCS-2 characters only) mandatory on all systems.
#define ARM_CHARSET_UTF16BE   1013
 UTF-16 Big Endian (UCS-2 characters only).
#define ARM_CHARSET_UTF16LE   1014
 UTF-16 Little Endian (UCS-2 characters only) mandatory on Microsoft Windows.
#define ARM_CHARSET_UTF16   1015
 UTF-16 Little and Big Endian (UCS-2 characters only).
#define ARM_CHARSET_IBM037   2028
 IBM037 mandatory on IBM iSeries.
#define ARM_CHARSET_IBM1047   2102
 IBM1047 mandatory on IBM zSeries.
#define ARM_FLAG_NONE   (0x00000000)
 use instead of zero to be more readable.
#define ARM_FLAG_TRACE_REQUEST   (0x00000001)
 is set to 1 if the application requests/suggests a trace.
#define ARM_FLAG_BIND_THREAD   (0x00000002)
 is set to 1 if the started transaction is bound to this thread.
#define ARM_FLAG_CORR_IN_PROCESS   (0x00000004)
 is set to 1 if the application is stating that it will not send the correlator outside the current process.
#define ARM_CORR_MAX_LENGTH   512
 total maximal length of an ARM 4.x correlator.
#define ARM_CORR_FLAGNUM_APP_TRACE   1
 Application trace flag number.
#define ARM_CORR_FLAGNUM_AGENT_TRACE   2
 Agent trace flag number.
#define ARM_CORR_NONE   ((arm_correlator_t *) NULL)
 Used to pass no correlator to various functions calls (e.g. arm_start_transaction()).
#define ARM_USE_CURRENT_TIME   ((arm_stop_time_t)-1)
 short cut for capturing the current time within arm_report_transaction().
#define ARM_BUF4_NONE   ((arm_buffer4_t*) NULL)
 to be used instead of a NULL to be more readable for arm_buffer4_t null pointers.
#define ARM_ID_NONE   ((arm_id_t *) NULL)
 to be used instead of a NULL to be more readable for arm_id_t null pointers.
#define ARM_STRING_NONE   ((arm_char_t *) NULL)
 to be used instead of a NULL to be more readable.

Define Documentation

#define ARM_CORR_FLAGNUM_AGENT_TRACE   2

Agent trace flag number.

See also:
arm_get_correlator_flags()
#define ARM_CORR_FLAGNUM_APP_TRACE   1

Application trace flag number.

See also:
arm_get_correlator_flags()
#define ARM_FLAG_BIND_THREAD   (0x00000002)

is set to 1 if the started transaction is bound to this thread.

Setting this flag is equivalent to immediately calling arm_bind_thread() after the arm_start_transaction() completes, except the timing is a little more accurate and the extra call is avoided.

#define ARM_FLAG_CORR_IN_PROCESS   (0x00000004)

is set to 1 if the application is stating that it will not send the correlator outside the current process.

This flag can be passed to:

An ARM implementation may be able to optimize correlator handling if it knows this, because it may be able to avoid serialization to create the correlator.

Note:
The agent need not support in-process correlation at all.
#define ARM_FLAG_TRACE_REQUEST   (0x00000001)

is set to 1 if the application requests/suggests a trace.

Could be used in the following calls to request a trace:

Note:
The agent need not support instance tracing, so to be sure check the generated correlator using the arm_get_correlator_flags() function.
#define ARM_METRIC_USE_GENERAL   0

a metric without a specified usage.

Most metrics are described with a GENERAL usage.

#define ARM_METRIC_USE_TRAN_SIZE   1

a metric that indicates the "size" of a transaction.

The "size" is something that would be expected to affect the response time, such as the number of bytes in a file transfer or the number of files backed up by a "backup" transaction. ARM implementations can use this knowledge to better interpret the response time.

#define ARM_METRIC_USE_TRAN_STATUS   2

a metric that further explains the transaction status such as a sense code that explains why a transaction failed.

The metric is a status code (numeric ID) or text message (string). It would typically be used with arm_stop_transaction() or arm_report_transaction() to provide additional details about a transaction status of Failed.

#define ARM_STATUS_ABORTED   1

transaction was aborted before it completed.

For example, the user might have pressed "Stop" or "Back" on a browser while a transaction was in process, causing the transaction, as measured at the browser, to be aborted.

#define ARM_STATUS_UNKNOWN   3

transaction completed but the status was unknown.

This would most likely occur if middleware or some other form of proxy instrumentation measured the transaction. This instrumentation may know enough to know when the transaction starts and stops, but does not understand the application-specific semantics sufficiently well to know whether the transaction was successful.

#define ARM_SYSADDR_FORMAT_HOSTNAME   7

hostname string

  • Bytes 0:?? = hostname (characters, not null-terminated), where ?? is determined based on the arm_int16_t address_length field.
#define ARM_SYSADDR_FORMAT_IPV4   1

IP address.

  • Bytes 0:3 = 4-byte IP address
#define ARM_SYSADDR_FORMAT_IPV4PORT   2

IP address and port number.

  • Bytes 0:3 = 4-byte IP address
  • Bytes 4:5 = 2-byte IP port number
#define ARM_SYSADDR_FORMAT_IPV6   3

IP v6 address.

  • Bytes 0:15 = 16-byte IP address
#define ARM_SYSADDR_FORMAT_IPV6PORT   4

IP v6 address and port number.

  • Bytes 0:15 = 16-byte IP address
  • Bytes 16:17 = 2-byte IP port number
#define ARM_SYSADDR_FORMAT_SNA   5

SNA address.

  • Bytes 0:7 = EBCDIC-encoded network ID
  • Bytes 8:15 = EBCDIC-encoded network accessible unit (control point or LU)
#define ARM_SYSADDR_FORMAT_UUID   8

UUID address alias.

  • Bytes 0:15 = UUID in binary. This is useful for applications that define their system by a UUID rather than a network address or hostname or some other address form.
#define ARM_SYSADDR_FORMAT_X25   6

X25 address.

  • Bytes 0:15 = the X.25 address (also referred to as an X.121 address). This is up to 16 ASCII character digits ranging from 0-9.
 All Data Structures Files Functions Variables Typedefs Defines