Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 3eb3f76

Browse files
Merge pull request #177 from cloudforet-io/add-span-kind-for-tracing
chore(tracing): set span kind for client and server
2 parents 24067c9 + c079f84 commit 3eb3f76

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

‎src/spaceone/core/connector/space_connector.py‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
from typing import Any, List, Tuple
44
from google.protobuf.json_format import MessageToDict
55
from opentelemetry.trace.propagation.tracecontext import TraceContextTextMapPropagator
6+
from opentelemetry import trace
7+
from opentelemetry.trace import SpanKind
68

79
from spaceone.core.connector import BaseConnector
810
from spaceone.core import pygrpc
@@ -13,7 +15,7 @@
1315
__all__ = ["SpaceConnector"]
1416

1517
_LOGGER = logging.getLogger(__name__)
16-
18+
_TRACER=trace.get_tracer(__name__)
1719

1820
class SpaceConnector(BaseConnector):
1921
name = "SpaceConnector"
@@ -46,7 +48,8 @@ def client(self) -> GRPCClient:
4648
return self._client
4749

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

5154
def _call_api(
5255
self,

‎src/spaceone/core/service/__init__.py‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from typing import Generator, Union, Literal, Any
77

88
from opentelemetry import trace
9-
from opentelemetry.trace import format_trace_id
9+
from opentelemetry.trace import format_trace_id, SpanKind
1010
from opentelemetry.trace.propagation.tracecontext import TraceContextTextMapPropagator
1111

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

131131
with _TRACER.start_as_current_span(
132-
f"{self.resource}.{_verb}", context=_get_span_context(_traceparent)
132+
f"{self.resource}.{_verb}",
133+
context=_get_span_context(_traceparent),
134+
kind=SpanKind.SERVER
133135
) as span:
134136
self.current_span_context = span.get_span_context()
135137
trace_id = format_trace_id(self.current_span_context.trace_id)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /