1 /*******************************************************************************
2 * Copyright (c) 2014 École Polytechnique de Montréal
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 * Geneviève Bastien - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.lttng2
.ust
.ui
.analysis
.memory
;
15 import org
.eclipse
.linuxtools
.internal
.lttng2
.ust
.core
.memoryusage
.MemoryUsageStateProvider
;
16 import org
.eclipse
.linuxtools
.internal
.lttng2
.ust
.ui
.views
.memusage
.MemoryUsageView
;
17 import org
.eclipse
.linuxtools
.lttng2
.ust
.core
.trace
.LttngUstTrace
;
18 import org
.eclipse
.linuxtools
.tmf
.core
.exceptions
.TmfAnalysisException
;
19 import org
.eclipse
.linuxtools
.tmf
.core
.statesystem
.ITmfStateProvider
;
20 import org
.eclipse
.linuxtools
.tmf
.core
.statesystem
.TmfStateSystemAnalysisModule
;
21 import org
.eclipse
.linuxtools
.tmf
.core
.trace
.ITmfTrace
;
22 import org
.eclipse
.linuxtools
.tmf
.ui
.analysis
.TmfAnalysisViewOutput
;
25 * This analysis build a state system from the libc memory instrumentation on a
28 * @author Geneviève Bastien
31 public class UstMemoryAnalysisModule
extends TmfStateSystemAnalysisModule
{
34 * Analysis ID, it should match that in the plugin.xml file
36 public static String ID
= "org.eclipse.linuxtools.lttng2.ust.analysis.memory"; //$NON-NLS-1$
41 public UstMemoryAnalysisModule() {
43 registerOutput(new TmfAnalysisViewOutput(MemoryUsageView
.ID
));
48 ITmfStateProvider
createStateProvider() {
49 return new MemoryUsageStateProvider(getTrace());
53 protected StateSystemBackendType
getBackendType() {
54 return StateSystemBackendType
.FULL
;
58 public void setTrace(ITmfTrace trace
) throws TmfAnalysisException
{
59 if (!(trace
instanceof LttngUstTrace
)) {
60 throw new IllegalStateException("UstMemoryAnalysisModule: trace should be of type LttngUstTrace"); //$NON-NLS-1$
62 super.setTrace(trace
);
66 protected LttngUstTrace
getTrace() {
67 return (LttngUstTrace
) super.getTrace();