Home
User Manual
Contents
1. a SQL Query to combine these auxiliary tables with the corresponding main tables Check in the supported types chapter the Sequences amp Arrays section for more information 4 Supported data types This section describes the data types that eProsima Non Intrusive DDS Recorder supports and how the data is stored 4 1 Basic types For each basic type field in a DDS Topic eProsima Non Intrusive DDS Recorder creates a field in the corresponding Topic table using the same name and a compatible SQLite type Table 5 IDL to SOLite Type Mapping Basic Types IDL Basic type SQL Field type octet TINYINT short SMALLINT unsigned short SMALLINT UNSIGNED long INT unsigned long INT UNSIGNED long long BIGINT unsigned long long BIGINT UNSIGNED char CHARACTER 1 string TEXT float FLOAT double DOUBLE boolean TINYINT enumeration TEXT 4 2 Sequences Arrays eProsima Non Intrusive DDS Recorder supports sequences and multidimensional arrays of basic types Future releases will include support for sequences and arrays of user types For each sequence array eProsima Non Intrusive DDS Recorder will create e An integer field in the Topic Table named lt Array SequenceName gt _id An auxiliary table named lt TopicName gt _ lt Array SequenceName gt to store the Array Sequence Data The table schema will be o The lt Array SequenceName gt _id integer field to identify the array sequenc
2. Non Intrusive DDS Recorder does not record just raw data it builds a message table for each DDS Topic with the same fields as the corresponding DDS Topic Data Type In this release you need a sniffer such as wireshark to save the network traffic into a standard packet capture file PCAP eProsima Non Intrusive DDS Recorder will later parse the file to translate the RTPS messages into a human readable format and store them in a SQLite database In order to get all the traffic in your network you should sniff your switch debug port otherwise you would get just the traffic directed to the node where the sniffer is running Future releases will include a built in sniffer to process the network packets in real time DDS uses an automatic discovery process to discover all the DDS entities in your network including your topic data types eProsima Non Intrusive DDS Recorder analyzes the discovery traffic to build a set of tables in a database using your data types schema to store the DDS user data traffic later To get the data type information eProsima Non Intrusive DDS Recorder searchs for the data type definition Typecode in the discovery messages It is important to note that not all the available DDS implementations send the typecode information see supported DDS implementations in the release notes Future releases of eProsima Non Intrusive DDS Recorder will allow the use of an IDL file to generate the typecode of your types 2 Usage eProsima
3. Non Intrusive DDS Recorder is a command line application The command line syntax is DDSRecorder lt pcapFile gt db lt database gt tcMaxSize lt size gt help e lt pcapFile gt name of the file that the application will analyze This file should be a PCAP format e db lt database gt name of the SQLite file that will be created and used to store the translated RTPS messages By default eProsima Non Intrusive DDS Recorder creates the file dump db e tcMaxSize lt size gt TypeCode maximum allowed size Default 2048 e help Print help information 3 Generated Database Structure eProsima Non Intrusive DDS Recorder creates a set of tables for the discovery information and the user data traffic Discovery Tables Used to store relevant discovery information O _topics Table Stores the DDS Topics and their data type information o _endpoints Table Stores DDS Endpoint information Datareaders and Datawriters o _endpointsDiscoveryMessages Table Stores DDS Endpoint discovery messages e User Topics Tables O Topic Main Tables A table per DDS topic storing the topic messages using its data type schema topicNamel topicName2 topicNameN o Topic Auxiliary Tables If a DDS topic contains a variable length field such as an array or sequence an auxiliary table is created to store the field values of each topic message TopicNameT e TopicNameT_varLengthFieldNamel e TopicNameT_
4. at dia ede teats 11 AS Ae EX MPN es coos sis eye scic E ees e ts ees bese A S 11 AAN ION A a Me ee 12 LAME Mi A IA A E AE 12 SHelloWorldexain plese arnes ne e a Soanossdtdegs noeeddeedbuvadangsadeldesvoenpanstecedesbdesesddasdenitdnan dient 13 5 1 Generating the applications and sniffing some network packets cccccccccccnnnonononnnnnnnnnnn 13 5 2 Generating the SQLite database id 13 5 3 Understanding the SQLite database ccccccnnooooooncnnnnononanononnnnnnnnnnnnononnnnnnnnonnnnnnnnnnnnononnnnns 14 5 3 1 EndpointDiscoveryMessages table o occccccnnnooooonnnnnnnconnnanonnnononncnnnnnnononononnnnnnnnnonnns 14 Po 792888 5 Lo 00 14 EE E aed peas sede ea eaas Semone dia E newt 14 5 3 3 TOPICS Lale iia E e A ida edad 15 5 3 4 Example_HelloWorld tabletini ancene aeei E E EEE E 15 1 Introduction eProsima Non Intrusive DDS Recorder is a tool to record all the DDS traffic in your network using a non intrusive mechanism allowing you to test analyze or log your DDS distributed system without adding any new DDS participant or service ensuring you are recording the real behavior and timing 1 1 How it works eProsima Non Intrusive DDS Recorder records the DDS traffic sniffing the DDS protocol RTPS through the switch debug port The tool dissects the protocol and builds a complete database of all the DDS entities Participants Publishers Subscribers and Topics the Data Types and all the exchanged messages eProsima
5. c from a simple DDS Publisher and Subscriber applications and the generated SQLite database We will use the following IDL struct HelloWorld long counter string message F To browse the SQLite database many Graphical Interfaces are available The screenshots used for this section are taken using the SQLiteman GUI Tool It can be downloaded freely from http sqliteman com 5 1 Generating the applications and sniffing some network packets Most DDS implementations count with an IDL compiler to generate Type Support for our data type and an example pub sub applications Run the applications save some network traffic using a network sniffer and save the results using the PCAP format There are many network sniffer available being WireShark the most known http www wireshark org If you want to skip this step you can use the included sample PCAP file 5 2 Generating the SQLite database eProsima Non Intrusive DDS Recorder will be used to generate the SQLite database to store captured RTPS messages in a human readable format To create the database run this command DDSRecorder db HelloWorld db HelloWorld pcap Remember to have the appropriate permissions to create files in that folder 13 5 3 Understanding the SQLite database eProsima Non Intrusive DDS Recorder creates four tables in the generated SQLite database Database 4 2 main a E Tables 4 _endpointdiscoverymessages _endpoints _topics example_hellowo
6. e o A set of integer fields named lt index_n gt for the array sequence indexes o The fields for the data To view the topic samples data including an Array Sequence field you can use an SQL Query select from lt TopicName gt inner join lt TopicName gt _ lt Array SequenceName gt on lt TopicName gt lt Array SequenceName gt _id lt TopicName gt _ lt Array SequenceName gt lt Array SequenceName gt _id 4 2 1 Example Consider a Foo Topic with the following Data Type struct Foo_Type long myld long myArray 10 eProsima Non Intrusive Recorder would generate the following Tables Foo_myArray To get the values of myArray for a given Foo sample you could use the Query select Foo_myArray from Foo inner join Foo_myArray on Foo myArray_id Foo_myArray myArray_id where Foo message_id lt a_Valid_Id gt 10 4 3 Inner Structures In the case of inner Structures eProsima Non Intrusive DDS Recorder creates a new field in the Topic table for each field in the inner structure prefixing the field name with the inner structure name lt InnerStructure Name gt _ lt Field Name gt 4 3 1 Example Consider the following IDL struct MyInnerStruct long counter string message J struct MyStruct long id MyInnerStruct myIS y This is the Type we will use for the topic eProsima Non Intrusive DDS Record
7. eProsima Non Intrusive DDS Recorder User Manual Version 0 2 0 eProsima The Middleware Experts eProsima 2013 eProsima Proyectos y Sistemas de Mantenimiento SL Ronda del poniente 2 12G 28760 Tres Cantos Madrid Tel 34 91 804 34 48 info eProsima com www eProsima com eProsima Trademarks eProsima is a trademark of Proyectos y Sistemas de Mantenimiento SL All other trademarks used in this document are the property of their respective owners License eProsima Non Intrusive DDS Recorder is licensed under the terms described in the DDSRECORDER _LICENSE file included in this distribution Technical Support Phone 34 91 804 34 48 e Email support eprosima com Contents UTERO CUCU OM stella telas ietaranca lcd delete la Haseena leah quanta localities rada 3 Dc OW A 3 LU a di aa 4 3 Generated Database Structure iia A A A A a ad 5 SIO DISCOVERY Talent EIA aii 6 ILL Topics E 0 EEE is 6 RR A 6 3 1 3 endpointDiscoveryMessages table cocoooooooncccccnonoooooonnnnncnonnnnnnnnnnnononnnnnnnnnnnnnnnnnnnnnnnnnns 7 3 2 User Topics tables uti iii tits 8 S21 Topi MA ATA ia 8 32 2 TOPIC Auxiliary Table iaa 8 4 Supported data type ccccsscsccccccccsssssssneeeeeeeeesessessseeeeececesseeesseaeeeeeeessessseaeeeeeeeeeseessaasaaeegagaseessees 9 ALBACEA A A A A teases A decked 9 42 SEQUENCES AV ironia ti A ri ii 10 DRA A A daa 10 4 3 NNer STrUCtUT Si ve case ius eaan lt a ge Lane We Cag ga
8. er will create the following fields for the topic table Table 6 Inner Structure Example Topic Fields Table field Field type Message_id INT MetaData Fields id INT mylS_counter INT mylS_message TEXT 11 4 4 Unions For Unions eProsima Non Intrusive DDS Recorder creates a new field in the Topic table for each field in the union prefixing the field name with the union name lt Union Name gt _ lt Field Name gt eProsima Non Intrusive DDS Recorder creates also a discriminator field for the union lt Union Name gt _discriminator The discriminator specifies the union field used for a sample 4 4 1 Example Consider the following IDL union MyUnion switch long discriminator type case 1 long counter case 2 string message J struct MyStruct long id MyUnion myU This is the Type we will use for the topic eProsima Non Intrusive DDS Recorder will create the following fields for the topic table Table 7 Union Example Topic Fields Table field Field type Message_id INT MetaData Fields id INT myU_discriminator INT myU_counter INT myU_message TEXT 12 5 HelloWorld example This section will explain the usage of eProsima Non Intrusive DDS Recoder through a simple example located at Recorder Install dir examples HelloWorld The folder contains the IDL file used for the data type a sample PCAP file containing the sniffed traffi
9. loWorld and eProsima Non Intrusive DDS Recorder generates a table for the topic containing the samples data and some metadata samp_nanosec dst_rtps_host_id dst_rtps_app_id dst_rtps_instance_id counter message 8 725840128 null null null 9 730135040 null null null 7 HelloWorld 7 E 10 730135040 null null null HelloWorld 8 11 738724864 null null null HelloWorld 9 12 738724864 null null null 10 ASS HelloWorl d 13 738724864 null null null 11 HelloWorid 11 ES 15
10. rld Views 0 7 System Catalogue 1 These tables follow the schema described in the Generated Database Structure section 5 3 1 _EndpointDiscoveryMessages table eProsima Non Intrusive DDS Recorder found two Endpoint discovery RTPS messages from the Publisher and Subscriber applications The _EndpointDiscoveryMessages table shows these entries corresponding to a DDS DataWriter and a DDS DataReader 1 null 234 d dst_rtps instance id endpoint_rtps_entity_id endpoint_type 2147483651 Example HelloWorld 1 2147483652 Example HelloWorld 1 topic_name contains_typecode From the discovery messages eProsima Non Intrusive DDS Recorder extracts the information about endpoints and topics creating the next two tables 5 3 2 _Endpoints table The _endpoints table shows the two DDS endpoints detected in the discovery traffic a DataReader and a Datawriter 1 3232235788 2 3232252933 rtps_hostid rtps app id rtps instance id rtps entity id 6404 5528 1 2147483651 Example HelloWorld 1 2147483652 Example HelloWorld topic_name 14 5 3 3 _Topics table The _Topics Table shows just one topic in this case with a human readable representation of the type code an IDL structure topic_name type_name Example HelloWorld HelloWorld struct HelloWorld long counter string message p Je 5 3 4 Example_HelloWorld table In this example our topic name is Example_Hel
11. sage_id INT Numeric Identifier for the message matching the sniffer packet number sniffer_timestamp_sec INT Sniffer Timestamp Seconds Microseconds sniffer_timestamp_usec ip_src VARCHAR 15 Source IP address ip_dst VARCHAR 15 Destination IP address src_rtps_host_id UNSIGNED INT RTPS GUID Global Unique ID of the source src_rtps_app_id participant src_rtps_instance_id src_timestamp_sec INT Source time stamp of the discovery message src_timestamp_nanosec Seconds Nanoseconds This timestamp is set when the source participant sends the discovery message using its own clock dst_rtps_host_id UNSIGNED INT RTPS GUID Global Unique ID of the destination dst_rtps_app_id participant These fields could be empty if the dst_rtps_instance_id discovery message is not delivered to only one DomainParticipant endpoint_rtps_entity_id UNSIGNED INT rtps_entity_id of the endpoint The Endpoint GUID is obtained appending this ID to the Source Participant GUID endpoint_type CHARACTER 10 This field specifies if the endpoint is a Datawriter or a Datareader topic_name VARCHAR 255 The name of the DDS Topic associated with the Datawriter or Datareader contains_typecode UNSIGNED 1 if the information of the endpoint contains the TINYINT Typecode of the Topic Data Type otherwise 0 3 2 User Topics tables 3 2 1 Topic Main Tables For each discovered DDS Topic eProsima Non Intrusive DDS Recorder creates a table named as
12. the topic The next invalid characters in the table s name are replaced by the character _ This table stores all data samples of the Topic using the following schema e Protocol Metadata fields e Topic Data Type fields Table 4 Topic Table Protocol Metadata fields Table field Field type Description message_id INT Numeric Identifier for the message matching the sniffer packet number sniffer_timestamp_sec INT Sniffer Timestamp Seconds Microseconds sniffer_timestamp_usec ip_src VARCHAR 15 Source IP address ip_dst VARCHAR 15 Destination IP address src_rtps_host_id UNSIGNED INT RTPS GUID Global Unique ID of the source src_rtps_app_id UNSIGNED INT participant src_rtps_instance_id UNSIGNED INT src_timestamp_sec INT Source time stamp of the message Seconds src_timestamp_nanosec INT Nanoseconds This timestamp is set when the source participant sends the message using its own clock dst_rtps_host_id UNSIGNED INT RTPS GUID Global Unique ID of the destination dst_rtps_app_id UNSIGNED INT participant These fields could be empty if the dst_rtps_instance_id UNSIGNED INT discovery message is not delivered to only one DomainParticipant 3 2 2 Topic Auxiliary Tables If a topic contains a variable length field such as an array or sequence an auxiliary table is created to store the field values of each topic message You can get the complete information of a sample using
13. varLengthFieldName2 e TopicNameT_varLengthFieldNameN 3 1 Discovery Tables 3 1 1 _topics table eProsima Non Intrusive DDS Recorder creates a table named topics This table stores information about all DDS Topics found in the sniffer trace Table 1 topics Table Fields Table field Field type Description topic_name VARCHAR 255 The name of the discovered DDS Topic type_name VARCHAR 255 The name of the DDS Topic data type typecode TEXT The Typecode of the data type in a human readable format 3 1 2 _endpoints table eProsima Non Intrusive DDS Recorder creates a table named _endpoints This table stores information about the Datawriters and Datareaders found in the sniffer trace Table 2 endpoints Table Fields Table field Field type Description rtps_host_id UNSIGNED INT These four fields contain the unique identifier for each rtps_app_id discovered entity rtps_instance_id rtps_entity_id endpoint_type CHARACTER 10 Type of entity Datareader or Datawriter topic_name VARCHAR 255 _ Entity associated topic 3 1 3 _endpointDiscoveryMessages table eProsima Non Intrusive DDS Recorder creates a table named _endpointDiscoveryMessages This table stores all RTPS messages involved in the endpoint discovery phase Table 3 _endpointDiscoveryMessages Table Fields Table field Field type Description mes
Download Pdf Manuals
Related Search
Related Contents
ERNT-ASLTY40 ERNT-ASLTY50 ERNT User`s Manual Tutorial Gestion Almacen 0.0.7 parte 2 de 2 情報提供事業 - 神奈川県ライトセンターホームページ Samsung SGH-X620 Benutzerhandbuch Sony Headphones MDR-EX80LP User's Manual デジタルCO2・O2チェッカー CD-2IR GLUCOSE ELECTRODES ELECTRODES (FR) Modèle HEATY 15BI Manuel d`utilisation 8550, 8550N, 8550DN, 8550GN, 8550MFP Drucker - Hewlett Copyright © All rights reserved.
Failed to retrieve file