예제 #1
0
    def testUMAHistograms(self):
        config = chrome_trace_config.ChromeTraceConfig()
        config.EnableUMAHistograms('Event.Latency.ScrollUpdate.Touch.Metric1')
        self.assertEquals(
            {
                'histogramNames': ['Event.Latency.ScrollUpdate.Touch.Metric1'],
                'recordMode': 'recordAsMuchAsPossible'
            }, config.GetChromeTraceConfigForDevTools())

        config.EnableUMAHistograms('Event.Latency.ScrollUpdate.Touch.Metric2')
        self.assertEquals(
            {
                'histogramNames': [
                    'Event.Latency.ScrollUpdate.Touch.Metric1',
                    'Event.Latency.ScrollUpdate.Touch.Metric2'
                ],
                'recordMode':
                'recordAsMuchAsPossible'
            }, config.GetChromeTraceConfigForDevTools())

        config.EnableUMAHistograms('AnotherMetric', 'LastMetric')
        self.assertEquals(
            {
                'histogramNames': [
                    'Event.Latency.ScrollUpdate.Touch.Metric1',
                    'Event.Latency.ScrollUpdate.Touch.Metric2',
                    'AnotherMetric', 'LastMetric'
                ],
                'recordMode':
                'recordAsMuchAsPossible'
            }, config.GetChromeTraceConfigForDevTools())
  def testBasic(self):
    category_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter(
        'x,-y,disabled-by-default-z,DELAY(7;foo)')
    config = chrome_trace_config.ChromeTraceConfig()
    config.SetCategoryFilter(category_filter)
    config.record_mode = chrome_trace_config.RECORD_UNTIL_FULL

    # Trace config for startup tracing.
    self.assertEquals({
        'excluded_categories': ['y'],
        'included_categories': ['x', 'disabled-by-default-z'],
        'record_mode': 'record-until-full',
        'synthetic_delays': ['DELAY(7;foo)']
    }, config.GetChromeTraceConfigForStartupTracing())

    # Trace config for DevTools (modern API).
    self.assertEquals({
        'excludedCategories': ['y'],
        'includedCategories': ['x', 'disabled-by-default-z'],
        'recordMode': 'recordUntilFull',
        'syntheticDelays': ['DELAY(7;foo)']
    }, config.GetChromeTraceConfigForDevTools())

    # Trace categories and options for DevTools (legacy API).
    self.assertFalse(config.requires_modern_devtools_tracing_start_api)
    self.assertEquals(
        ('x,disabled-by-default-z,-y,DELAY(7;foo)',
         'record-until-full'),
        config.GetChromeTraceCategoriesAndOptionsForDevTools())
예제 #3
0
 def testTraceBufferSize(self):
   config = chrome_trace_config.ChromeTraceConfig()
   config.SetTraceBufferSizeInKb(42)
   self.assertEquals({
       'recordMode': 'recordAsMuchAsPossible',
       'traceBufferSizeInKb': 42
   }, config.GetChromeTraceConfigForDevTools())
예제 #4
0
  def __init__(self):
    self._enable_atrace_trace = False
    self._enable_platform_display_trace = False
    self._enable_android_graphics_memtrack = False
    self._enable_battor_trace = False
    self._enable_chrome_trace = False

    self._atrace_config = atrace_config.AtraceConfig()
    self._chrome_trace_config = chrome_trace_config.ChromeTraceConfig()
    def testMemoryDumpConfigFormat(self):
        config = chrome_trace_config.ChromeTraceConfig()
        config.record_mode = chrome_trace_config.ECHO_TO_CONSOLE
        dump_config = chrome_trace_config.MemoryDumpConfig()
        config.SetMemoryDumpConfig(dump_config)

        # Trace config for startup tracing.
        self.assertEquals(
            {
                'memory_dump_config': {
                    'triggers': []
                },
                'record_mode': 'trace-to-console'
            }, config.GetChromeTraceConfigForStartupTracing())

        # Trace config for DevTools (modern API).
        self.assertEquals(
            {
                'memoryDumpConfig': {
                    'triggers': []
                },
                'recordMode': 'traceToConsole'
            }, config.GetChromeTraceConfigForDevTools())

        dump_config.AddTrigger('light', 250)
        dump_config.AddTrigger('detailed', 2000)

        # Trace config for startup tracing.
        self.assertEquals(
            {
                'memory_dump_config': {
                    'triggers': [{
                        'mode': 'light',
                        'periodic_interval_ms': 250
                    }, {
                        'mode': 'detailed',
                        'periodic_interval_ms': 2000
                    }]
                },
                'record_mode': 'trace-to-console'
            }, config.GetChromeTraceConfigForStartupTracing())

        # Trace config for DevTools (modern API).
        self.assertEquals(
            {
                'memoryDumpConfig': {
                    'triggers': [{
                        'mode': 'light',
                        'periodicIntervalMs': 250
                    }, {
                        'mode': 'detailed',
                        'periodicIntervalMs': 2000
                    }]
                },
                'recordMode': 'traceToConsole'
            }, config.GetChromeTraceConfigForDevTools())
  def testMemoryDumpConfigFormat(self):
    config = chrome_trace_config.ChromeTraceConfig()
    config.record_mode = chrome_trace_config.ECHO_TO_CONSOLE
    dump_config = chrome_trace_config.MemoryDumpConfig()
    config.SetMemoryDumpConfig(dump_config)

    # Trace config for startup tracing.
    self.assertEquals({
        'enable_systrace': False,
        'memory_dump_config': {'triggers': []},
        'record_mode': 'trace-to-console'
    }, config.GetChromeTraceConfigForStartupTracing())

    # Trace config for DevTools (modern API).
    self.assertEquals({
        'enableSystrace': False,
        'memoryDumpConfig': {'triggers': []},
        'recordMode': 'traceToConsole'
    }, config.GetChromeTraceConfigForDevTools())

    # Trace categories and options for DevTools (legacy API).
    self.assertTrue(config.requires_modern_devtools_tracing_start_api)
    with self.assertRaises(AssertionError):
      config.GetChromeTraceCategoriesAndOptionsForDevTools()

    dump_config.AddTrigger('light', 250)
    dump_config.AddTrigger('detailed', 2000)

    # Trace config for startup tracing.
    self.assertEquals({
        'enable_systrace': False,
        'memory_dump_config': {
            'triggers': [
                {'mode': 'light', 'periodic_interval_ms': 250},
                {'mode': 'detailed', 'periodic_interval_ms': 2000}
            ]
        },
        'record_mode': 'trace-to-console'
    }, config.GetChromeTraceConfigForStartupTracing())

    # Trace config for DevTools (modern API).
    self.assertEquals({
        'enableSystrace': False,
        'memoryDumpConfig': {
            'triggers': [
                {'mode': 'light', 'periodicIntervalMs': 250},
                {'mode': 'detailed', 'periodicIntervalMs': 2000}
            ]
        },
        'recordMode': 'traceToConsole'
    }, config.GetChromeTraceConfigForDevTools())

    # Trace categories and options for DevTools (legacy API).
    self.assertTrue(config.requires_modern_devtools_tracing_start_api)
    with self.assertRaises(AssertionError):
      config.GetChromeTraceCategoriesAndOptionsForDevTools()
    def testDefault(self):
        config = chrome_trace_config.ChromeTraceConfig()

        # Trace config for startup tracing.
        self.assertEquals({'record_mode': 'record-continuously'},
                          config.GetChromeTraceConfigForStartupTracing())

        # Trace config for DevTools (modern API).
        self.assertEquals({'recordMode': 'recordContinuously'},
                          config.GetChromeTraceConfigForDevTools())
