While we intend to keep experimental modules as stable as possible, we may need to introduce breaking changes. This could happen at future k6 releases until the module becomes fully stable and graduates as a k6 core module. For more information, refer to the extension graduation process.
Experimental modules maintain a high level of stability and follow regular maintenance and security measures. Feel free to open an issue if you have any feedback or suggestions.
The key-difference between the two modules is new Stream class, which provides client and server streaming support. Our long-term goal is to make this module part of k6 core, and long-term to replace the k6/net/grpc module.
|Client||gRPC client used for making RPC calls to a gRPC Server.|
|Client.load(importPaths, ...protoFiles)||Loads and parses the given protocol buffer definitions to be made available for RPC requests.|
|Client.connect(address [,params])||Connects to a given gRPC service.|
|Client.invoke(url, request [,params])||Makes a unary RPC for the given service/method and returns a Response.|
|Client.close()||Close the connection to the gRPC service.|
|Params||RPC Request specific options.|
|Response||Returned by RPC requests.|
|Constants||Define constants to distinguish between gRPC Response statuses.|
|Stream||Creates a new GRPC stream.|
|Stream.on(event, handler)||Adds a new listener to one of the possible stream event's.|
|Stream.write(message)||Writes a message to the stream.|
|Stream.end()||Signals to server that client finished sending.|
k6 takes specific measurements for gRPC requests. For the complete list, refer to the Metrics reference.