Skip to content

Python: inconsistent executor naming convention in 'workflow.build' event #1870

@weng5e

Description

@weng5e

After a recent breaking change, the 'workflow.build' event's edge_groups information add a special internal node, e.g. "source_id": "internal:reverse_text_executor". This internal node is not emitted in the customDimensions['workflow.definition'].executors property. These special edges seems like duplicated? The non-internal prefix ones also exist. We have dashboard building on top of this event.

Repro sample:
samples\getting_started\observability\workflow_observability.py

AppInsights query

dependencies
| where name == "workflow.build"
| extend workflow_id = tostring(customDimensions['workflow.id'])
| extend workflow_definition = parse_json(tostring(customDimensions['workflow.definition']))
| extend edge_groups = workflow_definition.edge_groups
| extend executors = workflow_definition.executors
| extend start_executor_id = tostring(workflow_definition.start_executor_id)
| project executors, edge_groups
| limit 2

customDimensions['workflow.definition'].executors

{
  "upper_case_executor": {
    "id": "upper_case_executor",
    "type": "UpperCaseExecutor"
  },
  "reverse_text_executor": {
    "id": "reverse_text_executor",
    "type": "ReverseTextExecutor"
  }
}

customDimensions['workflow.definition'].edge_groups

[
  {
    "id": "InternalEdgeGroup/5335d762-cbf2-4b43-91c8-e5f8ff0de911",
    "type": "InternalEdgeGroup",
    "edges": [
      {
        "source_id": "internal:upper_case_executor",
        "target_id": "upper_case_executor"
      }
    ]
  },
  {
    "id": "InternalEdgeGroup/4fc5f502-4030-4f40-935d-89d8b2922ee3",
    "type": "InternalEdgeGroup",
    "edges": [
      {
        "source_id": "internal:reverse_text_executor",
        "target_id": "reverse_text_executor"
      }
    ]
  },
  {
    "id": "SingleEdgeGroup/9bc1a0a1-7919-48b1-ac7f-49c7fbc986eb",
    "type": "SingleEdgeGroup",
    "edges": [
      {
        "source_id": "upper_case_executor",
        "target_id": "reverse_text_executor"
      }
    ]
  }
]

Metadata

Metadata

Assignees

Labels

pythonworkflowsRelated to Workflows in agent-framework

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions