Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add activities to SignalR invocations #51557

Open
davidfowl opened this issue Oct 23, 2023 · 7 comments
Open

Add activities to SignalR invocations #51557

davidfowl opened this issue Oct 23, 2023 · 7 comments
Assignees
Labels
area-signalr Includes: SignalR clients and servers

Comments

@davidfowl
Copy link
Member

davidfowl commented Oct 23, 2023

Today SignalR invocations do not have any activity associated with them. We currently piggy-back on the default ASP.NET Core activity and it's not great for invocations over the websocket. We should add an activity following the semantic conventions for rpc.

Open questions:

  • Should we do this tracing in all directions? Client to server and server to client?
  • Do we use message headers to pass this state across the wire seamlessly? This will impact the performance of invocations.

cc @BrennanConroy

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-signalr Includes: SignalR clients and servers label Oct 23, 2023
@BrennanConroy
Copy link
Member

Related
#18711
#40763

@davidfowl davidfowl added this to the .NET 9 Planning milestone Nov 12, 2023
@ghost
Copy link

ghost commented Nov 12, 2023

Thanks for contacting us.

We're moving this issue to the .NET 9 Planning milestone for future evaluation / consideration. We would like to keep this around to collect more feedback, which can help us with prioritizing this work. We will re-evaluate this issue, during our next planning meeting(s).
If we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues.
To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

@VincentH-Net
Copy link

Should we do this tracing in all directions? Client to server and server to client?

Yes please. Bidirectional tracing is useful in scenario's like IoT devices with local intelligent hubs plus cloud (a project I am working on). Or like in this chat app example trace, 2 app instances connected to the cloud backend with SignalR. It is helpful to see the true end2end flow and timings.

@dotnet-policy-service dotnet-policy-service bot added the pending-ci-rerun When assigned to a PR indicates that the CI checks should be rerun label Feb 6, 2024
@wtgodbe wtgodbe removed the pending-ci-rerun When assigned to a PR indicates that the CI checks should be rerun label Feb 6, 2024
@dotnet-policy-service dotnet-policy-service bot added the pending-ci-rerun When assigned to a PR indicates that the CI checks should be rerun label Feb 6, 2024
@wtgodbe wtgodbe removed the pending-ci-rerun When assigned to a PR indicates that the CI checks should be rerun label Feb 13, 2024
@dotnet dotnet deleted a comment from dotnet-policy-service bot Feb 13, 2024
@dotnet dotnet deleted a comment from dotnet-policy-service bot Feb 13, 2024
@adityamandaleeka
Copy link
Member

Still planning to do this in 9.

@BrennanConroy
Copy link
Member

BrennanConroy commented May 28, 2024

The activity source "Microsoft.AspNetCore.SignalR.Server" can now be listened to on server applications.

  • Server activity source ("Microsoft.AspNetCore.SignalR.Server")
  • Client activity source ("Microsoft.AspNetCore.SignalR.Client")
  • Hub method events
  • Client method events
  • Distributed tracing (trace ids sent between client and server)
    • Client to Server
      • TS Client
      • .NET Client
      • Java Client
    • Server to Client

@adityamandaleeka
Copy link
Member

Lots of progress on this in .NET 9. Moving to 10 for the rest.

@adityamandaleeka
Copy link
Member

Actually, this might be worth reconsidering a bit more thoughtfully to decide which parts to prioritize. Un-milestoning for now (cc @BrennanConroy @JamesNK)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-signalr Includes: SignalR clients and servers
Projects
None yet
Development

No branches or pull requests

5 participants