dotnet / dotnet/orleans

Activation does not have an associated Activity

Open
#9,052 3 comments 6 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
10.9k
Forks
2.1k
Avg merge
13h 56m
Merged PRs (30d)
351

Description

Currently the work during grain activation happens outside of the Trace containing the calling client and the message processing on the grain.

It would be useful, if it is feasible, to have an Activate/Activation span to encompass the work being done on grain activation and have that be part of the calling trace.

For example, in the below trace, the two red lines show a point where Activation of the grain happens (I believe that's the correct point in the trace). In this case, there is state hydration that happens (Azure Table Storage Persistence, but it shouldn't matter) but the call to Azure is captured in a separate trace (not pictured) that is unrelated to the calling trace.

There is useful information here that is not correlated, specifically the built-in Persistence hydration. Without this correlated information, it would be difficult to determine why some calls may be slow (if Persistence calls are slow) while others are faster.

![image](https://github.com/dotnet/orleans/assets/164392675/60b1765b-34ed-4b39-8e0d-3e49c504bc8a)

Contributor guide

Open the contributing guide

Research direction

The issue identifies grain activation, the calling trace, and Azure Table Storage persistence, but names no files or tests. Start by locating Orleans grain-activation and tracing instrumentation, then compare activation and persistence spans with the calling client trace. Done means activation work is represented by a correlated span in that trace, including relevant persistence hydration.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp
Domain
backend, distributed-systems, observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.