Skip to content

Commit 6b7c08d

Browse files
committed
Add test for add_span_processor hook
1 parent 3e24f50 commit 6b7c08d

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

tests/ert/unit_tests/plugins/dummy_plugins.py

+11
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
import logging
2+
from io import StringIO
3+
4+
from opentelemetry.sdk.trace.export import BatchSpanProcessor, ConsoleSpanExporter
25

36
from ert import ForwardModelStepPlugin, plugin
47

@@ -76,6 +79,14 @@ def add_log_handle_to_root():
7679
return fh
7780

7881

82+
span_output = StringIO()
83+
84+
85+
@plugin(name="dummy")
86+
def add_span_processor():
87+
return BatchSpanProcessor(ConsoleSpanExporter(out=span_output))
88+
89+
7990
class DummyFMStep(ForwardModelStepPlugin):
8091
def __init__(self):
8192
super().__init__(name="DummyForwardModel", command=["touch", "dummy.out"])

tests/ert/unit_tests/plugins/test_plugin_manager.py

+15
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
import json
12
import logging
23
import tempfile
34
from unittest.mock import Mock
45

6+
from opentelemetry.sdk.trace import TracerProvider
7+
58
import ert.plugins.hook_implementations
69
from ert.plugins import ErtPluginManager
710
from tests.ert.unit_tests.plugins import dummy_plugins
@@ -115,6 +118,18 @@ def test_add_logging_handle(tmpdir):
115118
assert "I should write this to spam.log" in result
116119

117120

121+
def test_add_span_processor():
122+
pm = ErtPluginManager(plugins=[dummy_plugins])
123+
tracer_provider = TracerProvider()
124+
tracer = tracer_provider.get_tracer("ert.tests")
125+
pm.add_span_processor_to_trace_provider(tracer_provider)
126+
with tracer.start_as_current_span("test_span"):
127+
print("test_span")
128+
tracer_provider.force_flush()
129+
span_info = json.loads(dummy_plugins.span_output.getvalue())
130+
assert span_info["name"] == "test_span"
131+
132+
118133
def test_that_forward_model_step_is_registered(tmpdir):
119134
with tmpdir.as_cwd():
120135
pm = ErtPluginManager(plugins=[dummy_plugins])

0 commit comments

Comments
 (0)