Skip to content

Commit

Permalink
fix(opentelemetry): remove request from the logs (#8430)
Browse files Browse the repository at this point in the history
* fix(opentelemetry): remove request from the logs

* add changelog

* filter by task

* add new bugfix

* rename

* support legacy and shortcat ansible tasks

* Update plugins/callback/opentelemetry.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
  • Loading branch information
v1v and felixfontein authored Jun 3, 2024
1 parent 961767e commit 5041ebe
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
bugfixes:
- opentelemetry callback - do not save the JSON response when using the ``ansible.builtin.uri`` module (https://github.com/ansible-collections/community.general/pull/8430).
- opentelemetry callback - do not save the content response when using the ``ansible.builtin.slurp`` module (https://github.com/ansible-collections/community.general/pull/8430).
18 changes: 13 additions & 5 deletions plugins/callback/opentelemetry.py
Original file line number Diff line number Diff line change
Expand Up @@ -556,11 +556,19 @@ def set_options(self, task_keys=None, var_options=None, direct=None):

self.otel_exporter_otlp_traces_protocol = self.get_option('otel_exporter_otlp_traces_protocol')

def dump_results(self, result):
def dump_results(self, task, result):
""" dump the results if disable_logs is not enabled """
if self.disable_logs:
return ""
return self._dump_results(result._result)
# ansible.builtin.uri contains the response in the json field
save = dict(result._result)

if "json" in save and task.action in ("ansible.builtin.uri", "ansible.legacy.uri", "uri"):
save.pop("json")
# ansible.builtin.slurp contains the response in the content field
if "content" in save and task.action in ("ansible.builtin.slurp", "ansible.legacy.slurp", "slurp"):
save.pop("content")
return self._dump_results(save)

def v2_playbook_on_start(self, playbook):
self.ansible_playbook = basename(playbook._file_name)
Expand Down Expand Up @@ -611,23 +619,23 @@ def v2_runner_on_failed(self, result, ignore_errors=False):
self.tasks_data,
status,
result,
self.dump_results(result)
self.dump_results(self.tasks_data[result._task._uuid], result)
)

def v2_runner_on_ok(self, result):
self.opentelemetry.finish_task(
self.tasks_data,
'ok',
result,
self.dump_results(result)
self.dump_results(self.tasks_data[result._task._uuid], result)
)

def v2_runner_on_skipped(self, result):
self.opentelemetry.finish_task(
self.tasks_data,
'skipped',
result,
self.dump_results(result)
self.dump_results(self.tasks_data[result._task._uuid], result)
)

def v2_playbook_on_include(self, included_file):
Expand Down

0 comments on commit 5041ebe

Please sign in to comment.