{ "$schema": "http://json-schema.org/draft-04/schema#", "description": "Segment document schema", "version": "1.0.0", "type": "object", "properties": { "name": { "type": "string", "pattern": "^[A-Za-z\\u00aa\\u00b5\\u00ba\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u08a0-\\u08b4\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16f1-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2183\\u2184\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005\\u3006\\u3031-\\u3035\\u303b\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fd5\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6e5\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7ad\\ua7b0-\\ua7b7\\ua7f7-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab65\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc \\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u30000-9\\u00b2\\u00b3\\u00b9\\u00bc-\\u00be\\u0660-\\u0669\\u06f0-\\u06f9\\u07c0-\\u07c9\\u0966-\\u096f\\u09e6-\\u09ef\\u09f4-\\u09f9\\u0a66-\\u0a6f\\u0ae6-\\u0aef\\u0b66-\\u0b6f\\u0b72-\\u0b77\\u0be6-\\u0bf2\\u0c66-\\u0c6f\\u0c78-\\u0c7e\\u0ce6-\\u0cef\\u0d66-\\u0d75\\u0de6-\\u0def\\u0e50-\\u0e59\\u0ed0-\\u0ed9\\u0f20-\\u0f33\\u1040-\\u1049\\u1090-\\u1099\\u1369-\\u137c\\u16ee-\\u16f0\\u17e0-\\u17e9\\u17f0-\\u17f9\\u1810-\\u1819\\u1946-\\u194f\\u19d0-\\u19da\\u1a80-\\u1a89\\u1a90-\\u1a99\\u1b50-\\u1b59\\u1bb0-\\u1bb9\\u1c40-\\u1c49\\u1c50-\\u1c59\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2150-\\u2182\\u2185-\\u2189\\u2460-\\u249b\\u24ea-\\u24ff\\u2776-\\u2793\\u2cfd\\u3007\\u3021-\\u3029\\u3038-\\u303a\\u3192-\\u3195\\u3220-\\u3229\\u3248-\\u324f\\u3251-\\u325f\\u3280-\\u3289\\u32b1-\\u32bf\\ua620-\\ua629\\ua6e6-\\ua6ef\\ua830-\\ua835\\ua8d0-\\ua8d9\\ua900-\\ua909\\ua9d0-\\ua9d9\\ua9f0-\\ua9f9\\uaa50-\\uaa59\\uabf0-\\uabf9\\uff10-\\uff19_.:\/%&#=+\\-@]{1,200}$", "java_pattern": "([\\p{L}\\p{Z}\\p{N}_.:/%&#=+\\-@]*)$" }, "id": { "type": "string", "minLength": 16, "maxLength": 16 }, "start_time": { "type": "number" }, "trace_id": { "type": "string", "minLength": 35, "pattern": "\\d+-[A-Fa-f0-9]*-[A-Fa-f0-9]{24}" }, "end_time": { "type": "number" }, "in_progress": { "type": "boolean" }, "fault": { "type": "boolean" }, "error": { "type": "boolean" }, "throttle": { "type": "boolean" }, "user": { "type": "string", "maxLength": 250 }, "resource_arn": { "type": "string" }, "origin": { "type": "string" }, "parent_id": { "type": "string", "minLength": 16, "maxLength": 16 }, "cause": { "oneOf": [ { "type": "string", "minLength": 16, "maxLength": 16 }, { "type": "object", "properties": { "working_directory": { "type": "string" }, "paths": { "type": "array", "items": { "type": "string" } }, "exceptions": { "type": "array", "items": { "$ref": "#/definitions/exception" } } } } ] }, "annotations": { "type": "object", "patternProperties": { "^[a-zA-Z0-9_]{1,500}$": { "type": ["string", "number", "boolean"], "maxLength": 1000 } }, "additionalProperties": false }, "metadata": { "type": "object", "additionalProperties": { "type": "object" } }, "subsegments": { "type": "array", "items": { "$ref": "#/definitions/subsegment" } }, "http": { "type": "object", "properties": { "request": { "type": "object", "properties": { "method": { "type": "string", "maxLength": 250 }, "client_ip": { "type": "string", "maxLength": 250 }, "url": { "type": "string", "maxLength": 250 }, "user_agent": { "type": "string", "maxLength": 250 }, "x_forwarded_for": { "type": "boolean" } } }, "response": { "type": "object", "properties": { "status": { "type": "number" }, "content_length": { "type": "number" } } } } }, "aws": { "type": "object", "properties": { "account_id": { "type": "string" }, "ecs": { "type": "object", "properties": { "container": { "type": "string" } } }, "ec2": { "type": "object", "properties": { "instance_id": { "type": "string" }, "availability_zone": { "type": "string" } } }, "elastic_beanstalk": { "type": "object", "properties": { "environment_name": { "type": "string" }, "version_label": { "type": "string" }, "deployment_id": { "type": "number" } } }, "tracing": { "type": "object", "properties": { "sdk": { "type": "string" } } } } }, "service": { "type": "object", "properties": { "version": { "type": "string" } } } }, "required": [ "name", "id", "start_time", "trace_id" ], "definitions": { "exception": { "description": "Exception schema", "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "minLength": 16, "maxLength": 16 }, "message": { "type": "string" }, "type": { "type": "string" }, "remote": { "type": "boolean" }, "truncated": { "type": "integer" }, "skipped": { "type": "integer" }, "cause": { "type": "string" }, "stack": { "type": "array", "items": { "$ref": "#/definitions/stackFrame" } } } }, "stackFrame": { "description": "Stack frame schema", "type": "object", "properties": { "path": { "type": "string" }, "line": { "type": "integer" }, "label": { "type": "string" } } }, "subsegment": { "description": "Subsegment document schema", "type": "object", "required": [ "name", "id", "start_time" ], "properties": { "name": { "type": "string", "minLength": 1 }, "start_time": { "type": "number" }, "end_time": { "type": "number" }, "in_progress": { "type": "boolean" }, "fault": { "type": "boolean" }, "error": { "type": "boolean" }, "throttle": { "type": "boolean" }, "namespace": { "type": "string" }, "parent_id": { "type": "string" }, "traced": { "type": "boolean" }, "precursor_ids": { "type": "array", "items": { "type": "string" } }, "cause": { "oneOf": [ { "type": "string", "minLength": 16, "maxLength": 16 }, { "type": "object", "properties": { "working_directory": { "type": "string" }, "paths": { "type": "array", "items": { "type": "string" } }, "exceptions": { "type": "array", "items": { "$ref": "#/definitions/exception" } } } } ] }, "annotations": { "type": "object", "patternProperties": { "^[a-zA-Z0-9_]{1,500}$": { "type": ["string", "number", "boolean"], "maxLength": 1000 } }, "additionalProperties": false }, "metadata": { "type": "object", "additionalProperties": { "type": "object" } }, "type": { "type": "string" }, "subsegments": { "type": "array", "items": { "$ref": "#/definitions/subsegment" } }, "http": { "type": "object", "properties": { "request": { "type": "object", "properties": { "url": { "type": "string", "maxLength": 250 }, "method": { "type": "string", "maxLength": 250 }, "user_agent": { "type": "string", "maxLength": 250 }, "client_ip": { "type": "string", "maxLength": 250 } } }, "response": { "type": "object", "properties": { "content_length": { "type": "number" }, "status": { "type": "number" } } } } }, "aws": { "type": "object", "properties": { "operation": { "type": "string" }, "account_id": { "type": "string" }, "region": { "type": "string" }, "request_id": { "type": "string" }, "queue_url": { "type": "string" }, "table_name": { "type": "string" } } }, "sql": { "type": "object", "properties": { "connection_string": { "type": "string" }, "url": { "type": "string" }, "sanitized_query": { "type": "string" }, "database_type": { "type": "string" }, "database_version": { "type": "string" }, "driver_version": { "type": "string" }, "user": { "type": "string", "maxLength": 250 }, "preparation": { "type": "string" } } } } } } }