diff --git a/FURPS/application/network_metrics_tracker.md b/FURPS/application/network_metrics_tracker.md new file mode 100644 index 0000000..62a5083 --- /dev/null +++ b/FURPS/application/network_metrics_tracker.md @@ -0,0 +1,36 @@ +# Network Metrics Tracker FURPS + +## Functionality + +1. Metrics that can be learned from network observations are available +2. Display number of nodes discovered over discv5, by shard +3. Display number of nodes successfully connected to, by shard and user agent, in last hour, day, week +4. Display number of light protocol clients fleet nodes had a inbound connection of, by libp2p protocol, user agent, libp2p transport, and shard, in last hour, day, week; using unique peer id as identifier +5. Number of messages unique messages seen, by shard +6. Inbound and outbound bandwidth, by shard +7. Number of different content topics in last hour, day and week; considering full content topic and application name. +8. Average and max message size by shard +9. Messages stored by fleet store nodes: total size, number, oldest timestamp, by shard + +## Usability + +1. Metrics above are available publicly for the network of major integrations (Status, RAILGUN, TWN). + +## Reliability + +1. Metrics should be available 90% of the time. + +## Performance + +1. The data is updated at least hourly +2. At least 3 months of data is available + +## Supportability + +1. Grafana dashboards +2. Some metrics may be retrieved by a Waku monitor node with aggressive parameters, other from existing fleet nodes; + this includes running limited fleet nodes for other networks. + +## + (Privacy, Anonymity, Deployments) + +1. No IP or Peer Ids are tracked or displayed. \ No newline at end of file diff --git a/FURPS/application/statuscommunities.md b/FURPS/application/status_communities.md similarity index 100% rename from FURPS/application/statuscommunities.md rename to FURPS/application/status_communities.md diff --git a/FURPS/application/status_private_chats.md b/FURPS/application/status_private_chats.md new file mode 100644 index 0000000..9d230af --- /dev/null +++ b/FURPS/application/status_private_chats.md @@ -0,0 +1,31 @@ +# {Feature Name} FURPS + +Waku specific FURPS, **before** integration of the Chat SDK. + +## Functionality + +1. Features other than one-to-one chats are either removed or can be disabled. +2. One-to-one chat’s traffic is not impacted by other features. +3. One-to-one chats are functional when rate limited by 100 msg per 10min over Waku or less. + +## Usability + +1. Features other than one-to-one chat can be removed or disabled. +2. A user with only one-to-one chat enabled can expect limited bandwidth and resource usage and a smooth experience. + +## Reliability + +1. One-to-one chat’s implementation behaves as specified (**Vac-QA**). + +## Performance + +1. 99% of one-to-one user messages are eventually received by their recipient, within 5 minutes of being online (**Vac-DST**). +2. One-to-one chat’s non-user messages do not consume over 20% of the allocated quota (**Vac-DST**). + +## Supportability + +1. status-cli/backend + +## + (Privacy, Anonymity, Deployments) + +1. ... \ No newline at end of file diff --git a/draft-roadmap/README.md b/draft-roadmap/README.md index 725b366..06f076a 100644 --- a/draft-roadmap/README.md +++ b/draft-roadmap/README.md @@ -82,9 +82,11 @@ Testing out new format, once approved: - [Define and Implement Peer-To-Peer Reliability Strategies](./define_p2p_reliability.md) - [Introduce E2E Reliability in Status Communities](./introduce_e2e_reliability_in_status.md) - [Foundation for Communities Optimisation](/draft-roadmap/foundation_for_communities_optimisation.md) +- [Hardening and Scaling Foundations for Private Chat]() - [Deploy RLN Onchain Tree on L2 Testnet](/draft-roadmap/deploy_rln_onchain_tree_on_l2_testnet.md) - [Integrate nwaku in Status Desktop, relay mode only](/draft-roadmap/integrate_nwaku_in_status_desktop_relay_mode_only.md) - [Define Incentivisation for RLNaaS](/draft-roadmap/define_incentivisation_for_rlnaas.md) +- [Measure Waku Usage](/draft-roadmap/measure_waku_usage.md) #### P2P Reliability Implementation in the Browser diff --git a/draft-roadmap/TEMPLATE.md b/draft-roadmap/TEMPLATE.md index 81dd7d3..0b62630 100644 --- a/draft-roadmap/TEMPLATE.md +++ b/draft-roadmap/TEMPLATE.md @@ -2,7 +2,7 @@ **Estimated date of completion**: {Enter date} -**Resources Required**: +**Resources Required for 2025H2**: - {roles and % application to it} - {external services consumed (Vac/IFT)} - {infrastructure} diff --git a/draft-roadmap/foundation_for_communities_optimisation.md b/draft-roadmap/foundation_for_communities_optimisation.md index d2bcdf1..4f5e852 100644 --- a/draft-roadmap/foundation_for_communities_optimisation.md +++ b/draft-roadmap/foundation_for_communities_optimisation.md @@ -17,6 +17,6 @@ enabling future bandwidth or performance optimization such as setting up differe reducing retention time for control messages, or disabling the usage of relay for large messages. -**FURPS**: [Status Communities](/FURPS/application/statuscommunities.md): all. +**FURPS**: [Status Communities](/FURPS/application/status_communities.md): all. **Milestone and deliverables**: https://github.com/waku-org/pm/milestone/31 \ No newline at end of file diff --git a/draft-roadmap/hardening_and_scaling_foundation_for_private_chat.md b/draft-roadmap/hardening_and_scaling_foundation_for_private_chat.md new file mode 100644 index 0000000..d7342e9 --- /dev/null +++ b/draft-roadmap/hardening_and_scaling_foundation_for_private_chat.md @@ -0,0 +1,32 @@ +# [Hardening and Scaling Foundations for Private Chats](https://github.com/waku-org/pm/milestone/40) + +**Estimated date of completion**: TODO + +**Resources Required for 2025H2**: TODO +- {roles and % application to it} +- {external services consumed (Vac/IFT)} +- {infrastructure} + +With this milestone, we establish a foundation for scaling one-to-one and private group chats to support a larger +number of users. Additionally, we will harden the underlying protocols by studying and refining the current +specifications, as well as isolating user traffic from other features. + +Our approach to RLN integration will involve two initial steps. First, we will implement a low rate limit and +collaborate with the Status team to address the user experience challenges that arise. By combining this with clear +specifications, we will be able to better understand scalability for one-to-one chats, including the relationships +between user count, usage, and bandwidth/resource utilization. + +Furthermore, the enhanced specifications will enable the Vac-QA team to expand test coverage, increasing confidence in +reliability and facilitating any future refactoring efforts. + +To achieve this milestone successfully, it is essential that one-to-one chats are isolated from other features using +Waku, such as Communities, user settings backup, and device pairing/synchronization. Ideally, these features should be +either removed or disabled by default to ensure accurate testing and evaluation. + +**Private chats refers to both one-to-one and private group chats.* + +**FURPS**: + +- [Status Private Chats](/FURPS/application/status_private_chats.md): all + +**Milestone and deliverables**: https://github.com/waku-org/pm/milestone/40 diff --git a/draft-roadmap/measure_waku_usage.md b/draft-roadmap/measure_waku_usage.md new file mode 100644 index 0000000..7e5f463 --- /dev/null +++ b/draft-roadmap/measure_waku_usage.md @@ -0,0 +1,19 @@ +# {Milestone Title - use verb} + +_Extracted from TODO_ + +**Estimated date of completion**: {Enter date} + +**Resources Required**: +- {roles and % application to it} +- {external services consumed (Vac/IFT)} +- {infrastructure} + + +{Milestone Description - what do we get once done} + +**FURPS**: + +- [Network Metrics Tracker](/FURPS/application/network_metrics_tracker.md): all + +**deliverable**: https://github.com/waku-org/pm/issues/295