A newer version is available. For the latest information, see the
current release documentation.
Transactions
edit
IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.
Transactions
editTransactions are events corresponding to an incoming request or similar task occurring in a monitored service.
Transaction Schema
editAPM Server uses JSON Schema to validate requests. The specification for transactions is defined on GitHub and included below:
{
"$id": "docs/spec/transactions/transaction.json",
"type": "object",
"description": "An event corresponding to an incoming request or similar task occurring in a monitored service",
"allOf": [
{ "$ref": "../timestamp_epoch.json" },
{ "$ref": "../transaction_name.json" },
{ "$ref": "../transaction_type.json" },
{
"properties": {
"id": {
"type": "string",
"description": "Hex encoded 64 random bits ID of the transaction.",
"maxLength": 1024
},
"trace_id": {
"description": "Hex encoded 128 random bits ID of the correlated trace.",
"type": "string",
"maxLength": 1024
},
"parent_id": {
"description": "Hex encoded 64 random bits ID of the parent transaction or span. Only root transactions of a trace do not have a parent_id, otherwise it needs to be set.",
"type": ["string", "null"],
"maxLength": 1024
},
"span_count": {
"type": "object",
"properties": {
"started": {
"type": "integer",
"description": "Number of correlated spans that are recorded."
},
"dropped": {
"type": ["integer","null"],
"description": "Number of spans that have been dropped by the agent recording the transaction."
}
},
"required": ["started"]
},
"context": {
"$ref": "../context.json"
},
"duration": {
"type": "number",
"description": "How long the transaction took to complete, in ms with 3 decimal points",
"minimum": 0
},
"result": {
"type": ["string", "null"],
"description": "The result of the transaction. For HTTP-related transactions, this should be the status code formatted like 'HTTP 2xx'.",
"maxLength": 1024
},
"marks": {
"type": ["object", "null"],
"description": "A mark captures the timing of a significant event during the lifetime of a transaction. Marks are organized into groups and can be set by the user or the agent.",
"patternProperties": {
"^[^.*\"]*$": {
"$ref": "mark.json"
}
},
"additionalProperties": false
},
"sampled": {
"type": ["boolean", "null"],
"description": "Transactions that are 'sampled' will include all available information. Transactions that are not sampled will not have 'spans' or 'context'. Defaults to true."
}
},
"required": ["id", "trace_id", "span_count", "duration", "type"]
}
]
}