Home

User Manual - eProsima Middleware Experts

image

Contents

1. 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 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 I ntrusive DDS Recorder supports and ho
2. 30135040 null null null HelloWorld 8 11 738724864 null null null HelloWorld 9 12 738724864 null null null 10 Wei HelloWorl d 13 738724864 null null null 11 HelloWorid 11 gg 15
3. D 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 ntrusive DDS Recorder creates a table named as 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
4. DS 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 5 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 traffic 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 F3 To browse the SQLite database many Graphical Interfaces are available The screenshots used for this sectio
5. ating the SOLte databaee neneiia preii AR AE RE A EE e 13 5 3 Understanding the SQLite database ccccssssscscecceecesssesseeeeeceeesessessseeeeeeeeeessessaeasagageeees 14 5 3 1 EndpointDiscoveryMessages Lable 14 5 3 2 Endpoints tablen ein a E E T a a e eiaa 14 EE PEN 0 o ee 15 5 3 4 Example HelloWorld table 2 onia a a ea a a ia Ea Eege 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 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 t
6. ble 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 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 GUI
7. corder creates the file dump db e tcMaxSize lt size gt TypeCode maximum allowed size Default 2048 e idl lt file gt IDL file containing all data types used in the captured system if their typecodes are not being sent in the discovery phase 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 _endpoints Table Stores DDS Endpoint information Datareaders and Datawriters _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_varLengthFieldName1 e TopicNameT_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 Ta
8. eProsima Non Intrusive DDS Recorder User Manual Version 1 0 0 eProsima The Middleware Experts eProsima 2014 eProsima Proyectos y Sistemas de Mantenimiento SL Ronda del poniente 16 Bajo K 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 e Phone 34 91 804 34 48 e Email support eprosima com Contents Ride Wee Le EE 3 CMe TTC I AOI EE 3 DNISA 1 ugereest EE EE cet wan E geed et 4 SEET dE 5 Bel Discovery Ee EE 6 3 1 1 ele ee TEE 6 3 1 2 endpoints El TEE 6 3 1 3 endpointDiscoveryMessages table 7 SAUTA o OAE o EEEE A E ESA 8 3 21 Topi Main Table S kennari Setoskecusveats sen tineeesltcaded cateandavathaca dev R DENETAN aa TREA aE e 8 3 22 Topic Auxiliary RE EE 8 4 Supported data type Seenen n a a eee a E A S Eaa 9 4I Basic EE 9 Ee Une EE 10 OD EXIM Elle genee gege Eege 10 4 3 INNES F Str CtUre S serie NENNEN ENEE RENE NEEN EEN EEN 11 ABA Enn EE 11 ASA Ee TE 12 AA A EXAM EE 12 S Hello World exampl eiiie noina EAE E A E E a 13 5 1 Generating the applications and sniffing some network poacketz 13 5 2 Gener
9. er applications The _EndpointDiscoveryMessages table shows these entries corresponding to a DDS DataWriter and a DDS DataReader d dst_rtps_instance_id endpoint_rtps_entity_id endpoint_type topic_name contains_typecode 1 null 2147483651 Example HelloWorld 1 aM 1 2147483652 Example HelloWorld 1 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 rtps_host_id rtps_app_id rtps_instance_id rtps_entity_id topic_name 1 3232235788 6404 1 2147483651 Example HelloWorld 2 3232252933 5528 1 2147483652 Example HelloWorld 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 1 string message e 5 3 4 Example_HelloWorld table In this example our topic name is Example HelloWorld and eProsima Non Intrusive DDS Recorder generates a table for the topic containing the samples data and some metadata stamp_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 ei 10 7
10. he 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 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 idl lt file 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 Re
11. 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 myId long myArray 10 eProsima Non Intrusive Recorder would generate the following Tables Foo_myArray TI O ei 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 Recorder 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 D
12. n 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 e main a Tables 4 _endpointdiscoverymessages _endpoints _topics example_helloworld Views 0 kd 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 Subscrib
13. w 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 SQLite 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 amp 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 sequence 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

Download Pdf Manuals

image

Related Search

Related Contents

Twist 608  取扱説明書 - 山田照明  Service Manual  SUSブレーキホース 組付・取扱説明書  Bedienungsanleitung HO730  IT/EN - Sygest S.r.l.  USER MANUAL: - Allied Motion  Alere™ Connectivity Pack I and II  Philips Blender HR2118/01  Polaroid m536 User's Manual  

Copyright © All rights reserved.
Failed to retrieve file