Skip to content

Latest commit

 

History

History
118 lines (86 loc) · 3.8 KB

basic_readme.md

File metadata and controls

118 lines (86 loc) · 3.8 KB

GHZ Custom

A repository for managing and making gRPC calls using the ghz tool.

Table of Contents

Getting Started

Prerequisites

Before you begin, ensure you have met the following requirements:

  • You have git installed.
  • You have chmod and sudo permissions.

Installation

To clone the repository, run:

git clone https://github.boschdevcloud.com/SAI1RNG/ghz-custom.git -b main

Starting the Database

cd ghz-custom/cmd/ghz-web
chmod +x ./ghz-web
sudo ./ghz-web

Making gRPC Calls

cd ghz-custom/cmd/ghz
chmod +x ./ghz

Publish Call

./ghz --insecure --config=config.json

Subscribe Call

./ghz --insecure --config=config_subscribe.json json

Publish Call (with Database)

./ghz --insecure --config=config.json -O json | http POST localhost:80/api/ingest

Subscribe Call (with Database)

./ghz --insecure --config=config_subscribe.json -O json | http POST localhost:80/api/ingest

Sample Config-files Structure

  1. timeout: The amount of time the ghz is required to subscribe to kuksa-databroker {{.RequestNumber}} placeholder.
  2. request_id: This acts as a identifier to differntiate between multiple tests conducted. Example: 50sub300pub indicates an experiment with 50 subscribers and 300 publish calls, request_id can be anything helping identify between tests.
  3. description: Provides additional information about the request. Uses the {{.RequestNumber}} placeholder.
  4. fields: An array specifying data fields to be kept track of, such as ["2", "12"], here having "12" is a must.
Publish Config
Subscribe Config

Note: The combination of request_id and description forms a unique id for identifying a particular publish call in a given test.

Metadata used to monitor latency

kuksa_set_subscribe_postman

  • latency related metadata for publish call is recieved in the metadata of Http respone.
  • latency related metadata for subscribe call is received within the payload of the subscription response.

Pictorial representation of end to end latency calculation

metadata_capture

Report generation

cd cmd/ghz-web

# open in vscode in devcontainer

python sqlite-latency-extractor-dev.py

# This generates a file named latency_and_mean_stats.xlsx