Skip to content

RP-15: Implement trace-aware event grouping#12

Merged
b17saurabh merged 2 commits into
mainfrom
RP-15/implement-trace-aware-event-grouping
Jun 14, 2026
Merged

RP-15: Implement trace-aware event grouping#12
b17saurabh merged 2 commits into
mainfrom
RP-15/implement-trace-aware-event-grouping

Conversation

@b17saurabh

@b17saurabh b17saurabh commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

feat: implement trace-aware event grouping with span relation scoring

  • Add span_id and parent_span_id fields to TimelineEvent model
  • Create TraceGroupingService with SpanNode/TraceTree/TraceGroup models for reconstructing span hierarchies from event telemetry
  • Implement SpanRelationStrategy with hierarchical scoring: parent-child (1.0) > sibling (0.8) > same trace (0.5)
  • Wire SpanRelationStrategy into CorrelationEngine default pipeline
  • Fix edge cases: orphan spans with unknown parents treated as roots, events without span_ids fall back to same-trace scoring
  • Configure ruff (py313, 120 line-length, common rule sets)
  • Configure mypy (strict optional, check untyped defs)
  • Add .pre-commit-config.yaml with ruff --fix, ruff-format, mypy
  • Fix 106+ pre-existing lint issues (unused imports, datetime.UTC,
    import sorting, unsorted all, assert False, etc.)
  • Fix mypy issues: mock constructor kwargs, type narrowing, None guards
  • Add ruff/mypy/pre-commit to [dev] optional dependencies

- Add span_id and parent_span_id fields to TimelineEvent model
- Create TraceGroupingService with SpanNode/TraceTree/TraceGroup models
  for reconstructing span hierarchies from event telemetry
- Implement SpanRelationStrategy with hierarchical scoring:
  parent-child (1.0) > sibling (0.8) > same trace (0.5)
- Wire SpanRelationStrategy into CorrelationEngine default pipeline
- Fix edge cases: orphan spans with unknown parents treated as roots,
  events without span_ids fall back to same-trace scoring

RP-15
- Configure ruff (py313, 120 line-length, common rule sets)
- Configure mypy (strict optional, check untyped defs)
- Add .pre-commit-config.yaml with ruff --fix, ruff-format, mypy
- Fix 106+ pre-existing lint issues (unused imports, datetime.UTC,
  import sorting, unsorted __all__, assert False, etc.)
- Fix mypy issues: mock constructor kwargs, type narrowing, None guards
- Add ruff/mypy/pre-commit to [dev] optional dependencies
@b17saurabh b17saurabh self-assigned this Jun 14, 2026
@b17saurabh b17saurabh merged commit b0eef79 into main Jun 14, 2026
8 checks passed
@b17saurabh b17saurabh deleted the RP-15/implement-trace-aware-event-grouping branch June 14, 2026 12:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant