Skip to content

Commit 733d44b

Browse files
committed
Add test that refs are correctly set
1 parent 15d2fe8 commit 733d44b

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

util/opentelemetry-util-genai/src/opentelemetry/util/genai/_upload/completion_hook.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,15 +203,16 @@ def _do_upload(
203203
def on_completion(
204204
self,
205205
*,
206-
inputs: list[types.InputMessage] | None = None,
207-
outputs: list[types.OutputMessage] | None = None,
208-
system_instruction: list[types.MessagePart] | None = None,
206+
inputs: list[types.InputMessage],
207+
outputs: list[types.OutputMessage],
208+
system_instruction: list[types.MessagePart],
209209
span: Span | None = None,
210210
log_record: LogRecord | None = None,
211211
**kwargs: Any,
212212
) -> None:
213213
if not any([inputs, outputs, system_instruction]):
214214
return
215+
# An empty list will not be uploaded.
215216
completion = Completion(
216217
inputs=inputs or None,
217218
outputs=outputs or None,

util/opentelemetry-util-genai/tests/test_upload.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,12 @@ def test_upload_then_shutdown(self):
163163
)
164164

165165
def test_upload_when_inputs_outputs_empty(self):
166+
record = LogRecord()
166167
self.hook.on_completion(
167168
inputs=[],
168169
outputs=[],
169170
system_instruction=FAKE_SYSTEM_INSTRUCTION,
171+
log_record=record,
170172
)
171173
# all items should be consumed
172174
self.hook.shutdown()
@@ -176,6 +178,16 @@ def test_upload_when_inputs_outputs_empty(self):
176178
1,
177179
"should have uploaded 1 file",
178180
)
181+
assert record.attributes is not None
182+
for ref_key in [
183+
"gen_ai.input.messages_ref",
184+
"gen_ai.output.messages_ref",
185+
"gen_ai.system_instructions_ref",
186+
]:
187+
if ref_key == "gen_ai.system_instructions_ref":
188+
self.assertIn(ref_key, record.attributes)
189+
else:
190+
self.assertNotIn(ref_key, record.attributes)
179191

180192
def test_upload_blocked(self):
181193
with self.block_upload():

0 commit comments

Comments
 (0)