Skip to content

Unified semantic conventions for tasks, workflows, pipelines, jobs #1688

Open
@svrnm

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

  1. the term "span" might not be correct in this context.

Metadata

Assignees

No one assigned

    Labels

    area:newenhancementNew feature or requestexperts neededThis issue or pull request is outside an area where general approvers feel they can approve

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions