Пример #1
0
    def _StartProfiling(self, configuration):
        """Starts profiling.

    Args:
      configuration (ProfilingConfiguration): profiling configuration.
    """
        if not configuration:
            return

        if configuration.HaveProfileMemoryGuppy():
            self._guppy_memory_profiler = profilers.GuppyMemoryProfiler(
                self._name, configuration)
            self._guppy_memory_profiler.Start()

        if configuration.HaveProfileMemory():
            self._memory_profiler = profilers.MemoryProfiler(
                self._name, configuration)
            self._memory_profiler.Start()

        if configuration.HaveProfileProcessing():
            identifier = '{0:s}-processing'.format(self._name)
            self._processing_profiler = profilers.ProcessingProfiler(
                identifier, configuration)
            self._processing_profiler.Start()

        if configuration.HaveProfileSerializers():
            identifier = '{0:s}-serializers'.format(self._name)
            self._serializers_profiler = profilers.SerializersProfiler(
                identifier, configuration)
            self._serializers_profiler.Start()

        if configuration.HaveProfileStorage():
            self._storage_profiler = profilers.StorageProfiler(
                self._name, configuration)
            self._storage_profiler.Start()
Пример #2
0
  def testSample(self):
    """Tests the Sample function."""
    profiling_configuration = configurations.ProfilingConfiguration()

    with shared_test_lib.TempDirectory() as temp_directory:
      profiling_configuration.directory = temp_directory

      test_profiler = profilers.MemoryProfiler(
          'test', profiling_configuration)

      test_profiler.Start()

      for _ in range(5):
        test_profiler.Sample('main', 400)
        time.sleep(0.01)

      test_profiler.Stop()
Пример #3
0
    def StartProfiling(self, configuration, identifier, process_information):
        """Starts profiling.

    Args:
      configuration (ProfilingConfiguration): profiling configuration.
      identifier (str): identifier of the profiling session used to create
          the sample filename.
      process_information (ProcessInfo): process information.
    """
        if not configuration:
            return

        if configuration.HaveProfileParsers():
            identifier = '{0:s}-parsers'.format(identifier)

            self._cpu_time_profiler = profilers.CPUTimeProfiler(
                identifier, configuration)
            self._cpu_time_profiler.Start()

            self._memory_profiler = profilers.MemoryProfiler(
                identifier, configuration)
            self._memory_profiler.Start()

        self._process_information = process_information