V1.1 with updated JSON and XMF types and proper references.
Showing
7 changed files
with
1046 additions
and
0 deletions
Tensor/V1.1/ApiBase.xid.xml
0 → 100644
| 1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
| 2 | |||
| 3 | <!-- | ||
| 4 | Copyright (c) 2018, TeleCommunication Systems, Inc., | ||
| 5 | a wholly-owned subsidiary of Comtech Telecommunications Corp. | ||
| 6 | and/or affiliates of TeleCommunication Systems, Inc. | ||
| 7 | All rights reserved. | ||
| 8 | TeleCommunication Systems, Inc. PROPRIETARY/CONFIDENTIAL. | ||
| 9 | Use is subject to license terms included in the distribution. | ||
| 10 | --> | ||
| 11 | |||
| 12 | <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 13 | xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 14 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 15 | xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 16 | identity="ApiBase.xid.xml"> | ||
| 17 | |||
| 18 | <title>Tensor Microservices API Base Definitions</title> | ||
| 19 | <comment> | ||
| 20 | This document defines the common types API service interface (input and output base structures) for the Tensor microservices definitions. | ||
| 21 | </comment> | ||
| 22 | <import ref="https://xid.location.studio/Tensor/V1.1/Common.xid.xml" local="Common.xid.xml" /> | ||
| 23 | |||
| 24 | <namespace name="Tensor"> | ||
| 25 | |||
| 26 | <!-- | ||
| 27 | ******************************* | ||
| 28 | *InputBase Type Definition | ||
| 29 | ******************************* | ||
| 30 | --> | ||
| 31 | <struct name="InputBase" > | ||
| 32 | <comment>Base input fields for operations supporting asynchronous transaction information.</comment> | ||
| 33 | <elem name="devid" multiplicity="0..1" type="string" ord="64"> | ||
| 34 | <comment> | ||
| 35 | Optional device identifier, that provides a consistent multi-transaction identifier | ||
| 36 | for a device or equivalent (e.g. service identifier) providing the data. Any errors or issues resulting from processing the data will include this identifier | ||
| 37 | in the system logs, providing traceability. Identifier should be unique. | ||
| 38 | </comment> | ||
| 39 | </elem> | ||
| 40 | <elem name="etid" multiplicity="0..1" type="string" ord="65"> | ||
| 41 | <comment> | ||
| 42 | Optional external transaction identifier for the caller to uniquely identify and track | ||
| 43 | the transaction and corresponding results. These identifiers will appear in the | ||
| 44 | service logs for traceability analysis. The format of the transaction identifier is up to the caller | ||
| 45 | and can be anything: e.g. [uuid], [id1.subid0], [numerical], etc. This data is never interpreted by | ||
| 46 | the service. | ||
| 47 | </comment> | ||
| 48 | </elem> | ||
| 49 | <elem name="directive" multiplicity="0..*" type="NameValue" ord="66"> | ||
| 50 | <comment> | ||
| 51 | A set of directives to influence processing. | ||
| 52 | </comment> | ||
| 53 | </elem> | ||
| 54 | </struct> | ||
| 55 | |||
| 56 | |||
| 57 | <!-- | ||
| 58 | ******************************* | ||
| 59 | *OutputBase Type Definition | ||
| 60 | ******************************* | ||
| 61 | --> | ||
| 62 | <struct name="OutputBase" > | ||
| 63 | <comment>Base output fields common to operations supporting asynchronous returning transaction information.</comment> | ||
| 64 | <elem name="devid" multiplicity="0..1" type="string" ord="64"> | ||
| 65 | <comment> | ||
| 66 | Device identifier provided at operation input, provides a consistent identifier | ||
| 67 | for a device or equivalent (e.g. service identifier) providing the data. Any errors or issues resulting from processing the data will include this identifier | ||
| 68 | in the service logs, providing traceability. | ||
| 69 | </comment> | ||
| 70 | </elem> | ||
| 71 | |||
| 72 | <elem name="etid" multiplicity="0..1" type="string" ord="65"> | ||
| 73 | <comment> | ||
| 74 | Optional external transaction identifier for the caller to uniquely identify and track | ||
| 75 | the transaction and corresponding results. These identifiers appear in the | ||
| 76 | ILP system logs for traceability analysis. The format of the transaction identifier is up to the caller | ||
| 77 | and can be anything: e.g. [uuid], [id1.subid0], [numerical], etc. This data is never interpreted by | ||
| 78 | the ILP system. | ||
| 79 | </comment> | ||
| 80 | |||
| 81 | </elem> | ||
| 82 | |||
| 83 | <elem name="resultcode" type="ResultCode" multiplicity="1" ord="66"> | ||
| 84 | <comment>Result of the operation.</comment> | ||
| 85 | </elem> | ||
| 86 | |||
| 87 | <elem name="errinfo" type="Tensor.string" multiplicity="0..1" ord="67"> | ||
| 88 | <comment>Error information if result was not success.</comment> | ||
| 89 | </elem> | ||
| 90 | |||
| 91 | </struct> | ||
| 92 | |||
| 93 | </namespace> | ||
| 94 | </specification> | 
Tensor/V1.1/Command.xid.xml
0 → 100644
| 1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
| 2 | |||
| 3 | <!-- | ||
| 4 | Copyright (c) 2017, TeleCommunication Systems, Inc., | ||
| 5 | a wholly-owned subsidiary of Comtech Telecommunications Corp. | ||
| 6 | and/or affiliates of TeleCommunication Systems, Inc. | ||
| 7 | All rights reserved. | ||
| 8 | TeleCommunication Systems, Inc. PROPRIETARY/CONFIDENTIAL. | ||
| 9 | Use is subject to license terms included in the distribution. | ||
| 10 | --> | ||
| 11 | |||
| 12 | <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 13 | xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 14 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 15 | xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 16 | identity="Command.xid.xml"> | ||
| 17 | <title>Tensor Command</title> | ||
| 18 | <comment></comment> | ||
| 19 | <artifact></artifact> | ||
| 20 | |||
| 21 | <import ref="https://xid.location.studio/Tensor/V1.1/Common.xid.xml" local="Common.xid.xml" /> | ||
| 22 | |||
| 23 | <namespace name="Tensor"> | ||
| 24 | |||
| 25 | <!-- | ||
| 26 | ************************************ | ||
| 27 | * Command API Implementation | ||
| 28 | ************************************ | ||
| 29 | --> | ||
| 30 | <struct name="Command"> | ||
| 31 | <comment>A TPF command structure compatible with the TPF Framework Commander Component.</comment> | ||
| 32 | <elem name="name" type="Tensor.string" multiplicity="1" ord="64"> | ||
| 33 | <comment>The command name including scope specifiers. Convention is to use a '.' as a scope separator | ||
| 34 | such as[component name].[command name].</comment> | ||
| 35 | </elem> | ||
| 36 | |||
| 37 | <elem name="etid" type="Tensor.string" multiplicity="0..1" ord="65"> | ||
| 38 | <comment> | ||
| 39 | Optional external transaction identifier for the caller to uniquely identify and track | ||
| 40 | the command and corresponding results. | ||
| 41 | </comment> | ||
| 42 | </elem> | ||
| 43 | |||
| 44 | <elem name="argument" type="NameValue" multiplicity="0..*" ord="66"> | ||
| 45 | <comment> | ||
| 46 | Each command may have zero or more arguments. | ||
| 47 | They may be name/value or oridinal/value arguments. | ||
| 48 | Both name and value are required. | ||
| 49 | </comment> | ||
| 50 | </elem> | ||
| 51 | </struct> | ||
| 52 | |||
| 53 | <struct name="CommandResponse"> | ||
| 54 | <comment> | ||
| 55 | The command response structure containing information resulting from executing the | ||
| 56 | command (success or failure). Check the result code for details on status of executing the | ||
| 57 | command a value of 1 means success, value of 0 is undefined, See ResultCode for other standard | ||
| 58 | result codes. Each operation may define additional codes. | ||
| 59 | </comment> | ||
| 60 | <elem name="name" type="Tensor.string" multiplicity="1" ord="64"> | ||
| 61 | <comment> | ||
| 62 | The command name including scope specifiers. Convention is to use a '.' as a scope separator | ||
| 63 | such as[component name].[command name]. | ||
| 64 | </comment> | ||
| 65 | </elem> | ||
| 66 | |||
| 67 | <elem name="etid" type="Tensor.string" multiplicity="0..1" ord="65"> | ||
| 68 | <comment> | ||
| 69 | Optional external transaction identifier for the caller to uniquely identify and track | ||
| 70 | the command and corresponding results. | ||
| 71 | </comment> | ||
| 72 | </elem> | ||
| 73 | |||
| 74 | <elem name="result" type="Tensor.int8" multiplicity="1" ord="66"> | ||
| 75 | <comment>The processing result code. 1 is success, 0 is undefined, -1 is a failure.</comment> | ||
| 76 | </elem> | ||
| 77 | |||
| 78 | <elem name="output" type="Tensor.string" multiplicity="0..1" ord="67"> | ||
| 79 | <comment> | ||
| 80 | Optional command output stored as a string. Interpeting the output data is dependent upon the | ||
| 81 | command function executed and what data formats are as an encodded string. | ||
| 82 | </comment> | ||
| 83 | </elem> | ||
| 84 | </struct> | ||
| 85 | |||
| 86 | <interface name="CommandApi"> | ||
| 87 | <comment>Interface executing commands inside TPF Containers.</comment> | ||
| 88 | |||
| 89 | <operation name="Execute"> | ||
| 90 | <comment> | ||
| 91 | Executes the specified command elements. Can specify whether to return responses (default true) or not using wantresponses. | ||
| 92 | </comment> | ||
| 93 | <input name="input" sid="0x0100"> | ||
| 94 | <elem name="commands" multiplicity="1..*" type="Command" ord="64"/> | ||
| 95 | <elem name="wantresponses" multiplicity="1" type="Tensor.bool" ord="65" default="true"/> | ||
| 96 | </input> | ||
| 97 | <output name="output" sid="0x0101"> | ||
| 98 | <elem name="lastcommand" type="Tensor.int8" multiplicity="1" ord="64"> | ||
| 99 | <comment>The index of the last command executed. If this is less than the total number of commands a failure occurred.</comment> | ||
| 100 | </elem> | ||
| 101 | <elem name="lastresult" type="Tensor.int8" multiplicity="1" ord="65"> | ||
| 102 | <comment>The last processing result code. 1 is success, 0 is undefined, -1 is a failure.</comment> | ||
| 103 | </elem> | ||
| 104 | <elem name="responses" type="CommandResponse" multiplicity="1..*" ord="66"> | ||
| 105 | <comment>A command response for each command executed.</comment> | ||
| 106 | </elem> | ||
| 107 | </output> | ||
| 108 | </operation> | ||
| 109 | </interface> | ||
| 110 | </namespace> | ||
| 111 | </specification> | 
Tensor/V1.1/Common.xid.xml
0 → 100644
| 1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
| 2 | |||
| 3 | <!-- | ||
| 4 | Copyright (c) 2017, TeleCommunication Systems, Inc., | ||
| 5 | a wholly-owned subsidiary of Comtech Telecommunications Corp. | ||
| 6 | and/or affiliates of TeleCommunication Systems, Inc. | ||
| 7 | All rights reserved. | ||
| 8 | TeleCommunication Systems, Inc. PROPRIETARY/CONFIDENTIAL. | ||
| 9 | Use is subject to license terms included in the distribution. | ||
| 10 | --> | ||
| 11 | |||
| 12 | <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 13 | xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 14 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 15 | xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 16 | identity="Common.xid.xml"> | ||
| 17 | <title>Tensor Common Definitions</title> | ||
| 18 | <comment></comment> | ||
| 19 | <artifact></artifact> | ||
| 20 | |||
| 21 | <import ref="https://xid.location.studio/Tensor/V1.1/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
| 22 | |||
| 23 | <namespace name="Tensor"> | ||
| 24 | <struct name="NameValue" > | ||
| 25 | <comment>A string base name value pair entry.</comment> | ||
| 26 | <elem name="name" type="Tensor.string" ord="64"/> | ||
| 27 | <elem name="value" type="Tensor.string" ord="65"/> | ||
| 28 | </struct> | ||
| 29 | |||
| 30 | <enum name="ResultCode" type="Tensor.int8" default="undefined"> | ||
| 31 | <comment>General processing result codes.</comment> | ||
| 32 | <literal name="success" value="1"/> | ||
| 33 | <literal name="undefined" value="0"/> | ||
| 34 | <literal name="failure" value="-1" /> | ||
| 35 | <literal name="busy" value="-2" /> | ||
| 36 | <literal name="processingError" value="-3"/> | ||
| 37 | <literal name="parsingError" value="-4"/> | ||
| 38 | <literal name="malformedRequest" value="-5"/> | ||
| 39 | <literal name="encodingError" value="-6"/> | ||
| 40 | |||
| 41 | </enum> | ||
| 42 | |||
| 43 | <struct name="VoidType"> | ||
| 44 | <comment>Reserved type used in various translations to preserve translation. It has no purpose but as a placeholder. This is different from type "void" in Definitions.xid</comment> | ||
| 45 | <elem name="reserved" type="Tensor.uint16" multiplicity="1" ord="64"/> | ||
| 46 | </struct> | ||
| 47 | |||
| 48 | <enum name="WirelineFormat" type="Tensor.uint8" default="undefined"> | ||
| 49 | <comment>Enum defines the wireline data format of XID interactions. These are defined to facilitate standard definitions within XID interactions independent of the | ||
| 50 | specific transport protocol or XID conduit.</comment> | ||
| 51 | <literal name ="undefined" value = "0"/> | ||
| 52 | <literal name ="raw" value = "1"/> | ||
| 53 | <literal name ="base64" value = "2"/> | ||
| 54 | <literal name ="hex" value = "3"/> | ||
| 55 | </enum> | ||
| 56 | |||
| 57 | <enum name="ContentType" type="Tensor.uint8" default="undefined"> | ||
| 58 | <comment>Enum defines the content type of XID interactions. These are defined to facilitate standard definitions within XID interactions independent of the | ||
| 59 | specific transport protocol or XID conduit.</comment> | ||
| 60 | <literal name ="undefined" value = "0"/> | ||
| 61 | <literal name ="dataobject" value = "1"/> | ||
| 62 | <literal name ="xmf" value = "2"/> | ||
| 63 | <literal name ="json" value = "3"/> | ||
| 64 | </enum> | ||
| 65 | |||
| 66 | <enum name="InteractionRole" type="Tensor.uint8" default="undefined"> | ||
| 67 | <comment>InteractionRole defines the role of the conduit in a XID interaction. | ||
| 68 | A Conduit port must adopt either the target or initiator role to preserve | ||
| 69 | interaction continuity and conventions.</comment> | ||
| 70 | <literal name ="undefined" value = "0"/> | ||
| 71 | <literal name ="target" value = "1"/> | ||
| 72 | <literal name ="initiator" value = "2"/> | ||
| 73 | </enum> | ||
| 74 | |||
| 75 | </namespace> | ||
| 76 | </specification> | 
Tensor/V1.1/Definitions.xid.xml
0 → 100644
| 1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
| 2 | |||
| 3 | <!-- | ||
| 4 | Copyright (c) 2017, TeleCommunication Systems, Inc., | ||
| 5 | a wholly-owned subsidiary of Comtech Telecommunications Corp. | ||
| 6 | and/or affiliates of TeleCommunication Systems, Inc. | ||
| 7 | All rights reserved. | ||
| 8 | TeleCommunication Systems, Inc. PROPRIETARY/CONFIDENTIAL. | ||
| 9 | Use is subject to license terms included in the distribution. | ||
| 10 | --> | ||
| 11 | |||
| 12 | <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 13 | xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 14 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 15 | xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 16 | identity="Definitions.xid.xml"> | ||
| 17 | <title>Tensor Defitions</title> | ||
| 18 | <comment> | ||
| 19 | Defines fundamental type mappings. | ||
| 20 | </comment> | ||
| 21 | |||
| 22 | <tag name="package" value="com.comtechtel"/> | ||
| 23 | |||
| 24 | <namespace name="Tensor"> | ||
| 25 | <type name="void" size="0"> | ||
| 26 | <comment>represents nothing. <br/>Useful in <operation> with no <input></comment> | ||
| 27 | <lang name="c" type="void"/> | ||
| 28 | <lang name="cpp" type="void"/> | ||
| 29 | <lang name="java" type="void"/> | ||
| 30 | <lang name="node" type="void"/> | ||
| 31 | </type> | ||
| 32 | <type name="bool" size="1"> | ||
| 33 | <comment>represents true/false</comment> | ||
| 34 | <lang name="c" type="bool" include="stdbool.h"/> | ||
| 35 | <lang name="cpp" type="bool"/> | ||
| 36 | <lang name="java" type="XidBool" include="com.comtechtel.tensor.xid.XidBool"/> | ||
| 37 | <lang name="node" type="XidBool"/> | ||
| 38 | </type> | ||
| 39 | |||
| 40 | <type name="uint8" size="1"> | ||
| 41 | <comment>8-bit, unsigned value</comment> | ||
| 42 | <lang name="c" type="uint8_t" include="stdint.h"/> | ||
| 43 | <lang name="cpp" type="uint8_t" include="cstdint"/> | ||
| 44 | <lang name="java" type="XidByte" include="com.comtechtel.tensor.xid.XidByte" /> | ||
| 45 | <lang name="node" type="XidUInt8"/> | ||
| 46 | </type> | ||
| 47 | <type name="uint16" size="2"> | ||
| 48 | <comment>16-bit, unsigned value</comment> | ||
| 49 | <lang name="c" type="uint16_t" include="stdint.h"/> | ||
| 50 | <lang name="cpp" type="uint16_t" include="cstdint"/> | ||
| 51 | <lang name="java" type="XidShort" include="com.comtechtel.tensor.xid.XidShort"/> | ||
| 52 | <lang name="node" type="XidUShort"/> | ||
| 53 | </type> | ||
| 54 | <type name="uint24" size="3"> | ||
| 55 | <comment>24-bit, unsigned value</comment> | ||
| 56 | <lang name="c" type="uint24_t" include="Tensor/CXMF/int24.h"/> | ||
| 57 | <lang name="cpp" type="uint24_t" include="Tensor/Types/int24.h"/> | ||
| 58 | <lang name="java" type="XidInt24" include="com.comtechtel.tensor.xid.XidInt24"/> | ||
| 59 | <lang name="node" type="XidUInt24"/> | ||
| 60 | </type> | ||
| 61 | <type name="uint32" size="4"> | ||
| 62 | <comment>32-bit, unsigned value</comment> | ||
| 63 | <lang name="c" type="uint32_t" include="stdint.h"/> | ||
| 64 | <lang name="cpp" type="uint32_t" include="cstdint"/> | ||
| 65 | <lang name="java" type="XidInt" include="com.comtechtel.tensor.xid.XidInt"/> | ||
| 66 | <lang name="node" type="XidUInt"/> | ||
| 67 | </type> | ||
| 68 | <type name="uint64" size="8"> | ||
| 69 | <comment>64-bit, unsigned value</comment> | ||
| 70 | <lang name="c" type="uint64_t" include="stdint.h"/> | ||
| 71 | <lang name="cpp" type="uint64_t" include="cstdint"/> | ||
| 72 | <lang name="java" type="XidLong" include="com.comtechtel.tensor.xid.XidLong"/> | ||
| 73 | <lang name="node" type="XidULong"/> | ||
| 74 | </type> | ||
| 75 | |||
| 76 | <type name="int8" size="1"> | ||
| 77 | <comment>8-bit, signed value</comment> | ||
| 78 | <lang name="c" type="int8_t" include="stdint.h"/> | ||
| 79 | <lang name="cpp" type="int8_t" include="cstdint"/> | ||
| 80 | <lang name="java" type="XidByte" include="com.comtechtel.tensor.xid.XidByte"/> | ||
| 81 | <lang name="node" type="XidInt8"/> | ||
| 82 | </type> | ||
| 83 | <type name="int16" size="2"> | ||
| 84 | <comment>16-bit, signed value</comment> | ||
| 85 | <lang name="c" type="int16_t" include="stdint.h"/> | ||
| 86 | <lang name="cpp" type="int16_t" include="cstdint"/> | ||
| 87 | <lang name="java" type="XidShort" include="com.comtechtel.tensor.xid.XidShort" /> | ||
| 88 | <lang name="node" type="XidShort"/> | ||
| 89 | </type> | ||
| 90 | <type name="int24" size="3"> | ||
| 91 | <comment>24-bit, unsigned value</comment> | ||
| 92 | <lang name="c" type="int24_t" include="Tensor/CXMF/int24.h"/> | ||
| 93 | <lang name="cpp" type="int24_t" include="Tensor/Types/int24.h"/> | ||
| 94 | <lang name="java" type="XidInt24" include="com.comtechtel.tensor.xid.XidInt24"/> | ||
| 95 | <lang name="node" type="XidInt24"/> | ||
| 96 | </type> | ||
| 97 | <type name="int32" size="4"> | ||
| 98 | <comment>32-bit, signed value</comment> | ||
| 99 | <lang name="c" type="int32_t" include="stdint.h"/> | ||
| 100 | <lang name="cpp" type="int32_t" include="cstdint"/> | ||
| 101 | <lang name="java" type="XidInt" include="com.comtechtel.tensor.xid.XidInt"/> | ||
| 102 | <lang name="node" type="XidInt"/> | ||
| 103 | </type> | ||
| 104 | <type name="int64" size="8"> | ||
| 105 | <comment>64-bit, signed value</comment> | ||
| 106 | <lang name="c" type="int64_t" include="stdint.h"/> | ||
| 107 | <lang name="cpp" type="int64_t" include="cstdint"/> | ||
| 108 | <lang name="java" type="XidLong" include="com.comtechtel.tensor.xid.XidLong"/> | ||
| 109 | <lang name="node" type="XidLong"/> | ||
| 110 | </type> | ||
| 111 | |||
| 112 | <!-- | ||
| 113 | <type name="float16" size="4"> | ||
| 114 | <comment>32-bit, IEEE 754 binary16</comment> | ||
| 115 | <comment>C/cpp usually a "float"</comment> | ||
| 116 | <artifact>https://wikipedia.org/wiki/Half-precision_floating-point_format</artifact> | ||
| 117 | </type> | ||
| 118 | --> | ||
| 119 | |||
| 120 | <type name="float32" size="4"> | ||
| 121 | <comment>32-bit, IEEE 754 binary32</comment> | ||
| 122 | <artifact>https://wikipedia.org/wiki/Single-precision_floating-point_format</artifact> | ||
| 123 | <lang name="c" type="float"/> | ||
| 124 | <lang name="cpp" type="float"/> | ||
| 125 | <lang name="java" type="XidFloat" include="com.comtechtel.tensor.xid.XidFloat"/> | ||
| 126 | <lang name="node" type="XidFloat"/> | ||
| 127 | </type> | ||
| 128 | <type name="float64" size="8"> | ||
| 129 | <comment>64-bit, IEEE 754 binary64</comment> | ||
| 130 | <artifact>https://wikipedia.org/wiki/Double-precision_floating-point_format</artifact> | ||
| 131 | <lang name="c" type="double"/> | ||
| 132 | <lang name="cpp" type="double"/> | ||
| 133 | <lang name="java" type="XidDouble" include="com.comtechtel.tensor.xid.XidDouble"/> | ||
| 134 | <lang name="node" type="XidDouble"/> | ||
| 135 | </type> | ||
| 136 | <!-- | ||
| 137 | <type name="float128" size="8"> | ||
| 138 | <comment>128-bit, IEEE 754 binary128</comment> | ||
| 139 | <artifact>https://wikipedia.org/wiki/Quadruple-precision_floating-point_format</artifact> | ||
| 140 | <lang name="cpp" type="long double"/> | ||
| 141 | </type> | ||
| 142 | --> | ||
| 143 | |||
| 144 | <type name="byte" size="1"> | ||
| 145 | <comment>A single byte</comment> | ||
| 146 | <lang name="c" type="uint8_t" include="stdint.h"/> | ||
| 147 | <lang name="cpp" type="uint8_t" include="cstdint"/> | ||
| 148 | <lang name="java" type="XidByte" include="com.comtechtel.tensor.xid.XidByte"/> | ||
| 149 | <lang name="node" type="XidUInt8"/> | ||
| 150 | </type> | ||
| 151 | <type name="raw"> | ||
| 152 | <comment>Variable sized collection of bytes</comment> | ||
| 153 | <!-- may change this type --> | ||
| 154 | <lang name="c" type="CXMFString" include="Tensor/CXMF/CXMFString.h"/> | ||
| 155 | <lang name="cpp" type="::Tensor::XMF::Atom" include="Tensor/XMF/Atom.h"/> | ||
| 156 | <lang name="java" type="Atom" include="com.comtechtel.tensor.xmf.Atom"/> | ||
| 157 | <lang name="node" type="Atom"/> | ||
| 158 | </type> | ||
| 159 | |||
| 160 | <type name="string"> | ||
| 161 | <comment>Variable sized collection of characters</comment> | ||
| 162 | <lang name="c" type="CXMFString" include="Tensor/CXMF/CXMFString.h"/> | ||
| 163 | <lang name="cpp" type="std::string" include="string"/> | ||
| 164 | <lang name="java" type="XidString" include="com.comtechtel.tensor.xid.XidString"/> | ||
| 165 | <lang name="node" type="XidString"/> | ||
| 166 | </type> | ||
| 167 | |||
| 168 | <type name="datetime" size="8"> | ||
| 169 | <comment> | ||
| 170 | nanoseconds since Jan 1, 1970 UTC. | ||
| 171 | ISO-8601 for string formats (e.g. JSON). | ||
| 172 | </comment> | ||
| 173 | <artifact>https://www.iso.org/standard/40874.html</artifact> | ||
| 174 | <artifact>https://wikipedia.org/wiki/ISO_8601</artifact> | ||
| 175 | <artifact>https://xkcd.com/1179</artifact> | ||
| 176 | <lang name="c" type="uint64_t" include="stdint.h"/> | ||
| 177 | <lang name="cpp" type="::Tensor::Types::DateTime" include="Tensor/Types/DateTime.h"/> | ||
| 178 | <lang name="java" type="XidDateTime" include="com.comtechtel.tensor.xid.XidDateTime"/> | ||
| 179 | <lang name="node" type="XidDateTime"/> | ||
| 180 | </type> | ||
| 181 | |||
| 182 | <type name="UUID" size="16"> | ||
| 183 | <comment>16 byte UUID.</comment> | ||
| 184 | <artifact>https://wikipedia.org/wiki/Universally_unique_identifier</artifact> | ||
| 185 | <lang name="c" type="UUID" include="Tensor/CXMF/uuid.h"/> | ||
| 186 | <lang name="cpp" type="::Tensor::Types::UUID" include="Tensor/Types/uuid.h"/> | ||
| 187 | <lang name="java" type="XidUuid" include="com.comtechtel.tensor.xid.XidUuid"/> | ||
| 188 | <lang name="node" type="XidUuid"/> | ||
| 189 | </type> | ||
| 190 | |||
| 191 | <type name="uri"> | ||
| 192 | <comment>Standard Universal Resource Identifier (URI)</comment> | ||
| 193 | <tag name="TODO" value="Define uri as a custom type. Use string for now."/> | ||
| 194 | <lang name="c" type="CXMFString" include="Tensor/CXMF/CXMFString.h"/> | ||
| 195 | <lang name="cpp" type="std::string" include="string"/> | ||
| 196 | <lang name="java" type="XidString" include="com.comtechtel.tensor.xid.XidString"/> | ||
| 197 | <lang name="node" type="XidString"/> | ||
| 198 | </type> | ||
| 199 | |||
| 200 | <type name="json"> | ||
| 201 | <comment>JSON formatted/encoded string</comment> | ||
| 202 | <lang name="c" type="CXMFString" include="Tensor/CXMF/CXMFString.h"/> | ||
| 203 | <lang name="cpp" type="::Tensor::JSON::JSONObj" include="Tensor/JSON/TensorJSON.h"/> | ||
| 204 | <lang name="java" type="XidString" include="com.comtechtel.tensor.xid.XidString"/> | ||
| 205 | <lang name="node" type="XidString"/> | ||
| 206 | </type> | ||
| 207 | |||
| 208 | <type name="xmf"> | ||
| 209 | <comment>XMF formatted/encoded data, this is straight XMF in XMF formatted data, and base64 encoded binary XMF in JSON formatted data. </comment> | ||
| 210 | <lang name="c" type="CAtom" include="Tensor/CXMF/GetPut.h"/> | ||
| 211 | <lang name="cpp" type="::Tensor::XMF::Atom" include="Tensor/XMF/Atom.h"/> | ||
| 212 | <lang name="java" type="Atom" include="com.comtechtel.tensor.xmf.Atom"/> | ||
| 213 | <lang name="node" type="Atom"/> | ||
| 214 | </type> | ||
| 215 | |||
| 216 | <type name="mac48" size="6"> | ||
| 217 | <artifact>https://wikipedia.org/wiki/MAC_address</artifact> | ||
| 218 | <comment>6 byte IEEE MAC-48</comment> | ||
| 219 | <lang name="c" type="MacAddress48" include="Tensor/CXMF/MacAddress48.h"/> | ||
| 220 | <lang name="cpp" type="::Tensor::Types::MacAddress48" include="Tensor/Types/MacAddress48.h"/> | ||
| 221 | <lang name="java" type="XidMacAddress48" include="com.comtechtel.tensor.xid.XidMacAddress48"/> | ||
| 222 | <lang name="node" type="XidMacAddress48"/> | ||
| 223 | </type> | ||
| 224 | |||
| 225 | <!-- | ||
| 226 | ******************************************************* | ||
| 227 | Encoding Data Types | ||
| 228 | ******************************************************* | ||
| 229 | --> | ||
| 230 | |||
| 231 | <!-- Encoding format type spec.--> | ||
| 232 | <type name="EncodingFormat" size="2"> | ||
| 233 | <comment> | ||
| 234 | The encoding format determines how element data is run-time encoded within a particular element independent of the | ||
| 235 | transport encoding. | ||
| 236 | These values are specified in the "encoding" attribute for elements. Not all encoding formats | ||
| 237 | are supported by every wireline protocol implementation. Additionally, custom encodings may be | ||
| 238 | defined to support application defined encodings. Any non-standard encodings must be registered (to avoid collision) | ||
| 239 | and approved by the appropriate approving authority (e.g. Comtech). Values from 0 to 255 are reserved | ||
| 240 | for standard-encodings. Custom encodings start at 256(0x0100) and extend to 65535 (0xFFFF).\n | ||
| 241 | \n | ||
| 242 | This is not the same as defining in XID a raw datatype or json datatype which are NOT changeable are run-time. | ||
| 243 | \n | ||
| 244 | Example: \n | ||
| 245 | \t The message XMF but a field is defined to be encoded as JSON.\n | ||
| 246 | \t Likewise, the message is JSON, but a field is run-time encoded to be XMF.\n | ||
| 247 | \n | ||
| 248 | Data encoding format type. If 0, value is not encoded. See ResrvedEncodingFormats | ||
| 249 | for a list of standard format specifiers. | ||
| 250 | </comment> | ||
| 251 | <lang name="c" type="uint16_t" include="stdint.h" /> | ||
| 252 | <lang name="cpp" type="uint16_t" include="cstdint" /> | ||
| 253 | <lang name="java" type="XidShort" include="com.comtechtel.tensor.xid.XidShort" /> | ||
| 254 | <lang name="node" type="XidUShort" /> | ||
| 255 | </type> | ||
| 256 | |||
| 257 | <!-- ReservedEncodingFormats standard encoding formats.--> | ||
| 258 | <enum name="ReservedEncodingFormats" type="Tensor.uint16" default="natural"> | ||
| 259 | <comment> | ||
| 260 | Reserved encoding formats define standard additional encodings known to all implementations. | ||
| 261 | </comment> | ||
| 262 | <literal name="natural" value="0"> | ||
| 263 | <comment> | ||
| 264 | Data is not further encoded, it is in its natural wireline format.\n | ||
| 265 | This is the default value if not defined explicitly. | ||
| 266 | </comment> | ||
| 267 | </literal> | ||
| 268 | <literal name="raw" value="1"> | ||
| 269 | <comment> | ||
| 270 | Data is in an unspecified binary format. The interpretation of the data is | ||
| 271 | falls to the producer and consumer of the information. | ||
| 272 | For textual wireline encodings like JSON, the data will be valid within the representation. | ||
| 273 | </comment> | ||
| 274 | </literal> | ||
| 275 | <literal name="xmf" value="2"> | ||
| 276 | <comment> | ||
| 277 | Data is XMF binary format. The binary data is structured using atoms and atom lists. | ||
| 278 | For textual wireline encodings like JSON, this is XMF base64 encoded. | ||
| 279 | </comment> | ||
| 280 | </literal> | ||
| 281 | <literal name="json" value="3"> | ||
| 282 | <comment> | ||
| 283 | Data is formatted as JSON compliant ascii text. For binary encodings like XMF, the content will be JSON instead. | ||
| 284 | </comment> | ||
| 285 | </literal> | ||
| 286 | </enum> | ||
| 287 | </namespace> | ||
| 288 | </specification> | 
Tensor/V1.1/Logging.xid.xml
0 → 100644
| 1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
| 2 | |||
| 3 | <!-- | ||
| 4 | Copyright (c) 2017, TeleCommunication Systems, Inc., | ||
| 5 | a wholly-owned subsidiary of Comtech Telecommunications Corp. | ||
| 6 | and/or affiliates of TeleCommunication Systems, Inc. | ||
| 7 | All rights reserved. | ||
| 8 | TeleCommunication Systems, Inc. PROPRIETARY/CONFIDENTIAL. | ||
| 9 | Use is subject to license terms included in the distribution. | ||
| 10 | --> | ||
| 11 | |||
| 12 | <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 13 | xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 14 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 15 | xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 16 | identity="Logging.xid.xml"> | ||
| 17 | <title>Tensor Logging Messages</title> | ||
| 18 | <comment> | ||
| 19 | This file contains the base type definitions for logging messages and data. All ENT micro-service compliant systems shall support these datatypes | ||
| 20 | for capturing various types of logging information including actionable messages, trace, and usage data. Logging messages are polymorphic and extensible | ||
| 21 | as needed to support various types of information. | ||
| 22 | </comment> | ||
| 23 | |||
| 24 | <import ref="https://xid.location.studio/Tensor/V1.1/Common.xid.xml" local="Common.xid.xml" /> | ||
| 25 | |||
| 26 | <namespace name="Logging"> | ||
| 27 | <using namespace="Tensor"/> | ||
| 28 | |||
| 29 | <!-- | ||
| 30 | ******************************************************* | ||
| 31 | Enumeration Definitions | ||
| 32 | ******************************************************* | ||
| 33 | --> | ||
| 34 | <enum name="MessageType" type="Tensor.uint8" default="undefined"> | ||
| 35 | <comment> | ||
| 36 | Message types define the base type identifiers for logging messages. These are used to | ||
| 37 | identify the type of logging data. The Message type is not a closed set and can be extended as needed. | ||
| 38 | The types defined here are common to every system. Type values below 64 are reserved for the core logging extensions | ||
| 39 | Any non-core message types should define type identifiers greater than 64. | ||
| 40 | </comment> | ||
| 41 | <literal name="undefined" value="0"> | ||
| 42 | <comment>Message type is not defined. This is a reserved value and should not be used in most situations.</comment> | ||
| 43 | </literal> | ||
| 44 | <literal name="ActionMsg" value="1"> | ||
| 45 | <comment>Defines a message that requires some responsive action. See Tensor.Logging.ActionMsg structure for more information.</comment> | ||
| 46 | </literal> | ||
| 47 | <literal name="TraceMsg" value="2"> | ||
| 48 | <comment>Defines a message capturing software trace data typically used for debugging. See Tensor.Logging.TraceMsg structure for more information.</comment> | ||
| 49 | </literal> | ||
| 50 | <literal name="UsageMsg" value="3"> | ||
| 51 | <comment>Defines a message for capturing usage data. See Tensor.Logging.UsageMsg for more information.</comment> | ||
| 52 | </literal> | ||
| 53 | <literal name="MetricMsg" value="4"> | ||
| 54 | <comment>Defines a message for capturing metric data. See Tensor.Logging.MetricMsg for more information.</comment> | ||
| 55 | </literal> | ||
| 56 | </enum> | ||
| 57 | |||
| 58 | <enum name="Severity" type="int8" default="indeterminate"> | ||
| 59 | <comment> | ||
| 60 | Severity is defined as part of an Tensor.Logging.ActionMsg describing the severity of the issue. This is an extensible list that can be added to as | ||
| 61 | new severities are determine. In general, try to use the core defined severities or add new core ones as needed. Custom severity should be avoided. If defined, | ||
| 62 | however, start with values > 64. Values less than 64 are reserved. | ||
| 63 | </comment> | ||
| 64 | <literal name="indeterminate" value="0"> | ||
| 65 | <comment>Severity of the issue is indeterminate.</comment> | ||
| 66 | </literal> | ||
| 67 | <literal name="warning" value="1"> | ||
| 68 | <comment> | ||
| 69 | Severity indicates message is a warning regarding the specified issue. Warnings describe a potental issue that | ||
| 70 | may require additional monitoring over time. However, it is not deemed as having a significant | ||
| 71 | impaction on system operation. | ||
| 72 | </comment> | ||
| 73 | </literal> | ||
| 74 | <literal name="minor" value="2"> | ||
| 75 | <comment> | ||
| 76 | Message is describing a minor issue, which requires some action. A | ||
| 77 | minor issue is something that does not have a wide scale impact on system operation. | ||
| 78 | For example a minor issue might be something that would affect a single transaction. | ||
| 79 | </comment> | ||
| 80 | </literal> | ||
| 81 | <literal name="major" value="3"> | ||
| 82 | <comment> | ||
| 83 | Message is describing a major issue, which requires action. A | ||
| 84 | major issue is something that affects the system in a signficant way | ||
| 85 | such as having impact on multiple transactions. | ||
| 86 | </comment> | ||
| 87 | </literal> | ||
| 88 | <literal name="critical" value="4"> | ||
| 89 | <comment> | ||
| 90 | Message is describing a critical issue, which requires immediate action. Critical issues | ||
| 91 | are typically catastrophic system issues affecting all transactions in a very significant way. | ||
| 92 | </comment> | ||
| 93 | </literal> | ||
| 94 | <literal name="cleared" value="5"> | ||
| 95 | <comment>Message is describing an issue has been resolved or no longer requires actions.</comment> | ||
| 96 | </literal> | ||
| 97 | </enum> | ||
| 98 | |||
| 99 | <enum name="Category" type="int8" default="processingError"> | ||
| 100 | <comment> | ||
| 101 | The category decribes the general category for an ActionMsg. This is an extensible list that can be added to as | ||
| 102 | new categories are needed. In general, try to use the core defined categories or add new ones as needed. Custom categories should start with | ||
| 103 | values > 64. Values less than 64 are reserved. | ||
| 104 | </comment> | ||
| 105 | <literal name ="undefined" value ="0"> | ||
| 106 | <comment>Action category is undefined or not known.</comment> | ||
| 107 | </literal> | ||
| 108 | <literal name="communications" value="1"> | ||
| 109 | <comment>A communications and/or networking related issue.</comment> | ||
| 110 | </literal> | ||
| 111 | <literal name="qualityOfService" value="2"> | ||
| 112 | <comment>A quality of service related issue.</comment> | ||
| 113 | </literal> | ||
| 114 | <literal name="processingError" value="3"> | ||
| 115 | <comment>A processing or runtime related issue.</comment> | ||
| 116 | </literal> | ||
| 117 | <literal name="equipment" value="4"> | ||
| 118 | <comment>An equipment related issue.</comment> | ||
| 119 | </literal> | ||
| 120 | <literal name="environmental" value="5"> | ||
| 121 | <comment>A environment related issue.</comment> | ||
| 122 | </literal> | ||
| 123 | </enum> | ||
| 124 | |||
| 125 | <enum name="TraceLevel" type="Tensor.int8" default="undefined"> | ||
| 126 | <comment>Trace level defines the level of tracing information reported. This allows for filtering of information based on rank.</comment> | ||
| 127 | <literal name="undefined" value="0"> | ||
| 128 | <comment>Trace level is not defined.</comment> | ||
| 129 | </literal> | ||
| 130 | <literal name="overview" value="1"> | ||
| 131 | <comment>Information contained in the trace message is high-level or summary.</comment> | ||
| 132 | </literal> | ||
| 133 | <literal name="trace" value="2"> | ||
| 134 | <comment>Information contained in the trace message is related to program flow and sequencing.</comment> | ||
| 135 | </literal> | ||
| 136 | <literal name="detail" value="3"> | ||
| 137 | <comment>Information contained in the trace message is detailed information.</comment> | ||
| 138 | </literal> | ||
| 139 | <literal name="debug" value="4"> | ||
| 140 | <comment>Information contained in the trace message contains debugging information.</comment> | ||
| 141 | </literal> | ||
| 142 | </enum> | ||
| 143 | |||
| 144 | <struct name="DebugInfo"> | ||
| 145 | <comment> | ||
| 146 | Structure captures the file and line number information for Trace Messages. This provides information about where the trace message was sent. | ||
| 147 | </comment> | ||
| 148 | <elem name="file" type="Tensor.string" multiplicity="1" ord="64"> | ||
| 149 | <comment>File name where this message was logged.</comment> | ||
| 150 | </elem> | ||
| 151 | <elem name="line" type="Tensor.uint32" multiplicity="1" ord="65"> | ||
| 152 | <comment>Line number in file where this message is logged.</comment> | ||
| 153 | </elem> | ||
| 154 | <elem name="thid" type="Tensor.uint64" multiplicity="1" default="0" ord="66"> | ||
| 155 | <comment>Optional Thread ID, if not specified, default value is 0.</comment> | ||
| 156 | </elem> | ||
| 157 | |||
| 158 | </struct> | ||
| 159 | |||
| 160 | <!-- | ||
| 161 | ******************************************************* | ||
| 162 | Metric Structure Definitions | ||
| 163 | ******************************************************* | ||
| 164 | --> | ||
| 165 | |||
| 166 | <enum name="MetricType" type="Tensor.uint8" default="undefined"> | ||
| 167 | <literal name="undefined" value="0"> | ||
| 168 | <comment>Metric type is not defined. This is a reserved value and should not be used in most situations.</comment> | ||
| 169 | </literal> | ||
| 170 | <literal name="PegCount" value="1"> | ||
| 171 | <comment>Defines a simple monotonically incremented counter.</comment> | ||
| 172 | </literal> | ||
| 173 | <literal name="AppMetrics" value="2"> | ||
| 174 | <comment>Defines a complex metric measuring duration and concurrency.</comment> | ||
| 175 | </literal> | ||
| 176 | </enum> | ||
| 177 | |||
| 178 | <struct name="Metric"> | ||
| 179 | <elem name="metricType" type="MetricType" multiplicity="1" rttd="true" ord="64"> | ||
| 180 | <comment>This specifies the type of the reported metric.</comment> | ||
| 181 | </elem> | ||
| 182 | <elem name="name" type="string" multiplicity="1" ord="65"> | ||
| 183 | <comment>Name of the reported metric.</comment> | ||
| 184 | </elem> | ||
| 185 | </struct> | ||
| 186 | |||
| 187 | <struct name="PegCount" type="Metric" rttkey="Logging.MetricType.PegCount"> | ||
| 188 | <elem name="value" type="uint32" multiplicity="1" ord="80"> | ||
| 189 | <comment>Value of peg count since last reporting.</comment> | ||
| 190 | </elem> | ||
| 191 | </struct> | ||
| 192 | |||
| 193 | <struct name="AppMetrics" type="Metric" rttkey="Logging.MetricType.AppMetrics"> | ||
| 194 | <elem name="totalCount" type="uint32" multiplicity="1" ord="80"> | ||
| 195 | <comment>Total count of invocations since last reporting.</comment> | ||
| 196 | </elem> | ||
| 197 | <elem name="currentCount" type="uint32" multiplicity="1" ord="81"> | ||
| 198 | <comment>concurrent invocations at time of reporting.</comment> | ||
| 199 | </elem> | ||
| 200 | <elem name="peakCount" type="uint32" multiplicity="1" ord="82"> | ||
| 201 | <comment>Peak concurrent invocations since last reporting.</comment> | ||
| 202 | </elem> | ||
| 203 | <elem name="totalTime" type="uint64" multiplicity="1" ord="83"> | ||
| 204 | <comment>Total time spent on invocations in nanoseconds since last reporting.</comment> | ||
| 205 | </elem> | ||
| 206 | <elem name="peakTime" type="uint64" multiplicity="1" ord="84"> | ||
| 207 | <comment>Peak time for an invocation in nanoseconds since last reporting.</comment> | ||
| 208 | </elem> | ||
| 209 | <elem name="successCount" type="uint32" multiplicity="1" ord="85"> | ||
| 210 | <comment>Count of successful invocations since last reporting.</comment> | ||
| 211 | </elem> | ||
| 212 | <elem name="failureCount" type="uint32" multiplicity="1" ord="86"> | ||
| 213 | <comment>Count of failed invocations since last reporting.</comment> | ||
| 214 | </elem> | ||
| 215 | </struct> | ||
| 216 | |||
| 217 | |||
| 218 | |||
| 219 | <!-- | ||
| 220 | ******************************************************* | ||
| 221 | Message Structure Definitions | ||
| 222 | ******************************************************* | ||
| 223 | --> | ||
| 224 | |||
| 225 | <struct name="MessageBase"> | ||
| 226 | <comment> | ||
| 227 | Base type for all messages. This contains only the polymorphic type data. The structure Message derives from this | ||
| 228 | structure and provides common fields typically useful in logging related applications. Derive from this structure | ||
| 229 | if messages are related to logging but do not require the standard fields. It is recommended that most specializations | ||
| 230 | should start with Message as the base type. | ||
| 231 | </comment> | ||
| 232 | <elem name="type" type="MessageType" multiplicity="1" rttd="true" ord="64"> | ||
| 233 | <comment> This specifies the type of message.</comment> | ||
| 234 | </elem> | ||
| 235 | <elem name="date" type="datetime" multiplicity="1" ord="65"> | ||
| 236 | <comment>The date/time the message occured.</comment> | ||
| 237 | </elem> | ||
| 238 | <elem name="source" type="Tensor.uri" multiplicity="1" ord="66"> | ||
| 239 | <comment>URI Identifying name of the component or process logging the message.</comment> | ||
| 240 | </elem> | ||
| 241 | <elem name="info" type="string" multiplicity="0..1" ord="67"> | ||
| 242 | <comment>Optional free form string data.</comment> | ||
| 243 | </elem> | ||
| 244 | <elem name="data" type="Tensor.json" multiplicity="0..1" ord="68"> | ||
| 245 | <comment>Optional structured data.</comment> | ||
| 246 | </elem> | ||
| 247 | <elem name="debug" type="DebugInfo" multiplicity="0..1" ord="69"> | ||
| 248 | <comment>Optional debug information for message.</comment> | ||
| 249 | </elem> | ||
| 250 | </struct> | ||
| 251 | |||
| 252 | <!-- Message type --> | ||
| 253 | <struct name="TransactionMsg" type="MessageBase"> | ||
| 254 | <comment> | ||
| 255 | Basic logging message data common to all types of logging. This specializes MessageBase and is the standard logging message. Create custom message types as needed; however, consider | ||
| 256 | specializing from the core defined sub-types of ActionMsg, Trace, or Usage depending upon need. In most cases, you should not use this message directly. | ||
| 257 | </comment> | ||
| 258 | <elem name="tid" type="Tensor.UUID" multiplicity="1" ord="80"> | ||
| 259 | <comment>Unique ID identifying the internal transaction related to the message.</comment> | ||
| 260 | </elem> | ||
| 261 | <elem name="etid" type="string" multiplicity="0..1" ord="81"> | ||
| 262 | <comment>Optional externally defined transaction ID.</comment> | ||
| 263 | </elem> | ||
| 264 | <elem name="acctid" type="string" multiplicity="0..1" ord="82"> | ||
| 265 | <comment>Optional externally defined account/group identifier.</comment> | ||
| 266 | </elem> | ||
| 267 | <elem name="devid" type="string" multiplicity="0..1" ord="83"> | ||
| 268 | <comment>Optional externally defined device identifier.</comment> | ||
| 269 | </elem> | ||
| 270 | <elem name="appid" type="string" multiplicity="0..1" ord="84"> | ||
| 271 | <comment>Optional externally defined application (or application key) identifier.</comment> | ||
| 272 | </elem> | ||
| 273 | |||
| 274 | </struct> | ||
| 275 | |||
| 276 | <!-- ActionMsg type --> | ||
| 277 | <struct name="ActionMsg" type="TransactionMsg" rttkey="Logging.MessageType.ActionMsg"> | ||
| 278 | <comment> | ||
| 279 | A message that requires another system/user to respond with some action. | ||
| 280 | </comment> | ||
| 281 | <elem name="id" type="Tensor.uri" multiplicity="1" ord="96"> | ||
| 282 | <comment>Error code identifying the fault type</comment> | ||
| 283 | </elem> | ||
| 284 | <elem name="severity" type="Severity" multiplicity="1" ord="97"/> | ||
| 285 | <elem name="category" type="Category" multiplicity="1" ord="98"/> | ||
| 286 | <elem name="iid" type="Tensor.uri" multiplicity="0..1" ord="99"> | ||
| 287 | <comment>Optional incident identifier used to identify an action instance uniquely. This is needed when there are stateful clearing events.</comment> | ||
| 288 | </elem> | ||
| 289 | </struct> | ||
| 290 | |||
| 291 | <!-- TraceMsg type --> | ||
| 292 | <struct name="TraceMsg" type="TransactionMsg" rttkey="Logging.MessageType.TraceMsg"> | ||
| 293 | <comment> | ||
| 294 | Trace message for general logging and reporting of information | ||
| 295 | </comment> | ||
| 296 | <elem name="level" type="TraceLevel" multiplicity="1" ord="96"> | ||
| 297 | <comment>Indicates the level of the trace: overview is the highest level and debug is the lowest</comment> | ||
| 298 | </elem> | ||
| 299 | </struct> | ||
| 300 | |||
| 301 | <!-- UsageMsg type --> | ||
| 302 | <struct name="UsageMsg" type="TransactionMsg" rttkey="Logging.MessageType.UsageMsg"> | ||
| 303 | <comment> | ||
| 304 | Message capturing usage information for reporting statistical, transactional, edge, location, or other useful information generated in the normal | ||
| 305 | operation of the system. | ||
| 306 | </comment> | ||
| 307 | <elem name="uri" type="Tensor.uri" multiplicity="1" rttd="true" ord="96"> | ||
| 308 | <comment> Usage id specific to a type of usage information. Can be general or application specific.</comment> | ||
| 309 | </elem> | ||
| 310 | </struct> | ||
| 311 | |||
| 312 | <!-- MetricMsg type --> | ||
| 313 | <struct name="MetricMsg" type="MessageBase" rttkey="Logging.MessageType.MetricMsg"> | ||
| 314 | <elem name="start" type="datetime" multiplicity="1" ord="80"> | ||
| 315 | <comment>The date/time of the start of the report interval. date is end the end of the report interval.</comment> | ||
| 316 | </elem> | ||
| 317 | <elem name="duration" type="uint16" multiplicity="1" ord="81"> | ||
| 318 | <tag name="unit" value="sec"/> | ||
| 319 | <comment>The interval in seconds for the metric report.</comment> | ||
| 320 | </elem> | ||
| 321 | <elem name="metrics" type="Metric" multiplicity="1..*" polymorphic="true" ord="82"> | ||
| 322 | <comment>List of metrics being reported.</comment> | ||
| 323 | </elem> | ||
| 324 | </struct> | ||
| 325 | |||
| 326 | <!-- | ||
| 327 | ******************************************************* | ||
| 328 | Standard Usage Definitions | ||
| 329 | ******************************************************* | ||
| 330 | --> | ||
| 331 | |||
| 332 | <!--TaskReport Msg--> | ||
| 333 | <struct name="TaskReport" type="Logging.UsageMsg" rttkey='"tpf://taskrpt"'> | ||
| 334 | <comment> | ||
| 335 | Message reports processing task result data. Tasks are any execution unit the | ||
| 336 | that is deemed to have a specific beginning and end. This is a fairly generic | ||
| 337 | definition making the usage report suitable for a variety of applications. | ||
| 338 | </comment> | ||
| 339 | <elem name="taskid" type="string" multiplicity="1" ord="112"> | ||
| 340 | <comment> | ||
| 341 | The unique tasks identifier. A source may have multiple tasks, this field assigns | ||
| 342 | an identifier that uniquely characterizes what the task was that was accomplished. | ||
| 343 | </comment> | ||
| 344 | </elem> | ||
| 345 | <elem name="start" type="datetime" multiplicity="1" ord="113"> | ||
| 346 | <comment> | ||
| 347 | The start time at which the processor is used. | ||
| 348 | </comment> | ||
| 349 | </elem> | ||
| 350 | <elem name="duration" type="uint32" multiplicity="1" ord="114"> | ||
| 351 | <tag name="unit" value="usec"/> | ||
| 352 | <comment> | ||
| 353 | The duration of the processing in microseconds. | ||
| 354 | </comment> | ||
| 355 | </elem> | ||
| 356 | <elem name="result" type="ResultCode" multiplicity="1" ord="115"> | ||
| 357 | <comment>The task result code.</comment> | ||
| 358 | </elem> | ||
| 359 | </struct> | ||
| 360 | |||
| 361 | </namespace> | ||
| 362 | </specification> | 
Tensor/V1.1/README.md
0 → 100644
| 1 | # Tensor XIDs # | ||
| 2 | Tensor XIDs have all their ordinals (i.e. tags) specified and do not use packed data types. Therefore, XIDData.prop is not strictly needed but is supplied as a check-n-balance. | ||
| 3 | |||
| 4 | ## Generate / Verify XIDData.prop ## | ||
| 5 | |||
| 6 | ~~~sh | ||
| 7 | $ java -Xnoclassgc -jar $XIDSDK/bin/xidcg.jar \ | ||
| 8 | -v \ | ||
| 9 | -prop https://xid.location.studio/Tensor/V1.1/XIDData.prop \ | ||
| 10 | https://xid.location.studio/Tensor/V1.1/ApiBase.xid.xml \ | ||
| 11 | https://xid.location.studio/Tensor/V1.1/Command.xid.xml \ | ||
| 12 | https://xid.location.studio/Tensor/V1.1/Common.xid.xml \ | ||
| 13 | https://xid.location.studio/Tensor/V1.1/Definitions.xid.xml \ | ||
| 14 | https://xid.location.studio/Tensor/V1.1/Logging.xid.xml | ||
| 15 | |||
| 16 | OR | ||
| 17 | |||
| 18 | $ java -Xnoclassgc -jar $XIDSDK/bin/xidcg.jar \ | ||
| 19 | -v \ | ||
| 20 | -prop XIDData.prop \ | ||
| 21 | ApiBase.xid.xml \ | ||
| 22 | Command.xid.xml \ | ||
| 23 | Common.xid.xml \ | ||
| 24 | Definitions.xid.xml \ | ||
| 25 | Logging.xid.xml | ||
| 26 | ~~~ | ||
| 27 | |||
| 28 | If xidcg reports: | ||
| 29 | |||
| 30 | ~~~ | ||
| 31 | Generating: xidout/meta/XID/XIDData.prop | ||
| 32 | ~~~ | ||
| 33 | |||
| 34 | Then something has changed and XIDData.prop needs to get updated. | ||
| 35 | 
Tensor/V1.1/XIDData.prop
0 → 100644
| 1 | Ord.Logging.ActionMsg.category=98 | ||
| 2 | Ord.Logging.ActionMsg.id=96 | ||
| 3 | Ord.Logging.ActionMsg.iid=99 | ||
| 4 | Ord.Logging.ActionMsg.severity=97 | ||
| 5 | Ord.Logging.AppMetrics.currentCount=81 | ||
| 6 | Ord.Logging.AppMetrics.failureCount=86 | ||
| 7 | Ord.Logging.AppMetrics.peakCount=82 | ||
| 8 | Ord.Logging.AppMetrics.peakTime=84 | ||
| 9 | Ord.Logging.AppMetrics.successCount=85 | ||
| 10 | Ord.Logging.AppMetrics.totalCount=80 | ||
| 11 | Ord.Logging.AppMetrics.totalTime=83 | ||
| 12 | Ord.Logging.DebugInfo.file=64 | ||
| 13 | Ord.Logging.DebugInfo.line=65 | ||
| 14 | Ord.Logging.DebugInfo.thid=66 | ||
| 15 | Ord.Logging.MessageBase.data=68 | ||
| 16 | Ord.Logging.MessageBase.date=65 | ||
| 17 | Ord.Logging.MessageBase.debug=69 | ||
| 18 | Ord.Logging.MessageBase.info=67 | ||
| 19 | Ord.Logging.MessageBase.source=66 | ||
| 20 | Ord.Logging.MessageBase.type=64 | ||
| 21 | Ord.Logging.Metric.metricType=64 | ||
| 22 | Ord.Logging.Metric.name=65 | ||
| 23 | Ord.Logging.MetricMsg.duration=81 | ||
| 24 | Ord.Logging.MetricMsg.metrics=82 | ||
| 25 | Ord.Logging.MetricMsg.start=80 | ||
| 26 | Ord.Logging.PegCount.value=80 | ||
| 27 | Ord.Logging.TaskReport.duration=114 | ||
| 28 | Ord.Logging.TaskReport.start=113 | ||
| 29 | Ord.Logging.TaskReport.result=115 | ||
| 30 | Ord.Logging.TaskReport.taskid=112 | ||
| 31 | Ord.Logging.TraceMsg.level=96 | ||
| 32 | Ord.Logging.TransactionMsg.acctid=82 | ||
| 33 | Ord.Logging.TransactionMsg.appid=84 | ||
| 34 | Ord.Logging.TransactionMsg.devid=83 | ||
| 35 | Ord.Logging.TransactionMsg.etid=81 | ||
| 36 | Ord.Logging.TransactionMsg.tid=80 | ||
| 37 | Ord.Logging.UsageMsg.uri=96 | ||
| 38 | Ord.Tensor.Command.argument=66 | ||
| 39 | Ord.Tensor.Command.etid=65 | ||
| 40 | Ord.Tensor.Command.name=64 | ||
| 41 | Ord.Tensor.CommandApi.Execute.Input.commands=64 | ||
| 42 | Ord.Tensor.CommandApi.Execute.Input.wantresponses=65 | ||
| 43 | Ord.Tensor.CommandApi.Execute.Output.lastcommand=64 | ||
| 44 | Ord.Tensor.CommandApi.Execute.Output.lastresult=65 | ||
| 45 | Ord.Tensor.CommandApi.Execute.Output.responses=66 | ||
| 46 | Ord.Tensor.CommandResponse.etid=65 | ||
| 47 | Ord.Tensor.CommandResponse.name=64 | ||
| 48 | Ord.Tensor.CommandResponse.output=67 | ||
| 49 | Ord.Tensor.CommandResponse.result=66 | ||
| 50 | Ord.Tensor.InputBase.devid=64 | ||
| 51 | Ord.Tensor.InputBase.directive=66 | ||
| 52 | Ord.Tensor.InputBase.etid=65 | ||
| 53 | Ord.Tensor.NameValue.name=64 | ||
| 54 | Ord.Tensor.NameValue.value=65 | ||
| 55 | Ord.Tensor.OutputBase.devid=64 | ||
| 56 | Ord.Tensor.OutputBase.errinfo=67 | ||
| 57 | Ord.Tensor.OutputBase.etid=65 | ||
| 58 | Ord.Tensor.OutputBase.resultcode=66 | ||
| 59 | Ord.Tensor.VoidType.reserved=64 | ||
| 60 | SID.Tensor.CommandApi.Execute.Input=256 | ||
| 61 | SID.Tensor.CommandApi.Execute.Output=257 | ||
| 62 | Size.Logging.ActionMsg=-1 | ||
| 63 | Size.Logging.AppMetrics=-1 | ||
| 64 | Size.Logging.DebugInfo=-1 | ||
| 65 | Size.Logging.MessageBase=-1 | ||
| 66 | Size.Logging.Metric=-1 | ||
| 67 | Size.Logging.MetricMsg=-1 | ||
| 68 | Size.Logging.PegCount=-1 | ||
| 69 | Size.Logging.TaskReport=-1 | ||
| 70 | Size.Logging.TraceMsg=-1 | ||
| 71 | Size.Logging.TransactionMsg=-1 | ||
| 72 | Size.Logging.UsageMsg=-1 | ||
| 73 | Size.Tensor.Command=-1 | ||
| 74 | Size.Tensor.CommandApi.Execute.Input=-1 | ||
| 75 | Size.Tensor.CommandApi.Execute.Output=-1 | ||
| 76 | Size.Tensor.CommandResponse=-1 | ||
| 77 | Size.Tensor.InputBase=-1 | ||
| 78 | Size.Tensor.NameValue=-1 | ||
| 79 | Size.Tensor.OutputBase=-1 | ||
| 80 | Size.Tensor.VoidType=-1 | 
- 
Please register or sign in to post a comment