From 026664b7c5225982ed5a02d370f7df8c485e0148 Mon Sep 17 00:00:00 2001 From: Xavier Raynaud Date: Fri, 14 Dec 2012 10:15:25 +0100 Subject: [PATCH] lttng/tmf: add a "unit-less" representation of time in timechart Change-Id: Ia2c2b9a55a1d380f7656c473c535b775553c4bf1 Reviewed-on: https://git.eclipse.org/r/8204 Reviewed-by: Xavier Raynaud IP-Clean: Xavier Raynaud Tested-by: Xavier Raynaud --- .../ui/views/controlflow/ControlFlowView.java | 4 +- .../ResourcesPresentationProvider.java | 2 +- .../ui/views/resources/ResourcesView.java | 3 +- .../test/stub/views/TsfTraceAnalysisView.java | 3 +- .../tmf/ui/views/timechart/TimeChartView.java | 3 +- .../ui/widgets/timegraph/TimeGraphViewer.java | 32 +++++--- .../timegraph/widgets/ITimeDataProvider.java | 18 ++++- .../timegraph/widgets/TimeGraphScale.java | 75 ++++++++++++++----- .../widgets/TimeGraphTooltipHandler.java | 48 +++++------- .../ui/widgets/timegraph/widgets/Utils.java | 9 ++- 10 files changed, 128 insertions(+), 69 deletions(-) diff --git a/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java b/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java index f25f82523c..21a382ede7 100644 --- a/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java +++ b/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java @@ -227,7 +227,7 @@ public class ControlFlowView extends TmfView { return Integer.toString(entry.getParentThreadId()); } } else if (columnIndex == 3) { - return Utils.formatTime(entry.getBirthTime(), TimeFormat.ABSOLUTE, Resolution.NANOSEC); + return Utils.formatTime(entry.getBirthTime(), TimeFormat.CALENDAR, Resolution.NANOSEC); } else if (columnIndex == 4) { return entry.getTrace().getName(); } @@ -398,7 +398,7 @@ public class ControlFlowView extends TmfView { } }); - fTimeGraphCombo.getTimeGraphViewer().setTimeCalendarFormat(true); + fTimeGraphCombo.getTimeGraphViewer().setTimeFormat(TimeFormat.CALENDAR); // View Action Handling makeActions(); diff --git a/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesPresentationProvider.java b/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesPresentationProvider.java index db38b16c78..189ab2ff98 100644 --- a/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesPresentationProvider.java +++ b/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesPresentationProvider.java @@ -245,7 +245,7 @@ public class ResourcesPresentationProvider extends TimeGraphPresentationProvider ITmfStateSystem ssq = entry.getTrace().getStateSystem(CtfKernelTrace.STATE_ID); try { - retMap.put(Messages.ResourcesView_attributeHoverTime, Utils.formatTime(hoverTime, TimeFormat.ABSOLUTE, Resolution.NANOSEC)); + retMap.put(Messages.ResourcesView_attributeHoverTime, Utils.formatTime(hoverTime, TimeFormat.CALENDAR, Resolution.NANOSEC)); int cpuQuark = entry.getQuark(); int currentThreadQuark = ssq.getQuarkRelative(cpuQuark, Attributes.CURRENT_THREAD); ITmfStateInterval interval = ssq.querySingleState(hoverTime, currentThreadQuark); diff --git a/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesView.java b/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesView.java index edb5446d74..4001bad67d 100644 --- a/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesView.java +++ b/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesView.java @@ -55,6 +55,7 @@ import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphViewer; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeEvent; +import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; @@ -319,7 +320,7 @@ public class ResourcesView extends TmfView { fTimeGraphViewer.setTimeGraphProvider(new ResourcesPresentationProvider(fTimeGraphViewer)); - fTimeGraphViewer.setTimeCalendarFormat(true); + fTimeGraphViewer.setTimeFormat(TimeFormat.CALENDAR); fTimeGraphViewer.addRangeListener(new ITimeGraphRangeListener() { @Override diff --git a/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/views/TsfTraceAnalysisView.java b/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/views/TsfTraceAnalysisView.java index 6ef1b95ced..6801c60721 100644 --- a/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/views/TsfTraceAnalysisView.java +++ b/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/views/TsfTraceAnalysisView.java @@ -44,6 +44,7 @@ import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.adaption.TsfImp import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.model.EventImpl; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.model.TraceImpl; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.model.TraceModelImplFactory; +import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.SashForm; import org.eclipse.swt.graphics.Image; @@ -281,7 +282,7 @@ public class TsfTraceAnalysisView extends ViewPart implements tsfviewer.setInput(traceArr); tsfviewer.addSelectionListener(this); tsfviewer.addRangeListener(this); - tsfviewer.setTimeCalendarFormat(true); + tsfviewer.setTimeFormat(TimeFormat.CALENDAR); tsfviewer2.setInput(traceArr); tsfviewer2.addSelectionListener(this); diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartView.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartView.java index 4e79b8c199..ddb1704fad 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartView.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartView.java @@ -57,6 +57,7 @@ import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphColorScheme; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphControl; +import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Rectangle; @@ -129,7 +130,7 @@ public class TimeChartView extends TmfView implements ITimeGraphRangeListener, I fViewer = new TimeChartViewer(parent, SWT.NONE); fPresentationProvider = new TimeChartAnalysisProvider(); fViewer.setTimeGraphProvider(fPresentationProvider); - fViewer.setTimeCalendarFormat(true); + fViewer.setTimeFormat(TimeFormat.CALENDAR); fViewer.addTimeListener(this); fViewer.addRangeListener(this); fViewer.addSelectionListener(this); diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphViewer.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphViewer.java index 9e2d6df6c3..3545eede08 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphViewer.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphViewer.java @@ -1,3 +1,4 @@ + /***************************************************************************** * Copyright (c) 2007, 2008 Intel Corporation, 2009, 2010, 2011, 2012 Ericsson. * All rights reserved. This program and the accompanying materials @@ -32,6 +33,7 @@ import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphControl; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphScale; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphTooltipHandler; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils; +import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ControlAdapter; import org.eclipse.swt.events.ControlEvent; @@ -89,9 +91,8 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener { ArrayList fTimeListeners = new ArrayList(); ArrayList fRangeListeners = new ArrayList(); - // Calender Time format, using Epoch reference or Relative time - // format(default - private boolean calendarTimeFormat = false; + // Time format, using Epoch reference, Relative time format(default) or Number + private TimeFormat timeFormat = TimeFormat.RELATIVE; private int borderWidth = 0; private int timeScaleHeight = 22; @@ -897,19 +898,26 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener { _time1_extSynch = _time1; } + @Override + @Deprecated + public boolean isCalendarFormat() { + return timeFormat == TimeFormat.CALENDAR; + } + /** - * Set the calendar format - * - * @param toAbsoluteCaltime - * True for absolute time, false for relative + * @since 2.0 */ - public void setTimeCalendarFormat(boolean toAbsoluteCaltime) { - calendarTimeFormat = toAbsoluteCaltime; + @Override + public TimeFormat getTimeFormat() { + return timeFormat; } - @Override - public boolean isCalendarFormat() { - return calendarTimeFormat; + /** + * @param tf the {@link TimeFormat} used to display timestamps + * @since 2.0 + */ + public void setTimeFormat(TimeFormat tf) { + this.timeFormat = tf; } /** diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITimeDataProvider.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITimeDataProvider.java index 260eb1b4cf..0d21e8eed5 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITimeDataProvider.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITimeDataProvider.java @@ -1,3 +1,4 @@ + /***************************************************************************** * Copyright (c) 2007 Intel Corporation, 2010, 2012 Ericsson. * All rights reserved. This program and the accompanying materials @@ -15,12 +16,15 @@ package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets; +import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat; + /** * Time data provider interface, for use in the timegraph widget. * * @version 1.0 * @author Alvaro Sanchez-Leon * @author Patrick Tasse + * @author Xavier Raynaud */ public interface ITimeDataProvider { @@ -133,7 +137,19 @@ public interface ITimeDataProvider { int getTimeSpace(); /** - * @return If the calendar format is absolute (true) or relative (false) + * @return If the time format is calendar (true) or relative (false) + * @deprecated replaced by {@link #getTimeFormat()} */ boolean isCalendarFormat(); + + /** + * @return the time format, one of: + *
    + *
  • {@link TimeFormat#CALENDAR} absolute time, displayed as year/month/day/hours/minutes/seconds/ms/us/ns + *
  • {@link TimeFormat#RELATIVE} relative time, displayed as seconds/ms/us/ns + *
  • {@link TimeFormat#NUMBER} number, displayed as long values. + *
+ * @since 2.0 + */ + TimeFormat getTimeFormat(); } diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphScale.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphScale.java index 6ae35f25b3..49023be1d5 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphScale.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphScale.java @@ -15,11 +15,13 @@ package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets; +import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.Resolution; +import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat; import org.eclipse.swt.SWT; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseListener; @@ -166,30 +168,38 @@ public class TimeGraphScale extends TimeGraphBaseControl implements private static TimeDraw TIMEDRAW_ABS_DAY = new TimeDrawAbsDay(); private static TimeDraw TIMEDRAW_ABS_MONTH = new TimeDrawAbsMonth(); private static TimeDraw TIMEDRAW_ABS_YEAR = new TimeDrawAbsYear(); + private static TimeDraw TIMEDRAW_NUMBER = new TimeDrawNumber(); TimeDraw getTimeDraw(long timeDelta) { TimeDraw timeDraw; - if (_timeProvider != null && _timeProvider.isCalendarFormat()) { - if (timeDelta >= YEAR_IN_NS) { - timeDraw = TIMEDRAW_ABS_YEAR; - } else if (timeDelta >= MONTH_IN_NS) { - timeDraw = TIMEDRAW_ABS_MONTH; - } else if (timeDelta >= DAY_IN_NS) { - timeDraw = TIMEDRAW_ABS_DAY; - } else if (timeDelta >= HOUR_IN_NS) { - timeDraw = TIMEDRAW_ABS_HRS; - } else if (timeDelta >= MIN_IN_NS) { - timeDraw = TIMEDRAW_ABS_MIN; - } else if (timeDelta >= SEC_IN_NS) { - timeDraw = TIMEDRAW_ABS_SEC; - } else if (timeDelta >= 1000000) { - timeDraw = TIMEDRAW_ABS_MILLISEC; - } else if (timeDelta >= 1000) { - timeDraw = TIMEDRAW_ABS_MICROSEC; - } else { - timeDraw = TIMEDRAW_ABS_NANOSEC; + if (_timeProvider != null) { + + if (_timeProvider.getTimeFormat() == TimeFormat.CALENDAR) { + if (timeDelta >= YEAR_IN_NS) { + timeDraw = TIMEDRAW_ABS_YEAR; + } else if (timeDelta >= MONTH_IN_NS) { + timeDraw = TIMEDRAW_ABS_MONTH; + } else if (timeDelta >= DAY_IN_NS) { + timeDraw = TIMEDRAW_ABS_DAY; + } else if (timeDelta >= HOUR_IN_NS) { + timeDraw = TIMEDRAW_ABS_HRS; + } else if (timeDelta >= MIN_IN_NS) { + timeDraw = TIMEDRAW_ABS_MIN; + } else if (timeDelta >= SEC_IN_NS) { + timeDraw = TIMEDRAW_ABS_SEC; + } else if (timeDelta >= 1000000) { + timeDraw = TIMEDRAW_ABS_MILLISEC; + } else if (timeDelta >= 1000) { + timeDraw = TIMEDRAW_ABS_MICROSEC; + } else { + timeDraw = TIMEDRAW_ABS_NANOSEC; + } + return timeDraw; + } else if (_timeProvider.getTimeFormat() == TimeFormat.NUMBER) { + timeDraw = TIMEDRAW_NUMBER; + return timeDraw; } - return timeDraw; + } if (timeDelta >= 1000000000) { timeDraw = TIMEDRAW_SEC; @@ -842,3 +852,28 @@ class TimeDrawAbsNanoSec extends TimeDraw { return _hint; } } + + +class TimeDrawNumber extends TimeDraw { + + @Override + public void draw(GC gc, long time, Rectangle rect) { + String stime = NumberFormat.getInstance().format(time); + Utils.drawText(gc, stime, rect, true); + } + + @Override + public void drawAbsHeader(GC gc, long time, Rectangle rect) { + String header = NumberFormat.getInstance().format(time); + int headerwidth = gc.stringExtent(header).x + 4; + if (headerwidth <= rect.width) { + rect.x += (rect.width - headerwidth); + Utils.drawText(gc, header, rect, true); + } + } + + @Override + public String hint() { + return "cycle"; //$NON-NLS-1$ + } +} diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphTooltipHandler.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphTooltipHandler.java index 5956750675..0eba3d2681 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphTooltipHandler.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphTooltipHandler.java @@ -1,3 +1,4 @@ + /***************************************************************************** * Copyright (c) 2007 Intel Corporation, 2009, 2012 Ericsson. * All rights reserved. This program and the accompanying materials @@ -14,6 +15,7 @@ *****************************************************************************/ package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets; +import java.text.NumberFormat; import java.util.Iterator; import java.util.Map; @@ -206,43 +208,33 @@ public class TimeGraphTooltipHandler { } Resolution res = Resolution.NANOSEC; - if (_timeDataProvider.isCalendarFormat()) { + TimeFormat tf = _timeDataProvider.getTimeFormat(); + if (tf == TimeFormat.CALENDAR) { addItem(Messages.TmfTimeTipHandler_TRACE_DATE, eventStartTime > -1 ? Utils.formatDate(eventStartTime) : "?"); //$NON-NLS-1$ - if (eventDuration > 0) { - addItem(Messages.TmfTimeTipHandler_TRACE_START_TIME, eventStartTime > -1 ? - Utils.formatTime(eventStartTime, TimeFormat.ABSOLUTE, res) - : "?"); //$NON-NLS-1$ - - addItem(Messages.TmfTimeTipHandler_TRACE_STOP_TIME, eventEndTime > -1 ? - Utils.formatTime(eventEndTime, TimeFormat.ABSOLUTE, res) - : "?"); //$NON-NLS-1$ - } else { - addItem(Messages.TmfTimeTipHandler_TRACE_EVENT_TIME, eventStartTime > -1 ? - Utils.formatTime(eventStartTime, TimeFormat.ABSOLUTE, res) - : "?"); //$NON-NLS-1$ - } + } + if (eventDuration > 0) { + addItem(Messages.TmfTimeTipHandler_TRACE_START_TIME, eventStartTime > -1 ? + Utils.formatTime(eventStartTime, tf, res) + : "?"); //$NON-NLS-1$ + + addItem(Messages.TmfTimeTipHandler_TRACE_STOP_TIME, eventEndTime > -1 ? + Utils.formatTime(eventEndTime, tf, res) + : "?"); //$NON-NLS-1$ } else { - if (eventDuration > 0) { - addItem(Messages.TmfTimeTipHandler_TRACE_START_TIME, eventStartTime > -1 ? - Utils.formatTime(eventStartTime, TimeFormat.RELATIVE, res) - : "?"); //$NON-NLS-1$ - - addItem(Messages.TmfTimeTipHandler_TRACE_STOP_TIME, eventEndTime > -1 ? - Utils.formatTime(eventEndTime, TimeFormat.RELATIVE, res) - : "?"); //$NON-NLS-1$ - } else { - addItem(Messages.TmfTimeTipHandler_TRACE_EVENT_TIME, eventStartTime > -1 ? - Utils.formatTime(eventStartTime, TimeFormat.RELATIVE, res) - : "?"); //$NON-NLS-1$ - } + addItem(Messages.TmfTimeTipHandler_TRACE_EVENT_TIME, eventStartTime > -1 ? + Utils.formatTime(eventStartTime, tf, res) + : "?"); //$NON-NLS-1$ } if (eventDuration > 0) { // Duration in relative format in any case + if (tf == TimeFormat.CALENDAR) { + tf = TimeFormat.RELATIVE; + } addItem(Messages.TmfTimeTipHandler_DURATION, eventDuration > -1 ? - Utils.formatTime(eventDuration, TimeFormat.RELATIVE, res) + Utils.formatTime(eventDuration, tf, res) : "?"); //$NON-NLS-1$ } } diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/Utils.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/Utils.java index 92bd9e799a..7b06092208 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/Utils.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/Utils.java @@ -15,6 +15,7 @@ package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets; +import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Iterator; @@ -42,7 +43,9 @@ public class Utils { /** Relative to the start of the trace */ RELATIVE, /** Absolute timestamp (ie, relative to the Unix epoch) */ - ABSOLUTE + CALENDAR, + /** timestamp displayed as a simple number */ + NUMBER, } static public final int IMG_THREAD_RUNNING = 0; @@ -299,8 +302,10 @@ public class Utils { */ static public String formatTime(long time, TimeFormat format, Resolution resolution) { // if format is absolute (Calendar) - if (format == TimeFormat.ABSOLUTE) { + if (format == TimeFormat.CALENDAR) { return formatTimeAbs(time, resolution); + } else if (format == TimeFormat.NUMBER) { + return NumberFormat.getInstance().format(time); } StringBuffer str = new StringBuffer(); -- 2.34.1