ServiceGraph is a C# library designed to visualize and manage the dependencies between services in a microservices architecture. This tool helps developers and system administrators understand and maintain the complex web of interdependencies in modern software systems.
- Dependency Visualization: Displays a graphical representation of service dependencies.
- Circular Dependency Detection: Identify and highlight circular dependencies to prevent potential issues in your microservices architecture.
- Interactive Graph: Nodes and edges are clickable, providing detailed information about each service and its dependencies.
- Scalability: Efficiently handles large numbers of services and dependencies.
- Customizable Views: Filter and organize the graph to focus on specific aspects of the system.
To set up and run ServiceGraph locally, follow these steps:
- Clone the repository:
git clone https://github.com/nakkayev1707/ServiceGraph.git cd ServiceGraph
builder.Services.AddScoped<IYourService, YourService>();
...
// make sure that you are in dev. environment
app.UseServiceGraphUI(builder.Services, new ServiceGraphOption
{
Namespaces = new []
{
"Your.Custom.Namespaces"
}
});
// or * to include all namespaces
app.UseServiceGraphUI(builder.Services, new ServiceGraphOption
{
Namespaces = new []
{
"*"
}
});
Contributions are welcome! If you have ideas for improvements or find any issues, please clone the repository and submit a pull request. Follow these steps to contribute:
- clone the repository.
- Create a new branch (
git checkout -b feature/your-feature
) from master branch. - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature
). - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For any issues or inquiries, please contact the project maintainer at ismailnakkayev@gmail.com.
C#, Microservices, Dependency Management, Visualization, Interactive Graph