code: def create_command_history_subscription(self,
                                              issued_command=None,
                                              on_data=None,
                                              timeout=60):
          
          options = web_pb2.CommandHistorySubscriptionRequest()
          options.ignorePastCommands = True
          if issued_command:
              options.commandId.extend(_build_command_ids(issued_command))
  
          manager = WebSocketSubscriptionManager(
              self._client, resource='cmdhistory', options=options)
  
          # Represent subscription as a future
          subscription = CommandHistorySubscription(manager)
  
          wrapped_callback = functools.partial(
              _wrap_callback_parse_cmdhist_data, subscription, on_data)
  
          manager.open(wrapped_callback, instance=self._instance,
                       processor=self._processor)
  
          # Wait until a reply or exception is received
          subscription.reply(timeout=timeout)
  
          return subscription
docs: Create a new command history subscription.
  
          :param .IssuedCommand[] issued_command: (Optional) Previously issued
                                                  commands. If not provided updates
                                                  from any command are received.
          :param on_data: Function that gets called with  :class:`.CommandHistory`
                          updates.
          :param float timeout: The amount of seconds to wait for the request
                                to complete.
          :return: Future that can be used to manage the background websocket
                   subscription
          :rtype: .CommandHistorySubscription