Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Steps to adopt the observability, as an example below:

  • Making blockchain able to deploy on k8s.
    many blockchain systems supports docker based deployment and for this is the 1st step here to move your blockchain from local container runtime to k8s.
  • Making blockchain able to deploy on k8s with observability related tools.
    there two things need to be done in this step. 1st is to implemented observability api basing on your blockchain network. For example metric and distributed tracing. 2nd is to update your blockchain deployment yaml to support observability injection for example, sidecar based/operator based observability tools as prometheus operator.
  • Making performance testing tools able to deploy on k8s in a distributed way.
    In short, both blockchain system and test harness should be deployed on k8s and integrated with observability.
  • Display metrics on monitoring system for example grafana.
    Once finished with dashboard setting, then start with correlating-observability-signals

...

Taking Hyperledger Fabric with Transaction throughput as an example:

  • Hyperledger Fabric on k8s(a short description for fabric operators)
    There lots of project deploy Hyperledger Fabric on k8s, for example, https://github.com/hyperledger-labs/fabric-operator, even so far performance sandbox still working with shell script based k8s-test-network, but as a long term plan, we will adopt performance sand box with fabric-operator.
  • Hyperledger Fabric with observability
    • Hyperledger Fabric makes metrics long before, as ref. Now a days, with rfc community schedules supporting opentelemetry.
    • Hyperledger Fabric performance testing tools on k8s with observability.

Here we take Tape as sample. Tape is a Simple Traffic Generator for Hyperledger Fabric, it takes 3 steps from zero to integrated deployment on k8s with observability.

i. Distributed
To make test harness support distributed, you need to split traffic generator and monitoring client. Making them able to run in split mode.

ii. Metric
For test harness, we are able to expose metrics for performance research usage. For example, when we want to calculate latency, there is one way to make a latency report at test harness instead of tracing metrics for each node.

iii. Tracing
You are able to use labels and grpc options to support distributed tracing among test harness.

...