Menu
Open source
Constants
Caution
Starting on k6
v0.49
, the experimental modulek6/experimental/grpc
has been graduated, and its functionality is now available in thek6/net/grpc
module. Thek6/experimental/grpc
is deprecated and will be removed inv0.51.0
.To migrate your scripts, replace all
k6/experimental/grpc
imports withk6/net/grpc
.
Define constants to distinguish between gRPC Response statuses.
Constant | Description |
---|---|
StatusOK | OK is returned on success. |
StatusCanceled | Canceled indicates the operation was canceled (typically by the caller). |
StatusUnknown | Unknown error. |
StatusInvalidArgument | InvalidArgument indicates the client specified an invalid argument. |
StatusDeadlineExceeded | DeadlineExceeded means operation expired before completion. |
StatusNotFound | NotFound means some requested entity (e.g., file or directory) was not found. |
StatusAlreadyExists | AlreadyExists means an attempt to create an entity failed because one already exists. |
StatusPermissionDenied | PermissionDenied indicates the caller does not have permission to execute the specified operation. |
StatusResourceExhausted | ResourceExhausted indicates some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. |
StatusFailedPrecondition | FailedPrecondition indicates operation was rejected because the system is not in a state required for the operation’s execution. |
StatusAborted | Aborted indicates the operation was aborted, typically due to a concurrency issue like sequencer check failures, transaction aborts, etc. |
StatusOutOfRange | OutOfRange means operation was attempted past the valid range. E.g., seeking or reading past end of file. |
StatusUnimplemented | Unimplemented indicates operation is not implemented or not supported/enabled in this service. |
StatusInternal | Internal errors. Means some invariants expected by the underlying system have been broken. |
StatusUnavailable | Unavailable indicates the service is currently unavailable. This is a most likely a transient condition and may be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. |
StatusDataLoss | DataLoss indicates unrecoverable data loss or corruption. |
StatusUnauthenticated | Unauthenticated indicates the request does not have valid authentication credentials for the operation. |
Example
JavaScript
import grpc from 'k6/experimental/grpc';
import { check, sleep } from 'k6';
const client = new grpc.Client();
client.load(['definitions'], 'hello.proto');
export default () => {
client.connect('grpcbin.test.k6.io:9001', {
// plaintext: false
});
const data = { greeting: 'Bert' };
const response = client.invoke('hello.HelloService/SayHello', data);
check(response, {
'status is OK': (r) => r && r.status === grpc.StatusOK,
});
client.close();
sleep(1);
};
Was this page helpful?
Related documentation
Related resources from Grafana Labs
Additional helpful documentation, links, and articles:
Video
Performance testing and observability in Grafana Cloud
In this webinar, learn how Grafana Cloud k6 offers you the best developer experience for performance testing.
User-centered observability: load testing, real user monitoring, and synthetics
Learn how to use load testing, synthetic monitoring, and real user monitoring (RUM) to understand end users' experience of your apps. Watch on demand.