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