Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKatherine Nadeau2018-06-01 08:52:49 -0400
committerSimon Delisle2018-07-10 13:56:36 -0400
commita843bbaa844461a9c1f96ab0f4a58a31952219fb (patch)
tree5770a65677b5ce41c8d8e95c184d615979dd7481
parent24b54650e750cf8d03b48f48a3ca53ca4720f17c (diff)
downloadorg.eclipse.tracecompass.incubator-a843bbaa844461a9c1f96ab0f4a58a31952219fb.tar.gz
org.eclipse.tracecompass.incubator-a843bbaa844461a9c1f96ab0f4a58a31952219fb.tar.xz
org.eclipse.tracecompass.incubator-a843bbaa844461a9c1f96ab0f4a58a31952219fb.zip
opentracing: Basic support for Open Tracing (obtained with Jaeger)
[CQ 16725] for opentracing icon Extract common code between TraceEvent and OpenTracing Change-Id: I49c46889ca2a0d7785460ee338a0e46018d6e1cd Signed-off-by: Katherine Nadeau <katherine.nadeau@ericsson.com> Reviewed-on: https://git.eclipse.org/r/123845 Tested-by: CI Bot Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com> Reviewed-by: Simon Delisle <simon.delisle@ericsson.com>
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.externalToolBuilders/Trace Compass Incubator User Guide Builder.launch22
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.gitignore1
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.project37
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.settings/org.eclipse.ltk.core.refactoring.prefs2
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/META-INF/MANIFEST.MF8
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/about.html28
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/book.css59
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/build.properties20
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/build.xml62
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/.gitignore2
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/User-Guide.mediawiki8
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/images/home.gifbin0 -> 582 bytes
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/images/next.gifbin0 -> 327 bytes
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/images/prev.gifbin0 -> 327 bytes
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/plugin.properties11
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/plugin.xml13
-rw-r--r--doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/pom.xml123
-rw-r--r--doc/pom.xml1
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.classpath7
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.gitignore1
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.project28
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/META-INF/MANIFEST.MF16
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/about.html28
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/build.properties8
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/plugin.properties12
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/plugin.xml4
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/internal/jsontrace/core/Activator.java47
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/internal/jsontrace/core/job/Messages.java (renamed from tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/trace/Messages.java)8
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/internal/jsontrace/core/job/messages.properties (renamed from tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/trace/messages.properties)2
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/internal/jsontrace/core/package-info.java11
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/jsontrace/core/job/SortingJob.java (renamed from tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/trace/SortingJob.java)51
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/jsontrace/core/trace/JsonTrace.java273
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.classpath15
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.gitignore1
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.project28
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.jdt.core.prefs428
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.jdt.ui.prefs60
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/META-INF/MANIFEST.MF18
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/about.html28
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/build.properties17
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/plugin.properties12
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/src/org/eclipse/tracecompass/incubator/opentracing/core/tests/ActivatorTest.java120
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/src/org/eclipse/tracecompass/incubator/opentracing/core/tests/OpenTracingTraceTest.java160
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/traces/multiple_services.json1
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/traces/simple.json1
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.classpath15
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.gitignore1
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.project34
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.jdt.core.prefs433
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.jdt.ui.prefs60
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.pde.api.tools.prefs99
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.pde.prefs32
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/META-INF/MANIFEST.MF22
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/about.html28
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/build.properties18
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/plugin.properties12
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/plugin.xml20
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/Activator.java47
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/IOpenTracingAspect.java36
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/IOpenTracingConstants.java52
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/Messages.java69
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/OpenTracingAspects.java146
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/OpenTracingEvent.java63
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/OpenTracingField.java228
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/messages.properties20
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/package-info.java11
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/package-info.java11
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/trace/OpenTracingTrace.java190
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.classpath15
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.gitignore1
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.project34
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs428
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs60
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/META-INF/MANIFEST.MF18
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/about.html28
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/build.properties17
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/plugin.properties12
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/swtbot-test-plugin.properties1
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.classpath15
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.gitignore1
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.project34
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/.api_filters45
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.jdt.core.prefs433
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.jdt.ui.prefs60
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.pde.api.tools.prefs99
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.pde.prefs32
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/META-INF/MANIFEST.MF17
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/about.html28
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/build.properties19
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/icons/open-tracing.pngbin0 -> 576 bytes
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/icons/open-tracing@2x.pngbin0 -> 957 bytes
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/icons/open-tracing@4x.pngbin0 -> 4704 bytes
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/plugin.properties12
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/plugin.xml11
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/src/org/eclipse/tracecompass/incubator/internal/opentracing/ui/Activator.java55
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/src/org/eclipse/tracecompass/incubator/internal/opentracing/ui/package-info.java11
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing/.project17
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing/build.properties2
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing/feature.properties17
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.opentracing/feature.xml57
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.traceevent.core.tests/META-INF/MANIFEST.MF4
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/META-INF/MANIFEST.MF4
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/event/TraceEventField.java5
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/trace/TraceEventTrace.java234
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.traceevent.ui/META-INF/MANIFEST.MF3
-rw-r--r--tracetypes/org.eclipse.tracecompass.incubator.traceevent/feature.xml1
-rw-r--r--tracetypes/pom.xml5
120 files changed, 5101 insertions, 254 deletions
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.externalToolBuilders/Trace Compass Incubator User Guide Builder.launch b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.externalToolBuilders/Trace Compass Incubator User Guide Builder.launch
new file mode 100644
index 00000000..787997ea
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.externalToolBuilders/Trace Compass Incubator User Guide Builder.launch
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
+<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_CLEAN_TARGETS" value="clean,"/>
+<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_MANUAL_TARGETS" value="build,build.index,"/>
+<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
+<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/org.eclipse.tracecompass.incubator.opentracing.doc.user&quot; type=&quot;4&quot;/&gt;&#10;&lt;/resources&gt;}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.tracecompass.incubator.opentracing.doc.user/build.xml"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.tracecompass.incubator.opentracing.doc.user"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.tracecompass.incubator.opentracing.doc.user/build.xml}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="incremental,clean"/>
+<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
+<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
+</launchConfiguration>
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.gitignore b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.gitignore
new file mode 100644
index 00000000..f1ac0378
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.gitignore
@@ -0,0 +1 @@
+index/
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.project b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.project
new file mode 100644
index 00000000..f4c3af54
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.project
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.tracecompass.incubator.opentracing.doc.user</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>clean,full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value>&lt;project&gt;/.externalToolBuilders/Trace Compass Incubator User Guide Builder.launch</value>
+ </dictionary>
+ <dictionary>
+ <key>incclean</key>
+ <value>true</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.mylyn.wikitext.ui.wikiTextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.settings/org.eclipse.core.resources.prefs b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..99f26c02
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.settings/org.eclipse.core.runtime.prefs b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 00000000..5a0ad22d
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.settings/org.eclipse.ltk.core.refactoring.prefs b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 00000000..b196c64a
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/META-INF/MANIFEST.MF b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..5694fa0b
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/META-INF/MANIFEST.MF
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Version: 0.0.1.qualifier
+Bundle-Localization: plugin
+Bundle-SymbolicName: org.eclipse.tracecompass.incubator.opentracing.doc.user;singleton:=true
+Require-Bundle: org.eclipse.help
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/about.html b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/about.html
new file mode 100644
index 00000000..28737f60
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/book.css b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/book.css
new file mode 100644
index 00000000..79747396
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/book.css
@@ -0,0 +1,59 @@
+/* following font face declarations need to be removed for DBCS */
+
+
+body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, sans-serif; color: #000000}
+pre { font-family: Courier, monospace}
+
+/* end font face declarations */
+
+/* following font size declarations should be OK for DBCS */
+body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 12pt; }
+pre { font-size: 12pt}
+
+/* end font size declarations */
+
+body { background: #FFFFFF}
+h1 { font-size: 18pt; margin-top: 5; margin-bottom: 1 }
+h2 { font-size: 14pt; margin-top: 25; margin-bottom: 3 }
+h3 { font-size: 11pt; margin-top: 20; margin-bottom: 3 }
+h4 { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic }
+h5 { font size: 13.5pt; }
+p { font-size: 12pt; }
+pre { margin-left: 6; font-size: 9pt }
+
+a:link { color: #006699 }
+a:visited { color: #996699 }
+a:hover { color: #006699 }
+
+ul { margin-top: 0; margin-bottom: 10 }
+li { margin-top: 0; margin-bottom: 0 }
+li p { margin-top: 0; margin-bottom: 0 }
+ol { margin-top: 0; margin-bottom: 10 }
+dl { margin-top: 0; margin-bottom: 10 }
+dt { margin-top: 0; margin-bottom: 0; font-weight: bold }
+dd { margin-top: 0; margin-bottom: 0 }
+strong { font-weight: bold}
+em { font-style: italic}
+var { font-style: italic}
+div.revision { border-left-style: solid; border-left-width: thin;
+ border-left-color: #7B68EE; padding-left:5 }
+th { font-weight: bold }
+.hidden {
+ display: none;
+}
+
+/* Mike Behm's addition to the style sheet */
+.userinput { font-family: monospace; }
+.guitab, .important, .guibutton, .selectblue, .guimenu, .guilabel,
+.notetitle {
+ color: #000000;
+ font-family: helvetica, arial, sans-serif;
+ font-weight: bold;
+ }
+div.linux {display:none;}
+.firsterm {font-style:italic;}
+
+.typewriter {font-family:monospace;}
+.bold {font-weight:600;}
+.linethrough {text-decoration: line-through;}
+.underline {text-decoration: underline;}
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/build.properties b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/build.properties
new file mode 100644
index 00000000..af351ca8
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/build.properties
@@ -0,0 +1,20 @@
+###############################################################################
+# Copyright (c) 2018 Ericsson
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+###############################################################################
+
+bin.includes = plugin.xml,\
+ META-INF/,\
+ about.html,\
+ plugin.properties,\
+ book.css,\
+ doc/
+jars.extra.classpath = platform:/plugin/org.eclipse.mylyn.wikitext.core,\
+ platform:/plugin/org.eclipse.mylyn.wikitext.core.ant,\
+ platform:/plugin/org.eclipse.mylyn.wikitext.mediawiki.core
+src.includes = about.html
+
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/build.xml b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/build.xml
new file mode 100644
index 00000000..aabdc807
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/build.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="org.eclipse.tracecompass.incubator.opentracing.doc.user" default="build" basedir=".">
+ <description>
+ Generate Eclipse help content for the opentracing User Guide
+ </description>
+
+ <property name="document.title" value="Trace Compass opentracing User Guide" />
+
+ <path id="wikitext.tasks.classpath">
+ <!-- Search in the local Eclipse plugins directory for the Wikitext plugin -->
+ <fileset dir="${osgi.syspath}" erroronmissingdir="false">
+ <include name="org.eclipse.mylyn.wikitext.*core*.jar" />
+ <include name="com.google.guava_*.jar" />
+ </fileset>
+
+ <!-- For Maven builds: use the compile_classpath -->
+ <pathelement path="${compile_classpath}" />
+ </path>
+
+ <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/wikitext/core/ant/tasks.properties" />
+
+ <target name="build" description="Generate Eclipse help content for the Trace Compass Incubator opentracing User Guide">
+ <wikitext-to-eclipse-help markupLanguage="MediaWiki"
+ validate="true"
+ failonvalidationerror="true"
+ overwrite="true"
+ multipleOutputFiles="true"
+ navigationimages="true"
+ title="${document.title}"
+ formatoutput="true"
+ helpPrefix="doc">
+ <fileset dir="doc">
+ <include name="User-Guide.mediawiki" />
+ </fileset>
+ <stylesheet url="book.css" />
+ </wikitext-to-eclipse-help>
+ <antcall target="test" />
+ </target>
+
+ <target name="test" description="Verify that all of the HTML files are well-formed XML">
+ <!--
+ Don't bother with DTD validation: we only care if the files are well-formed.
+ We therefore provide an empty DTD
+ -->
+ <xmlvalidate lenient="true">
+ <fileset dir="doc">
+ <include name="**/*.html" />
+ </fileset>
+ <dtd publicid="-//W3C//DTD XHTML 1.0 Transitional//EN" location="../.empty.dtd" />
+ </xmlvalidate>
+ </target>
+
+ <target name ="clean" description="Delete all generated files">
+ <delete failonerror="false">
+ <fileset dir="doc" includes="**/*.html" />
+ <fileset dir="doc" includes="**/*.xml" />
+ </delete>
+ </target>
+ <target name="build.index" description="Builds search index for the plug-in" if="eclipse.running">
+ <help.buildHelpIndex manifest="${basedir}/plugin.xml" destination="${basedir}" />
+ </target>
+</project>
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/.gitignore b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/.gitignore
new file mode 100644
index 00000000..28d48547
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/.gitignore
@@ -0,0 +1,2 @@
+*.html
+*.xml
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/User-Guide.mediawiki b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/User-Guide.mediawiki
new file mode 100644
index 00000000..64658f3a
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/User-Guide.mediawiki
@@ -0,0 +1,8 @@
+
+= Open tracing trace =
+
+From [https://github.com/opentracing the Open tracing github page]. The Open tracing API is a vendor-neutral API for distributed tracing and context propagation.
+
+Trace compass currently support the Jaeger tracer [https://github.com/jaegertracing] trace format which is a .json file.
+
+The parser handles jaeger traces. In order to open one, select the .json file of the trace obtained with Jaeger UI.
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/images/home.gif b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/images/home.gif
new file mode 100644
index 00000000..4472e8ce
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/images/home.gif
Binary files differ
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/images/next.gif b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/images/next.gif
new file mode 100644
index 00000000..e2f8c3e1
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/images/next.gif
Binary files differ
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/images/prev.gif b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/images/prev.gif
new file mode 100644
index 00000000..4fb41501
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/doc/images/prev.gif
Binary files differ
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/plugin.properties b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/plugin.properties
new file mode 100644
index 00000000..b6b3df6b
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/plugin.properties
@@ -0,0 +1,11 @@
+###############################################################################
+# Copyright (c) 2017 Ericsson
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+###############################################################################
+
+Bundle-Vendor = Eclipse Trace Compass Incubator
+Bundle-Name = Trace Compass opentracing User Guide (Incubation)
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/plugin.xml b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/plugin.xml
new file mode 100644
index 00000000..43800d9f
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/plugin.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plugin>
+<!-- This part should be in a documentation plugin -->
+<!-- Configure the help contribution for this plugin -->
+ <extension point="org.eclipse.help.toc">
+ <toc
+ file="doc/User-Guide-toc.xml"
+ primary="true" />
+ <index
+ path="index/">
+ </index>
+ </extension>
+</plugin>
diff --git a/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/pom.xml b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/pom.xml
new file mode 100644
index 00000000..d3f5a01f
--- /dev/null
+++ b/doc/org.eclipse.tracecompass.incubator.opentracing.doc.user/pom.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (C) 2014, Ericsson
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+-->
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <artifactId>org.eclipse.tracecompass.incubator.doc</artifactId>
+ <groupId>org.eclipse.tracecompass.incubator</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.tracecompass.incubator.opentracing.doc.user</artifactId>
+ <packaging>eclipse-plugin</packaging>
+
+ <name>Trace Compass Incubator opentracing User Guide</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-documentation</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <target>
+ <property name="compile_classpath" refid="maven.compile.classpath" />
+ <ant target="build" inheritRefs="true" antfile="build.xml" />
+ </target>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>clean-documentation</id>
+ <phase>clean</phase>
+ <configuration>
+ <target>
+ <ant target="clean" antfile="build.xml" />
+ </target>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- Build help index -->
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-eclipserun-plugin</artifactId>
+ <configuration>
+ <appArgLine>-application org.eclipse.ant.core.antRunner -buildfile build.xml build.index</appArgLine>
+ </configuration>
+ </plugin>
+ <!-- We don't use the ant file to clean because of http://jira.codehaus.org/browse/MANTRUN-78 -->
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>clean-index</id>
+ <phase>clean</phase>
+ <configuration>
+ <filesets>
+ <fileset><directory>index/</directory></fileset>
+ </filesets>
+ </configuration>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>deploy-doc</id>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>deploy</id>
+ <phase>install</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <mkdir dir="${docDestination}/org.eclipse.tracecompass.incubator.opentracing.doc.user" />
+ <delete includeemptydirs="false">
+ <fileset
+ dir="${docDestination}/org.eclipse.tracecompass.incubator.opentracing.doc.user">
+ <include name="**" />
+ </fileset>
+ </delete>
+ <copy includeemptydirs="false" todir="${docDestination}/org.eclipse.tracecompass.incubator.opentracing.doc.user">
+ <fileset dir="doc" includes="*.html,images/**"/>
+ </copy>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+</project>
diff --git a/doc/pom.xml b/doc/pom.xml
index d0182027..e5341923 100644
--- a/doc/pom.xml
+++ b/doc/pom.xml
@@ -38,6 +38,7 @@
<module>org.eclipse.tracecompass.incubator.lttng2.ust.extras.doc.user</module>
<module>org.eclipse.tracecompass.incubator.atrace.doc.user</module>
<module>org.eclipse.tracecompass.incubator.trace.server.doc.dev</module>
+ <module>org.eclipse.tracecompass.incubator.opentracing.doc.user</module>
<!-- insert modules here -->
</modules>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.classpath b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.classpath
new file mode 100644
index 00000000..eca7bdba
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.gitignore b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.project b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.project
new file mode 100644
index 00000000..7cf60c87
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.tracecompass.incubator.jsontrace.core</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.settings/org.eclipse.jdt.core.prefs b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..0c68a61d
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/META-INF/MANIFEST.MF b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..09e8181d
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Core
+Bundle-SymbolicName: org.eclipse.tracecompass.incubator.jsontrace.core;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: org.eclipse.tracecompass.incubator.jsontrace.core
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.tracecompass.common.core,
+ org.eclipse.core.runtime,
+ org.eclipse.tracecompass.tmf.core,
+ org.eclipse.jdt.annotation,
+ org.eclipse.core.resources
+Export-Package: org.eclipse.tracecompass.incubator.internal.jsontrace.core;x-internal:=true,
+ org.eclipse.tracecompass.incubator.internal.jsontrace.core.job;x-internal:=true,
+ org.eclipse.tracecompass.incubator.jsontrace.core.job,
+ org.eclipse.tracecompass.incubator.jsontrace.core.trace
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/about.html b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/about.html
new file mode 100644
index 00000000..c258ef55
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/build.properties b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/build.properties
new file mode 100644
index 00000000..7edecde8
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+additional.bundles = org.eclipse.jdt.annotation
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/plugin.properties b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/plugin.properties
new file mode 100644
index 00000000..0d7fb9c6
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2018 Ericsson
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+###############################################################################
+
+Bundle-Vendor = Eclipse Trace Compass Incubator
+Bundle-Name = Trace Compass Json trace Core Plug-in (Incubator)
+
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/plugin.xml b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/plugin.xml
new file mode 100644
index 00000000..f422d55d
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/plugin.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+</plugin>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/internal/jsontrace/core/Activator.java b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/internal/jsontrace/core/Activator.java
new file mode 100644
index 00000000..8eb45bc8
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/internal/jsontrace/core/Activator.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.incubator.internal.jsontrace.core;
+
+import org.eclipse.tracecompass.common.core.TraceCompassActivator;
+
+/**
+ * Activator
+ */
+public class Activator extends TraceCompassActivator {
+
+ /** The plug-in ID */
+ public static final String PLUGIN_ID = "org.eclipse.tracecompass.incubator.jsontrace.core"; //$NON-NLS-1$
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ super(PLUGIN_ID);
+ }
+
+ /**
+ * Returns the instance of this plug-in
+ *
+ * @return The plugin instance
+ */
+ public static TraceCompassActivator getInstance() {
+ return TraceCompassActivator.getInstance(PLUGIN_ID);
+ }
+
+ @Override
+ protected void startActions() {
+ }
+
+ @Override
+ protected void stopActions() {
+ }
+
+}
+
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/trace/Messages.java b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/internal/jsontrace/core/job/Messages.java
index d066f308..4257639c 100644
--- a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/trace/Messages.java
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/internal/jsontrace/core/job/Messages.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Ericsson
+ * Copyright (c) 2018 Ericsson
*
* All rights reserved. This program and the accompanying materials are made
* available under the terms of the Eclipse Public License v1.0 which
@@ -7,18 +7,18 @@
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
-package org.eclipse.tracecompass.incubator.internal.traceevent.core.trace;
+package org.eclipse.tracecompass.incubator.internal.jsontrace.core.job;
import org.eclipse.osgi.util.NLS;
/**
* Messages
*
- * @author Matthew Khouzam
+ * @author Katherine Nadeau
*
*/
public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.tracecompass.incubator.internal.traceevent.core.trace.messages"; //$NON-NLS-1$
+ private static final String BUNDLE_NAME = "org.eclipse.tracecompass.incubator.internal.jsontrace.core.job.messages"; //$NON-NLS-1$
/**
* Description
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/trace/messages.properties b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/internal/jsontrace/core/job/messages.properties
index 9f748dc5..00e50af0 100644
--- a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/trace/messages.properties
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/internal/jsontrace/core/job/messages.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2017 Ericsson
+# Copyright (c) 2018 Ericsson
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/internal/jsontrace/core/package-info.java b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/internal/jsontrace/core/package-info.java
new file mode 100644
index 00000000..cf9b7c44
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/internal/jsontrace/core/package-info.java
@@ -0,0 +1,11 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+@org.eclipse.jdt.annotation.NonNullByDefault
+package org.eclipse.tracecompass.incubator.internal.jsontrace.core; \ No newline at end of file
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/trace/SortingJob.java b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/jsontrace/core/job/SortingJob.java
index 4c54dc2b..d9e2f3bf 100644
--- a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/trace/SortingJob.java
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/jsontrace/core/job/SortingJob.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Ericsson
+ * Copyright (c) 2018 Ericsson
*
* All rights reserved. This program and the accompanying materials are made
* available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
-package org.eclipse.tracecompass.incubator.internal.traceevent.core.trace;
+package org.eclipse.tracecompass.incubator.jsontrace.core.job;
import java.io.BufferedInputStream;
import java.io.File;
@@ -30,7 +30,9 @@ import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.tracecompass.common.core.log.TraceCompassLog;
import org.eclipse.tracecompass.common.core.log.TraceCompassLogUtils;
-import org.eclipse.tracecompass.incubator.internal.traceevent.core.Activator;
+import org.eclipse.tracecompass.incubator.internal.jsontrace.core.Activator;
+import org.eclipse.tracecompass.incubator.internal.jsontrace.core.job.Messages;
+import org.eclipse.tracecompass.incubator.jsontrace.core.trace.JsonTrace;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
@@ -41,7 +43,7 @@ import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
*
* @author Matthew Khouzam
*/
-final class SortingJob extends Job {
+public final class SortingJob extends Job {
private static final int CHARS_PER_LINE_ESTIMATE = 50;
private static final @NonNull Logger LOGGER = TraceCompassLog.getLogger(SortingJob.class);
@@ -50,9 +52,8 @@ final class SortingJob extends Job {
private static final class Pair implements Comparable<Pair> {
private static final @NonNull BigDecimal MINUS_ONE = BigDecimal.valueOf(-1);
- public Pair(String string, int i) {
+ public Pair(String key, String string, int i) {
line = string;
- String key = "\"ts\":"; //$NON-NLS-1$
int indexOf = string.indexOf(key);
if (indexOf < 0) {
ts = MINUS_ONE;
@@ -81,14 +82,17 @@ final class SortingJob extends Job {
}
}
+ private final Integer fBracketsToSkip;
+ private final String fTsKey;
private final String fPath;
private final ITmfTrace fTrace;
- public SortingJob(ITmfTrace trace, String path) {
+ public SortingJob(ITmfTrace trace, String path, String tsKey, int bracketsToSkip) {
super(Messages.SortingJob_description);
fTrace = trace;
fPath = path;
-
+ fTsKey = tsKey;
+ fBracketsToSkip = bracketsToSkip;
}
@Override
@@ -105,19 +109,22 @@ final class SortingJob extends Job {
tempDir.mkdirs();
List<File> tracelings = new ArrayList<>();
try (BufferedInputStream parser = new BufferedInputStream(new FileInputStream(fPath))) {
- int data = parser.read();
- while (data != '[') {
+ int data = 0;
+ for (int nbBracket = 0; nbBracket < fBracketsToSkip; nbBracket++) {
data = parser.read();
- if (data == -1) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Missing symbol \'[\' or \']\' in " + fPath); //$NON-NLS-1$
+ while (data != '[') {
+ data = parser.read();
+ if (data == -1) {
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Missing symbol \'[\' or \']\' in " + fPath); //$NON-NLS-1$
+ }
}
}
List<Pair> events = new ArrayList<>(CHUNK_SIZE);
- String eventString = TraceEventTrace.readNextEventString(() -> (char) parser.read());
+ String eventString = JsonTrace.readNextEventString(() -> (char) parser.read());
if (eventString == null) {
return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Empty event in " + fPath); //$NON-NLS-1$
}
- Pair line = new Pair(eventString, 0);
+ Pair line = new Pair(fTsKey, eventString, 0);
line.line = data + '"' + line.line;
int cnt = 0;
int filen = 0;
@@ -128,11 +135,11 @@ final class SortingJob extends Job {
if (subMonitor.isCanceled()) {
return Status.CANCEL_STATUS;
}
- eventString = TraceEventTrace.readNextEventString(() -> (char) parser.read());
+ eventString = JsonTrace.readNextEventString(() -> (char) parser.read());
if (eventString == null) {
break;
}
- line = new Pair(eventString, 0);
+ line = new Pair(fTsKey, eventString, 0);
cnt++;
}
events.sort((o1, o2) -> o1.ts.compareTo(o2.ts));
@@ -172,8 +179,8 @@ final class SortingJob extends Job {
break;
}
}
- eventString = TraceEventTrace.readNextEventString(() -> (char) createParser.read());
- Pair parse = new Pair(eventString, i);
+ eventString = JsonTrace.readNextEventString(() -> (char) createParser.read());
+ Pair parse = new Pair(fTsKey, eventString, i);
evs.add(parse);
i++;
parsers.add(createParser);
@@ -192,7 +199,7 @@ final class SortingJob extends Job {
tempWriter.println('[');
while (!evs.isEmpty()) {
Pair sortedEvent = evs.poll();
- Pair parse = readNextEvent(parsers.get(sortedEvent.pos), sortedEvent.pos);
+ Pair parse = readNextEvent(parsers.get(sortedEvent.pos), fTsKey, sortedEvent.pos);
if (parse != null) {
tempWriter.println(sortedEvent.line.trim() + ',');
evs.add(parse);
@@ -223,9 +230,9 @@ final class SortingJob extends Job {
}
- private static @Nullable Pair readNextEvent(BufferedInputStream parser, int i) throws IOException {
- String event = TraceEventTrace.readNextEventString(() -> (char) parser.read());
- return event == null ? null : new Pair(event, i);
+ private static @Nullable Pair readNextEvent(BufferedInputStream parser, String key, int i) throws IOException {
+ String event = JsonTrace.readNextEventString(() -> (char) parser.read());
+ return event == null ? null : new Pair(key, event, i);
}
} \ No newline at end of file
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/jsontrace/core/trace/JsonTrace.java b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/jsontrace/core/trace/JsonTrace.java
new file mode 100644
index 00000000..3067a704
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.jsontrace.core/src/org/eclipse/tracecompass/incubator/jsontrace/core/trace/JsonTrace.java
@@ -0,0 +1,273 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.incubator.jsontrace.core.trace;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.nio.ByteBuffer;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.tracecompass.incubator.internal.jsontrace.core.Activator;
+import org.eclipse.tracecompass.incubator.jsontrace.core.job.SortingJob;
+import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
+import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
+import org.eclipse.tracecompass.tmf.core.io.BufferedRandomAccessFile;
+import org.eclipse.tracecompass.tmf.core.project.model.ITmfPropertiesProvider;
+import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
+import org.eclipse.tracecompass.tmf.core.trace.ITmfTraceKnownSize;
+import org.eclipse.tracecompass.tmf.core.trace.TmfContext;
+import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
+import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
+import org.eclipse.tracecompass.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
+import org.eclipse.tracecompass.tmf.core.trace.location.ITmfLocation;
+import org.eclipse.tracecompass.tmf.core.trace.location.TmfLongLocation;
+
+/**
+ * Json trace. Can read unsorted or sorted JSON traces.
+ *
+ * @author Katherine Nadeau
+ */
+public abstract class JsonTrace extends TmfTrace implements ITmfPersistentlyIndexable, ITmfPropertiesProvider, ITmfTraceKnownSize {
+
+ private static final int CHECKPOINT_SIZE = 10000;
+ private static final int ESTIMATED_EVENT_SIZE = 50;
+ protected static final TmfLongLocation NULL_LOCATION = new TmfLongLocation(-1L);
+ private static final TmfContext INVALID_CONTEXT = new TmfContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
+
+ protected static final int MAX_LINES = 100;
+ protected static final int MAX_CONFIDENCE = 100;
+ protected final @NonNull Map<@NonNull String, @NonNull String> fProperties = new LinkedHashMap<>();
+
+ protected File fFile;
+
+ protected RandomAccessFile fFileInput;
+
+ public abstract void goToCorrectStart(RandomAccessFile rafile) throws IOException;
+
+ public abstract String getTraceType();
+
+ public abstract String getTsKey();
+
+ public abstract Integer getBracketsToSkip();
+
+ @Override
+ public void initTrace(IResource resource, String path, Class<? extends ITmfEvent> type) throws TmfTraceException {
+ super.initTrace(resource, path, type);
+ fProperties.put("Type", getTraceType()); //$NON-NLS-1$
+ String dir = TmfTraceManager.getSupplementaryFileDir(this);
+ fFile = new File(dir + new File(path).getName());
+ if (!fFile.exists()) {
+ Job sortJob = new SortingJob(this, path, getTsKey(), getBracketsToSkip());
+ sortJob.schedule();
+ while (sortJob.getResult() == null) {
+ try {
+ sortJob.join();
+ } catch (InterruptedException e) {
+ throw new TmfTraceException(e.getMessage(), e);
+ }
+ }
+ IStatus result = sortJob.getResult();
+ if (!result.isOK()) {
+ throw new TmfTraceException("Job failed " + result.getMessage()); //$NON-NLS-1$
+ }
+ }
+ try {
+ fFileInput = new BufferedRandomAccessFile(fFile, "r"); //$NON-NLS-1$
+ goToCorrectStart(fFileInput);
+ } catch (IOException e) {
+ throw new TmfTraceException(e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public synchronized void dispose() {
+ if (fFileInput != null) {
+ try {
+ fFileInput.close();
+ } catch (IOException e) {
+ Activator.getInstance().logError("Error disposing trace. File: " + getPath(), e); //$NON-NLS-1$
+ }
+ }
+ super.dispose();
+ }
+
+ @Override
+ public double getLocationRatio(ITmfLocation location) {
+ return ((Long) getCurrentLocation().getLocationInfo()).doubleValue() / fFile.length();
+ }
+
+ @Override
+ public ITmfContext seekEvent(ITmfLocation location) {
+ if (fFile == null) {
+ return INVALID_CONTEXT;
+ }
+ final TmfContext context = new TmfContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
+ if (NULL_LOCATION.equals(location) || fFile == null) {
+ return context;
+ }
+ try {
+ if (location == null) {
+ fFileInput.seek(1);
+ } else if (location.getLocationInfo() instanceof Long) {
+ fFileInput.seek((Long) location.getLocationInfo());
+ }
+ context.setLocation(new TmfLongLocation(fFileInput.getFilePointer()));
+ context.setRank(0);
+ return context;
+ } catch (final FileNotFoundException e) {
+ Activator.getInstance().logError("Error seeking event. File not found: " + getPath(), e); //$NON-NLS-1$
+ return context;
+ } catch (final IOException e) {
+ Activator.getInstance().logError("Error seeking event. File: " + getPath(), e); //$NON-NLS-1$
+ return context;
+ }
+ }
+
+ @Override
+ public ITmfContext seekEvent(double ratio) {
+ File file = fFile;
+ if (file == null) {
+ return INVALID_CONTEXT;
+ }
+ long filePos = (long) (file.length() * ratio);
+ long estimatedRank = filePos / ESTIMATED_EVENT_SIZE;
+ return seekEvent(new TmfLongLocation(estimatedRank));
+ }
+
+ @Override
+ public ITmfLocation getCurrentLocation() {
+ long temp = -1;
+ try {
+ temp = fFileInput.getFilePointer();
+ } catch (IOException e) {
+ // swallow it for now
+ }
+ return new TmfLongLocation(temp);
+ }
+
+ @Override
+ public @NonNull Map<@NonNull String, @NonNull String> getProperties() {
+ return fProperties;
+ }
+
+ @Override
+ public ITmfLocation restoreLocation(ByteBuffer bufferIn) {
+ return new TmfLongLocation(bufferIn);
+ }
+
+ @Override
+ public int getCheckpointSize() {
+ return CHECKPOINT_SIZE;
+ }
+
+ /**
+ * Wrapper to get a character reader, allows to reconcile between java.nio and
+ * java.io
+ *
+ * @author Matthew Khouzam
+ *
+ */
+ public static interface IReaderWrapper {
+ /**
+ * Read the next character
+ *
+ * @return the next char
+ * @throws IOException
+ * out of chars to read
+ */
+ int read() throws IOException;
+ }
+
+ /**
+ * Manually parse a string of JSON. High performance to extract one object
+ *
+ * @param parser
+ * the reader
+ * @return a String with a json object
+ * @throws IOException
+ * end of file, file not found or such
+ */
+ public static @Nullable String readNextEventString(IReaderWrapper parser) throws IOException {
+ StringBuffer sb = new StringBuffer();
+ int scope = -1;
+ int arrScope = 0;
+ boolean inQuotes = false;
+ int elem = parser.read();
+ while (elem != -1) {
+ if (elem == '"') {
+ inQuotes = !inQuotes;
+ } else {
+ if (inQuotes) {
+ // do nothing
+ } else if (elem == '[') {
+ arrScope++;
+ } else if (elem == ']') {
+ if (arrScope > 0) {
+ arrScope--;
+ } else {
+ return null;
+ }
+ } else if (elem == '{') {
+ scope++;
+ } else if (elem == '}') {
+ if (scope > 0) {
+ scope--;
+ } else {
+ sb.append((char) elem);
+ return sb.toString();
+ }
+ }
+ }
+ if (scope >= 0) {
+ sb.append((char) elem);
+ }
+ elem = parser.read();
+ }
+ return null;
+ }
+
+ @Override
+ public int size() {
+ RandomAccessFile fileInput = fFileInput;
+ if (fileInput == null) {
+ return 0;
+ }
+ long length = 0;
+ try {
+ length = fileInput.length();
+ } catch (IOException e) {
+ // swallow it for now
+ }
+ return length > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) length;
+ }
+
+ @Override
+ public int progress() {
+ RandomAccessFile fileInput = fFileInput;
+ if (fileInput == null) {
+ return 0;
+ }
+ long length = 0;
+ try {
+ length = fileInput.getFilePointer();
+ } catch (IOException e) {
+ // swallow it for now
+ }
+ return length > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) length;
+ }
+}
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.classpath b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.classpath
new file mode 100644
index 00000000..b8d064f6
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.classpath
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+ <attributes>
+ <attribute name="annotationpath" value="/org.eclipse.tracecompass.incubator.annotations/annotations"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
+ <attributes>
+ <attribute name="annotationpath" value="/org.eclipse.tracecompass.incubator.annotations/annotations"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.gitignore b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.project b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.project
new file mode 100644
index 00000000..32b8c30c
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.tracecompass.incubator.opentracing.core.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.core.resources.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..99f26c02
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.core.runtime.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 00000000..5a0ad22d
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.jdt.core.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..6291cc95
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,428 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=f
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
+org.eclipse.jdt.core.compiler.problem.deadCode=error
+org.eclipse.jdt.core.compiler.problem.deprecation=error
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=error
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
+org.eclipse.jdt.core.compiler.problem.nullReference=error
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
+org.eclipse.jdt.core.compiler.problem.unusedLabel=error
+org.eclipse.jdt.core.compiler.problem.unusedLocal=error
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=250
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.jdt.ui.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000..dbbef8b0
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,60 @@
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_tmf-test-style
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=e
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.overrideannotation=true
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=false
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=false
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=false
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.pde.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.pde.prefs
new file mode 100644
index 00000000..c367d4bd
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=0
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=0
+compilers.p.build.src.includes=0
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=2
+compilers.p.missing-version-import-package=2
+compilers.p.missing-version-require-bundle=2
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/META-INF/MANIFEST.MF b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..ce7a5adc
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-SymbolicName: org.eclipse.tracecompass.incubator.opentracing.core.tests
+Bundle-Version: 0.0.1.qualifier
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources,
+ org.eclipse.tracecompass.common.core,
+ org.eclipse.tracecompass.incubator.opentracing.core,
+ org.junit,
+ org.eclipse.tracecompass.tmf.core,
+ org.eclipse.tracecompass.incubator.jsontrace.core,
+ org.eclipse.jdt.annotation
+Export-Package: org.eclipse.tracecompass.incubator.opentracing.core.tests
+Import-Package: com.google.common.collect
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/about.html b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/about.html
new file mode 100644
index 00000000..c258ef55
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/build.properties b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/build.properties
new file mode 100644
index 00000000..4fe36337
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/build.properties
@@ -0,0 +1,17 @@
+###############################################################################
+# Copyright (c) 2018 Ericsson
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+###############################################################################
+
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html,\
+ plugin.properties
+additional.bundles = org.eclipse.jdt.annotation
+jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/plugin.properties b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/plugin.properties
new file mode 100644
index 00000000..7daca389
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2018 Ericsson
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+###############################################################################
+
+Bundle-Vendor = Eclipse Trace Compass Incubator
+Bundle-Name = Trace Compass Incubator opentracing Core Tests Plug-in
+
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/src/org/eclipse/tracecompass/incubator/opentracing/core/tests/ActivatorTest.java b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/src/org/eclipse/tracecompass/incubator/opentracing/core/tests/ActivatorTest.java
new file mode 100644
index 00000000..fb3fb3b0
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/src/org/eclipse/tracecompass/incubator/opentracing/core/tests/ActivatorTest.java
@@ -0,0 +1,120 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.incubator.opentracing.core.tests;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.IOException;
+import java.net.URL;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.tracecompass.common.core.TraceCompassActivator;
+import org.eclipse.tracecompass.incubator.internal.opentracing.core.Activator;
+import org.junit.Test;
+import org.osgi.framework.BundleContext;
+
+/**
+ * Test the activator name. This class is there mostly to create a non empty
+ * test plugin
+ *
+ * @author Katherine Nadeau
+ */
+public class ActivatorTest extends Plugin {
+ // ------------------------------------------------------------------------
+ // Attributes
+ // ------------------------------------------------------------------------
+
+ /**
+ * The plug-in ID
+ */
+ public static final String PLUGIN_ID = "org.eclipse.tracecompass.incubator.opentracing.core.tests"; //$NON-NLS-1$
+
+ /**
+ * The shared instance
+ */
+ private static Plugin PLUGIN;
+
+ // ------------------------------------------------------------------------
+ // Constructors
+ // ------------------------------------------------------------------------
+
+ /**
+ * The constructor
+ */
+ public ActivatorTest() {
+ }
+
+ // ------------------------------------------------------------------------
+ // Accessors
+ // ------------------------------------------------------------------------
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Plugin getDefault() {
+ return PLUGIN;
+ }
+
+ // ------------------------------------------------------------------------
+ // Operators
+ // ------------------------------------------------------------------------
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ PLUGIN = this;
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ PLUGIN = null;
+ super.stop(context);
+ }
+
+ /**
+ * Test Activator
+ */
+ @Test
+ public void testActivator() {
+ TraceCompassActivator instance = Activator.getInstance();
+ assertEquals("org.eclipse.tracecompass.incubator.opentracing.core", instance.getPluginId());
+ }
+
+ /**
+ * Return a path to a file relative to this plugin's base directory
+ *
+ * @param relativePath
+ * The path relative to the plugin's root directory
+ * @return The path corresponding to the relative path in parameter
+ */
+ public static IPath getAbsoluteFilePath(String relativePath) {
+ Plugin plugin = getDefault();
+ if (plugin == null) {
+ /*
+ * Shouldn't happen but at least throw something to get the test to
+ * fail early
+ */
+ throw new IllegalStateException();
+ }
+ URL location = FileLocator.find(plugin.getBundle(), new Path(relativePath), null);
+ try {
+ return new Path(FileLocator.toFileURL(location).getPath());
+ } catch (IOException e) {
+ throw new IllegalStateException();
+ }
+ }
+
+}
+
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/src/org/eclipse/tracecompass/incubator/opentracing/core/tests/OpenTracingTraceTest.java b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/src/org/eclipse/tracecompass/incubator/opentracing/core/tests/OpenTracingTraceTest.java
new file mode 100644
index 00000000..b1dbe6b1
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/src/org/eclipse/tracecompass/incubator/opentracing/core/tests/OpenTracingTraceTest.java
@@ -0,0 +1,160 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.incubator.opentracing.core.tests;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.tracecompass.incubator.internal.opentracing.core.trace.OpenTracingTrace;
+import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
+import org.eclipse.tracecompass.tmf.core.event.aspect.ITmfEventAspect;
+import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
+import org.eclipse.tracecompass.tmf.core.project.model.ITmfPropertiesProvider;
+import org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp;
+import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
+import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
+import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
+import org.junit.Test;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Test reading real traces
+ *
+ * @author Katherine Nadeau
+ *
+ */
+public class OpenTracingTraceTest {
+
+ /**
+ * Test reading an event and get the aspects
+ *
+ * @throws TmfTraceException
+ * file error
+ */
+ @Test
+ public void testEvent() throws TmfTraceException {
+ String path = "traces/simple.json";
+ Map<String, ITmfEventAspect<?>> eventAspects = getEventAspects(path);
+ ITmfEvent event = getFirstEvent(path);
+ assertNotNull(event);
+ ImmutableSet<String> aspectNames = ImmutableSet.of("Name", "Timestamp", "Duration", "ID", "PID", "Tags");
+
+ assertEquals(aspectNames, eventAspects.keySet());
+ testAspect(eventAspects.get("Name"), event, "say-hello");
+ Double ts = 1526674498419000.0;
+ testAspect(eventAspects.get("Timestamp"), event, TmfTimestamp.fromMicros(ts.longValue()));
+ testAspect(eventAspects.get("Duration"), event, (long) 16961000);
+ testAspect(eventAspects.get("ID"), event, "cf46871fbf4f262b");
+ testAspect(eventAspects.get("PID"), event, "p1");
+ Map<@NonNull String, @NonNull Object> tagsMap = new HashMap<>();
+ tagsMap.put("sampler.type", "const");
+ tagsMap.put("hello-to", "Kath");
+ tagsMap.put("sampler.param", "true");
+ testAspect(eventAspects.get("Tags"), event, tagsMap);
+ }
+
+ private static void testAspect(ITmfEventAspect<?> eventAspect, ITmfEvent event, Object expected) {
+ assertNotNull(event);
+ assertNotNull(eventAspect);
+ assertEquals(expected, eventAspect.resolve(event));
+ }
+
+ /**
+ * Test a simple in order json trace
+ *
+ * @throws TmfTraceException
+ * should not happen
+ */
+ @Test
+ public void testSimple() throws TmfTraceException {
+ String path = "traces/simple.json";
+ int nbEvents = 3;
+ Double start = 1526674498419000.0;
+ Double end = 1526674498435000.0;
+ ITmfTimestamp startTime = TmfTimestamp.fromMicros(start.longValue());
+ ITmfTimestamp endTime = TmfTimestamp.fromMicros(end.longValue());
+ testTrace(path, nbEvents, startTime, endTime);
+ }
+
+ /**
+ * Test a multiple services trace
+ *
+ * @throws TmfTraceException
+ * should not happen
+ */
+ @Test
+ public void testMultipleServices() throws TmfTraceException {
+ String path = "traces/multiple_services.json";
+ int nbEvents = 5;
+ Double start = 1527684461617000.0;
+ Double end = 1527684462096000.0;
+ ITmfTimestamp startTime = TmfTimestamp.fromMicros(start.longValue());
+ ITmfTimestamp endTime = TmfTimestamp.fromMicros(end.longValue());
+ testTrace(path, nbEvents, startTime, endTime);
+ }
+
+ private static Map<String, String> testTrace(String path, int nbEvents, ITmfTimestamp startTime, ITmfTimestamp endTime) throws TmfTraceException {
+ ITmfTrace trace = new OpenTracingTrace();
+ try {
+ IStatus validate = trace.validate(null, path);
+ assertTrue(validate.getMessage(), validate.isOK());
+ trace.initTrace(null, path, ITmfEvent.class);
+ ITmfContext context = trace.seekEvent(0.0);
+ ITmfEvent event = trace.getNext(context);
+ long count = 0;
+ long prevTs = -1;
+ while (event != null) {
+ count++;
+ @NonNull
+ ITmfTimestamp currentTime = event.getTimestamp();
+ assertNotNull("Event has a timestamp", currentTime);
+ assertTrue("Monotonic events", currentTime.toNanos() >= prevTs);
+ prevTs = currentTime.toNanos();
+ event = trace.getNext(context);
+ }
+ assertEquals(nbEvents, count);
+ assertEquals(nbEvents, trace.getNbEvents());
+ assertEquals(startTime.toNanos(), trace.getStartTime().toNanos());
+ assertEquals(endTime.toNanos(), trace.getEndTime().toNanos());
+ assertTrue(trace instanceof ITmfPropertiesProvider);
+ return ((ITmfPropertiesProvider) trace).getProperties();
+ } finally {
+ trace.dispose();
+ }
+ }
+
+ private static Map<String, ITmfEventAspect<?>> getEventAspects(String path) {
+ ITmfTrace trace = new OpenTracingTrace();
+ Map<String, ITmfEventAspect<?>> returnValues = new HashMap<>();
+ for (@NonNull
+ ITmfEventAspect<?> aspect : trace.getEventAspects()) {
+ returnValues.put(aspect.getName(), aspect);
+ }
+ trace.dispose();
+ return returnValues;
+ }
+
+ private static ITmfEvent getFirstEvent(String path) throws TmfTraceException {
+ ITmfTrace trace = new OpenTracingTrace();
+ try {
+ trace.initTrace(null, path, ITmfEvent.class);
+ return trace.getNext(trace.seekEvent(0.0));
+ } finally {
+ trace.dispose();
+ }
+ }
+}
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/traces/multiple_services.json b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/traces/multiple_services.json
new file mode 100644
index 00000000..292bfc0f
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/traces/multiple_services.json
@@ -0,0 +1 @@
+{"data":[{"traceID":"410a7dbc6d6cfeb6","spans":[{"traceID":"410a7dbc6d6cfeb6","spanID":"2e44971368c185a6","flags":1,"operationName":"formatString","references":[{"refType":"CHILD_OF","traceID":"410a7dbc6d6cfeb6","spanID":"410a7dbc6d6cfeb6"}],"startTime":1527684461626000,"duration":283459,"tags":[{"key":"span.kind","type":"string","value":"client"},{"key":"http.url","type":"string","value":"http://localhost:8081/format?helloTo=Kathouu"},{"key":"http.method","type":"string","value":"GET"}],"logs":[{"timestamp":1527684461910000,"fields":[{"key":"event","type":"string","value":"string-format"},{"key":"value","type":"string","value":"Salut, Kathouu!"}]}],"processID":"p1","warnings":null},{"traceID":"410a7dbc6d6cfeb6","spanID":"410a7dbc6d6cfeb6","flags":1,"operationName":"say-hello","references":[],"startTime":1527684461617000,"duration":516362,"tags":[{"key":"sampler.type","type":"string","value":"const"},{"key":"hello-to","type":"string","value":"Kathouu"},{"key":"sampler.param","type":"bool","value":true}],"logs":[{"timestamp":1527684461624000,"fields":[{"key":"event","type":"string","value":"baggage"},{"key":"key","type":"string","value":"greeting"},{"key":"value","type":"string","value":"Salut"}]}],"processID":"p1","warnings":null},{"traceID":"410a7dbc6d6cfeb6","spanID":"a2ede3ddd40f9fe2","flags":1,"operationName":"printHello","references":[{"refType":"CHILD_OF","traceID":"410a7dbc6d6cfeb6","spanID":"410a7dbc6d6cfeb6"}],"startTime":1527684461911000,"duration":218667,"tags":[{"key":"span.kind","type":"string","value":"client"},{"key":"http.url","type":"string","value":"http://localhost:8082/publish?helloStr=Salut,%20Kathouu!"},{"key":"http.method","type":"string","value":"GET"}],"logs":[{"timestamp":1527684462130000,"fields":[{"key":"event","type":"string","value":"println"}]}],"processID":"p1","warnings":null},{"traceID":"410a7dbc6d6cfeb6","spanID":"3db5b5f39d75b7ab","flags":1,"operationName":"format","references":[{"refType":"CHILD_OF","traceID":"410a7dbc6d6cfeb6","spanID":"2e44971368c185a6"}],"startTime":1527684461852000,"duration":2111,"tags":[{"key":"span.kind","type":"string","value":"server"}],"logs":[{"timestamp":1527684461854000,"fields":[{"key":"event","type":"string","value":"string-format"},{"key":"value","type":"string","value":"Salut, Kathouu!"}]}],"processID":"p2","warnings":null},{"traceID":"410a7dbc6d6cfeb6","spanID":"cc899ae30996d9c9","flags":1,"operationName":"publish","references":[{"refType":"CHILD_OF","traceID":"410a7dbc6d6cfeb6","spanID":"a2ede3ddd40f9fe2"}],"startTime":1527684462096000,"duration":2232,"tags":[{"key":"span.kind","type":"string","value":"server"}],"logs":[{"timestamp":1527684462098000,"fields":[{"key":"event","type":"string","value":"println"},{"key":"value","type":"string","value":"Salut, Kathouu!"}]}],"processID":"p3","warnings":null}],"processes":{"p1":{"serviceName":"hello-world","tags":[{"key":"hostname","type":"string","value":"elxabfnkpy1"},{"key":"ip","type":"string","value":"127.0.1.1"},{"key":"jaeger.version","type":"string","value":"Java-0.26.0"}]},"p2":{"serviceName":"formatter","tags":[{"key":"hostname","type":"string","value":"elxabfnkpy1"},{"key":"ip","type":"string","value":"127.0.1.1"},{"key":"jaeger.version","type":"string","value":"Java-0.26.0"}]},"p3":{"serviceName":"publisher","tags":[{"key":"hostname","type":"string","value":"elxabfnkpy1"},{"key":"ip","type":"string","value":"127.0.1.1"},{"key":"jaeger.version","type":"string","value":"Java-0.26.0"}]}},"warnings":null}],"total":0,"limit":0,"offset":0,"errors":null} \ No newline at end of file
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/traces/simple.json b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/traces/simple.json
new file mode 100644
index 00000000..2cc43bc0
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core.tests/traces/simple.json
@@ -0,0 +1 @@
+{"data":[{"traceID":"cf46871fbf4f262b","spans":[{"traceID":"cf46871fbf4f262b","spanID":"a1715eeaac52e91a","flags":1,"operationName":"formatString","references":[{"refType":"CHILD_OF","traceID":"cf46871fbf4f262b","spanID":"cf46871fbf4f262b"}],"startTime":1526674498424000,"duration":9488,"tags":[],"logs":[{"timestamp":1526674498433000,"fields":[{"key":"event","type":"string","value":"string-format"},{"key":"value","type":"string","value":"Hello, Kath!"}]}],"processID":"p1","warnings":null},{"traceID":"cf46871fbf4f262b","spanID":"fe500a6fe8f00515","flags":1,"operationName":"printHello","references":[{"refType":"CHILD_OF","traceID":"cf46871fbf4f262b","spanID":"cf46871fbf4f262b"}],"startTime":1526674498435000,"duration":1163,"tags":[],"logs":[{"timestamp":1526674498436000,"fields":[{"key":"event","type":"string","value":"println"}]}],"processID":"p1","warnings":null},{"traceID":"cf46871fbf4f262b","spanID":"cf46871fbf4f262b","flags":1,"operationName":"say-hello","references":[],"startTime":1526674498419000,"duration":16961,"tags":[{"key":"sampler.type","type":"string","value":"const"},{"key":"hello-to","type":"string","value":"Kath"},{"key":"sampler.param","type":"bool","value":true}],"logs":[],"processID":"p1","warnings":null}],"processes":{"p1":{"serviceName":"hello-world","tags":[{"key":"hostname","type":"string","value":"elxabfnkpy1"},{"key":"ip","type":"string","value":"127.0.1.1"},{"key":"jaeger.version","type":"string","value":"Java-0.26.0"}]}},"warnings":null}],"total":0,"limit":0,"offset":0,"errors":null} \ No newline at end of file
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.classpath b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.classpath
new file mode 100644
index 00000000..b8d064f6
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.classpath
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+ <attributes>
+ <attribute name="annotationpath" value="/org.eclipse.tracecompass.incubator.annotations/annotations"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
+ <attributes>
+ <attribute name="annotationpath" value="/org.eclipse.tracecompass.incubator.annotations/annotations"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.gitignore b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.project b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.project
new file mode 100644
index 00000000..cf66c30b
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.tracecompass.incubator.opentracing.core</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.core.resources.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..99f26c02
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.core.runtime.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 00000000..5a0ad22d
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.jdt.core.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..221a1f88
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,433 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=f
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
+org.eclipse.jdt.core.compiler.problem.deadCode=error
+org.eclipse.jdt.core.compiler.problem.deprecation=error
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=error
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
+org.eclipse.jdt.core.compiler.problem.nullReference=error
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
+org.eclipse.jdt.core.compiler.problem.unusedLabel=error
+org.eclipse.jdt.core.compiler.problem.unusedLocal=error
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=error
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=error
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=250
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.jdt.ui.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000..232a3fd7
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,60 @@
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_tmf-style
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=e
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.overrideannotation=true
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=false
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=false
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=false
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.pde.api.tools.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 00000000..3c9b07ac
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,99 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Ignore
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_JAVADOC_TAG=Warning
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Ignore
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=false
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.pde.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.pde.prefs
new file mode 100644
index 00000000..01d624df
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=0
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=0
+compilers.p.build.src.includes=0
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=2
+compilers.p.missing-version-import-package=2
+compilers.p.missing-version-require-bundle=2
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=1
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/META-INF/MANIFEST.MF b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..43d469ee
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-SymbolicName: org.eclipse.tracecompass.incubator.opentracing.core;singleton:=true
+Bundle-Version: 0.0.1.qualifier
+Bundle-Localization: plugin
+Bundle-Activator: org.eclipse.tracecompass.incubator.internal.opentracing.core.Activator
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources,
+ org.eclipse.tracecompass.common.core,
+ org.eclipse.tracecompass.tmf.core,
+ com.google.gson,
+ com.google.guava,
+ org.apache.commons.lang3,
+ org.eclipse.jdt.annotation,
+ org.eclipse.tracecompass.incubator.jsontrace.core
+Export-Package: org.eclipse.tracecompass.incubator.internal.opentracing.core;x-friends:="org.eclipse.tracecompass.incubator.opentracing.core.tests",
+ org.eclipse.tracecompass.incubator.internal.opentracing.core.event,
+ org.eclipse.tracecompass.incubator.internal.opentracing.core.trace
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/about.html b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/about.html
new file mode 100644
index 00000000..c258ef55
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/build.properties b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/build.properties
new file mode 100644
index 00000000..bb6fb0d4
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/build.properties
@@ -0,0 +1,18 @@
+###############################################################################
+# Copyright (c) 2018 Ericsson
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+###############################################################################
+
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ about.html,\
+ plugin.properties,\
+ .,\
+ plugin.xml
+additional.bundles = org.eclipse.jdt.annotation
+jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/plugin.properties b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/plugin.properties
new file mode 100644
index 00000000..4444588e
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2018 Ericsson
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+###############################################################################
+
+Bundle-Vendor = Eclipse Trace Compass Incubator
+Bundle-Name = Trace Compass opentracing Core Plug-in (Incubator)
+
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/plugin.xml b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/plugin.xml
new file mode 100644
index 00000000..4fd82f86
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/plugin.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin
+>
+ <extension
+ point="org.eclipse.linuxtools.tmf.core.tracetype">
+ <category
+ id="org.eclipse.tracecompass.incubator.opentracing.core"
+ name="Open Tracing Format">
+ </category>
+ <type
+ category="org.eclipse.tracecompass.incubator.opentracing.core"
+ event_type="org.eclipse.tracecompass.tmf.core.event.TmfEvent"
+ id="org.eclipse.tracecompass.incubator.opentracing.core"
+ isDirectory="false"
+ name="Generic Open Tracing Trace"
+ trace_type="org.eclipse.tracecompass.incubator.internal.opentracing.core.trace.OpenTracingTrace">
+ </type>
+ </extension>
+</plugin>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/Activator.java b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/Activator.java
new file mode 100644
index 00000000..f6e5ec33
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/Activator.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.incubator.internal.opentracing.core;
+
+import org.eclipse.tracecompass.common.core.TraceCompassActivator;
+
+/**
+ * Activator
+ */
+public class Activator extends TraceCompassActivator {
+
+ /** The plug-in ID */
+ public static final String PLUGIN_ID = "org.eclipse.tracecompass.incubator.opentracing.core"; //$NON-NLS-1$
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ super(PLUGIN_ID);
+ }
+
+ /**
+ * Returns the instance of this plug-in
+ *
+ * @return The plugin instance
+ */
+ public static TraceCompassActivator getInstance() {
+ return TraceCompassActivator.getInstance(PLUGIN_ID);
+ }
+
+ @Override
+ protected void startActions() {
+ }
+
+ @Override
+ protected void stopActions() {
+ }
+
+}
+
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/IOpenTracingAspect.java b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/IOpenTracingAspect.java
new file mode 100644
index 00000000..84f38458
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/IOpenTracingAspect.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.incubator.internal.opentracing.core.event;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
+import org.eclipse.tracecompass.tmf.core.event.aspect.ITmfEventAspect;
+
+/**
+ * A trace compass log aspect
+ *
+ * @author Katherine Nadeau
+ *
+ * @param <T>
+ */
+interface IOpenTracingAspect<T> extends ITmfEventAspect<T> {
+
+ @Override
+ default @Nullable T resolve(@NonNull ITmfEvent event) {
+ if (event instanceof OpenTracingEvent) {
+ return resolveOpenTracingLogs((OpenTracingEvent) event);
+ }
+ return null;
+ }
+
+ T resolveOpenTracingLogs(OpenTracingEvent event);
+
+}
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/IOpenTracingConstants.java b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/IOpenTracingConstants.java
new file mode 100644
index 00000000..9efaee60
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/IOpenTracingConstants.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.incubator.internal.opentracing.core.event;
+
+/**
+ * Constants for the open tracing format
+ *
+ * @author Katherine Nadeau
+ */
+public interface IOpenTracingConstants {
+
+ /**
+ * spanID field name
+ */
+ String SPAN_ID = "spanID"; //$NON-NLS-1$
+ /**
+ * flags field name (specific to jaeger tracer)
+ */
+ String FLAGS = "flags"; //$NON-NLS-1$
+ /**
+ * operationName field name
+ */
+ String OPERATION_NAME = "operationName"; //$NON-NLS-1$
+ /**
+ * references field name
+ */
+ String REFERENCES = "references"; //$NON-NLS-1$
+ /**
+ * startTime field name
+ */
+ String START_TIME = "startTime"; //$NON-NLS-1$
+ /**
+ * duration field name
+ */
+ String DURATION = "duration"; //$NON-NLS-1$
+ /**
+ * tags field name
+ */
+ String TAGS = "tags"; //$NON-NLS-1$
+ /**
+ * processID field name
+ */
+ String PROCESS_ID = "processID"; //$NON-NLS-1$
+
+}
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/Messages.java b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/Messages.java
new file mode 100644
index 00000000..16612e06
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/Messages.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.incubator.internal.opentracing.core.event;
+
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * Messages
+ *
+ * @author Katherine Nadeau
+ */
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME = "org.eclipse.tracecompass.incubator.internal.opentracing.core.event.messages"; //$NON-NLS-1$
+ /**
+ * Tags
+ */
+ public static @Nullable String OpenTracingAspects_Tags;
+ /**
+ * Tags Description
+ */
+ public static @Nullable String OpenTracingAspects_TagsD;
+ /**
+ * ID
+ */
+ public static @Nullable String OpenTracingAspects_SpanId;
+ /**
+ * ID Description
+ */
+ public static @Nullable String OpenTracingAspects_SpanIdD;
+ /**
+ * Name
+ */
+ public static @Nullable String OpenTracingAspects_Name;
+ /**
+ * Name Description
+ */
+ public static @Nullable String OpenTracingAspects_NameD;
+ /**
+ * Duration
+ */
+ public static @Nullable String OpenTracingAspects_Duration;
+ /**
+ * Duration Description
+ */
+ public static @Nullable String OpenTracingAspects_DurationD;
+ /**
+ * Process Id
+ */
+ public static @Nullable String OpenTracingAspects_Pid;
+ /**
+ * Process Id Description
+ */
+ public static @Nullable String OpenTracingAspects_PidD;
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ }
+}
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/OpenTracingAspects.java b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/OpenTracingAspects.java
new file mode 100644
index 00000000..65f0aef6
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/OpenTracingAspects.java
@@ -0,0 +1,146 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.incubator.internal.opentracing.core.event;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.tracecompass.tmf.core.event.aspect.ITmfEventAspect;
+import org.eclipse.tracecompass.tmf.core.event.aspect.TmfBaseAspects;
+
+import com.google.common.collect.ImmutableList;
+
+/**
+ * Aspects for Trace Compass Logs
+ *
+ * @author Katherine Nadeau
+ */
+public class OpenTracingAspects {
+
+ /**
+ * Apects of a trace
+ */
+ private static @Nullable Iterable<@NonNull ITmfEventAspect<?>> aspects;
+
+ /**
+ * Get the event aspects
+ *
+ * @return get the event aspects
+ */
+ public static Iterable<@NonNull ITmfEventAspect<?>> getAspects() {
+ Iterable<@NonNull ITmfEventAspect<?>> aspectSet = aspects;
+ if (aspectSet == null) {
+ aspectSet = ImmutableList.of(
+ new OpenTracingLabelAspect(),
+ TmfBaseAspects.getTimestampAspect(),
+ new OpenTracingDurationAspect(),
+ new OpenTracingSpanIdAspect(),
+ new OpenTracingPidAspect(),
+ new OpenTracingTagsAspect());
+ aspects = aspectSet;
+ }
+ return aspectSet;
+ }
+
+ private static class OpenTracingLabelAspect implements IOpenTracingAspect<String> {
+
+ @Override
+ public @NonNull String getName() {
+ return String.valueOf(Messages.OpenTracingAspects_Name);
+ }
+
+ @Override
+ public @NonNull String getHelpText() {
+ return String.valueOf(Messages.OpenTracingAspects_NameD);
+ }
+
+ @Override
+ public String resolveOpenTracingLogs(@NonNull OpenTracingEvent event) {
+ return event.getName();
+ }
+ }
+
+ private static class OpenTracingPidAspect implements IOpenTracingAspect<String> {
+
+ @Override
+ public @NonNull String getName() {
+ return String.valueOf(Messages.OpenTracingAspects_Pid);
+ }
+
+ @Override
+ public @NonNull String getHelpText() {
+ return String.valueOf(
+ Messages.OpenTracingAspects_PidD);
+ }
+
+ @Override
+ public String resolveOpenTracingLogs(@NonNull OpenTracingEvent event) {
+ Object field = event.getField().getPid();
+ return String.valueOf(field);
+ }
+ }
+
+ private static class OpenTracingDurationAspect implements IOpenTracingAspect<Long> {
+
+ @Override
+ public @NonNull String getName() {
+ return String.valueOf(Messages.OpenTracingAspects_Duration);
+ }
+
+ @Override
+ public @NonNull String getHelpText() {
+ return String.valueOf(Messages.OpenTracingAspects_DurationD);
+ }
+
+ @Override
+ public Long resolveOpenTracingLogs(@NonNull OpenTracingEvent event) {
+ return event.getField().getDuration();
+ }
+ }
+
+ private static class OpenTracingSpanIdAspect implements IOpenTracingAspect<String> {
+
+ @Override
+ public @NonNull String getName() {
+ return String.valueOf(Messages.OpenTracingAspects_SpanId);
+ }
+
+ @Override
+ public @NonNull String getHelpText() {
+ return String.valueOf(Messages.OpenTracingAspects_SpanIdD);
+ }
+
+ @Override
+ public String resolveOpenTracingLogs(@NonNull OpenTracingEvent event) {
+ return event.getField().getSpanId();
+ }
+ }
+
+ private static class OpenTracingTagsAspect implements IOpenTracingAspect<Map<String, Object>> {
+
+ @Override
+ public String getName() {
+ return String.valueOf(Messages.OpenTracingAspects_Tags);
+ }
+
+ @Override
+ public String getHelpText() {
+ return String.valueOf(Messages.OpenTracingAspects_TagsD);
+ }
+
+ @Override
+ public Map<String, Object> resolveOpenTracingLogs(@NonNull OpenTracingEvent event) {
+ Map<String, Object> tags = event.getField().getTags();
+ return tags == null ? Collections.emptyMap() : tags;
+ }
+ }
+}
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/OpenTracingEvent.java b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/OpenTracingEvent.java
new file mode 100644
index 00000000..be396b96
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/OpenTracingEvent.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.incubator.internal.opentracing.core.event;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.tracecompass.tmf.core.event.ITmfEventField;
+import org.eclipse.tracecompass.tmf.core.event.TmfEvent;
+import org.eclipse.tracecompass.tmf.core.event.TmfEventType;
+import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
+import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
+
+/**
+ * Open tracing span (event)
+ *
+ * @author Katherine Nadeau
+ */
+public class OpenTracingEvent extends TmfEvent {
+
+ private final String fName;
+ private final OpenTracingField fField;
+
+ /**
+ * Constructor for simple traceEventEvent
+ *
+ * @param trace
+ * the trace
+ * @param rank
+ * the rank
+ * @param field
+ * the event field, contains all the needed data
+ */
+ public OpenTracingEvent(ITmfTrace trace, long rank, OpenTracingField field) {
+ super(trace, rank, TmfTimestamp.fromNanos(field.getStartTime()), new TmfEventType("Complete", null), field.getContent()); //$NON-NLS-1$
+ fField = field;
+ fName = field.getName();
+ }
+
+ @Override
+ public ITmfEventField getContent() {
+ return fField.getContent();
+ }
+
+ @Override
+ public @NonNull String getName() {
+ return fName;
+ }
+
+ /**
+ * Get the fields of the event
+ *
+ * @return the fields of the event
+ */
+ public OpenTracingField getField() {
+ return fField;
+ }
+} \ No newline at end of file
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/OpenTracingField.java b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/OpenTracingField.java
new file mode 100644
index 00000000..2e934a4d
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/OpenTracingField.java
@@ -0,0 +1,228 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.incubator.internal.opentracing.core.event;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.tracecompass.tmf.core.event.ITmfEventField;
+import org.eclipse.tracecompass.tmf.core.event.TmfEventField;
+import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+
+/**
+ * Open Tracing fields. Used as a quick wrapper for Open Tracing log data.
+ *
+ * @author Katherine Nadeau
+ */
+public class OpenTracingField {
+
+ private final String fOperationName;
+ private final ITmfEventField fContent;
+ private final String fSpanId;
+ private final Long fStartTime;
+ private final Long fDuration;
+ private final @Nullable Map<String, Object> fTags;
+ private final String fPid;
+
+ private static final Gson G_SON = new Gson();
+
+ /**
+ * Parse a JSON string
+ *
+ * @param fieldsString
+ * the string
+ * @return an event field
+ */
+ public static @Nullable OpenTracingField parseJson(String fieldsString) {
+ @Nullable
+ JsonObject root = G_SON.fromJson(fieldsString, JsonObject.class);
+
+ String name = String.valueOf(optString(root, IOpenTracingConstants.OPERATION_NAME));
+ if (name == "null") { //$NON-NLS-1$
+ return null;
+ }
+ String id = optString(root, IOpenTracingConstants.SPAN_ID);
+ Integer flags = optInt(root, IOpenTracingConstants.FLAGS);
+ Long startTime = optLong(root, IOpenTracingConstants.START_TIME);
+ if (Double.isFinite(startTime)) {
+ startTime = TmfTimestamp.fromMicros(startTime).toNanos();
+ }
+ Long duration = optLong(root, IOpenTracingConstants.DURATION);
+ if (Double.isFinite(duration)) {
+ duration = TmfTimestamp.fromMicros(duration).toNanos();
+ }
+ String pid = optString(root, IOpenTracingConstants.PROCESS_ID);
+
+ Map<@NonNull String, @NonNull Object> fieldsMap = new HashMap<>();
+
+ JsonArray refs = optJSONArray(root, IOpenTracingConstants.REFERENCES);
+ if (refs != null) {
+ for (int i = 0; i < refs.size(); i++) {
+ String key = Objects.requireNonNull(refs.get(i).getAsJsonObject().get("refType").getAsString()); //$NON-NLS-1$
+ JsonElement element = Objects.requireNonNull(refs.get(i).getAsJsonObject().get("spanID")); //$NON-NLS-1$
+ String value = String.valueOf(element.isJsonPrimitive() ? element.getAsJsonPrimitive().getAsString() : element.toString());
+ fieldsMap.put(IOpenTracingConstants.REFERENCES + "/" + key, value); //$NON-NLS-1$
+ }
+ }
+
+ JsonArray tags = optJSONArray(root, IOpenTracingConstants.TAGS);
+ if (tags != null) {
+ for (int i = 0; i < tags.size(); i++) {
+ String key = Objects.requireNonNull(tags.get(i).getAsJsonObject().get("key").getAsString()); //$NON-NLS-1$
+ JsonElement element = Objects.requireNonNull(tags.get(i).getAsJsonObject().get("value")); //$NON-NLS-1$
+ String value = String.valueOf(element.isJsonPrimitive() ? element.getAsJsonPrimitive().getAsString() : element.toString());
+ fieldsMap.put(IOpenTracingConstants.TAGS + "/" + key, value); //$NON-NLS-1$
+ }
+ }
+
+ if (id == null || pid == null) {
+ return null;
+ }
+ fieldsMap.put(IOpenTracingConstants.OPERATION_NAME, name);
+ fieldsMap.put(IOpenTracingConstants.SPAN_ID, id);
+ if (flags != Integer.MIN_VALUE) {
+ fieldsMap.put(IOpenTracingConstants.FLAGS, flags);
+ }
+ fieldsMap.put(IOpenTracingConstants.START_TIME, startTime);
+ fieldsMap.put(IOpenTracingConstants.DURATION, duration);
+ fieldsMap.put(IOpenTracingConstants.PROCESS_ID, pid);
+
+ return new OpenTracingField(name, fieldsMap, id, startTime, duration, pid);
+ }
+
+ private static long optLong(JsonObject root, String key) {
+ JsonElement jsonElement = root.get(key);
+ return jsonElement != null ? jsonElement.getAsLong() : Long.MIN_VALUE;
+ }
+
+ private static int optInt(JsonObject root, String key) {
+ JsonElement jsonElement = root.get(key);
+ return jsonElement != null ? jsonElement.getAsInt() : Integer.MIN_VALUE;
+ }
+
+ private static @Nullable JsonArray optJSONArray(JsonObject root, String key) {
+ JsonElement jsonElement = root.get(key);
+ return jsonElement != null ? jsonElement.getAsJsonArray() : null;
+ }
+
+ private static @Nullable String optString(JsonObject root, String key) {
+ JsonElement jsonElement = root.get(key);
+ return jsonElement != null ? jsonElement.getAsString() : null;
+ }
+
+ /**
+ * Constructor
+ *
+ * @param name
+ * operation name
+ * @param fields
+ * span fields (arguments)
+ * @param spanId
+ * the span id
+ * @param startTime
+ * the span start time
+ * @param duration
+ * the span duration
+ * @param pid
+ * the span process id
+ */
+ private OpenTracingField(String name, Map<String, Object> fields, String spanId, Long startTime, Long duration, String pid) {
+ fOperationName = name;
+ ITmfEventField[] array = fields.entrySet().stream()
+ .map(entry -> new TmfEventField(entry.getKey(), entry.getValue(), null))
+ .toArray(ITmfEventField[]::new);
+ fContent = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, fields, array);
+ fSpanId = spanId;
+ fStartTime = startTime;
+ fDuration = duration;
+ @SuppressWarnings("null")
+ Map<@NonNull String, @NonNull Object> tgs = fields.entrySet().stream()
+ .filter(entry -> {
+ return entry.getKey().startsWith(IOpenTracingConstants.TAGS + '/');
+ })
+ .collect(Collectors.toMap(entry -> entry.getKey().substring(5), Entry::getValue));
+ fTags = tgs.isEmpty() ? null : tgs;
+ fPid = pid;
+ }
+
+ /**
+ * Get the operation name
+ *
+ * @return the operation name
+ */
+ public String getName() {
+ return fOperationName;
+ }
+
+ /**
+ * Get the event content
+ *
+ * @return the event content
+ */
+ public ITmfEventField getContent() {
+ return fContent;
+ }
+
+ /**
+ * Get the span id
+ *
+ * @return the span id
+ */
+ public String getSpanId() {
+ return fSpanId;
+ }
+
+ /**
+ * Get the span start time
+ *
+ * @return the start time or null
+ */
+ public Long getStartTime() {
+ return fStartTime;
+ }
+
+ /**
+ * Get the event duration if applicable
+ *
+ * @return the duration or null
+ */
+ public Long getDuration() {
+ return fDuration;
+ }
+
+ /**
+ * Get the span tags
+ *
+ * @return a map of the tags and their field names
+ */
+ @Nullable
+ public Map<String, Object> getTags() {
+ return fTags;
+ }
+
+ /**
+ * Get the span processId
+ *
+ * @return the process ID
+ */
+ public String getPid() {
+ return fPid;
+ }
+}
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/messages.properties b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/messages.properties
new file mode 100644
index 00000000..8cf20cd8
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/messages.properties
@@ -0,0 +1,20 @@
+###############################################################################
+# Copyright (c) 2018 Ericsson
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+###############################################################################
+
+OpenTracingAspects_Tags=Tags
+OpenTracingAspects_TagsD=The tags of this span (info that applies to the entire span).
+OpenTracingAspects_SpanId=ID
+OpenTracingAspects_SpanIdD=The ID of this span. Used for determining flows of information.
+OpenTracingAspects_Name=Name
+OpenTracingAspects_NameD=The name of the span, as displayed in Trace Viewer
+OpenTracingAspects_Duration=Duration
+OpenTracingAspects_DurationD=Duration of the operation if applicable
+OpenTracingAspects_Pid=PID
+OpenTracingAspects_PidD=In computing, the process identifier (normally referred to as the process ID or just PID) is a number used by most operating system kernels \u2014 such as that of UNIX, macOS or Microsoft Windows \u2014 to uniquely identify an active process.
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/package-info.java b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/package-info.java
new file mode 100644
index 00000000..ca82e500
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/event/package-info.java
@@ -0,0 +1,11 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+@org.eclipse.jdt.annotation.NonNullByDefault
+package org.eclipse.tracecompass.incubator.internal.opentracing.core.event;
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/package-info.java b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/package-info.java
new file mode 100644
index 00000000..7be39b5c
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/package-info.java
@@ -0,0 +1,11 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+@org.eclipse.jdt.annotation.NonNullByDefault
+package org.eclipse.tracecompass.incubator.internal.opentracing.core;
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/trace/OpenTracingTrace.java b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/trace/OpenTracingTrace.java
new file mode 100644
index 00000000..8682b55d
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.core/src/org/eclipse/tracecompass/incubator/internal/opentracing/core/trace/OpenTracingTrace.java
@@ -0,0 +1,190 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.incubator.internal.opentracing.core.trace;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.tracecompass.incubator.internal.opentracing.core.Activator;
+import org.eclipse.tracecompass.incubator.internal.opentracing.core.event.OpenTracingAspects;
+import org.eclipse.tracecompass.incubator.internal.opentracing.core.event.OpenTracingEvent;
+import org.eclipse.tracecompass.incubator.internal.opentracing.core.event.OpenTracingField;
+import org.eclipse.tracecompass.incubator.jsontrace.core.trace.JsonTrace;
+import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
+import org.eclipse.tracecompass.tmf.core.event.aspect.ITmfEventAspect;
+import org.eclipse.tracecompass.tmf.core.io.BufferedRandomAccessFile;
+import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
+import org.eclipse.tracecompass.tmf.core.trace.TmfTraceUtils;
+import org.eclipse.tracecompass.tmf.core.trace.TraceValidationStatus;
+import org.eclipse.tracecompass.tmf.core.trace.location.ITmfLocation;
+import org.eclipse.tracecompass.tmf.core.trace.location.TmfLongLocation;
+
+import com.google.common.collect.Lists;
+
+/**
+ * Open Tracing trace. Can read jaeger unsorted or sorted JSON traces.
+ *
+ * @author Katherine Nadeau
+ *
+ */
+public class OpenTracingTrace extends JsonTrace {
+
+ private final @NonNull Iterable<@NonNull ITmfEventAspect<?>> fEventAspects;
+
+ /**
+ * Constructor
+ */
+ @SuppressWarnings("null")
+ public OpenTracingTrace() {
+ fEventAspects = Lists.newArrayList(OpenTracingAspects.getAspects());
+ }
+
+ @Override
+ public IStatus validate(IProject project, String path) {
+ File file = new File(path);
+ if (!file.exists()) {
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "File not found: " + path); //$NON-NLS-1$
+ }
+ if (!file.isFile()) {
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Not a file. It's a directory: " + path); //$NON-NLS-1$
+ }
+ int confidence = 0;
+
+ try {
+ if (!TmfTraceUtils.isText(file)) {
+ return new TraceValidationStatus(confidence, Activator.PLUGIN_ID);
+ }
+ } catch (IOException e) {
+ Activator.getInstance().logError("Error validating file: " + path, e); //$NON-NLS-1$
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "IOException validating file: " + path, e); //$NON-NLS-1$
+ }
+ try (BufferedRandomAccessFile rafile = new BufferedRandomAccessFile(path, "r")) { //$NON-NLS-1$
+ goToCorrectStart(rafile);
+ int lineCount = 0;
+ int matches = 0;
+ String line = readNextEventString(() -> rafile.read());
+ while ((line != null) && (lineCount++ < MAX_LINES)) {
+ try {
+ OpenTracingField field = OpenTracingField.parseJson(line);
+ if (field != null) {
+ matches++;
+ }
+ } catch (RuntimeException e) {
+ confidence = Integer.MIN_VALUE;
+ }
+
+ confidence = MAX_CONFIDENCE * matches / lineCount;
+ line = readNextEventString(() -> rafile.read());
+ }
+ if (matches == 0) {
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Most assuredly NOT a Open-Tracing trace"); //$NON-NLS-1$
+ }
+ } catch (IOException e) {
+ Activator.getInstance().logError("Error validating file: " + path, e); //$NON-NLS-1$
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "IOException validating file: " + path, e); //$NON-NLS-1$
+ }
+ return new TraceValidationStatus(confidence, Activator.PLUGIN_ID);
+ }
+
+ @Override
+ public void goToCorrectStart(RandomAccessFile rafile) throws IOException {
+ // skip start (ex.: "{"data":[{"traceID":"dcb56e6e03f3a509","spans":") before the spans list
+ StringBuilder sb = new StringBuilder();
+ int val = rafile.read();
+ /*
+ * Skip list contains all the odd control characters
+ */
+ Set<Integer> skipList = new HashSet<>();
+ skipList.add((int) ':');
+ skipList.add((int) '\t');
+ skipList.add((int) '\n');
+ skipList.add((int) '\r');
+ skipList.add((int) ' ');
+ skipList.add((int) '\b');
+ skipList.add((int) '\f');
+ while (val != -1 && val != ':' && sb.length() < 46) {
+ if (!skipList.contains(val)) {
+ sb.append((char) val);
+ }
+ val = rafile.read();
+ }
+
+ if (sb.toString().startsWith("{\"data\"")) { //$NON-NLS-1$
+ int data = 0;
+ for (int nbBracket = 0; nbBracket < 2 && data != -1; nbBracket++) {
+ data = rafile.read();
+ while (data != '[' && data != -1) {
+ data = rafile.read();
+ }
+ }
+ } else {
+ rafile.seek(0);
+ }
+ }
+
+ @Override
+ public String getTraceType() {
+ return "Open-Tracing"; //$NON-NLS-1$
+ }
+
+ @Override
+ public String getTsKey() {
+ return "\"startTime\":"; //$NON-NLS-1$
+ }
+
+ @Override
+ public Integer getBracketsToSkip() {
+ return 2;
+ }
+
+ @Override
+ public Iterable<@NonNull ITmfEventAspect<?>> getEventAspects() {
+ return fEventAspects;
+ }
+
+ @Override
+ public ITmfEvent parseEvent(ITmfContext context) {
+ @Nullable
+ ITmfLocation location = context.getLocation();
+ if (location instanceof TmfLongLocation) {
+ TmfLongLocation tmfLongLocation = (TmfLongLocation) location;
+ Long locationInfo = tmfLongLocation.getLocationInfo();
+ if (location.equals(NULL_LOCATION)) {
+ locationInfo = 0L;
+ }
+ if (locationInfo != null) {
+ try {
+ if (!locationInfo.equals(fFileInput.getFilePointer())) {
+ fFileInput.seek(locationInfo);
+ }
+ String nextJson = readNextEventString(() -> fFileInput.read());
+ if (nextJson != null) {
+ OpenTracingField field = OpenTracingField.parseJson(nextJson);
+ if (field == null) {
+ return null;
+ }
+ return new OpenTracingEvent(this, context.getRank(), field);
+ }
+ } catch (IOException e) {
+ Activator.getInstance().logError("Error parsing event", e); //$NON-NLS-1$
+ }
+ }
+ }
+ return null;
+ }
+}
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.classpath b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.classpath
new file mode 100644
index 00000000..b8d064f6
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.classpath
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+ <attributes>
+ <attribute name="annotationpath" value="/org.eclipse.tracecompass.incubator.annotations/annotations"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
+ <attributes>
+ <attribute name="annotationpath" value="/org.eclipse.tracecompass.incubator.annotations/annotations"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.gitignore b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.gitignore
new file mode 100644
index 00000000..750e145a
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.gitignore
@@ -0,0 +1 @@
+screenshots/
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.project b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.project
new file mode 100644
index 00000000..a087379c
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..99f26c02
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 00000000..5a0ad22d
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..6291cc95
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,428 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=f
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
+org.eclipse.jdt.core.compiler.problem.deadCode=error
+org.eclipse.jdt.core.compiler.problem.deprecation=error
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=error
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
+org.eclipse.jdt.core.compiler.problem.nullReference=error
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
+org.eclipse.jdt.core.compiler.problem.unusedLabel=error
+org.eclipse.jdt.core.compiler.problem.unusedLocal=error
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=250
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000..dbbef8b0
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,60 @@
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_tmf-test-style
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=e
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.overrideannotation=true
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=false
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=false
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=false
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.pde.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.pde.prefs
new file mode 100644
index 00000000..c367d4bd
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=0
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=0
+compilers.p.build.src.includes=0
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=2
+compilers.p.missing-version-import-package=2
+compilers.p.missing-version-require-bundle=2
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/META-INF/MANIFEST.MF b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..13eb6917
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-SymbolicName: org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests;singleton:=true
+Bundle-Version: 0.0.1.qualifier
+Bundle-Localization: plugin
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.core.resources,
+ org.eclipse.core.runtime,
+ org.eclipse.swtbot.eclipse.finder,
+ org.eclipse.swtbot.junit4_x,
+ org.eclipse.ui,
+ org.eclipse.ui.ide,
+ org.eclipse.ui.views,
+ org.junit
+
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/about.html b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/about.html
new file mode 100644
index 00000000..c258ef55
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/build.properties b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/build.properties
new file mode 100644
index 00000000..4fe36337
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/build.properties
@@ -0,0 +1,17 @@
+###############################################################################
+# Copyright (c) 2018 Ericsson
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+###############################################################################
+
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html,\
+ plugin.properties
+additional.bundles = org.eclipse.jdt.annotation
+jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/plugin.properties b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/plugin.properties
new file mode 100644
index 00000000..ca454062
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2018 École Polytechnique de Montréal
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+###############################################################################
+
+Bundle-Vendor = Eclipse Trace Compass Incubator
+Bundle-Name = Trace Compass opentracing UI Plug-in (Incubator)
+
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/swtbot-test-plugin.properties b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/swtbot-test-plugin.properties
new file mode 100644
index 00000000..338038b9
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui.swtbot.tests/swtbot-test-plugin.properties
@@ -0,0 +1 @@
+# This file tells the Maven build to use the settings for SWTBot test plugins
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.classpath b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.classpath
new file mode 100644
index 00000000..b8d064f6
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.classpath
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+ <attributes>
+ <attribute name="annotationpath" value="/org.eclipse.tracecompass.incubator.annotations/annotations"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
+ <attributes>
+ <attribute name="annotationpath" value="/org.eclipse.tracecompass.incubator.annotations/annotations"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.gitignore b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.project b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.project
new file mode 100644
index 00000000..5a17db96
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.tracecompass.incubator.opentracing.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/.api_filters b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/.api_filters
new file mode 100644
index 00000000..f301ddc4
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/.api_filters
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.tracecompass.tmf.ui" version="2">
+ <resource path="src/org/eclipse/tracecompass/tmf/ui/dialog/TmfFileDialogFactory.java" type="org.eclipse.tracecompass.tmf.ui.dialog.TmfFileDialogFactory">
+ <filter comment="For SWTBot, cannot extend FileDialog, which is a native dialog" id="571519004">
+ <message_arguments>
+ <message_argument value="org.eclipse.tracecompass.tmf.ui.dialog.TmfFileDialogFactory.createNewFileDialog(Shell, int, List&lt;String&gt;)"/>
+ <message_argument value="FileDialog"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/tracecompass/tmf/ui/editors/UnsortedPropertySheetPage.java" type="org.eclipse.tracecompass.tmf.ui.editors.UnsortedPropertySheetPage">
+ <filter comment="See bug 109617." id="571473929">
+ <message_arguments>
+ <message_argument value="PropertySheetPage"/>
+ <message_argument value="UnsortedPropertySheetPage"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/tracecompass/tmf/ui/views/statesystem/TmfStateSystemExplorer.java" type="org.eclipse.tracecompass.tmf.ui.views.statesystem.TmfStateSystemExplorer">
+ <filter id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.tracecompass.tmf.ui.views.statesystem.TmfStateSystemExplorer"/>
+ <message_argument value="ID"/>
+ <message_argument value="org.eclipse.linuxtools.tmf.ui.views.ssview"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/model/ITimeGraphEntry.java" type="org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.ITimeGraphEntry">
+ <filter comment="API preference INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore is not properly supported (Bug 507246)" id="403984517">
+ <message_arguments>
+ <message_argument value="org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.ITimeGraphEntry"/>
+ <message_argument value="org.eclipse.jface.viewers.ISelection"/>
+ <message_argument value="isEmpty()"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/model/IMarkerEventSource.java" type="org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.IMarkerEventSource">
+ <filter comment="API preference INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore is not properly supported (Bug 507246)" id="404000815">
+ <message_arguments>
+ <message_argument value="org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.IMarkerEventSource"/>
+ <message_argument value="getMarkerList(long, long, long, IProgressMonitor)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.core.resources.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..99f26c02
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.core.runtime.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 00000000..5a0ad22d
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.jdt.core.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..57a85287
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,433 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=f
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
+org.eclipse.jdt.core.compiler.problem.deadCode=error
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=error
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
+org.eclipse.jdt.core.compiler.problem.nullReference=error
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
+org.eclipse.jdt.core.compiler.problem.unusedLabel=error
+org.eclipse.jdt.core.compiler.problem.unusedLocal=error
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=error
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=error
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=250
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.jdt.ui.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000..232a3fd7
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,60 @@
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_tmf-style
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=e
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.overrideannotation=true
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=false
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=false
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=false
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.pde.api.tools.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 00000000..3c9b07ac
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,99 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Ignore
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_JAVADOC_TAG=Warning
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Ignore
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=false
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.pde.prefs b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.pde.prefs
new file mode 100644
index 00000000..01d624df
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=0
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=0
+compilers.p.build.src.includes=0
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=2
+compilers.p.missing-version-import-package=2
+compilers.p.missing-version-require-bundle=2
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=1
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/META-INF/MANIFEST.MF b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..c6aff8f0
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-SymbolicName: org.eclipse.tracecompass.incubator.opentracing.ui;singleton:=true
+Bundle-Version: 0.0.1.qualifier
+Bundle-Localization: plugin
+Bundle-Activator: org.eclipse.tracecompass.incubator.internal.opentracing.ui.Activator
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.tracecompass.common.core,
+ org.eclipse.tracecompass.incubator.opentracing.core,
+ org.eclipse.tracecompass.tmf.ui,
+ org.eclipse.tracecompass.tmf.core
+Export-Package: org.eclipse.tracecompass.incubator.internal.opentracing.ui;x-internal:=true
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/about.html b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/about.html
new file mode 100644
index 00000000..c258ef55
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/build.properties b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/build.properties
new file mode 100644
index 00000000..75360c70
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/build.properties
@@ -0,0 +1,19 @@
+###############################################################################
+# Copyright (c) 2018 Ericsson
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+###############################################################################
+
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html,\
+ plugin.properties,\
+ icons/,\
+ plugin.xml
+additional.bundles = org.eclipse.jdt.annotation
+jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/icons/open-tracing.png b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/icons/open-tracing.png
new file mode 100644
index 00000000..7c294308
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/icons/open-tracing.png
Binary files differ
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/icons/open-tracing@2x.png b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/icons/open-tracing@2x.png
new file mode 100644
index 00000000..fe92a228
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/icons/open-tracing@2x.png
Binary files differ
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/icons/open-tracing@4x.png b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/icons/open-tracing@4x.png
new file mode 100644
index 00000000..d30c5049
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/icons/open-tracing@4x.png
Binary files differ
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/plugin.properties b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/plugin.properties
new file mode 100644
index 00000000..0c2f4c4a
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2018 Ericsson
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+###############################################################################
+
+Bundle-Vendor = Eclipse Trace Compass Incubator
+Bundle-Name = Trace Compass opentracing UI Plug-in (Incubator)
+
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/plugin.xml b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/plugin.xml
new file mode 100644
index 00000000..9fc49d8a
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/plugin.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.linuxtools.tmf.ui.tracetypeui">
+ <type
+ icon="icons/open-tracing.png"
+ tracetype="org.eclipse.tracecompass.incubator.opentracing.core">
+ </type>
+ </extension>
+</plugin>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/src/org/eclipse/tracecompass/incubator/internal/opentracing/ui/Activator.java b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/src/org/eclipse/tracecompass/incubator/internal/opentracing/ui/Activator.java
new file mode 100644
index 00000000..307d3ef1
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/src/org/eclipse/tracecompass/incubator/internal/opentracing/ui/Activator.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.incubator.internal.opentracing.ui;
+
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ /** The plugin ID */
+ public static final String PLUGIN_ID = "org.eclipse.tracecompass.incubator.opentracing.ui"; //$NON-NLS-1$
+
+ // The shared instance
+ private static @Nullable Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ @Override
+ public void start(@Nullable BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ @Override
+ public void stop(@Nullable BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static @Nullable Activator getDefault() {
+ return plugin;
+ }
+
+}
+
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/src/org/eclipse/tracecompass/incubator/internal/opentracing/ui/package-info.java b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/src/org/eclipse/tracecompass/incubator/internal/opentracing/ui/package-info.java
new file mode 100644
index 00000000..22199827
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing.ui/src/org/eclipse/tracecompass/incubator/internal/opentracing/ui/package-info.java
@@ -0,0 +1,11 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+@org.eclipse.jdt.annotation.NonNullByDefault
+package org.eclipse.tracecompass.incubator.internal.opentracing.ui;
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing/.project b/tracetypes/org.eclipse.tracecompass.incubator.opentracing/.project
new file mode 100644
index 00000000..3c8418a2
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.tracecompass.incubator.opentracing</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing/build.properties b/tracetypes/org.eclipse.tracecompass.incubator.opentracing/build.properties
new file mode 100644
index 00000000..b3a611b5
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing/build.properties
@@ -0,0 +1,2 @@
+bin.includes = feature.xml,\
+ feature.properties
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing/feature.properties b/tracetypes/org.eclipse.tracecompass.incubator.opentracing/feature.properties
new file mode 100644
index 00000000..296b4677
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing/feature.properties
@@ -0,0 +1,17 @@
+###############################################################################
+# Copyright (c) 2018 Ericsson
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+###############################################################################
+
+featureName=Trace Compass opentracing (Incubation)
+
+description=A Open Tracing parser to allow traces using this format to be read in TraceCompass
+
+featureProvider=Ericsson AB
+
+copyright=Copyright 2018 Ericsson
+
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.opentracing/feature.xml b/tracetypes/org.eclipse.tracecompass.incubator.opentracing/feature.xml
new file mode 100644
index 00000000..78ef8678
--- /dev/null
+++ b/tracetypes/org.eclipse.tracecompass.incubator.opentracing/feature.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.tracecompass.incubator.opentracing"
+ label="%featureName"
+ version="0.0.1.qualifier"
+ provider-name="%featureProvider"
+ license-feature="org.eclipse.license"
+ license-feature-version="0.0.0">
+
+ <description>
+ %description
+ </description>
+
+ <copyright>
+ %copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ %license
+ </license>
+
+ <requires>
+ <import plugin="org.eclipse.core.runtime"/>
+ <import plugin="org.eclipse.core.resources"/>
+ <import plugin="org.eclipse.tracecompass.common.core"/>
+ <import plugin="org.eclipse.tracecompass.analysis.os.linux.core"/>
+ <import plugin="org.eclipse.tracecompass.tmf.core"/>
+ <import plugin="org.eclipse.tracecompass.tmf.ui"/>
+ <import plugin="com.google.guava"/>
+ <import plugin="org.apache.commons.lang3"/>
+ <import plugin="org.json"/>
+ <import plugin="org.eclipse.ui"/>
+ <import plugin="org.eclipse.tracecompass.incubator.jsontrace.core"/>
+ </requires>
+
+ <plugin
+ id="org.eclipse.tracecompass.incubator.opentracing.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.tracecompass.incubator.opentracing.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.tracecompass.incubator.opentracing.doc.user"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core.tests/META-INF/MANIFEST.MF b/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core.tests/META-INF/MANIFEST.MF
index 71d50917..ff7a801b 100644
--- a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core.tests/META-INF/MANIFEST.MF
+++ b/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core.tests/META-INF/MANIFEST.MF
@@ -12,7 +12,9 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.tracecompass.incubator.traceevent.core,
org.junit,
org.eclipse.tracecompass.tmf.core,
- org.eclipse.tracecompass.incubator.callstack.core
+ org.eclipse.tracecompass.incubator.callstack.core,
+ org.eclipse.tracecompass.incubator.jsontrace.core,
+ org.eclipse.jdt.annotation
Export-Package: org.eclipse.tracecompass.incubator.traceevent.core.tests
Import-Package: com.google.common.base,
com.google.common.collect,
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/META-INF/MANIFEST.MF b/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/META-INF/MANIFEST.MF
index bfcdf085..ed1879e7 100644
--- a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/META-INF/MANIFEST.MF
+++ b/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/META-INF/MANIFEST.MF
@@ -19,7 +19,9 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.tracecompass.analysis.counters.core,
org.eclipse.tracecompass.analysis.timing.core,
org.eclipse.tracecompass.tmf.analysis.xml.core,
- org.eclipse.tracecompass.analysis.profiling.core
+ org.eclipse.tracecompass.analysis.profiling.core,
+ org.eclipse.tracecompass.incubator.jsontrace.core,
+ org.eclipse.jdt.annotation
Export-Package: org.eclipse.tracecompass.incubator.internal.traceevent.core;x-friends:="org.eclipse.tracecompass.incubator.traceevent.core.tests",
org.eclipse.tracecompass.incubator.internal.traceevent.core.analysis.callstack;x-internal:=true,
org.eclipse.tracecompass.incubator.internal.traceevent.core.analysis.context;x-friends:="org.eclipse.tracecompass.incubator.traceevent.ui",
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/event/TraceEventField.java b/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/event/TraceEventField.java
index 3bccfc8f..304a838d 100644
--- a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/event/TraceEventField.java
+++ b/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/event/TraceEventField.java
@@ -64,6 +64,9 @@ public class TraceEventField {
long ts = 0;
Double tso = optDouble(root, ITraceEventConstants.TIMESTAMP);
+ if (tso == Double.NaN) {
+ return null;
+ }
if (Double.isFinite(tso)) {
ts = (long) (tso * MICRO_TO_NANO);
}
@@ -72,7 +75,7 @@ public class TraceEventField {
// FIXME: Easy way to avoid null warning
phase = "I"; //$NON-NLS-1$
}
- String name = String.valueOf(optString(root, ITraceEventConstants.NAME, TraceEventPhases.DURATION_END.equals(phase) ? "exit" : "unknown")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ String name = String.valueOf(optString(root, ITraceEventConstants.NAME, TraceEventPhases.DURATION_END.equals(phase) ? "exit" : "unknown")); //$NON-NLS-1$ //$NON-NLS-2$
Integer tid = optInt(root, ITraceEventConstants.TID);
if (tid == Integer.MIN_VALUE) {
tid = null;
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/trace/TraceEventTrace.java b/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/trace/TraceEventTrace.java
index 1004b257..5c12fe23 100644
--- a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/trace/TraceEventTrace.java
+++ b/tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/trace/TraceEventTrace.java
@@ -10,41 +10,30 @@
package org.eclipse.tracecompass.incubator.internal.traceevent.core.trace;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
-import java.nio.ByteBuffer;
import java.util.HashMap;
-import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.NavigableMap;
import java.util.TreeMap;
import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.tracecompass.incubator.internal.traceevent.core.Activator;
import org.eclipse.tracecompass.incubator.internal.traceevent.core.event.TraceEventAspects;
import org.eclipse.tracecompass.incubator.internal.traceevent.core.event.TraceEventEvent;
import org.eclipse.tracecompass.incubator.internal.traceevent.core.event.TraceEventField;
+import org.eclipse.tracecompass.incubator.jsontrace.core.trace.JsonTrace;
import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
import org.eclipse.tracecompass.tmf.core.event.aspect.ITmfEventAspect;
-import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
import org.eclipse.tracecompass.tmf.core.io.BufferedRandomAccessFile;
-import org.eclipse.tracecompass.tmf.core.project.model.ITmfPropertiesProvider;
import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
-import org.eclipse.tracecompass.tmf.core.trace.ITmfTraceKnownSize;
-import org.eclipse.tracecompass.tmf.core.trace.TmfContext;
-import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
-import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
import org.eclipse.tracecompass.tmf.core.trace.TmfTraceUtils;
import org.eclipse.tracecompass.tmf.core.trace.TraceValidationStatus;
-import org.eclipse.tracecompass.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
import org.eclipse.tracecompass.tmf.core.trace.location.ITmfLocation;
import org.eclipse.tracecompass.tmf.core.trace.location.TmfLongLocation;
@@ -56,7 +45,7 @@ import com.google.common.collect.Lists;
* @author Matthew Khouzam
*
*/
-public class TraceEventTrace extends TmfTrace implements ITmfPersistentlyIndexable, ITmfPropertiesProvider, ITmfTraceKnownSize {
+public class TraceEventTrace extends JsonTrace {
/**
* Tid prefix to add to thread name
@@ -103,19 +92,8 @@ public class TraceEventTrace extends TmfTrace implements ITmfPersistentlyIndexab
*/
private static final String THREAD_SORT_INDEX = "thread_sort_index"; //$NON-NLS-1$
- private static final int CHECKPOINT_SIZE = 10000;
- private static final int ESTIMATED_EVENT_SIZE = 90;
- private static final TmfLongLocation NULL_LOCATION = new TmfLongLocation(-1L);
- private static final TmfContext INVALID_CONTEXT = new TmfContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
- private static final int MAX_LINES = 100;
- private static final int MAX_CONFIDENCE = 100;
- private final @NonNull Map<@NonNull String, @NonNull String> fProperties = new LinkedHashMap<>();
private final @NonNull Map<Object, String> fPidNames = new HashMap<>();
private final @NonNull NavigableMap<Integer, String> fTidNames = new TreeMap<>();
-
- private File fFile;
-
- private RandomAccessFile fFileInput;
private final @NonNull Iterable<@NonNull ITmfEventAspect<?>> fEventAspects;
/**
@@ -166,7 +144,7 @@ public class TraceEventTrace extends TmfTrace implements ITmfPersistentlyIndexab
line = readNextEventString(() -> rafile.read());
}
if (matches == 0) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Most assuredly NOT a traceevent trace"); //$NON-NLS-1$
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Most assuredly NOT a Trace-Event trace"); //$NON-NLS-1$
}
} catch (IOException e) {
Activator.getInstance().logError("Error validating file: " + path, e); //$NON-NLS-1$
@@ -175,7 +153,8 @@ public class TraceEventTrace extends TmfTrace implements ITmfPersistentlyIndexab
return new TraceValidationStatus(confidence, Activator.PLUGIN_ID);
}
- private static void goToCorrectStart(RandomAccessFile rafile) throws IOException {
+ @Override
+ public void goToCorrectStart(RandomAccessFile rafile) throws IOException {
// skip start if it's {"traceEvents":
String readLine = rafile.readLine();
if (readLine == null) {
@@ -189,88 +168,18 @@ public class TraceEventTrace extends TmfTrace implements ITmfPersistentlyIndexab
}
@Override
- public void initTrace(IResource resource, String path, Class<? extends ITmfEvent> type) throws TmfTraceException {
- super.initTrace(resource, path, type);
- fProperties.put("Type", "Trace-Event"); //$NON-NLS-1$ //$NON-NLS-2$ , value)
- String dir = TmfTraceManager.getSupplementaryFileDir(this);
- fFile = new File(dir + new File(path).getName());
- if (!fFile.exists()) {
- Job sortJob = new SortingJob(this, path);
- sortJob.schedule();
- while (sortJob.getResult() == null) {
- try {
- sortJob.join();
- } catch (InterruptedException e) {
- throw new TmfTraceException(e.getMessage(), e);
- }
- }
- IStatus result = sortJob.getResult();
- if (!result.isOK()) {
- throw new TmfTraceException("Job failed " + result.getMessage()); //$NON-NLS-1$
- }
- }
- try {
- fFileInput = new BufferedRandomAccessFile(fFile, "r"); //$NON-NLS-1$
- goToCorrectStart(fFileInput);
- } catch (IOException e) {
- throw new TmfTraceException(e.getMessage(), e);
- }
+ public String getTraceType() {
+ return "Trace-Event"; //$NON-NLS-1$
}
@Override
- public synchronized void dispose() {
- if (fFileInput != null) {
- try {
- fFileInput.close();
- } catch (IOException e) {
- Activator.getInstance().logError("Error disposing trace. File: " + getPath(), e); //$NON-NLS-1$
- }
- }
- super.dispose();
-
+ public String getTsKey() {
+ return "\"ts\":"; //$NON-NLS-1$
}
@Override
- public double getLocationRatio(ITmfLocation location) {
- return ((Long) getCurrentLocation().getLocationInfo()).doubleValue() / fFile.length();
- }
-
- @Override
- public ITmfContext seekEvent(ITmfLocation location) {
- if (fFile == null) {
- return INVALID_CONTEXT;
- }
- final TmfContext context = new TmfContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
- if (NULL_LOCATION.equals(location) || fFile == null) {
- return context;
- }
- try {
- if (location == null) {
- fFileInput.seek(1);
- } else if (location.getLocationInfo() instanceof Long) {
- fFileInput.seek((Long) location.getLocationInfo());
- }
- context.setLocation(new TmfLongLocation(fFileInput.getFilePointer()));
- context.setRank(0);
- return context;
- } catch (final FileNotFoundException e) {
- Activator.getInstance().logError("Error seeking event. File not found: " + getPath(), e); //$NON-NLS-1$
- return context;
- } catch (final IOException e) {
- Activator.getInstance().logError("Error seeking event. File: " + getPath(), e); //$NON-NLS-1$
- return context;
- }
- }
-
- @Override
- public ITmfContext seekEvent(double ratio) {
- File file = fFile;
- if (file == null) {
- return INVALID_CONTEXT;
- }
- long filePos = (long) (file.length() * ratio);
- long estimatedRank = filePos / ESTIMATED_EVENT_SIZE;
- return seekEvent(new TmfLongLocation(estimatedRank));
+ public Integer getBracketsToSkip() {
+ return 1;
}
@Override
@@ -359,127 +268,6 @@ public class TraceEventTrace extends TmfTrace implements ITmfPersistentlyIndexab
}
- @Override
- public ITmfLocation getCurrentLocation() {
- long temp = -1;
- try {
- temp = fFileInput.getFilePointer();
- } catch (IOException e) {
- }
- return new TmfLongLocation(temp);
- }
-
- @Override
- public @NonNull Map<@NonNull String, @NonNull String> getProperties() {
- return fProperties;
- }
-
- @Override
- public ITmfLocation restoreLocation(ByteBuffer bufferIn) {
- return new TmfLongLocation(bufferIn);
- }
-
- @Override
- public int getCheckpointSize() {
- return CHECKPOINT_SIZE;
- }
-
- /**
- * Wrapper to get a character reader, allows to reconcile between java.nio and
- * java.io
- *
- * @author Matthew Khouzam
- *
- */
- public static interface IReaderWrapper {
- /**
- * Read the next character
- *
- * @return the next char
- * @throws IOException
- * out of chars to read
- */
- int read() throws IOException;
- }
-
- /**
- * Manually parse a string of JSON. High performance to extract one object
- *
- * @param parser
- * the reader
- * @return a String with a json object
- * @throws IOException
- * end of file, file not found or such
- */
- public static @Nullable String readNextEventString(IReaderWrapper parser) throws IOException {
- StringBuffer sb = new StringBuffer();
- int scope = -1;
- int arrScope = 0;
- boolean inQuotes = false;
- int elem = parser.read();
- while (elem != -1) {
- if (elem == '"') {
- inQuotes = !inQuotes;
- } else {
- if (inQuotes) {
- // do nothing
- } else if (elem == '[') {
- arrScope++;
- } else if (elem == ']') {
- if (arrScope > 0) {
- arrScope--;
- } else {
- return null;
- }
- } else if (elem == '{') {
- scope++;
- } else if (elem == '}') {
- if (scope > 0) {
- scope--;
- } else {
- sb.append((char) elem);
- return sb.toString();
- }
- }
- }
- if (scope >= 0) {
- sb.append((char) elem);
- }
- elem = parser.read();
- }
- return null;
- }
-
- @Override
- public int size() {
- RandomAccessFile fileInput = fFileInput;
- if (fileInput == null) {
- return 0;
- }
- long length = 0;
- try {
- length = fileInput.length();
- } catch (IOException e) {
- // swallow it for now
- }
- return length > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) length;
- }
-
- @Override
- public int progress() {
- RandomAccessFile fileInput = fFileInput;
- if (fileInput == null) {
- return 0;
- }
- long length = 0;
- try {
- length = fileInput.getFilePointer();
- } catch (IOException e) {
- // swallow it for now
- }
- return length > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) length;
- }
-
/**
* Get the Process name
*/
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.ui/META-INF/MANIFEST.MF b/tracetypes/org.eclipse.tracecompass.incubator.traceevent.ui/META-INF/MANIFEST.MF
index 7820f527..9932dbcb 100644
--- a/tracetypes/org.eclipse.tracecompass.incubator.traceevent.ui/META-INF/MANIFEST.MF
+++ b/tracetypes/org.eclipse.tracecompass.incubator.traceevent.ui/META-INF/MANIFEST.MF
@@ -15,7 +15,8 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.tracecompass.tmf.ui,
org.eclipse.tracecompass.tmf.core,
org.eclipse.core.resources,
- org.eclipse.swt
+ org.eclipse.swt,
+ org.eclipse.tracecompass.incubator.jsontrace.core
Export-Package: org.eclipse.tracecompass.incubator.internal.traceevent.ui;x-internal:=true,
org.eclipse.tracecompass.incubator.internal.traceevent.ui.view.life;x-internal:=true
Import-Package: com.google.common.collect
diff --git a/tracetypes/org.eclipse.tracecompass.incubator.traceevent/feature.xml b/tracetypes/org.eclipse.tracecompass.incubator.traceevent/feature.xml
index 2ded1840..5f37f07d 100644
--- a/tracetypes/org.eclipse.tracecompass.incubator.traceevent/feature.xml
+++ b/tracetypes/org.eclipse.tracecompass.incubator.traceevent/feature.xml
@@ -41,6 +41,7 @@
<import plugin="com.google.gson"/>
<import plugin="org.eclipse.tracecompass.datastore.core"/>
<import plugin="org.eclipse.swt"/>
+ <import plugin="org.eclipse.tracecompass.incubator.jsontrace.core"/>
</requires>
<plugin
diff --git a/tracetypes/pom.xml b/tracetypes/pom.xml
index 6a778b02..be85988d 100644
--- a/tracetypes/pom.xml
+++ b/tracetypes/pom.xml
@@ -33,6 +33,11 @@
<module>org.eclipse.tracecompass.incubator.hudson.maven.core</module>
<module>org.eclipse.tracecompass.incubator.hudson.maven.core.tests</module>
<module>org.eclipse.tracecompass.incubator.hudson.maven.ui</module>
+ <module>org.eclipse.tracecompass.incubator.jsontrace.core</module>
+ <module>org.eclipse.tracecompass.incubator.opentracing</module>
+ <module>org.eclipse.tracecompass.incubator.opentracing.core</module>
+ <module>org.eclipse.tracecompass.incubator.opentracing.core.tests</module>
+ <module>org.eclipse.tracecompass.incubator.opentracing.ui</module>
<module>org.eclipse.tracecompass.incubator.perf.profiling</module>
<module>org.eclipse.tracecompass.incubator.perf.profiling.core</module>
<module>org.eclipse.tracecompass.incubator.perf.profiling.core.tests</module>

Back to the top