temporalio / temporalio/temporal
Clarify intent: should taskEventID be removed or converted to interface method in tasks.Tags()
Open
@yycptt is already working on this.
Since Jun 30, 2026.
- Dominant language
- Go
- Stars
- 23.2k
- Forks
- 1.9k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 228
Description
Summary
service/history/tasks/utils.go (line ~13) contains a TODO
with two possible directions:
// TODO: convert this to a method GetEventID on task interface
// or remove this tag as the value is visible in the Task tag value.
Investigation
tag.WorkflowEventID(taskEventID)produces a top-level log
fieldwf-history-event-idtag.Task(task)(already included) usesNewAnyTag, dumping
the full task struct — which includes event ID fields for
task types that have them (e.g.FirstEventID/NextEventID
onHistoryReplicationTask)
So the value is technically duplicated, but:
wf-history-event-idis a flat, queryable top-level field- the value inside
queue-taskis nested within a JSON dump
Question
Removing wf-history-event-id could affect log-based dashboards
or alerts that filter on this field. Is this field actively used
for observability, or safe to remove? Alternatively, should this
be converted to a GetEventID() method on the Task interface
as the TODO also suggests?
Happy to implement either direction once clarified.
References
service/history/tasks/utils.go:8-39common/log/tag/tags.go:206(WorkflowEventID)common/log/tag/tags.go:617(Task / queue-task)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.