Search in sources :

Example 36 with Range

use of com.android.tools.adtui.model.Range in project android by JetBrains.

the class ProfilerTimelineTest method clampToDataRange.

@Test
public void clampToDataRange() throws Exception {
    long maxUs = TimeUnit.SECONDS.toMicros(60);
    Range dataRange = new Range(0, maxUs);
    ProfilerTimeline timeline = new ProfilerTimeline(dataRange);
    long buffer = timeline.getViewBuffer();
    Range viewRange = timeline.getViewRange();
    // Ensure that the min view range is respected as a valid min
    assertEquals(-buffer, timeline.clampToDataRange(-buffer - 1), 0);
    // Ensure that the max accounts for the buffer
    assertEquals(maxUs - buffer, timeline.clampToDataRange(maxUs), 0);
    // Ensure that if data's min is smaller than view range's min, data's min will be used instead.
    viewRange.setMin(maxUs - buffer);
    assertEquals(0, timeline.clampToDataRange(-1), 0);
    dataRange.setMin(buffer);
    assertEquals(buffer, timeline.clampToDataRange(-1), 0);
    // Ensure that the max view range is not respected as a valid max
    viewRange.setMax(maxUs + buffer * 2);
    assertEquals(maxUs - buffer, timeline.clampToDataRange(maxUs), 0);
}
Also used : Range(com.android.tools.adtui.model.Range) Test(org.junit.Test)

Example 37 with Range

use of com.android.tools.adtui.model.Range in project android by JetBrains.

the class CpuMonitorTest method testGetThreadsCount.

@Test
public void testGetThreadsCount() throws IOException {
    CpuThreadCountDataSeries series = myMonitor.getThreadsCount();
    ImmutableList<SeriesData<Long>> seriesDataList = series.getDataForXRange(new Range());
    assertEquals(1, seriesDataList.size());
    SeriesData<Long> seriesData = seriesDataList.get(0);
    assertNotNull(seriesData);
    // No active threads
    assertEquals(0, (long) seriesData.value);
}
Also used : SeriesData(com.android.tools.adtui.model.SeriesData) Range(com.android.tools.adtui.model.Range) Test(org.junit.Test)

Example 38 with Range

use of com.android.tools.adtui.model.Range in project android by JetBrains.

the class TopDownTreeModelTest method testTreeUpdate.

