1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.tracecompass.analysis.os.linux.core" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.eclipse.tracecompass.analysis.os.linux.core" id="graph.handler" name="Operating System Execution Graph Handler"/>
</appinfo>
<documentation>
This extension point is used to contribute handlers to build the operating system execution graph, from which the critical path can be computed.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<sequence minOccurs="1" maxOccurs="unbounded">
<element ref="handler"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
a fully qualified identifier of the target extension point
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
an optional identifier of the extension instance
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
an optional name of the extension instance
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="handler">
<complexType>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
The class of the execution graph event handler. It will be registered to the os execution graph analysis.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.tracecompass.analysis.os.linux.core.execution.graph.IOsExecutionGraphHandlerBuilder"/>
</appinfo>
</annotation>
</attribute>
<attribute name="priority" type="string">
<annotation>
<documentation>
A number identifying the priority at which the handler will be registered. A lower number means a higher priority. A handler at priority 0 will handle the event before handlers wiht higher priorities.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
2.3
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
<p>
For an example implementation of handlers see:
<pre>
plug-in: org.eclipse.tracecompass.lttng2.kernel.core
package: org.eclipse.tracecompass.lttng2.kernel.core.analysis.graph.*
</pre>
</p>
<p>
The following is an example usage of the extension point:
<pre>
<extension
point="org.eclipse.tracecompass.analysis.os.linux.core.graph.handler">
<handler
class="org.eclipse.tracecompass.internal.lttng2.kernel.core.analysis.graph.building.HandlerBuilderStatedump"
priority="3" />
<handler
class="org.eclipse.tracecompass.internal.lttng2.kernel.core.analysis.graph.building.HandlerBuilderExecutionGraph"
priority="10" />
</extension>
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
<p>
This extension point advertises a class implementing IOsExecutionGraphHandlerBuilder. This class is a functional interface that creates an ITraceEventHandler object by sending the graph provider and the priority. It is this object that is responsible for building the model of the system and creating the execution graph.
</p>
<p>
The handlers will be registered to the graph provider by their priority if specified. The lower the number, the earlier it will handle the event. If no priority is specified, the handler will be assigned an arbitrary value and there is no guarantee as to when it will be executed.
</p>
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="copyright"/>
</appinfo>
<documentation>
Copyright (c) 2017 É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 2.0 which accompanies this distribution, and is available at &lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0/&quot;&gt;https://www.eclipse.org/legal/epl-2.0/&lt;/a&gt;
SPDX-License-Identifier: EPL-2.0
</documentation>
</annotation>
</schema>
|