Description
Area(s)
area:new
Is your change request related to a problem? Please describe.
While reviewing the AI Agent Span Semantic Convention I made the comment, that the definition of ai_agent.workflow.*
and ai_agent.task.*
should not be unique, since there tasks & workflows that can be modeled similarly outside of the ai_agent
scope. Same is true for the existing experimental CICD pipeline attributes. Other examples might be cronjobs, business processes, build tools, like make or goyek, which defines their own goyek.flow.*
tasks in https://pkg.go.dev/github.com/goyek/x/otelgoyek#example-package (thanks to @pellared for pointing me to goyek)
Describe the solution you'd like
The solution I would like to see is a unified set of attributes that describe such "workflow" and then only to have the unique attributes in the related specifications, similar as we have it today for the HTTP SemConv, where server.*
or url.*
attributes are used where applicable.
So instead of the current proposals, the future may look like the following:
- cicd.pipeline.name => workflow.name
- cicd.pipeline.run.id => workflow.run.id
- cicd.pipeline.task.name => workflow.task.name
- cicd.pipeline.task.run.id => workflow.task.run.id
- cicd.pipeline.task.run.url.full => workflow.task.url.full (or just url.full if it is a "task span"?)
- cicd.pipeline.task.type => workflow.task.type
- ...
and
- ai_agent.workflow.name => workflow.name
- ai_agent.task.name => workflow.task.name
- ai_agent.task.output => workflow.task.output
- ...
and
- goyek.flow.output => workflow.output
- ...
Both @open-telemetry/semconv-genai-approvers @open-telemetry/semconv-cicd-approvers are very active working groups, pushing semantic conventions forward, and it would be great to see some broader thinking about "workflows" (or however this should be named in a unified way)
Describe alternatives you've considered
No response
Additional context
Note, that this may also require to make progress on the long standing question of "long running 'spans'"1:
open-telemetry/opentelemetry-specification#373,
open-telemetry/opentelemetry-specification#2692 and other previous issues touched upon this topic, but so far there is no solution for long-running (++minutes, hours, days) or even "infinite" spans
Footnotes
-
the term "span" might not be correct in this context. ↩
Metadata
Assignees
Labels
Type
Projects
Status
No status