class_docstr: Sampler perf stats that will be included in rollout metrics.
code: def _get_ema(self):
      # In EMA mode, stats are already (exponentially) averaged,
      # hence we only need to do the sec -> ms conversion here.
      return {
          # Raw observation preprocessing.
          "mean_raw_obs_processing_ms": self.raw_obs_processing_time
          * MS_TO_SEC,
          # Computing actions through policy.
          "mean_inference_ms": self.inference_time * MS_TO_SEC,
          # Processing actions (to be sent to env, e.g. clipping).
          "mean_action_processing_ms": self.action_processing_time
          * MS_TO_SEC,
          # Waiting for environment (during poll).
          "mean_env_wait_ms": self.env_wait_time * MS_TO_SEC,
          # Environment rendering (False by default).
          "mean_env_render_ms": self.env_render_time * MS_TO_SEC,
      }
  
imports: from collections import defaultdict
  import logging
  import time
  import tree
  from typing import TYPE_CHECKING, Dict, Iterator, List, Optional, Set, Tuple, Union
  import numpy
  from ray.rllib.env.base_env import ASYNC_RESET_RETURN, BaseEnv
  from ray.rllib.env.external_env import ExternalEnvWrapper
  from ray.rllib.env.wrappers.atari_wrappers import MonitorEnv, get_wrapper_by_cls
  from ray.rllib.evaluation.collectors.simple_list_collector import _PolicyCollectorGroup
  from ray.rllib.policy.rnn_sequencing import pad_batch_to_sequences_of_same_size
  from ray.rllib.evaluation.episode_v2 import EpisodeV2
  from ray.rllib.evaluation.metrics import RolloutMetrics
  from ray.rllib.models.preprocessors import Preprocessor
  from ray.rllib.policy.policy import Policy
  from ray.rllib.policy.sample_batch import MultiAgentBatch, SampleBatch, concat_samples
  from ray.rllib.utils.annotations import DeveloperAPI
  from ray.rllib.utils.filter import Filter
  from ray.rllib.utils.numpy import convert_to_numpy
  from ray.rllib.utils.spaces.space_utils import unbatch, get_original_space
  from ray.rllib.utils.typing import ActionConnectorDataType, AgentConnectorDataType, AgentID, EnvActionType, EnvID, EnvInfoDict, EnvObsType, MultiAgentDict, MultiEnvDict, PolicyID, PolicyOutputType, SampleBatchType, StateBatches, TensorStructType
  from ray.util.debug import log_once
label_desc: Use image node_id 4 for calling the _PerfStats obj's underlying member method code with example usage: obj._get_ema() and returns: dict