Add OrleansDashboard from OrleansContrib#9751
Conversation
|
I'm so happy to see this happen :¬) |
|
Wow this is outstanding. |
5ab2db2 to
570036b
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR integrates the OrleansDashboard project from OrleansContrib into the dotnet/orleans repository. The dashboard is renamed to conform with Orleans naming conventions (Orleans.Dashboard namespace, Microsoft.Orleans.Dashboard package) and includes comprehensive test coverage, benchmark tests, and a modernized frontend built with React and Vite.
Key Changes:
- Added complete dashboard implementation with real-time monitoring capabilities for grains, silos, and cluster statistics
- Included unit tests, integration tests, and benchmark tests for dashboard functionality
- Integrated modern frontend using React, TypeScript, and Vite build system
Reviewed Changes
Copilot reviewed 138 out of 143 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| test/Orleans.Dashboard.Tests/Orleans.Dashboard.UnitTests/TypeFormatterTests.cs | Unit tests for type name formatting functionality |
| test/Orleans.Dashboard.Tests/Orleans.Dashboard.UnitTests/TraceHistoryTests.cs | Tests for trace history storage and querying |
| test/Orleans.Dashboard.Tests/Orleans.Dashboard.UnitTests/RingBufferTests.cs | Tests for ring buffer data structure |
| test/Orleans.Dashboard.Tests/Orleans.Dashboard.UnitTests/GrainStateTests.cs | Integration tests for grain state retrieval |
| test/Orleans.Dashboard.Tests/Orleans.Dashboard.TestGrains/*.cs | Test grain implementations for dashboard testing |
| test/Benchmarks/Dashboard/*.cs | Performance benchmarks for dashboard operations |
| src/Orleans.Runtime/Catalog/StatelessWorkerGrainContext.cs | Fixed worker deactivation to use proper deactivation pattern |
| src/Dashboard/Orleans.Dashboard/*.cs | Core dashboard implementation files |
| src/Dashboard/Orleans.Dashboard.App/src/* | Frontend React application files |
Comments suppressed due to low confidence (4)
src/Dashboard/Orleans.Dashboard.App/src/silos/silo.tsx:1
- Corrected spelling of 'recieved' to 'received'.
src/Dashboard/Orleans.Dashboard/Implementation/GrainProfilerFilter.cs:1 - Empty conditional block should be removed or include a comment explaining why it's intentionally empty.
src/Dashboard/Orleans.Dashboard/Metrics/History/GrainTraceEntryEqualityComparer.cs:1 - Incorrect null check: should check
obj.Method != nullinstead ofobj.Grain != nullon line 58.
src/Dashboard/Orleans.Dashboard/Metrics/History/GrainTraceEntryEqualityComparer.cs:1 - Incorrect null check: should check
obj.SiloAddress != nullinstead ofobj.Grain != nullon line 63.
570036b to
91f833c
Compare
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 136 out of 141 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (4)
src/Dashboard/Orleans.Dashboard/Implementation/GrainProfilerFilter.cs:1
- Empty conditional block should be removed. This appears to be leftover debug or development code that serves no purpose.
src/Dashboard/Orleans.Dashboard/Metrics/History/GrainTraceEntryEqualityComparer.cs:1 - The null check is for
obj.Grainbut the hash calculation usesobj.Method. This should checkobj.Method != nullinstead.
src/Dashboard/Orleans.Dashboard/Metrics/History/GrainTraceEntryEqualityComparer.cs:1 - The null check is for
obj.Grainbut the hash calculation usesobj.SiloAddress. This should checkobj.SiloAddress != nullinstead.
src/Dashboard/Orleans.Dashboard.App/src/silos/silo.tsx:1 - Corrected spelling of 'recieved' to 'received'.
|
Any objections to merging? |
src/Dashboard/Orleans.Dashboard/Implementation/GrainProfilerFilter.cs
Outdated
Show resolved
Hide resolved
src/Dashboard/Orleans.Dashboard/Metrics/History/GrainTraceEntryEqualityComparer.cs
Outdated
Show resolved
Hide resolved
src/Dashboard/Orleans.Dashboard/Metrics/History/GrainTraceEntryEqualityComparer.cs
Outdated
Show resolved
Hide resolved
src/Dashboard/Orleans.Dashboard/Metrics/History/GrainTraceEntryEqualityComparer.cs
Outdated
Show resolved
Hide resolved
948ea17 to
9486514
Compare
* Add OrleansDashboard from OrleansContrib * PR feedback
This PR incorporates the OrleansDashboard project from https://github.com/OrleansContrib/OrleansDashboard, created by @richorama.
As part of the PR, I renamed the package to conform to the norms for dotnet/orleans, which meant renaming the namespace to Orleans.Dashboard, with the resulting package name being Microsoft.Orleans.Dashboard.
My intention is to maintain, modernize, and further integrate and promote the dashboard as a development tool for developers working with Orleans.
For some context, this was initially discussed on Discord (join link):

cc @richorama