Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions src/spaceone/core/connector/space_connector.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
from typing import Any, List, Tuple
from google.protobuf.json_format import MessageToDict
from opentelemetry.trace.propagation.tracecontext import TraceContextTextMapPropagator
from opentelemetry import trace
from opentelemetry.trace import SpanKind

from spaceone.core.connector import BaseConnector
from spaceone.core import pygrpc
Expand All @@ -13,7 +15,7 @@
__all__ = ["SpaceConnector"]

_LOGGER = logging.getLogger(__name__)

_TRACER = trace.get_tracer(__name__)

class SpaceConnector(BaseConnector):
name = "SpaceConnector"
Expand Down Expand Up @@ -46,7 +48,8 @@ def client(self) -> GRPCClient:
return self._client

def dispatch(self, method: str, params: dict = None, **kwargs) -> Any:
return self._call_api(method, params, **kwargs)
with _TRACER.start_as_current_span(method, kind=SpanKind.CLIENT):
return self._call_api(method, params, **kwargs)

def _call_api(
self,
Expand Down
6 changes: 4 additions & 2 deletions src/spaceone/core/service/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from typing import Generator, Union, Literal, Any

from opentelemetry import trace
from opentelemetry.trace import format_trace_id
from opentelemetry.trace import format_trace_id, SpanKind
from opentelemetry.trace.propagation.tracecontext import TraceContextTextMapPropagator

from spaceone.core.base import CoreObject
Expand Down Expand Up @@ -129,7 +129,9 @@ def wrapped_func(self, params: dict):
_traceparent = self.metadata.get("traceparent")

with _TRACER.start_as_current_span(
f"{self.resource}.{_verb}", context=_get_span_context(_traceparent)
f"{self.resource}.{_verb}",
context=_get_span_context(_traceparent),
kind=SpanKind.SERVER
) as span:
self.current_span_context = span.get_span_context()
trace_id = format_trace_id(self.current_span_context.trace_id)
Expand Down
Loading