Diagnostic logs
Request history
Mock.qa offers the Request history
screen where all completed requests can be found. All requests that are handled by the mock service are logged and can be viewed in the Request history
screen. This screen is available for all mock services, regardless of the plan.
Request history screen
The Request history
can be accessed by clicking on the Request history
button in the Tools
menu of the dashboard, or by the link https://mock.qa/traces

Request details screen
In the Request history
screen, individual rows can be expanded to display additional information about a particular request. By clicking on a row, you can access the Request details
screen, which contains the following data:

Diagnostic endpoints
Mock.qa provides diagnostic endpoints that assist users in identifying and resolving problems with their mock service throughout the development process. These endpoints are valuable for detecting and rectifying service issues, as well as for gaining insight into the service's operation.
Status endpoint
The status endpoint provides information about the routing details and online/offline status of the service. If the service is marked as "online", it means that it has been initialized and is ready to accept requests. Initialization occurs when the first request is sent to the mock service. This endpoint can be useful for tracking the status of the mock service and validating the version (sha) of the config and .proto files.
- HTTP GET https://[[instanceName→]repo→]<owner>.grpc.qa/__admin/status
- HTTP GET https://[[instanceName→]repo→]<owner>.rest.qa/__admin/status
Examples:
gRPC mock offline response:
{
"routing": {
"repository": "mockqa/hello-world-grpc",
"instance": "greet",
"gitRef": null
},
"status": "offline"
}
gRPC mock online response:
{
"routing": {
"repository": "mockqa/hello-world-grpc",
"instance": "greet",
"gitRef": null
},
"status": "online",
"updated": "2022-12-27T18:19:46.9207816+00:00",
"mock": {
"uptime": "00:00:02.4372787",
"instanceName": "Greet",
"protoFile": "https://github.com/mockqa/hello-world-grpc/blob/main/greet.proto",
"protoFileSha": "788a73744e41925fa29c1cfac48746cef85ac6e9",
"configFile": "https://github.com/mockqa/hello-world-grpc/blob/main/.grpc.mock.qa.yaml",
"configFileSha": "8efea2037bb702743b88138c34441a9ebd15c46f"
}
}
Trace endpoint
The trace endpoint allows users to retrieve log entries for debugging and troubleshooting purposes. It uses a correlation id
value, which is included in the x-mockqa-correlation-id
HTTP header of every response from the mock service. This can be useful for tracking the processing of incoming requests and identifying any issues that may have occurred.
- HTTP GET https://[[instanceName→]repo→]<owner>.grpc.qa/__admin/trace?correlationId=<correlationId>[&format=<json|csv>]
- HTTP GET https://[[instanceName→]repo→]<owner>.rest.qa/__admin/trace?correlationId=<correlationId>[&format=<json|csv>]
JSON format is in use by Playground and supports collapsible entries for better user experience:

CSV format example:
2022-12-27T19:34:01.769: INF: GRPC Request received
2022-12-27T19:34:01.769: INF: Sender IP = XXX.XXX.XXX.XXX
2022-12-27T19:34:01.769: INF: Repository = mockqa/hello-world-grpc
2022-12-27T19:34:01.769: INF: Instance = greet
2022-12-27T19:34:01.769: INF: Method = /greet.Greeter/SayHello
2022-12-27T14:34:01.770: INF: Account limits validation
2022-12-27T14:34:01.770: INF: Account marketplace plan: Free plan
2022-12-27T14:34:01.770: INF: Daily requests: used 15 out of 1000; Monthly requests: used 43 out of 5000
2022-12-27T14:34:01.770: INF: Matching by method name
2022-12-27T14:34:01.770: INF: GRPC greet.Greeter/SayHello #1: call matched
2022-12-27T14:34:01.770: INF: GRPC greet.Greeter/SayHello #2: call matched
2022-12-27T14:34:01.770: INF: GRPC greet.Greeter/SayHello #3: call matched
2022-12-27T14:34:01.770: INF: Matched 3 calls
2022-12-27T14:34:01.770: INF: Credentials validation
2022-12-27T14:34:01.770: INF: GRPC greet.Greeter/SayHello #1: credentials validation passed
2022-12-27T14:34:01.770: INF: GRPC greet.Greeter/SayHello #2: credentials validation passed
2022-12-27T14:34:01.770: INF: GRPC greet.Greeter/SayHello #3: credentials validation passed
2022-12-27T14:34:01.770: INF: Number of authorized calls: 3
2022-12-27T14:34:01.771: INF: Evaluating 'GRPC greet.Greeter/SayHello #1'
2022-12-27T14:34:01.771: INF: Evaluating request.body
2022-12-27T14:34:01.771: ERR: MISMATCH: request.body.Name: equalTo: expected: "Joe": actual: "Kelly"
2022-12-27T14:34:01.771: INF: Skipping, request body mismatch
2022-12-27T14:34:01.771: INF: Evaluating 'GRPC greet.Greeter/SayHello #2'
2022-12-27T14:34:01.771: INF: Evaluating request.body
2022-12-27T14:34:01.771: INF: MATCH: request.body.Name: equalTo: "Kelly"
2022-12-27T14:34:01.771: INF: Call matched
2022-12-27T14:34:01.772: INF: Request completed; StatusCode=200; Elapsed: 3.146 ms