Skip to content

Commit

Permalink
add new_child method to span class
Browse files Browse the repository at this point in the history
  • Loading branch information
konstantin-stepanov committed Jan 25, 2018
1 parent a4e3659 commit c56764a
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions aiozipkin/span.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@ def kind(self: T, span_kind: str) -> T:
def name(self: T, span_name: str) -> T:
pass # pragma: no cover

@abstractmethod
def new_child(self: T, name: str = None, kind: str = None) -> T:
pass # pragma: no cover

def __enter__(self: T) -> T:
self.start()
return self
Expand Down Expand Up @@ -117,6 +121,9 @@ def kind(self, span_kind: str) -> 'NoopSpan':
def name(self, span_name: str) -> 'NoopSpan':
return self

def new_child(self, name: str = None, kind: str = None) -> 'NoopSpan':
return self


class Span(SpanAbc):
def __init__(self, tracer: 'Tracer',
Expand Down Expand Up @@ -177,3 +184,11 @@ def kind(self, span_kind: str) -> 'Span':
def name(self, span_name: str) -> 'Span':
self._record.name(span_name)
return self

def new_child(self, name: str = None, kind: str = None) -> 'Span':
span = self.tracer.new_child(self.context)
if name is not None:
span.name(name)
if kind is not None:
span.kind(kind)
return span # type: ignore

0 comments on commit c56764a

Please sign in to comment.