Tools » History » Version 15
J. Moringen, 12/06/2011 02:10 PM
fixed build job link for rsb-tools-cpp-trunk
1 | 1 | J. Moringen | h1. Tools |
---|---|---|---|
2 | 1 | J. Moringen | |
3 | 1 | J. Moringen | {{>toc}} |
4 | 1 | J. Moringen | |
5 | 1 | J. Moringen | h2. Introspection |
6 | 1 | J. Moringen | |
7 | 2 | J. Moringen | h3. Version, Plugins and Configuration Query |
8 | 2 | J. Moringen | |
9 | 2 | J. Moringen | The RSB information query tool can used to display information regarding |
10 | 2 | J. Moringen | * the RSB library version |
11 | 2 | J. Moringen | * the set of registered connectors |
12 | 2 | J. Moringen | * the set of available converters |
13 | 2 | J. Moringen | |
14 | 8 | J. Wienke | |_.Implementation Language |_.Project |_.Repository Link | |
15 | 8 | J. Wienke | | C++ | rsb-cpp | source:trunk/cpp/core/apps | |
16 | 2 | J. Moringen | |
17 | 2 | J. Moringen | _Example: version only_ |
18 | 2 | J. Moringen | <pre> |
19 | 2 | J. Moringen | [jmoringe@azurit build]$ ./rsb_version |
20 | 2 | J. Moringen | Version: 0.4.0, build 1911 (DATE 2011-06-30 15:14:46 +0200 (Thu, 30 Jun 2011)), abi 2 |
21 | 2 | J. Moringen | </pre> |
22 | 2 | J. Moringen | |
23 | 2 | J. Moringen | _Example: verbose mode_ |
24 | 2 | J. Moringen | <pre> |
25 | 2 | J. Moringen | [jmoringe@azurit build]$ ./rsb_version --verbose |
26 | 2 | J. Moringen | Version: 0.4.0, build 1911 (DATE 2011-06-30 15:14:46 +0200 (Thu, 30 Jun 2011)), abi 2 |
27 | 2 | J. Moringen | |
28 | 2 | J. Moringen | |
29 | 2 | J. Moringen | Connectors |
30 | 2 | J. Moringen | ConnectorFactory<rsb::transport::InPushConnector>[ |
31 | 2 | J. Moringen | ConnectorInfo[inprocess, schemas = {inprocess}, options = {enabled}] |
32 | 2 | J. Moringen | ConnectorInfo[spread, schemas = {spread}, options = {host, port, enabled}] |
33 | 2 | J. Moringen | ] |
34 | 2 | J. Moringen | ConnectorFactory<rsb::transport::OutConnector>[ |
35 | 2 | J. Moringen | ConnectorInfo[inprocess, schemas = {inprocess}, options = {enabled}] |
36 | 2 | J. Moringen | ConnectorInfo[spread, schemas = {spread}, options = {host, maxfragmentsize, port, enabled}] |
37 | 2 | J. Moringen | ] |
38 | 2 | J. Moringen | |
39 | 2 | J. Moringen | Converters |
40 | 2 | J. Moringen | Repository<std::string>[ |
41 | 2 | J. Moringen | .* <-> bytearray : rsb::converter::ByteArrayConverter[wireType = std::string, wireSchema = .*, dataType = bytearray] |
42 | 2 | J. Moringen | bool <-> bool : rsb::converter::BoolConverter[wireType = std::string, wireSchema = bool, dataType = bool] |
43 | 2 | J. Moringen | uint64 <-> unsigned long : rsb::converter::Uint64Converter[wireType = std::string, wireSchema = uint64, dataType = unsigned long] |
44 | 2 | J. Moringen | utf-8-string <-> std::string : rsb::converter::StringConverter[wireType = std::string, wireSchema = utf-8-string, dataType = std::string] |
45 | 2 | J. Moringen | void <-> void : rsb::converter::VoidConverter[wireType = std::string, wireSchema = void, dataType = void] |
46 | 2 | J. Moringen | ] |
47 | 2 | J. Moringen | </pre> |
48 | 2 | J. Moringen | |
49 | 1 | J. Moringen | h3. Logger |
50 | 1 | J. Moringen | |
51 | 1 | J. Moringen | The RSB logger participates in a [[Glossary|channel]] using one or more [[Glossary|transports]] and displays all [[Events|events]] published on the channel using a configurable style. |
52 | 1 | J. Moringen | |
53 | 3 | J. Moringen | |_.Implementation Language |_.Project |_.Repository Link |_.Compiled Binary | |
54 | 15 | J. Moringen | | C++ | rsb-cpp-tools | source:trunk/cpp/tools | Artifacts of "this":https://ci.cor-lab.de/job/rsb-tools-cpp-trunk Jenkins job | |
55 | 14 | J. Moringen | | Common Lisp | cl-rsb-tools | source:trunk/cl/cl-rsb-tools | "Linux i686":https://ci.cor-lab.de/job/rsb-tools-cl-trunk/label=ubuntu_lucid_32bit/lastSuccessfulBuild/artifact/build/logger-builtin-spread, "Linux x86_64":https://ci.cor-lab.de/job/rsb-tools-cl-trunk/label=ubuntu_lucid_64bit/lastSuccessfulBuild/artifact/build/logger-builtin-spread, "MacOS x86_64":https://ci.cor-lab.de/job/rsb-tools-cl-trunk/label=MAC_OS_lion_64bit/lastSuccessfulBuild/artifact/build/logger-builtin-spread | |
56 | 1 | J. Moringen | |
57 | 1 | J. Moringen | _Example:_ |
58 | 1 | J. Moringen | In the following example, the C++ version of the logger is instructed to participate in the channel designated by the root scope @/@. This means that the logger will display *all* events which are receivable using its configured transports. In this example, the configured transports depend on the RSB [[Configuration|configuration file]] and environment variables. |
59 | 1 | J. Moringen | <pre> |
60 | 1 | J. Moringen | [jmoringe@azurit logger]$ ./rsblogger --format detailed / |
61 | 1 | J. Moringen | Event |
62 | 1 | J. Moringen | Scope / |
63 | 1 | J. Moringen | Id ac5f449c-4aa1-4b03-a9e2-3fac7d38e651 |
64 | 1 | J. Moringen | Type bytearray |
65 | 1 | J. Moringen | Origin ab6e3a17-e11f-4c89-8c07-606a009e8439 |
66 | 1 | J. Moringen | Timestamps |
67 | 1 | J. Moringen | Create 2011-Jul-03 12:51:11.802849+??:?? |
68 | 1 | J. Moringen | Send 2011-Jul-03 12:51:11.802950+??:?? |
69 | 1 | J. Moringen | Receive 2011-Jul-03 12:51:11.810332+??:?? |
70 | 1 | J. Moringen | Deliver 2011-Jul-03 12:51:11.810572+??:?? |
71 | 1 | J. Moringen | Payload (bytearray, length 100000) |
72 | 1 | J. Moringen | 0x0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
73 | 1 | J. Moringen | 0x0017 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
74 | 1 | J. Moringen | 0x002e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
75 | 1 | J. Moringen | 0x0045 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... |
76 | 1 | J. Moringen | ------------------------------------------------------------------------------- |
77 | 1 | J. Moringen | Event |
78 | 1 | J. Moringen | Scope / |
79 | 1 | J. Moringen | Id 3fd721ef-6e7c-4e81-bd5f-ff215b2b965f |
80 | 1 | J. Moringen | Type std::string |
81 | 1 | J. Moringen | Origin 8e07e02a-0dee-44a2-8926-cc65c0285410 |
82 | 1 | J. Moringen | Timestamps |
83 | 1 | J. Moringen | Create 2011-Jul-03 12:51:20.102403+??:?? |
84 | 1 | J. Moringen | Send 2011-Jul-03 12:51:20.102482+??:?? |
85 | 1 | J. Moringen | Receive 2011-Jul-03 12:51:20.105319+??:?? |
86 | 1 | J. Moringen | Deliver 2011-Jul-03 12:51:20.105404+??:?? |
87 | 1 | J. Moringen | Payload (std::string, length 3) |
88 | 1 | J. Moringen | foo |
89 | 1 | J. Moringen | ------------------------------------------------------------------------------- |
90 | 1 | J. Moringen | </pre> |
91 | 1 | J. Moringen | |
92 | 4 | J. Moringen | _Example (inspection of protocol buffer event payloads):_ |
93 | 5 | J. Moringen | In this example, the Common Lisp version of the RSB logger is used to display protocol buffer event payloads. This only works, if the logger is provided with the protocol buffer IDL definitions of the event payloads it should display (in this example: the @running.example.Image@ message from [[Meetings2011-07-14|the slides used in this meeting]]). These definitions can either be textual definitions, typically found in @.proto@ files (as in this example), or compiled, binary descriptions (not shown). |
94 | 4 | J. Moringen | <pre> |
95 | 11 | J. Moringen | [jmoringe@azurit build-x86_64]$ ls ~/projects/talk-rsb-data/code/*.proto |
96 | 4 | J. Moringen | /homes/jmoringe/projects/talk-rsb-data/code/Image.proto |
97 | 12 | J. Moringen | [jmoringe@azurit build-x86_64]$ ./logger-builtin-spread --style detailed --load-idl "/homes/jmoringe/projects/talk-rsb/data/code/Image.proto" spread: |
98 | 4 | J. Moringen | Event |
99 | 4 | J. Moringen | Scope : / |
100 | 4 | J. Moringen | Id : 89064E22-C503-44DA-9C65-9385C29D09A1 |
101 | 4 | J. Moringen | Type : T |
102 | 4 | J. Moringen | Origin: ABB03F86-655A-42EE-9D5B-26D34C922A3A |
103 | 4 | J. Moringen | Timestamps |
104 | 4 | J. Moringen | Create : 2011-07-16T00:28:52.123994+02:00 |
105 | 4 | J. Moringen | Send : 2011-07-16T00:28:52.124095+02:00 |
106 | 4 | J. Moringen | Receive: 2011-07-16T00:28:52.235294+02:00 |
107 | 4 | J. Moringen | Deliver: 2011-07-16T00:28:52.243197+02:00 |
108 | 4 | J. Moringen | Payload (RUNNING.EXAMPLE:IMAGE) |
109 | 4 | J. Moringen | #<IMAGE {1005B10C81}> |
110 | 4 | J. Moringen | Meta-Data: #<META-DATA {10063AF2B1}> |
111 | 4 | J. Moringen | Key : "foo" |
112 | 4 | J. Moringen | Value: "bar" |
113 | 4 | J. Moringen | Width : 20 |
114 | 4 | J. Moringen | Height : 30 |
115 | 4 | J. Moringen | Depths : 20 |
116 | 4 | J. Moringen | 10 |
117 | 1 | J. Moringen | Data : 01 02 03 04 |
118 | 1 | J. Moringen | ------------------------------------------------------------------------------- |
119 | 11 | J. Moringen | </pre> |
120 | 11 | J. Moringen | Here is another example which loads all definitions contained in the project:rst repository. Note the use of the @--idl-path@ option for @import@ resolution and the use of wildcards to load all definitions at once. Also note that loading all definitions takes a few seconds. |
121 | 11 | J. Moringen | <pre> |
122 | 11 | J. Moringen | [jmoringe@azurit build-x86_64]$ ./logger-builtin-spread --idl-path "~/code/cor-lab/rst/trunk/rst/proto/sandbox/" \ |
123 | 11 | J. Moringen | --idl-path "~/code/cor-lab/rst/trunk/rst/proto/stable/" \ |
124 | 11 | J. Moringen | --load-idl '~/code/cor-lab/rst/trunk/rst/proto/**/*.proto' \ |
125 | 11 | J. Moringen | --style detailed spread: |
126 | 9 | J. Moringen | </pre> |
127 | 9 | J. Moringen | |
128 | 9 | J. Moringen | h3. RPC Call |
129 | 9 | J. Moringen | |
130 | 9 | J. Moringen | The call tool can be used to invoke methods of RSB RPC servers. |
131 | 9 | J. Moringen | |
132 | 9 | J. Moringen | |_.Implementation Language |_.Project |_.Repository Link |_.Compiled Binary | |
133 | 14 | J. Moringen | | Common Lisp | cl-rsb-tools | source:trunk/cl/cl-rsb-tools | "Linux i686":https://ci.cor-lab.de/job/rsb-tools-cl-trunk/label=ubuntu_lucid_32bit/lastSuccessfulBuild/artifact/build/call-builtin-spread, "Linux x86_64":https://ci.cor-lab.de/job/rsb-tools-cl-trunk/label=ubuntu_lucid_64bit/lastSuccessfulBuild/artifact/build/call-builtin-spread, "MacOS x86_64":https://ci.cor-lab.de/job/rsb-tools-cl-trunk/label=MAC_OS_lion_64bit/lastSuccessfulBuild/artifact/build/call-builtin-spread | |
134 | 9 | J. Moringen | |
135 | 9 | J. Moringen | _Example:_ |
136 | 9 | J. Moringen | In this example, the @call@ tool is used to invoke the @terminate@ method of the remote server at scope @/control@ without an argument. |
137 | 9 | J. Moringen | <pre> |
138 | 1 | J. Moringen | [jmoringe@azurit logger]$ ./call 'spread:/control/terminate()' |
139 | 1 | J. Moringen | [jmoringe@azurit logger]$ |
140 | 1 | J. Moringen | </pre> |