code: def start_child_span(parent_span, operation_name, tags=None, start_time=None):
      
      return parent_span.tracer.start_span(
          operation_name=operation_name,
          child_of=parent_span,
          tags=tags,
          start_time=start_time
      )
docs: A shorthand method that starts a `child_of` :class:`Span` for a given
      parent :class:`Span`.
  
      Equivalent to calling::
  
          parent_span.tracer().start_span(
              operation_name,
              references=opentracing.child_of(parent_span.context),
              tags=tags,
              start_time=start_time)
  
      :param parent_span: the :class:`Span` which will act as the parent in the
          returned :class:`Span`\ s child_of reference.
      :type parent_span: Span
  
      :param operation_name: the operation name for the child :class:`Span`
          instance
      :type operation_name: str
  
      :param tags: optional dict of :class:`Span` tags. The caller gives up
          ownership of that dict, because the :class:`Tracer` may use it as-is to
          avoid extra data copying.
      :type tags: dict
  
      :param start_time: an explicit :class:`Span` start time as a unix timestamp
          per :meth:`time.time()`.
      :type start_time: float
  
      :rtype: Span
      :return: an already-started :class:`Span` instance.