a245aa7827
* initial commit of inspector gadget wireup * change name of comman dline tool, setup grpc server * Get inspector cli working with grpc client * Wired up CountNodes command * WIP getting buckets response working * Added GetBucket command * WIP working on get buckets command * WIP working on bucket list * Still WIP * WIP getting bucket counts to work * Some clean up of unnecessary changes * List Buckets and Get Bucket are working * Removing logs, getting ready for review * initial commit of inspector gadget wireup * change name of comman dline tool, setup grpc server * Get inspector cli working with grpc client * Wired up CountNodes command * WIP getting buckets response working * Added GetBucket command * WIP working on get buckets command * WIP working on bucket list * Still WIP * WIP getting bucket counts to work * Some clean up of unnecessary changes * List Buckets and Get Bucket are working * Removing logs, getting ready for review * Fix error return * Trying to get tests passing * Adds method on dht mock for tests * Add dbx files back * Fix package import error in dbx file * Adds copyrights to pass linter * tidy go mod * Updates from code review * Updates inspector to take flag arguments for address * Format list-buckets output more prettier * Wiring up PING in kad inspector tools
96 lines
2.0 KiB
Protocol Buffer
96 lines
2.0 KiB
Protocol Buffer
// Copyright (C) 2018 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
syntax = "proto3";
|
|
option go_package = "pb";
|
|
|
|
import "overlay.proto";
|
|
|
|
package inspector;
|
|
|
|
service Inspector {
|
|
// Kad/Overlay commands:
|
|
// CountNodes returns the number of nodes in the cache and in the routing table
|
|
rpc CountNodes(CountNodesRequest) returns (CountNodesResponse);
|
|
// GetBuckets returns the k buckets from a Kademlia instance
|
|
rpc GetBuckets(GetBucketsRequest) returns (GetBucketsResponse);
|
|
// GetBucket returns the details of a single k bucket from the kademlia instance
|
|
rpc GetBucket(GetBucketRequest) returns (GetBucketResponse);
|
|
// PingNodes sends a PING RPC to a node and returns it's availability
|
|
rpc PingNode(PingNodeRequest) returns (PingNodeResponse);
|
|
|
|
// StatDB commands:
|
|
// GetStats returns the stats for a particular node ID
|
|
rpc GetStats(GetStatsRequest) returns (GetStatsResponse);
|
|
// CreateStats creates a node with specified stats
|
|
rpc CreateStats(CreateStatsRequest) returns (CreateStatsResponse);
|
|
}
|
|
|
|
// GetStats
|
|
message GetStatsRequest {
|
|
string node_id = 1;
|
|
}
|
|
|
|
message GetStatsResponse {
|
|
int64 audit_count = 1;
|
|
double uptime_ratio = 2;
|
|
double audit_ratio = 3;
|
|
}
|
|
|
|
// CreateStats
|
|
message CreateStatsRequest {
|
|
string node_id = 1;
|
|
int64 audit_count = 2;
|
|
int64 audit_success_count = 3;
|
|
int64 uptime_count = 4;
|
|
int64 uptime_success_count = 5;
|
|
}
|
|
|
|
message CreateStatsResponse {
|
|
}
|
|
|
|
// CountNodes
|
|
message CountNodesResponse {
|
|
int64 kademlia = 1;
|
|
int64 overlay = 2;
|
|
}
|
|
|
|
message CountNodesRequest {
|
|
}
|
|
|
|
// GetBuckets
|
|
message GetBucketsRequest {
|
|
}
|
|
|
|
message GetBucketsResponse {
|
|
int64 total = 1;
|
|
repeated bytes ids = 2;
|
|
}
|
|
|
|
// GetBucket
|
|
message GetBucketRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message GetBucketResponse {
|
|
string id = 1;
|
|
repeated overlay.Node nodes = 2;
|
|
}
|
|
|
|
message Bucket {
|
|
repeated overlay.Node nodes = 2;
|
|
}
|
|
|
|
message BucketList {
|
|
repeated overlay.Node nodes = 1;
|
|
}
|
|
// PingNode
|
|
message PingNodeRequest {
|
|
string id = 1;
|
|
string address = 2;
|
|
}
|
|
|
|
message PingNodeResponse {
|
|
bool ok = 1;
|
|
}
|