A JMeter plugin for load testing gRPC services without requiring pre-compiled protobuf classes.
JMeter gRPC Request is a plugin for Apache JMeter that enables load and performance testing of gRPC services. It allows testers to send gRPC requests by specifying the server details, method, proto files, and JSON payloads without needing to generate or compile gRPC client code. This simplifies the process of testing gRPC-based microservices under load.
Performance engineers, QA testers, and developers who need to load test gRPC services using Apache JMeter. It is particularly useful for teams already using JMeter for HTTP testing who want to extend their testing to gRPC APIs.
Developers choose this plugin because it integrates seamlessly with JMeter, requires no pre-compilation of protobuf files, and supports essential features like TLS and authentication. It reduces the complexity of gRPC testing compared to custom scripting or other tools.
JMeter gRPC Request load test plugin for gRPC
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Dynamically parses proto files at runtime without pre-generating gRPC client code, as stated in the features, eliminating complex build steps.
Allows request data to be defined in JSON format, making it easy to craft and modify payloads directly in JMeter, similar to HTTP testing.
Integrates as a sampler plugin in JMeter, enabling users to add gRPC requests just like HTTP requests with configurations like host, port, and method.
Supports secure TLS connections and authentication via metadata such as JWT tokens, essential for testing production services, as detailed in the configurations.
Limited to blocking unary RPC calls, as per the features list, meaning it cannot test streaming gRPC methods commonly used in real-time applications.
Requires full Apache JMeter setup, including manual JAR copying to lib/ext and restarts, which adds complexity compared to lightweight or standalone gRPC testing tools.
Lacks support for gRPC-Web protocol, as noted in the TODO list, making it unsuitable for testing browser-based gRPC services without workarounds.