ARM 4.0 Properties
[ARM 4.0]
Data Structures | |
struct | arm_property |
defines a name value property pair. More... | |
struct | arm_subbuffer_app_identity |
used to specify additional identity properties for an application More... | |
struct | arm_subbuffer_app_context |
used to associate context properties to an application instance. More... | |
struct | arm_subbuffer_tran_identity |
used to specify additional identity properties for a transaction More... | |
struct | arm_subbuffer_tran_context |
used to associate context properties to a transaction instance. More... | |
Modules | |
Identity properties | |
Context properties | |
Typedefs | |
typedef struct arm_property | arm_property_t |
defines a name value property pair. | |
| |
#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 |
Detailed Description
ARM 4.0/4.1 uses two types of properties to describe applications and transactions: "identity" properties (for applications and transactions), and "context" properties (for applications and transactions). Each property consists of a name string and a value string.
They differ based on when the names and/or values are set, as shown in the following table
Type of Property | Same for all Instances | May Vary per Instance |
---|---|---|
Identity Property (applications and transactions) | Name and Value | |
Context Property (applications and transactions) | Name | Value |
When deciding which property type to use, instrumenters should be aware of the trade-offs:
- Processing of identity properties can generally be optimized more than processing of context properties because it can be done once at registration time for both the names and the values and apply to all transaction instances.
- Processing of context property values may occur for every transaction instance. This increases overhead but it is a good practice if each transaction "flavor", where a flavor represents a different combination of properties, is a slight variation on the same type of transaction. An implementation that does not process the context properties could still provide useful reports if the performance characteristics of each flavor are similar.