docs: def traceroute(
          self,
          destination,
          source=c.TRACEROUTE_SOURCE,
          ttl=c.TRACEROUTE_TTL,
          timeout=c.TRACEROUTE_TIMEOUT,
          vrf=c.TRACEROUTE_VRF,
      ):
          """
          Executes traceroute on the device and returns a dictionary with the result.
  
          :param destination: Host or IP Address of the destination
          :param source (optional): Use a specific IP Address to execute the traceroute
          :param ttl (optional): Maimum number of hops
          :param timeout (optional): Number of seconds to wait for response
  
          Output dictionary has one of the following keys:
  
              * success
              * error
  
          In case of success, the keys of the dictionary represent the hop ID, while values are
          dictionaries containing the probes results:
  
              * rtt (float)
              * ip_address (str)
              * host_name (str)
  
          Example::
  
              {
                  'success': {
                      1: {
                          'probes': {
                              1: {
                                  'rtt': 1.123,
                                  'ip_address': u'206.223.116.21',
                                  'host_name': u'eqixsj-google-gige.google.com'
                              },
                              2: {
                                  'rtt': 1.9100000000000001,
                                  'ip_address': u'206.223.116.21',
                                  'host_name': u'eqixsj-google-gige.google.com'
                              },
                              3: {
                                  'rtt': 3.347,
                                  'ip_address': u'198.32.176.31',
                                  'host_name': u'core2-1-1-0.pao.net.google.com'}
                              }
                          },
                          2: {
                              'probes': {
                                  1: {
                                      'rtt': 1.586,
                                      'ip_address': u'209.85.241.171',
                                      'host_name': u'209.85.241.171'
                                      },
                                  2: {
                                      'rtt': 1.6300000000000001,
                                      'ip_address': u'209.85.241.171',
                                      'host_name': u'209.85.241.171'
                                  },
                                  3: {
                                      'rtt': 1.6480000000000001,
                                      'ip_address': u'209.85.241.171',
                                      'host_name': u'209.85.241.171'}
                                  }
                              },
                          3: {
                              'probes': {
                                  1: {
                                      'rtt': 2.529,
                                      'ip_address': u'216.239.49.123',
                                      'host_name': u'216.239.49.123'},
                                  2: {
                                      'rtt': 2.474,
                                      'ip_address': u'209.85.255.255',
                                      'host_name': u'209.85.255.255'
                                  },
                                  3: {
                                      'rtt': 7.813,
                                      'ip_address': u'216.239.58.193',
                                      'host_name': u'216.239.58.193'}
                                  }
                              },
                          4: {
                              'probes': {
                                  1: {
                                      'rtt': 1.361,
                                      'ip_address': u'8.8.8.8',
                                      'host_name': u'google-public-dns-a.google.com'
                                  },
                                  2: {
                                      'rtt': 1.605,
                                      'ip_address': u'8.8.8.8',
                                      'host_name': u'google-public-dns-a.google.com'
                                  },
                                  3: {
                                      'rtt': 0.989,
                                      'ip_address': u'8.8.8.8',
                                      'host_name': u'google-public-dns-a.google.com'}
                                  }
                              }
                          }
                      }
  
              OR
  
              {
                  'error': 'unknown host 8.8.8.8.8'
              }
              """
          raise NotImplementedError