grpc/grpc-rust

A native gRPC client & server implementation with async/await support.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 34 minutes ago
Added to GitGenius on September 4th, 2026
Created on August 9th, 2019
Open Issues & Pull Requests: 382 (+0)
GitHub issues: Enabled
Number of forks: 1,250
Total Stargazers: 12,458 (+0)
Total Subscribers: 76 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.5 days
Mean response time: 75.2 days
90th percentile: 224.4 days
Tracked items: 212

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 84% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "A-grpc-next" is answered fastest, typically in under an hour, while "A-tonic" waits about 4 days. 42% of tracked open issues have had no activity in three months. Only 3% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 185
New in 7 days: 0
Closed in 7 days: 9
Avg open age: 580 days
Stale 30+ days: 170
Stale 90+ days: 136

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 2
Events in 7 days: 2

Top labels

  • C-enhancement (31)
  • A-grpc-next (25)
  • A-tonic (12)
  • C-bug (9)
  • E-help-wanted (4)
  • I-needs-decision (3)
  • A-build (2)
  • C-question (2)

Detailed Description

Tonic is a gRPC client and server implementation for Rust that provides native async/await support over HTTP/2.

The tool solves the problem of building high-performance RPC systems in Rust by offering a gRPC implementation designed from the ground up for async Rust. It works through three main components: a generic gRPC layer that supports any HTTP/2 implementation and encoding via traits, a high-performance HTTP/2 implementation built on Hyper and Tokio, and code generation powered by Prost for building clients and servers from Protocol Buffer definitions. This architecture allows flexibility while maintaining performance and interoperability with other gRPC implementations.

Tonic suits production Rust systems that need to communicate via gRPC. It is particularly valuable for projects requiring bi-directional streaming, custom metadata, authentication, load balancing, or TLS support. The tool includes specialized components for health checking and gRPC reflection, making it suitable for complex service architectures. Developers should note that the master branch is preparing breaking changes, so the stable released versions may be preferable for production use.

The project maintains active community support through a Discord channel and issue tracking. The codebase is organized into focused modules including the core gRPC implementation, build tooling, utility types, health checking, and reflection services, with examples demonstrating features like TLS and load balancing. The project provides comprehensive documentation and tutorials for getting started, from basic hello-world examples to complete feature demonstrations.