Skip to content

Latest commit

 

History

History
43 lines (32 loc) · 2.42 KB

problem_diagnosis.md

File metadata and controls

43 lines (32 loc) · 2.42 KB

There are a few tools, scripts and commands that we use to start investigating a problem while working on Vega. This document collects a few of those.

Tools worth knowing about.

Vega specific tools

API Specific tools

GraphQL

  • GraphQURL is a curl like CLI tool that supports subscriptions
  • GraphQL Playground is served by Vega nodes serving a GraphQL API
  • Simplest of all: CURL can be used to post queries.

GRPC

REST

Some quick things

Decoding a public key

echo -n 'DrXug9ukpvwdMVAG1c2jOG+TCYVSvqCshL8dr6z+Kd8=' | base64 -d | hexdump -C | cut -b11-58 | tr -dc '[:alnum:]'

Some hypothetical situations

Is [insert network] down?

The quickest check is stats.vega.trading (repo). You should see the network there, and most or all of the stats rows should have a green block, implying it's healthy.

Stats is a really simply web view of the REST statistics endpoint, so you could also use curl. Choose a node serving REST from this devops repo document and then curl the statistics endpoint:

curl https://n04.d.vega.xyz/statistics

If this fails, totally it could be that the node itself is down, while the network is fine. If you get a 502 error, then the machine is up, the HTTPS proxy is working, but the Vega node is not running.

If you want to skip Vega and see if Tendermint is healthy, you can try going straight to Tendermint's RPC port. Choose a node that exposes the Tendermint RPC from this devops repo document and then fetch the status endpoint:

curl https://n01.d.vega.xyz/tm/status

If those two fail, you can try SSHing to the machine to see what's up. The devops repo will list all of the nodes, and how you can connect to them to investigate further.