bitshares / bitshares/bitshares-core

Implement signals in P2P network code

Open
#1,554 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
1.2k
Forks
660
Avg merge
8h 17m
Merged PRs (30d)
26

Description

**User Story**
We (node operators) want to be able to build a plugin to analze the performance of the P2P network code. For this, we need to be able to obtain *metrics* (counter, gauge, historgram, summary) that can then be exported, presented and analyised with seprated software.

Possible software to use for this:
* [Prometheus](https://github.com/prometheus) / [C++ Library](https://github.com/jupp0r/prometheus-cpp)

After a quick discussion, the easiest would (probably) be to integrate `fc::signals` into the p2p network code (to have minimal impact on production machines) and develop a separate plugin that is **not** loaded by default but does all the heavy lifting. To get this development started (independetly) all devs need are signals from the p2p network code.

**Impacts**
Describe which portion(s) of BitShares Core may be impacted by your request. Please tick at least one box.
- [ ] API (the application programming interface)
- [ ] Build (the build process or something prior to compiled code)
- [ ] CLI (the command line wallet)
- [ ] Deployment (the deployment process after building such as Docker, Travis, etc.)
- [ ] DEX (the Decentralized EXchange, market engine, etc.)
- [X] P2P (the peer-to-peer network for transaction/block propagation)
- [X] Performance (system or user efficiency, etc.)
- [ ] Protocol (the blockchain logic, consensus, validation, etc.)
- [ ] Security (the security of system or user data, etc.)
- [ ] UX (the User Experience)
- [ ] Other (please add below)

**Additional Context (optional)**
None

## CORE TEAM TASK LIST
- [X] Evaluate / Prioritize Feature Request
- [ ] Refine User Stories / Requirements
- [ ] Define Test Cases
- [ ] Design / Develop Solution
- [ ] Perform QA/Testing
- [ ] Update Documentation

Contributor guide

No contributing guide indexed for this repository

Research direction

No files or tests are named. Start by locating the P2P network code and existing fc::signals usage, then refine which counter, gauge, histogram, and summary signals are required. Done is not yet defined: the issue still needs test cases and a design for the separately loaded metrics plugin.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, prometheus
Domain
networking, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.