1
/*******************************************************************************
2
* Copyright (c) 2012 Ericsson
4
* All rights reserved. This program and the accompanying materials are
5
* made available under the terms of the Eclipse Public License v1.0 which
6
* accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
10
* Francois Chouinard - Initial API and implementation
11
*******************************************************************************/
13
package org.eclipse.linuxtools.tmf.core.event;
15
import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
18
* The generic event structure in TMF. In its canonical form, an event has:
21
* <li> a rank (order within the trace)
23
* <li> a source (reporting component)
25
* <li> a content (payload)
27
* For convenience, a free-form reference field is also provided. It could be
28
* used as e.g. a location marker (filename:lineno) to indicate where the event
32
* @author Francois Chouinard
39
public interface ITmfEvent {
41
// ------------------------------------------------------------------------
43
// ------------------------------------------------------------------------
46
* Pre-defined event timestamp attribute (for searching &filtering purposes)
48
public static final String EVENT_FIELD_TIMESTAMP = ":timestamp:"; //$NON-NLS-1$
51
* Pre-defined event source attribute (for searching &filtering purposes)
53
public static final String EVENT_FIELD_SOURCE = ":source:"; //$NON-NLS-1$
56
* Pre-defined event type attribute (for searching &filtering purposes)
58
public static final String EVENT_FIELD_TYPE = ":type:"; //$NON-NLS-1$
61
* Pre-defined event content attribute (for searching &filtering purposes)
63
public static final String EVENT_FIELD_CONTENT = ":content:"; //$NON-NLS-1$
66
* Pre-defined event reference attribute (for searching &filtering purposes)
68
public static final String EVENT_FIELD_REFERENCE = ":reference:"; //$NON-NLS-1$
70
// ------------------------------------------------------------------------
72
// ------------------------------------------------------------------------
75
* @return the trace that 'owns' the event
77
public ITmfTrace<?> getTrace();
80
* @return the event rank within the parent trace
82
public long getRank();
85
* @return the event timestamp
87
public ITmfTimestamp getTimestamp();
90
* @return the event source
92
public String getSource();
95
* @return the event type
97
public ITmfEventType getType();
100
* @return the event content
102
public ITmfEventField getContent();
105
* @return the event reference
107
public String getReference();
110
* @return a clone of the event
112
public ITmfEvent clone();