{"id":21670506,"url":"https://github.com/engineering87/sharptracer","last_synced_at":"2026-05-01T21:33:53.719Z","repository":{"id":55122393,"uuid":"325331517","full_name":"engineering87/SharpTracer","owner":"engineering87","description":"Experimental project for distributed tracing in microservices architectures based on gRPC services","archived":false,"fork":false,"pushed_at":"2024-08-27T15:52:58.000Z","size":49,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T06:26:56.307Z","etag":null,"topics":["distributed-systems","dotnetcore","grpc","microservices","tracing"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/engineering87.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-29T16:13:16.000Z","updated_at":"2024-08-27T15:53:02.000Z","dependencies_parsed_at":"2024-11-25T12:42:51.446Z","dependency_job_id":null,"html_url":"https://github.com/engineering87/SharpTracer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/engineering87/SharpTracer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engineering87%2FSharpTracer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engineering87%2FSharpTracer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engineering87%2FSharpTracer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engineering87%2FSharpTracer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/engineering87","download_url":"https://codeload.github.com/engineering87/SharpTracer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engineering87%2FSharpTracer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32513745,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["distributed-systems","dotnetcore","grpc","microservices","tracing"],"created_at":"2024-11-25T12:32:43.927Z","updated_at":"2026-05-01T21:33:53.666Z","avatar_url":"https://github.com/engineering87.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Github license](mit.svg)](https://github.com/engineering87/SharpTracer/blob/master/LICENSE)\n\n# SharpTracer\nSharpTracer is an experimental project for distributed tracing in microservices architectures based on gRPC services. SharpTracer is a central gRPC service for the historicization of the executions of each gRPC service present in the reference architecture.\nProject is currently being tested and many developments are still work in progress.\n\n### How it works\n\n![Alt text](/wiki/img/Architecture.jpg?raw=true)\n\nSharpTracer exposes two methods for the historicization of the traces and the orderly display of the history for each service.\nEach gRPC service present within the microservices architecture will have to inform the SharpTracer central service, which will take care of ordering the events for each gRPC service based on the local timestamp. The ordered history of each individual gRPC service will be displayed on the **HistoryAsync** method.\nCurrently the historicization is only in memory.\n\n### How to use it\nTo use the SharpTracer service it is necessary to deploy and integrate it within the reference architecture. Any other gRPC service will have to refer to the **tracer.proto** file, invoking the **TraceAsync** at each communication made to the other gRPC services, explaining the source and destination of the message.\n\n### Contributing\nThank you for considering to help out with the source code!\nIf you'd like to contribute, please fork, fix, commit and send a pull request for the maintainers to review and merge into the main code base.\nTheoretical advice on how to improve distributed tracing logic is also welcome.\n\n**Getting started with Git and GitHub**\n\n * [Setting up Git for Windows and connecting to GitHub](http://help.github.com/win-set-up-git/)\n * [Forking a GitHub repository](http://help.github.com/fork-a-repo/)\n * [The simple guide to GIT guide](http://rogerdudler.github.com/git-guide/)\n * [Open an issue](https://github.com/engineering87/SharpTracer/issues) if you encounter a bug or have a suggestion for improvements/features\n\n### Licensee\nSharpTracer source code is available under MIT License, see license in the source.\n\n### Contact\nPlease contact at francesco.delre.87[at]gmail.com for any details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fengineering87%2Fsharptracer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fengineering87%2Fsharptracer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fengineering87%2Fsharptracer/lists"}