예제 #8
0
  def __init__(self):
    self._enable_atrace_trace = False
    self._enable_platform_display_trace = False
    self._enable_android_graphics_memtrack = False
    self._enable_cpu_trace = False
    self._enable_chrome_trace = False
    self._enable_experimental_system_tracing = False

    self._atrace_config = atrace_config.AtraceConfig()
    self._chrome_trace_config = chrome_trace_config.ChromeTraceConfig()
    self._system_trace_config = system_trace_config.SystemTraceConfig()
예제 #9
0
  def testDefault(self):
    config = chrome_trace_config.ChromeTraceConfig()

    # Trace config for startup tracing.
    self.assertEquals({
        'record_mode': 'record-as-much-as-possible'
    }, config.GetChromeTraceConfigForStartupTracing())

    # Trace config for DevTools (modern API).
    self.assertEquals({
        'recordMode': 'recordAsMuchAsPossible'
    }, config.GetChromeTraceConfigForDevTools())
예제 #10
0
    def testDefault(self):
        config = chrome_trace_config.ChromeTraceConfig()

        # Trace config for startup tracing.
        self.assertEquals({'record_mode': 'record-as-much-as-possible'},
                          config.GetChromeTraceConfigForStartupTracing())

        # Trace config for DevTools (modern API).
        self.assertEquals({'recordMode': 'recordAsMuchAsPossible'},
                          config.GetChromeTraceConfigForDevTools())

        # Trace categories and options for DevTools (legacy API).
        self.assertFalse(config.requires_modern_devtools_tracing_start_api)
        self.assertEquals(
            ('', 'record-as-much-as-possible'),
            config.GetChromeTraceCategoriesAndOptionsForDevTools())
    def testBasic(self):
        category_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter(
            'x,-y,disabled-by-default-z,DELAY(7;foo)')
        config = chrome_trace_config.ChromeTraceConfig()
        config.SetCategoryFilter(category_filter)
        config.record_mode = chrome_trace_config.RECORD_UNTIL_FULL

        # Trace config for startup tracing.
        self.assertEquals(
            {
                'excluded_categories': ['y'],
                'included_categories': ['x', 'disabled-by-default-z'],
                'record_mode': 'record-until-full',
                'synthetic_delays': ['DELAY(7;foo)']
            }, config.GetChromeTraceConfigForStartupTracing())

        # Trace config for DevTools (modern API).
        self.assertEquals(
            {
                'excludedCategories': ['y'],
                'includedCategories': ['x', 'disabled-by-default-z'],
                'recordMode': 'recordUntilFull',
                'syntheticDelays': ['DELAY(7;foo)']
            }, config.GetChromeTraceConfigForDevTools())

        # Test correct modification of config after enabling systrace.
        config.SetEnableSystrace()
        # Test enable systrace with trace config for startup tracing.
        self.assertEquals(
            {
                'excluded_categories': ['y'],
                'included_categories': ['x', 'disabled-by-default-z'],
                'record_mode': 'record-until-full',
                'synthetic_delays': ['DELAY(7;foo)'],
                'enable_systrace': True
            }, config.GetChromeTraceConfigForStartupTracing())

        # And test again with modern API.
        self.assertEquals(
            {
                'excludedCategories': ['y'],
                'includedCategories': ['x', 'disabled-by-default-z'],
                'recordMode': 'recordUntilFull',
                'syntheticDelays': ['DELAY(7;foo)'],
                'enableSystrace': True
            }, config.GetChromeTraceConfigForDevTools())