@Test
public void testTreeUpdate() throws Exception {
    HNode<MethodModel> tree = TopDownNodeTest.createTree();
    TopDownNode topDown = new TopDownNode(tree);
    TopDownTreeModel model = new TopDownTreeModel(topDown);
    // The whole tree should be visible.
    model.update(new Range(-Double.MAX_VALUE, Double.MAX_VALUE));
    TreeNode root = (TreeNode) model.getRoot();
    assertEquals(":A:", getId(root));
    assertEquals(ImmutableSet.of(":B:", ":C:"), getChildrenIds(root));
    assertEquals(ImmutableSet.of(":D:", ":E:", ":G:"), getChildrenIds(getChild(root, ":B:")));
    assertEquals(ImmutableSet.of(":F:"), getChildrenIds(getChild(root, ":C:")));
    // Test the total values
    assertEquals(30, getTotal(root, ":A:"), 0);
    assertEquals(8 + 7, getTotal(root, ":A:", ":B:"), 0);
    assertEquals(2, getTotal(root, ":A:", ":B:", ":D:"), 0);
    assertEquals(2 + 3, getTotal(root, ":A:", ":B:", ":E:"), 0);
    assertEquals(4, getTotal(root, ":A:", ":B:", ":G:"), 0);
    assertEquals(6, getTotal(root, ":A:", ":C:"), 0);
    assertEquals(2, getTotal(root, ":A:", ":C:", ":F:"), 0);
    // Test the children total values
    assertEquals(21, getChildrenTotal(root, ":A:"), 0);
    assertEquals(11, getChildrenTotal(root, ":A:", ":B:"), 0);
    assertEquals(0, getChildrenTotal(root, ":A:", ":B:", ":D:"), 0);
    assertEquals(0, getChildrenTotal(root, ":A:", ":B:", ":E:"), 0);
    assertEquals(0, getChildrenTotal(root, ":A:", ":B:", ":G:"), 0);
    assertEquals(2, getChildrenTotal(root, ":A:", ":C:"), 0);
    assertEquals(0, getChildrenTotal(root, ":A:", ":C:", ":F:"), 0);
    // Chop the tree to 0 - 10
    model.update(new Range(0, 10));
    root = (TreeNode) model.getRoot();
    assertEquals(":A:", getId(root));
    assertEquals(ImmutableSet.of(":B:"), getChildrenIds(root));
    assertEquals(ImmutableSet.of(":D:", ":E:"), getChildrenIds(getChild(root, ":B:")));
    // Test the total values
    assertEquals(10, getTotal(root, ":A:"), 0);
    assertEquals(8, getTotal(root, ":A:", ":B:"), 0);
    assertEquals(2, getTotal(root, ":A:", ":B:", ":D:"), 0);
    assertEquals(2, getTotal(root, ":A:", ":B:", ":E:"), 0);
    // Test the children total values
    assertEquals(8, getChildrenTotal(root, ":A:"), 0);
    assertEquals(4, getChildrenTotal(root, ":A:", ":B:"), 0);
    assertEquals(0, getChildrenTotal(root, ":A:", ":B:", ":D:"), 0);
    assertEquals(0, getChildrenTotal(root, ":A:", ":B:", ":E:"), 0);
    // And now to 18, 25
    model.update(new Range(8, 25));
    root = (TreeNode) model.getRoot();
    assertEquals(":A:", getId(root));
    assertEquals(ImmutableSet.of(":B:", ":C:"), getChildrenIds(root));
    assertEquals(ImmutableSet.of(":E:"), getChildrenIds(getChild(root, ":B:")));
    assertEquals(ImmutableSet.of(":F:"), getChildrenIds(getChild(root, ":C:")));
    // Test the total values
    assertEquals(17, getTotal(root, ":A:"), 0);
    assertEquals(1 + 3, getTotal(root, ":A:", ":B:"), 0);
    assertEquals(1 + 3, getTotal(root, ":A:", ":B:", ":E:"), 0);
    assertEquals(6, getTotal(root, ":A:", ":C:"), 0);
    assertEquals(2, getTotal(root, ":A:", ":C:", ":F:"), 0);
    // Test the children total values
    assertEquals(10, getChildrenTotal(root, ":A:"), 0);
    assertEquals(4, getChildrenTotal(root, ":A:", ":B:"), 0);
    assertEquals(0, getChildrenTotal(root, ":A:", ":B:", ":E:"), 0);
    assertEquals(2, getChildrenTotal(root, ":A:", ":C:"), 0);
    assertEquals(0, getChildrenTotal(root, ":A:", ":C:", ":F:"), 0);
}
Also used : TreeNode(javax.swing.tree.TreeNode) DefaultMutableTreeNode(javax.swing.tree.DefaultMutableTreeNode) Range(com.android.tools.adtui.model.Range) Test(org.junit.Test)

Aggregations

Range (com.android.tools.adtui.model.Range)38 RangedContinuousSeries (com.android.tools.adtui.model.RangedContinuousSeries)12 ArrayList (java.util.ArrayList)10 Test (org.junit.Test)10 JBPanel (com.intellij.ui.components.JBPanel)9 LineChart (com.android.tools.adtui.chart.linechart.LineChart)7 SeriesData (com.android.tools.adtui.model.SeriesData)7 LineConfig (com.android.tools.adtui.chart.linechart.LineConfig)6 NotNull (org.jetbrains.annotations.NotNull)6 java.awt (java.awt)5 javax.swing (javax.swing)5 Animatable (com.android.tools.adtui.Animatable)4 AnimatedTimeRange (com.android.tools.adtui.AnimatedTimeRange)4 DefaultDataSeries (com.android.tools.adtui.model.DefaultDataSeries)4 LongDataSeries (com.android.tools.adtui.model.LongDataSeries)4 List (java.util.List)4 com.android.tools.adtui (com.android.tools.adtui)3 SingleUnitAxisFormatter (com.android.tools.adtui.common.formatter.SingleUnitAxisFormatter)3 RangedSeries (com.android.tools.adtui.model.RangedSeries)3 ProfilerEventListener (com.android.tools.idea.monitor.tool.ProfilerEventListener)3